@buildocsdev/sdk 1.1.58 → 1.1.60

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/{buildocslib.esm-3YCKLIZU.js → buildocslib.esm-KHP2KSIY.js} +1 -1
  2. package/dist/chunk-7RKPIXVG.js +1 -1
  3. package/dist/{chunk-NW34CD5C.js → chunk-7V25SP3L.js} +1 -1
  4. package/dist/{chunk-FTJXRFLR.js → chunk-C3S4PZ7O.js} +1 -1
  5. package/dist/chunk-EX7TRSJS.js +1 -0
  6. package/dist/{chunk-RYPE5BKG.js → chunk-HZKUVHLR.js} +1 -1
  7. package/dist/{chunk-ZV6IRE52.js → chunk-KPQZZJ4T.js} +1 -1
  8. package/dist/{chunk-D32ONDPD.js → chunk-NRNOBPKI.js} +3 -3
  9. package/dist/{chunk-WHDLCSVJ.js → chunk-UER7MBQO.js} +1 -1
  10. package/dist/{chunk-WPUZPO7K.js → chunk-UJAKGPC4.js} +1 -1
  11. package/dist/{chunk-C64U36LV.js → chunk-WMVYPZRJ.js} +2 -2
  12. package/dist/{chunk-IZKTNYAE.js → chunk-XX7GDJZT.js} +1 -1
  13. package/dist/{datatable-U7HNLJAU.js → datatable-NT53TD4B.js} +1 -1
  14. package/dist/{fileviewer-73OY3DUG.js → fileviewer-6BPN4EBK.js} +1 -1
  15. package/dist/form.js +1 -1
  16. package/dist/formeditor-YGOP4XQT.js +1 -0
  17. package/dist/formeditor.js +1 -1
  18. package/dist/{imageviewer-JP7IPEYU.js → imageviewer-5O55O6ZD.js} +1 -1
  19. package/dist/{index.esm-RHBDGDEB.js → index.esm-5NIJQKZA.js} +1 -1
  20. package/dist/{index.esm-7IE2PKWI.js → index.esm-SXT7TAYA.js} +1 -1
  21. package/dist/{index.esm-F26DXTQC.js → index.esm-Y2DKWYER.js} +1 -1
  22. package/dist/index.js +1 -1
  23. package/dist/loadingcomponent-ADG2FQVJ.js +1 -0
  24. package/dist/{mdaviewer-XZQYBUBO.js → mdaviewer-6SZKQ764.js} +1 -1
  25. package/dist/metafile-esm.json +1 -1
  26. package/dist/{nopreviewer-VOR5ALH5.js → nopreviewer-I57LI6GQ.js} +1 -1
  27. package/dist/{pdfviewer-7AOPMT32.js → pdfviewer-GUIBRUHA.js} +1 -1
  28. package/dist/tabulator-UNVIG7PO.js +20 -0
  29. package/dist/{videopreviewer-VSZT5ZED.js → videopreviewer-6ICW57BN.js} +1 -1
  30. package/dist/{xlsxviewer-UIHZH2TH.js → xlsxviewer-G2ZMHYM3.js} +1 -1
  31. package/package.json +5 -6
  32. package/dist/chunk-5TBO732O.js +0 -1
  33. package/dist/formeditor-G4VYCI67.js +0 -1
  34. package/dist/loadingcomponent-NJVJLQVC.js +0 -1
  35. package/dist/tabulator-QD3OEHKN.js +0 -18
  36. /package/dist/{formeditor-FMZEG56B.css → formeditor-6ZNXETAG.css} +0 -0
  37. /package/dist/{tabulator-TN7JIT3J.css → tabulator-FITWTS6D.css} +0 -0
@@ -1,18 +0,0 @@
1
- import {a,b as b$1}from'./chunk-5VSWNFWW.js';import {a as a$1}from'./chunk-NW34CD5C.js';import {B,U,T as T$1,j}from'./chunk-FTJXRFLR.js';import'./chunk-U4T4ACDE.js';import {b}from'./chunk-LBMVBVXW.js';import {q,a as a$2}from'./chunk-C64U36LV.js';import {c,d,p,m,N as N$1}from'./chunk-IZKTNYAE.js';import'./chunk-5TBO732O.js';import {memo,useRef,useEffect,useState}from'react';import {withTranslation,useTranslation}from'react-i18next';import {useLocation}from'react-router-dom';import {LocalizationProvider,DateTimePicker,DatePicker}from'@mui/x-date-pickers';import hi from'@mui/material/TextField';import Se from'react-dom/client';import oi from'@mui/material/Tooltip';import rr from'@mui/material/Box';import or from'@mui/material/Button';import Js from'@mui/material/MenuList';import Xs from'@mui/material/MenuItem';import Ks from'@mui/material/Paper';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {nanoid}from'@reduxjs/toolkit';import lr from'react-dom/server';var O=class{constructor(e){this.table=e;}reloadData(e,t,i){return this.table.dataLoader.load(e,void 0,void 0,void 0,t,i)}langText(){return this.table.modules.localize.getText(...arguments)}langBind(){return this.table.modules.localize.bind(...arguments)}langLocale(){return this.table.modules.localize.getLocale(...arguments)}commsConnections(){return this.table.modules.comms.getConnections(...arguments)}commsSend(){return this.table.modules.comms.send(...arguments)}layoutMode(){return this.table.modules.layout.getMode()}layoutRefresh(e){return this.table.modules.layout.layout(e)}subscribe(){return this.table.eventBus.subscribe(...arguments)}unsubscribe(){return this.table.eventBus.unsubscribe(...arguments)}subscribed(e){return this.table.eventBus.subscribed(e)}subscriptionChange(){return this.table.eventBus.subscriptionChange(...arguments)}dispatch(){return this.table.eventBus.dispatch(...arguments)}chain(){return this.table.eventBus.chain(...arguments)}confirm(){return this.table.eventBus.confirm(...arguments)}dispatchExternal(){return this.table.externalEvents.dispatch(...arguments)}subscribedExternal(e){return this.table.externalEvents.subscribed(e)}subscriptionChangeExternal(){return this.table.externalEvents.subscriptionChange(...arguments)}options(e){return this.table.options[e]}setOption(e,t){return typeof t!="undefined"&&(this.table.options[e]=t),this.table.options[e]}deprecationCheck(e,t,i){return this.table.deprecationAdvisor.check(e,t,i)}deprecationCheckMsg(e,t){return this.table.deprecationAdvisor.checkMsg(e,t)}deprecationMsg(e){return this.table.deprecationAdvisor.msg(e)}module(e){return this.table.module(e)}},T=class{static elVisible(e){return !(e.offsetWidth<=0&&e.offsetHeight<=0)}static elOffset(e){var t=e.getBoundingClientRect();return {top:t.top+window.pageYOffset-document.documentElement.clientTop,left:t.left+window.pageXOffset-document.documentElement.clientLeft}}static retrieveNestedData(e,t,i){var s=e?t.split(e):[t],r=s.length,o;for(let a=0;a<r&&(i=i[s[a]],o=i,!!i);a++);return o}static deepClone(e,t,i=[]){var s={}.__proto__,r=[].__proto__;t||(t=Object.assign(Array.isArray(e)?[]:{},e));for(var o in e){let a=e[o],l,h;a!=null&&typeof a=="object"&&(a.__proto__===s||a.__proto__===r)&&(l=i.findIndex(u=>u.subject===a),l>-1?t[o]=i[l].copy:(h=Object.assign(Array.isArray(a)?[]:{},a),i.unshift({subject:a,copy:h}),t[o]=this.deepClone(a,h,i)));}return t}},gt=class n extends O{constructor(e,t,i){super(e),this.element=t,this.container=this._lookupContainer(),this.parent=i,this.reversedX=false,this.childPopup=null,this.blurable=false,this.blurCallback=null,this.blurEventsBound=false,this.renderedCallback=null,this.visible=false,this.hideable=true,this.element.classList.add("tabulator-popup-container"),this.blurEvent=this.hide.bind(this,false),this.escEvent=this._escapeCheck.bind(this),this.destroyBinding=this.tableDestroyed.bind(this),this.destroyed=false;}tableDestroyed(){this.destroyed=true,this.hide(true);}_lookupContainer(){var e=this.table.options.popupContainer;return typeof e=="string"?e=document.querySelector(e):e===true&&(e=this.table.element),e&&!this._checkContainerIsParent(e)&&(e=false),e||(e=document.body),e}_checkContainerIsParent(e,t=this.table.element){return e===t?true:t.parentNode?this._checkContainerIsParent(e,t.parentNode):false}renderCallback(e){this.renderedCallback=e;}containerEventCoords(e){var t=!(e instanceof MouseEvent),i=t?e.touches[0].pageX:e.pageX,s=t?e.touches[0].pageY:e.pageY;if(this.container!==document.body){let r=T.elOffset(this.container);i-=r.left,s-=r.top;}return {x:i,y:s}}elementPositionCoords(e,t="right"){var i=T.elOffset(e),s,r,o;switch(this.container!==document.body&&(s=T.elOffset(this.container),i.left-=s.left,i.top-=s.top),t){case "right":r=i.left+e.offsetWidth,o=i.top-1;break;case "bottom":r=i.left,o=i.top+e.offsetHeight;break;case "left":r=i.left,o=i.top-1;break;case "top":r=i.left,o=i.top;break;case "center":r=i.left+e.offsetWidth/2,o=i.top+e.offsetHeight/2;break}return {x:r,y:o,offset:i}}show(e,t){var i,s,r,o,a;return this.destroyed||this.table.destroyed?this:(e instanceof HTMLElement?(r=e,a=this.elementPositionCoords(e,t),o=a.offset,i=a.x,s=a.y):typeof e=="number"?(o={top:0,left:0},i=e,s=t):(a=this.containerEventCoords(e),i=a.x,s=a.y,this.reversedX=false),this.element.style.top=s+"px",this.element.style.left=i+"px",this.container.appendChild(this.element),typeof this.renderedCallback=="function"&&this.renderedCallback(),this._fitToScreen(i,s,r,o,t),this.visible=true,this.subscribe("table-destroy",this.destroyBinding),this.element.addEventListener("mousedown",l=>{l.stopPropagation();}),this)}_fitToScreen(e,t,i,s,r){var o=this.container===document.body?document.documentElement.scrollTop:this.container.scrollTop;if((e+this.element.offsetWidth>=this.container.offsetWidth||this.reversedX)&&(this.element.style.left="",i?this.element.style.right=this.container.offsetWidth-s.left+"px":this.element.style.right=this.container.offsetWidth-e+"px",this.reversedX=true),t+this.element.offsetHeight>Math.max(this.container.offsetHeight,o?this.container.scrollHeight:0))if(i)switch(r){case "bottom":this.element.style.top=parseInt(this.element.style.top)-this.element.offsetHeight-i.offsetHeight-1+"px";break;default:this.element.style.top=parseInt(this.element.style.top)-this.element.offsetHeight+i.offsetHeight+1+"px";}else this.element.style.top=parseInt(this.element.style.top)-this.element.offsetHeight+"px";}isVisible(){return this.visible}hideOnBlur(e){return this.blurable=true,this.visible&&(setTimeout(()=>{this.visible&&(this.table.rowManager.element.addEventListener("scroll",this.blurEvent),this.subscribe("cell-editing",this.blurEvent),document.body.addEventListener("click",this.blurEvent),document.body.addEventListener("contextmenu",this.blurEvent),document.body.addEventListener("mousedown",this.blurEvent),window.addEventListener("resize",this.blurEvent),document.body.addEventListener("keydown",this.escEvent),this.blurEventsBound=true);},100),this.blurCallback=e),this}_escapeCheck(e){e.keyCode==27&&this.hide();}blockHide(){this.hideable=false;}restoreHide(){this.hideable=true;}hide(e=false){return this.visible&&this.hideable&&(this.blurable&&this.blurEventsBound&&(document.body.removeEventListener("keydown",this.escEvent),document.body.removeEventListener("click",this.blurEvent),document.body.removeEventListener("contextmenu",this.blurEvent),document.body.removeEventListener("mousedown",this.blurEvent),window.removeEventListener("resize",this.blurEvent),this.table.rowManager.element.removeEventListener("scroll",this.blurEvent),this.unsubscribe("cell-editing",this.blurEvent),this.blurEventsBound=false),this.childPopup&&this.childPopup.hide(),this.parent&&(this.parent.childPopup=null),this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.visible=false,this.blurCallback&&!e&&this.blurCallback(),this.unsubscribe("table-destroy",this.destroyBinding)),this}child(e){return this.childPopup&&this.childPopup.hide(),this.childPopup=new n(this.table,e,this),this.childPopup}},C=class extends O{constructor(e,t){super(e),this._handler=null;}initialize(){}registerTableOption(e,t){this.table.optionsList.register(e,t);}registerColumnOption(e,t){this.table.columnManager.optionsList.register(e,t);}registerTableFunction(e,t){typeof this.table[e]=="undefined"&&(this.table[e]=(...i)=>(this.table.initGuard(e),t(...i)));}registerComponentFunction(e,t,i){return this.table.componentFunctionBinder.bind(e,t,i)}registerDataHandler(e,t){this.table.rowManager.registerDataPipelineHandler(e,t),this._handler=e;}registerDisplayHandler(e,t){this.table.rowManager.registerDisplayPipelineHandler(e,t),this._handler=e;}displayRows(e){var t=this.table.rowManager.displayRows.length-1,i;if(this._handler&&(i=this.table.rowManager.displayPipeline.findIndex(s=>s.handler===this._handler),i>-1&&(t=i)),e&&(t=t+e),this._handler)return t>-1?this.table.rowManager.getDisplayRows(t):this.activeRows()}activeRows(){return this.table.rowManager.activeRows}refreshData(e,t){t||(t=this._handler),t&&this.table.rowManager.refreshActiveData(t,false,e);}footerAppend(e){return this.table.footerManager.append(e)}footerPrepend(e){return this.table.footerManager.prepend(e)}footerRemove(e){return this.table.footerManager.remove(e)}popup(e,t){return new gt(this.table,e,t)}alert(e,t){return this.table.alertManager.alert(e,t)}clearAlert(){return this.table.alertManager.clear()}},vi={},ge=class n extends C{constructor(e){super(e),this.allowedTypes=["","data","download","clipboard","print","htmlOutput"],this.registerColumnOption("accessor"),this.registerColumnOption("accessorParams"),this.registerColumnOption("accessorData"),this.registerColumnOption("accessorDataParams"),this.registerColumnOption("accessorDownload"),this.registerColumnOption("accessorDownloadParams"),this.registerColumnOption("accessorClipboard"),this.registerColumnOption("accessorClipboardParams"),this.registerColumnOption("accessorPrint"),this.registerColumnOption("accessorPrintParams"),this.registerColumnOption("accessorHtmlOutput"),this.registerColumnOption("accessorHtmlOutputParams");}initialize(){this.subscribe("column-layout",this.initializeColumn.bind(this)),this.subscribe("row-data-retrieve",this.transformRow.bind(this));}initializeColumn(e){var t=false,i={};this.allowedTypes.forEach(s=>{var r="accessor"+(s.charAt(0).toUpperCase()+s.slice(1)),o;e.definition[r]&&(o=this.lookupAccessor(e.definition[r]),o&&(t=true,i[r]={accessor:o,params:e.definition[r+"Params"]||{}}));}),t&&(e.modules.accessor=i);}lookupAccessor(e){var t=false;switch(typeof e){case "string":n.accessors[e]&&(t=n.accessors[e]);break;case "function":t=e;break}return t}transformRow(e,t){var i="accessor"+(t.charAt(0).toUpperCase()+t.slice(1)),s=e.getComponent(),r=T.deepClone(e.data||{});return this.table.columnManager.traverse(function(o){var a,l,h,u;o.modules.accessor&&(l=o.modules.accessor[i]||o.modules.accessor.accessor||false,l&&(a=o.getFieldValue(r),a!="undefined"&&(u=o.getComponent(),h=typeof l.params=="function"?l.params(a,r,t,u,s):l.params,o.setFieldValue(r,l.accessor(a,r,t,h,u,s)))));}),r}};ge.moduleName="accessor";ge.accessors=vi;var wi={method:"GET"};function mt(n,e){var t=[];if(e=e||"",Array.isArray(n))n.forEach((s,r)=>{t=t.concat(mt(s,e?e+"["+r+"]":r));});else if(typeof n=="object")for(var i in n)t=t.concat(mt(n[i],e?e+"["+i+"]":i));else t.push({key:e,value:n});return t}function Ci(n){var e=mt(n),t=[];return e.forEach(function(i){t.push(encodeURIComponent(i.key)+"="+encodeURIComponent(i.value));}),t.join("&")}function ii(n,e,t){return n&&t&&Object.keys(t).length&&(!e.method||e.method.toLowerCase()=="get")&&(e.method="get",n+=(n.includes("?")?"&":"?")+Ci(t)),n}function yi(n,e,t){var i;return new Promise((s,r)=>{if(n=this.urlGenerator.call(this.table,n,e,t),e.method.toUpperCase()!="GET"&&(i=typeof this.table.options.ajaxContentType=="object"?this.table.options.ajaxContentType:this.contentTypeFormatters[this.table.options.ajaxContentType],i)){for(var o in i.headers)e.headers||(e.headers={}),typeof e.headers[o]=="undefined"&&(e.headers[o]=i.headers[o]);e.body=i.body.call(this,n,e,t);}n?(typeof e.headers=="undefined"&&(e.headers={}),typeof e.headers.Accept=="undefined"&&(e.headers.Accept="application/json"),typeof e.headers["X-Requested-With"]=="undefined"&&(e.headers["X-Requested-With"]="XMLHttpRequest"),typeof e.mode=="undefined"&&(e.mode="cors"),e.mode=="cors"?(typeof e.headers.Origin=="undefined"&&(e.headers.Origin=window.location.origin),typeof e.credentials=="undefined"&&(e.credentials="same-origin")):typeof e.credentials=="undefined"&&(e.credentials="include"),fetch(n,e).then(a=>{a.ok?a.json().then(l=>{s(l);}).catch(l=>{r(l);}):r(a);}).catch(a=>{r(a);})):s([]);})}function vt(n,e){var t=[];if(e=e||"",Array.isArray(n))n.forEach((s,r)=>{t=t.concat(vt(s,e?e+"["+r+"]":r));});else if(typeof n=="object")for(var i in n)t=t.concat(vt(n[i],e?e+"["+i+"]":i));else t.push({key:e,value:n});return t}var Ei={json:{headers:{"Content-Type":"application/json"},body:function(n,e,t){return JSON.stringify(t)}},form:{headers:{},body:function(n,e,t){var i=vt(t),s=new FormData;return i.forEach(function(r){s.append(r.key,r.value);}),s}}},X=class n extends C{constructor(e){super(e),this.config={},this.url="",this.urlGenerator=false,this.params=false,this.loaderPromise=false,this.registerTableOption("ajaxURL",false),this.registerTableOption("ajaxURLGenerator",false),this.registerTableOption("ajaxParams",{}),this.registerTableOption("ajaxConfig","get"),this.registerTableOption("ajaxContentType","form"),this.registerTableOption("ajaxRequestFunc",false),this.registerTableOption("ajaxRequesting",function(){}),this.registerTableOption("ajaxResponse",false),this.contentTypeFormatters=n.contentTypeFormatters;}initialize(){this.loaderPromise=this.table.options.ajaxRequestFunc||n.defaultLoaderPromise,this.urlGenerator=this.table.options.ajaxURLGenerator||n.defaultURLGenerator,this.table.options.ajaxURL&&this.setUrl(this.table.options.ajaxURL),this.setDefaultConfig(this.table.options.ajaxConfig),this.registerTableFunction("getAjaxUrl",this.getUrl.bind(this)),this.subscribe("data-loading",this.requestDataCheck.bind(this)),this.subscribe("data-params",this.requestParams.bind(this)),this.subscribe("data-load",this.requestData.bind(this));}requestParams(e,t,i,s){var r=this.table.options.ajaxParams;return r&&(typeof r=="function"&&(r=r.call(this.table)),s=Object.assign(Object.assign({},r),s)),s}requestDataCheck(e,t,i,s){return !!(!e&&this.url||typeof e=="string")}requestData(e,t,i,s,r){var o;return !r&&this.requestDataCheck(e)?(e&&this.setUrl(e),o=this.generateConfig(i),this.sendRequest(this.url,t,o)):r}setDefaultConfig(e={}){this.config=Object.assign({},n.defaultConfig),typeof e=="string"?this.config.method=e:Object.assign(this.config,e);}generateConfig(e={}){var t=Object.assign({},this.config);return typeof e=="string"?t.method=e:Object.assign(t,e),t}setUrl(e){this.url=e;}getUrl(){return this.url}sendRequest(e,t,i){return this.table.options.ajaxRequesting.call(this.table,e,t)!==false?this.loaderPromise(e,i,t).then(s=>(this.table.options.ajaxResponse&&(s=this.table.options.ajaxResponse.call(this.table,e,t,s)),s)):Promise.reject()}};X.moduleName="ajax";X.defaultConfig=wi;X.defaultURLGenerator=ii;X.defaultLoaderPromise=yi;X.contentTypeFormatters=Ei;var xi={replace:function(n){return this.table.setData(n)},update:function(n){return this.table.updateOrAddData(n)},insert:function(n){return this.table.addData(n)},range:function(n){var e=[],t=this.table.modules.selectRange.activeRange,i=false,s,r,o,a,l;return l=n.length,t&&(s=t.getBounds(),r=s.start,s.start===s.end&&(i=true),r&&(e=this.table.rowManager.activeRows.slice(),o=e.indexOf(r.row),i?a=n.length:a=e.indexOf(s.end.row)-o+1,o>-1&&(this.table.blockRedraw(),e=e.slice(o,o+a),e.forEach((h,u)=>{h.updateData(n[u%l]);}),this.table.restoreRedraw()))),e}},Ri={table:function(n){var e=[],t=true,i=this.table.columnManager.columns,s=[],r=[];return n=n.split(`
2
- `),n.forEach(function(o){e.push(o.split(" "));}),e.length&&!(e.length===1&&e[0].length<2)?(e[0].forEach(function(o){var a=i.find(function(l){return o&&l.definition.title&&o.trim()&&l.definition.title.trim()===o.trim()});a?s.push(a):t=false;}),t||(t=true,s=[],e[0].forEach(function(o){var a=i.find(function(l){return o&&l.field&&o.trim()&&l.field.trim()===o.trim()});a?s.push(a):t=false;}),t||(s=this.table.columnManager.columnsByIndex)),t&&e.shift(),e.forEach(function(o){var a={};o.forEach(function(l,h){s[h]&&(a[s[h].field]=l);}),r.push(a);}),r):false},range:function(n){var e=[],t=[],i=this.table.modules.selectRange.activeRange,s=false,r,o,a,l,h;return i&&(r=i.getBounds(),o=r.start,r.start===r.end&&(s=true),o&&(n=n.split(`
3
- `),n.forEach(function(u){e.push(u.split(" "));}),e.length&&(l=this.table.columnManager.getVisibleColumnsByIndex(),h=l.indexOf(o.column),h>-1)))?(s?a=e[0].length:a=l.indexOf(r.end.column)-h+1,l=l.slice(h,h+a),e.forEach(u=>{var d={},c=u.length;l.forEach(function(f,m){d[f.field]=u[m%c];}),t.push(d);}),t):false}},ae=class n extends C{constructor(e){super(e),this.mode=true,this.pasteParser=function(){},this.pasteAction=function(){},this.customSelection=false,this.rowRange=false,this.blocked=true,this.registerTableOption("clipboard",false),this.registerTableOption("clipboardCopyStyled",true),this.registerTableOption("clipboardCopyConfig",false),this.registerTableOption("clipboardCopyFormatter",false),this.registerTableOption("clipboardCopyRowRange","active"),this.registerTableOption("clipboardPasteParser","table"),this.registerTableOption("clipboardPasteAction","insert"),this.registerColumnOption("clipboard"),this.registerColumnOption("titleClipboard");}initialize(){this.mode=this.table.options.clipboard,this.rowRange=this.table.options.clipboardCopyRowRange,(this.mode===true||this.mode==="copy")&&this.table.element.addEventListener("copy",e=>{var t,i,s;this.blocked||(e.preventDefault(),this.customSelection?(t=this.customSelection,this.table.options.clipboardCopyFormatter&&(t=this.table.options.clipboardCopyFormatter("plain",t))):(s=this.table.modules.export.generateExportList(this.table.options.clipboardCopyConfig,this.table.options.clipboardCopyStyled,this.rowRange,"clipboard"),i=this.table.modules.export.generateHTMLTable(s),t=i?this.generatePlainContent(s):"",this.table.options.clipboardCopyFormatter&&(t=this.table.options.clipboardCopyFormatter("plain",t),i=this.table.options.clipboardCopyFormatter("html",i))),window.clipboardData&&window.clipboardData.setData?window.clipboardData.setData("Text",t):e.clipboardData&&e.clipboardData.setData?(e.clipboardData.setData("text/plain",t),i&&e.clipboardData.setData("text/html",i)):e.originalEvent&&e.originalEvent.clipboardData.setData&&(e.originalEvent.clipboardData.setData("text/plain",t),i&&e.originalEvent.clipboardData.setData("text/html",i)),this.dispatchExternal("clipboardCopied",t,i),this.reset());}),(this.mode===true||this.mode==="paste")&&this.table.element.addEventListener("paste",e=>{this.paste(e);}),this.setPasteParser(this.table.options.clipboardPasteParser),this.setPasteAction(this.table.options.clipboardPasteAction),this.registerTableFunction("copyToClipboard",this.copy.bind(this));}reset(){this.blocked=true,this.customSelection=false;}generatePlainContent(e){var t=[];return e.forEach(i=>{var s=[];i.columns.forEach(r=>{var o="";if(r)if(i.type==="group"&&(r.value=r.component.getKey()),r.value===null)o="";else switch(typeof r.value){case "object":o=JSON.stringify(r.value);break;case "undefined":o="";break;default:o=r.value;}s.push(o);}),t.push(s.join(" "));}),t.join(`
4
- `)}copy(e,t){var i,s;this.blocked=false,this.customSelection=false,(this.mode===true||this.mode==="copy")&&(this.rowRange=e||this.table.options.clipboardCopyRowRange,typeof window.getSelection!="undefined"&&typeof document.createRange!="undefined"?(e=document.createRange(),e.selectNodeContents(this.table.element),i=window.getSelection(),i.toString()&&t&&(this.customSelection=i.toString()),i.removeAllRanges(),i.addRange(e)):typeof document.selection!="undefined"&&typeof document.body.createTextRange!="undefined"&&(s=document.body.createTextRange(),s.moveToElementText(this.table.element),s.select()),document.execCommand("copy"),i&&i.removeAllRanges());}setPasteAction(e){switch(typeof e){case "string":this.pasteAction=n.pasteActions[e],this.pasteAction;break;case "function":this.pasteAction=e;break}}setPasteParser(e){switch(typeof e){case "string":this.pasteParser=n.pasteParsers[e],this.pasteParser;break;case "function":this.pasteParser=e;break}}paste(e){var t,i,s;this.checkPasteOrigin(e)&&(t=this.getPasteData(e),i=this.pasteParser.call(this,t),i?(e.preventDefault(),this.table.modExists("mutator")&&(i=this.mutateData(i)),s=this.pasteAction.call(this,i),this.dispatchExternal("clipboardPasted",t,i,s)):this.dispatchExternal("clipboardPasteError",t));}mutateData(e){var t=[];return Array.isArray(e)?e.forEach(i=>{t.push(this.table.modules.mutator.transformRow(i,"clipboard"));}):t=e,t}checkPasteOrigin(e){var t=true,i=this.confirm("clipboard-paste",[e]);return (i||!["DIV","SPAN"].includes(e.target.tagName))&&(t=false),t}getPasteData(e){var t;return window.clipboardData&&window.clipboardData.getData?t=window.clipboardData.getData("Text"):e.clipboardData&&e.clipboardData.getData?t=e.clipboardData.getData("text/plain"):e.originalEvent&&e.originalEvent.clipboardData.getData&&(t=e.originalEvent.clipboardData.getData("text/plain")),t}};ae.moduleName="clipboard";ae.pasteActions=xi;ae.pasteParsers=Ri;var wt=class{constructor(e){return this._row=e,new Proxy(this,{get:function(t,i,s){return typeof t[i]!="undefined"?t[i]:t._row.table.componentFunctionBinder.handle("row",t._row,i)}})}getData(e){return this._row.getData(e)}getElement(){return this._row.getElement()}getTable(){return this._row.table}getCells(){var e=[];return this._row.getCells().forEach(function(t){e.push(t.getComponent());}),e}getCell(e){var t=this._row.getCell(e);return t?t.getComponent():false}_getSelf(){return this._row}},_e=class{constructor(e){return this._cell=e,new Proxy(this,{get:function(t,i,s){return typeof t[i]!="undefined"?t[i]:t._cell.table.componentFunctionBinder.handle("cell",t._cell,i)}})}getValue(){return this._cell.getValue()}getOldValue(){return this._cell.getOldValue()}getInitialValue(){return this._cell.initialValue}getElement(){return this._cell.getElement()}getRow(){return this._cell.row.getComponent()}getData(e){return this._cell.row.getData(e)}getType(){return "cell"}getField(){return this._cell.column.getField()}getColumn(){return this._cell.column.getComponent()}setValue(e,t){typeof t=="undefined"&&(t=true),this._cell.setValue(e,t);}restoreOldValue(){this._cell.setValueActual(this._cell.getOldValue());}restoreInitialValue(){this._cell.setValueActual(this._cell.initialValue);}checkHeight(){this._cell.checkHeight();}getTable(){return this._cell.table}_getSelf(){return this._cell}},Q=class extends O{constructor(e,t){super(e.table),this.table=e.table,this.column=e,this.row=t,this.element=null,this.value=null,this.initialValue,this.oldValue=null,this.modules={},this.height=null,this.width=null,this.minWidth=null,this.component=null,this.loaded=false,this.build();}build(){this.generateElement(),this.setWidth(),this._configureCell(),this.setValueActual(this.column.getFieldValue(this.row.data)),this.initialValue=this.value;}generateElement(){this.element=document.createElement("div"),this.element.className="tabulator-cell",this.element.setAttribute("role","gridcell");}_configureCell(){var e=this.element,t=this.column.getField(),i={top:"flex-start",bottom:"flex-end",middle:"center"},s={left:"flex-start",right:"flex-end",center:"center"};if(e.style.textAlign=this.column.hozAlign,this.column.vertAlign&&(e.style.display="inline-flex",e.style.alignItems=i[this.column.vertAlign]||"",this.column.hozAlign&&(e.style.justifyContent=s[this.column.hozAlign]||"")),t&&e.setAttribute("tabulator-field",t),this.column.definition.cssClass){var r=this.column.definition.cssClass.split(" ");r.forEach(o=>{e.classList.add(o);});}this.dispatch("cell-init",this),this.column.visible||this.hide();}_generateContents(){var e;switch(e=this.chain("cell-format",this,null,()=>this.element.innerHTML=this.value),typeof e){case "object":if(e instanceof Node){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.element.appendChild(e);}else this.element.innerHTML="";break;case "undefined":this.element.innerHTML="";break;default:this.element.innerHTML=e;}}cellRendered(){this.dispatch("cell-rendered",this);}getElement(e){return this.loaded||(this.loaded=true,e||this.layoutElement()),this.element}getValue(){return this.value}getOldValue(){return this.oldValue}setValue(e,t,i){var s=this.setValueProcessData(e,t,i);s&&(this.dispatch("cell-value-updated",this),this.cellRendered(),this.column.definition.cellEdited&&this.column.definition.cellEdited.call(this.table,this.getComponent()),this.dispatchExternal("cellEdited",this.getComponent()),this.subscribedExternal("dataChanged")&&this.dispatchExternal("dataChanged",this.table.rowManager.getData()));}setValueProcessData(e,t,i){var s=false;return (this.value!==e||i)&&(s=true,t&&(e=this.chain("cell-value-changing",[this,e],null,e))),this.setValueActual(e),s&&this.dispatch("cell-value-changed",this),s}setValueActual(e){this.oldValue=this.value,this.value=e,this.dispatch("cell-value-save-before",this),this.column.setFieldValue(this.row.data,e),this.dispatch("cell-value-save-after",this),this.loaded&&this.layoutElement();}layoutElement(){this._generateContents(),this.dispatch("cell-layout",this);}setWidth(){this.width=this.column.width,this.element.style.width=this.column.widthStyled;}clearWidth(){this.width="",this.element.style.width="";}getWidth(){return this.width||this.element.offsetWidth}setMinWidth(){this.minWidth=this.column.minWidth,this.element.style.minWidth=this.column.minWidthStyled;}setMaxWidth(){this.maxWidth=this.column.maxWidth,this.element.style.maxWidth=this.column.maxWidthStyled;}checkHeight(){this.row.reinitializeHeight();}clearHeight(){this.element.style.height="",this.height=null,this.dispatch("cell-height",this,"");}setHeight(){this.height=this.row.height,this.element.style.height=this.row.heightStyled,this.dispatch("cell-height",this,this.row.heightStyled);}getHeight(){return this.height||this.element.offsetHeight}show(){this.element.style.display=this.column.vertAlign?"inline-flex":"";}hide(){this.element.style.display="none";}delete(){this.dispatch("cell-delete",this),!this.table.rowManager.redrawBlock&&this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.element=false,this.column.deleteCell(this),this.row.deleteCell(this),this.calcs={};}getIndex(){return this.row.getCellIndex(this)}getComponent(){return this.component||(this.component=new _e(this)),this.component}},Be=class{constructor(e){return this._column=e,this.type="ColumnComponent",new Proxy(this,{get:function(t,i,s){return typeof t[i]!="undefined"?t[i]:t._column.table.componentFunctionBinder.handle("column",t._column,i)}})}getElement(){return this._column.getElement()}getDefinition(){return this._column.getDefinition()}getField(){return this._column.getField()}getTitleDownload(){return this._column.getTitleDownload()}getCells(){var e=[];return this._column.cells.forEach(function(t){e.push(t.getComponent());}),e}isVisible(){return this._column.visible}show(){this._column.isGroup?this._column.columns.forEach(function(e){e.show();}):this._column.show();}hide(){this._column.isGroup?this._column.columns.forEach(function(e){e.hide();}):this._column.hide();}toggle(){this._column.visible?this.hide():this.show();}delete(){return this._column.delete()}getSubColumns(){var e=[];return this._column.columns.length&&this._column.columns.forEach(function(t){e.push(t.getComponent());}),e}getParentColumn(){return this._column.parent instanceof K?this._column.parent.getComponent():false}_getSelf(){return this._column}scrollTo(e,t){return this._column.table.columnManager.scrollToColumn(this._column,e,t)}getTable(){return this._column.table}move(e,t){var i=this._column.table.columnManager.findColumn(e);i&&this._column.table.columnManager.moveColumn(this._column,i,t);}getNextColumn(){var e=this._column.nextColumn();return e?e.getComponent():false}getPrevColumn(){var e=this._column.prevColumn();return e?e.getComponent():false}updateDefinition(e){return this._column.updateDefinition(e)}getWidth(){return this._column.getWidth()}setWidth(e){var t;return e===true?t=this._column.reinitializeWidth(true):t=this._column.setWidth(e),this._column.table.columnManager.rerenderColumns(true),t}},si={title:void 0,field:void 0,columns:void 0,visible:void 0,hozAlign:void 0,vertAlign:void 0,width:void 0,minWidth:40,maxWidth:void 0,maxInitialWidth:void 0,cssClass:void 0,variableHeight:void 0,headerVertical:void 0,headerHozAlign:void 0,headerWordWrap:false,editableTitle:void 0},K=class n extends O{constructor(e,t){super(t.table),this.definition=e,this.parent=t,this.type="column",this.columns=[],this.cells=[],this.element=this.createElement(),this.contentElement=false,this.titleHolderElement=false,this.titleElement=false,this.groupElement=this.createGroupElement(),this.isGroup=false,this.hozAlign="",this.vertAlign="",this.field="",this.fieldStructure="",this.getFieldValue="",this.setFieldValue="",this.titleDownload=null,this.titleFormatterRendered=false,this.mapDefinitions(),this.setField(this.definition.field),this.modules={},this.width=null,this.widthStyled="",this.maxWidth=null,this.maxWidthStyled="",this.maxInitialWidth=null,this.minWidth=null,this.minWidthStyled="",this.widthFixed=false,this.visible=true,this.component=null,this.definition.columns?(this.isGroup=true,this.definition.columns.forEach((i,s)=>{var r=new n(i,this);this.attachColumn(r);}),this.checkColumnVisibility()):t.registerColumnField(this),this._initialize();}createElement(){var e=document.createElement("div");switch(e.classList.add("tabulator-col"),e.setAttribute("role","columnheader"),e.setAttribute("aria-sort","none"),this.table.options.columnHeaderVertAlign){case "middle":e.style.justifyContent="center";break;case "bottom":e.style.justifyContent="flex-end";break}return e}createGroupElement(){var e=document.createElement("div");return e.classList.add("tabulator-col-group-cols"),e}mapDefinitions(){var e=this.table.options.columnDefaults;if(e)for(let t in e)typeof this.definition[t]=="undefined"&&(this.definition[t]=e[t]);this.definition=this.table.columnManager.optionsList.generate(n.defaultOptionList,this.definition);}checkDefinition(){Object.keys(this.definition).forEach(e=>{n.defaultOptionList.indexOf(e);});}setField(e){this.field=e,this.fieldStructure=e?this.table.options.nestedFieldSeparator?e.split(this.table.options.nestedFieldSeparator):[e]:[],this.getFieldValue=this.fieldStructure.length>1?this._getNestedData:this._getFlatData,this.setFieldValue=this.fieldStructure.length>1?this._setNestedData:this._setFlatData;}registerColumnPosition(e){this.parent.registerColumnPosition(e);}registerColumnField(e){this.parent.registerColumnField(e);}reRegisterPosition(){this.isGroup?this.columns.forEach(function(e){e.reRegisterPosition();}):this.registerColumnPosition(this);}_initialize(){for(var e=this.definition;this.element.firstChild;)this.element.removeChild(this.element.firstChild);e.headerVertical&&(this.element.classList.add("tabulator-col-vertical"),e.headerVertical==="flip"&&this.element.classList.add("tabulator-col-vertical-flip")),this.contentElement=this._buildColumnHeaderContent(),this.element.appendChild(this.contentElement),this.isGroup?this._buildGroupHeader():this._buildColumnHeader(),this.dispatch("column-init",this);}_buildColumnHeader(){var e=this.definition;if(this.dispatch("column-layout",this),typeof e.visible!="undefined"&&(e.visible?this.show(true):this.hide(true)),e.cssClass){var t=e.cssClass.split(" ");t.forEach(i=>{this.element.classList.add(i);});}e.field&&this.element.setAttribute("tabulator-field",e.field),this.setMinWidth(parseInt(e.minWidth)),e.maxInitialWidth&&(this.maxInitialWidth=parseInt(e.maxInitialWidth)),e.maxWidth&&this.setMaxWidth(parseInt(e.maxWidth)),this.reinitializeWidth(),this.hozAlign=this.definition.hozAlign,this.vertAlign=this.definition.vertAlign,this.titleElement.style.textAlign=this.definition.headerHozAlign;}_buildColumnHeaderContent(){var e=document.createElement("div");return e.classList.add("tabulator-col-content"),this.titleHolderElement=document.createElement("div"),this.titleHolderElement.classList.add("tabulator-col-title-holder"),e.appendChild(this.titleHolderElement),this.titleElement=this._buildColumnHeaderTitle(),this.titleHolderElement.appendChild(this.titleElement),e}_buildColumnHeaderTitle(){var e=this.definition,t=document.createElement("div");if(t.classList.add("tabulator-col-title"),e.headerWordWrap&&t.classList.add("tabulator-col-title-wrap"),e.editableTitle){var i=document.createElement("input");i.classList.add("tabulator-title-editor"),i.addEventListener("click",s=>{s.stopPropagation(),i.focus();}),i.addEventListener("mousedown",s=>{s.stopPropagation();}),i.addEventListener("change",()=>{e.title=i.value,this.dispatchExternal("columnTitleChanged",this.getComponent());}),t.appendChild(i),e.field?this.langBind("columns|"+e.field,s=>{i.value=s||e.title||"&nbsp;";}):i.value=e.title||"&nbsp;";}else e.field?this.langBind("columns|"+e.field,s=>{this._formatColumnHeaderTitle(t,s||e.title||"&nbsp;");}):this._formatColumnHeaderTitle(t,e.title||"&nbsp;");return t}_formatColumnHeaderTitle(e,t){var i=this.chain("column-format",[this,t,e],null,()=>t);switch(typeof i){case "object":i instanceof Node?e.appendChild(i):e.innerHTML="";break;case "undefined":e.innerHTML="";break;default:e.innerHTML=i;}}_buildGroupHeader(){if(this.element.classList.add("tabulator-col-group"),this.element.setAttribute("role","columngroup"),this.element.setAttribute("aria-title",this.definition.title),this.definition.cssClass){var e=this.definition.cssClass.split(" ");e.forEach(t=>{this.element.classList.add(t);});}this.titleElement.style.textAlign=this.definition.headerHozAlign,this.element.appendChild(this.groupElement);}_getFlatData(e){return e[this.field]}_getNestedData(e){var t=e,i=this.fieldStructure,s=i.length,r;for(let o=0;o<s&&(t=t[i[o]],r=t,!!t);o++);return r}_setFlatData(e,t){this.field&&(e[this.field]=t);}_setNestedData(e,t){var i=e,s=this.fieldStructure,r=s.length;for(let o=0;o<r;o++)if(o==r-1)i[s[o]]=t;else {if(!i[s[o]])if(typeof t!="undefined")i[s[o]]={};else break;i=i[s[o]];}}attachColumn(e){this.groupElement&&(this.columns.push(e),this.groupElement.appendChild(e.getElement()),e.columnRendered());}verticalAlign(e,t){var i=this.parent.isGroup?this.parent.getGroupElement().clientHeight:t||this.parent.getHeadersElement().clientHeight;this.element.style.height=i+"px",this.dispatch("column-height",this,this.element.style.height),this.isGroup&&(this.groupElement.style.minHeight=i-this.contentElement.offsetHeight+"px"),this.columns.forEach(function(s){s.verticalAlign(e);});}clearVerticalAlign(){this.element.style.paddingTop="",this.element.style.height="",this.element.style.minHeight="",this.groupElement.style.minHeight="",this.columns.forEach(function(e){e.clearVerticalAlign();}),this.dispatch("column-height",this,"");}getElement(){return this.element}getGroupElement(){return this.groupElement}getField(){return this.field}getTitleDownload(){return this.titleDownload}getFirstColumn(){return this.isGroup?this.columns.length?this.columns[0].getFirstColumn():false:this}getLastColumn(){return this.isGroup?this.columns.length?this.columns[this.columns.length-1].getLastColumn():false:this}getColumns(e){var t=[];return e?this.columns.forEach(i=>{t.push(i),t=t.concat(i.getColumns(true));}):t=this.columns,t}getCells(){return this.cells}getTopColumn(){return this.parent.isGroup?this.parent.getTopColumn():this}getDefinition(e){var t=[];return this.isGroup&&e&&(this.columns.forEach(function(i){t.push(i.getDefinition(true));}),this.definition.columns=t),this.definition}checkColumnVisibility(){var e=false;this.columns.forEach(function(t){t.visible&&(e=true);}),e?(this.show(),this.dispatchExternal("columnVisibilityChanged",this.getComponent(),false)):this.hide();}show(e,t){this.visible||(this.visible=true,this.element.style.display="",this.parent.isGroup&&this.parent.checkColumnVisibility(),this.cells.forEach(function(i){i.show();}),!this.isGroup&&this.width===null&&this.reinitializeWidth(),this.table.columnManager.verticalAlignHeaders(),this.dispatch("column-show",this,t),e||this.dispatchExternal("columnVisibilityChanged",this.getComponent(),true),this.parent.isGroup&&this.parent.matchChildWidths(),this.silent||this.table.columnManager.rerenderColumns());}hide(e,t){this.visible&&(this.visible=false,this.element.style.display="none",this.table.columnManager.verticalAlignHeaders(),this.parent.isGroup&&this.parent.checkColumnVisibility(),this.cells.forEach(function(i){i.hide();}),this.dispatch("column-hide",this,t),e||this.dispatchExternal("columnVisibilityChanged",this.getComponent(),false),this.parent.isGroup&&this.parent.matchChildWidths(),this.silent||this.table.columnManager.rerenderColumns());}matchChildWidths(){var e=0;this.contentElement&&this.columns.length&&(this.columns.forEach(function(t){t.visible&&(e+=t.getWidth());}),this.contentElement.style.maxWidth=e-1+"px",this.parent.isGroup&&this.parent.matchChildWidths());}removeChild(e){var t=this.columns.indexOf(e);t>-1&&this.columns.splice(t,1),this.columns.length||this.delete();}setWidth(e){this.widthFixed=true,this.setWidthActual(e);}setWidthActual(e){isNaN(e)&&(e=Math.floor(this.table.element.clientWidth/100*parseInt(e))),e=Math.max(this.minWidth,e),this.maxWidth&&(e=Math.min(this.maxWidth,e)),this.width=e,this.widthStyled=e?e+"px":"",this.element.style.width=this.widthStyled,this.isGroup||this.cells.forEach(function(t){t.setWidth();}),this.parent.isGroup&&this.parent.matchChildWidths(),this.dispatch("column-width",this);}checkCellHeights(){var e=[];this.cells.forEach(function(t){t.row.heightInitialized&&(t.row.getElement().offsetParent!==null?(e.push(t.row),t.row.clearCellHeight()):t.row.heightInitialized=false);}),e.forEach(function(t){t.calcHeight();}),e.forEach(function(t){t.setCellHeight();});}getWidth(){var e=0;return this.isGroup?this.columns.forEach(function(t){t.visible&&(e+=t.getWidth());}):e=this.width,e}getLeftOffset(){var e=this.element.offsetLeft;return this.parent.isGroup&&(e+=this.parent.getLeftOffset()),e}getHeight(){return Math.ceil(this.element.getBoundingClientRect().height)}setMinWidth(e){this.maxWidth&&e>this.maxWidth&&(e=this.maxWidth),this.minWidth=e,this.minWidthStyled=e?e+"px":"",this.element.style.minWidth=this.minWidthStyled,this.cells.forEach(function(t){t.setMinWidth();});}setMaxWidth(e){this.minWidth&&e<this.minWidth&&(e=this.minWidth),this.maxWidth=e,this.maxWidthStyled=e?e+"px":"",this.element.style.maxWidth=this.maxWidthStyled,this.cells.forEach(function(t){t.setMaxWidth();});}delete(){return new Promise((e,t)=>{this.isGroup&&this.columns.forEach(function(s){s.delete();}),this.dispatch("column-delete",this);var i=this.cells.length;for(let s=0;s<i;s++)this.cells[0].delete();this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.element=false,this.contentElement=false,this.titleElement=false,this.groupElement=false,this.parent.isGroup&&this.parent.removeChild(this),this.table.columnManager.deregisterColumn(this),this.table.columnManager.rerenderColumns(true),this.dispatch("column-deleted",this),e();})}columnRendered(){this.titleFormatterRendered&&this.titleFormatterRendered(),this.dispatch("column-rendered",this);}generateCell(e){var t=new Q(this,e);return this.cells.push(t),t}nextColumn(){var e=this.table.columnManager.findColumnIndex(this);return e>-1?this._nextVisibleColumn(e+1):false}_nextVisibleColumn(e){var t=this.table.columnManager.getColumnByIndex(e);return !t||t.visible?t:this._nextVisibleColumn(e+1)}prevColumn(){var e=this.table.columnManager.findColumnIndex(this);return e>-1?this._prevVisibleColumn(e-1):false}_prevVisibleColumn(e){var t=this.table.columnManager.getColumnByIndex(e);return !t||t.visible?t:this._prevVisibleColumn(e-1)}reinitializeWidth(e){this.widthFixed=false,typeof this.definition.width!="undefined"&&!e&&this.setWidth(this.definition.width),this.dispatch("column-width-fit-before",this),this.fitToData(e),this.dispatch("column-width-fit-after",this);}fitToData(e){if(!this.isGroup){this.widthFixed||(this.element.style.width="",this.cells.forEach(s=>{s.clearWidth();}));var t=this.element.offsetWidth;if((!this.width||!this.widthFixed)&&(this.cells.forEach(s=>{var r=s.getWidth();r>t&&(t=r);}),t)){var i=t+1;this.maxInitialWidth&&!e&&(i=Math.min(i,this.maxInitialWidth)),this.setWidthActual(i);}}}updateDefinition(e){var t;return this.isGroup||this.parent.isGroup?Promise.reject("Column Update Error - The updateDefinition function is only available on columns, not column groups"):(t=Object.assign({},this.getDefinition()),t=Object.assign(t,e),this.table.columnManager.addColumn(t,false,this).then(i=>(t.field==this.field&&(this.field=false),this.delete().then(()=>i.getComponent()))))}deleteCell(e){var t=this.cells.indexOf(e);t>-1&&this.cells.splice(t,1);}getComponent(){return this.component||(this.component=new Be(this)),this.component}getPosition(){return this.table.columnManager.getVisibleColumnsByIndex().indexOf(this)+1}};K.defaultOptionList=si;var le=class{constructor(e){return this._row=e,new Proxy(this,{get:function(t,i,s){return typeof t[i]!="undefined"?t[i]:t._row.table.componentFunctionBinder.handle("row",t._row,i)}})}getData(e){return this._row.getData(e)}getElement(){return this._row.getElement()}getCells(){var e=[];return this._row.getCells().forEach(function(t){e.push(t.getComponent());}),e}getCell(e){var t=this._row.getCell(e);return t?t.getComponent():false}getIndex(){return this._row.getData("data")[this._row.table.options.index]}getPosition(){return this._row.getPosition()}watchPosition(e){return this._row.watchPosition(e)}delete(){return this._row.delete()}scrollTo(e,t){return this._row.table.rowManager.scrollToRow(this._row,e,t)}move(e,t){this._row.moveToRow(e,t);}update(e){return this._row.updateData(e)}normalizeHeight(){this._row.normalizeHeight(true);}_getSelf(){return this._row}reformat(){return this._row.reinitialize()}getTable(){return this._row.table}getNextRow(){var e=this._row.nextRow();return e&&e.getComponent()}getPrevRow(){var e=this._row.prevRow();return e&&e.getComponent()}},P=class extends O{constructor(e,t,i="row"){super(t.table),this.parent=t,this.data={},this.type=i,this.element=false,this.modules={},this.cells=[],this.height=0,this.heightStyled="",this.manualHeight=false,this.outerHeight=0,this.initialized=false,this.heightInitialized=false,this.position=0,this.positionWatchers=[],this.component=null,this.created=false,this.setData(e);}create(){this.created||(this.created=true,this.generateElement());}createElement(){var e=document.createElement("div");e.classList.add("tabulator-row"),e.setAttribute("role","row"),this.element=e;}getElement(){return this.create(),this.element}detachElement(){this.element&&this.element.parentNode&&this.element.parentNode.removeChild(this.element);}generateElement(){this.createElement(),this.dispatch("row-init",this);}generateCells(){this.cells=this.table.columnManager.generateCells(this);}initialize(e,t){if(this.create(),!this.initialized||e){for(this.deleteCells();this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.dispatch("row-layout-before",this),this.generateCells(),this.initialized=true,this.table.columnManager.renderer.renderRowCells(this,t),e&&this.normalizeHeight(),this.dispatch("row-layout",this),this.table.options.rowFormatter&&this.table.options.rowFormatter(this.getComponent()),this.dispatch("row-layout-after",this);}else this.table.columnManager.renderer.rerenderRowCells(this,t);}rendered(){this.cells.forEach(e=>{e.cellRendered();});}reinitializeHeight(){this.heightInitialized=false,this.element&&this.element.offsetParent!==null&&this.normalizeHeight(true);}deinitialize(){this.initialized=false;}deinitializeHeight(){this.heightInitialized=false;}reinitialize(e){this.initialized=false,this.heightInitialized=false,this.manualHeight||(this.height=0,this.heightStyled=""),this.element&&this.element.offsetParent!==null&&this.initialize(true),this.dispatch("row-relayout",this);}calcHeight(e){var t=0,i;this.table.options.rowHeight?this.height=this.table.options.rowHeight:(i=this.table.options.resizableRows?this.element.clientHeight:0,this.cells.forEach(function(s){var r=s.getHeight();r>t&&(t=r);}),e?this.height=Math.max(t,i):this.height=this.manualHeight?this.height:Math.max(t,i)),this.heightStyled=this.height?this.height+"px":"",this.outerHeight=this.element.offsetHeight;}setCellHeight(){this.cells.forEach(function(e){e.setHeight();}),this.heightInitialized=true;}clearCellHeight(){this.cells.forEach(function(e){e.clearHeight();});}normalizeHeight(e){e&&!this.table.options.rowHeight&&this.clearCellHeight(),this.calcHeight(e),this.setCellHeight();}setHeight(e,t){(this.height!=e||t)&&(this.manualHeight=true,this.height=e,this.heightStyled=e?e+"px":"",this.setCellHeight(),this.outerHeight=this.element.offsetHeight);}getHeight(){return this.outerHeight}getWidth(){return this.element.offsetWidth}deleteCell(e){var t=this.cells.indexOf(e);t>-1&&this.cells.splice(t,1);}setData(e){this.data=this.chain("row-data-init-before",[this,e],void 0,e),this.dispatch("row-data-init-after",this);}updateData(e){var t=this.element&&T.elVisible(this.element),i={},s;return new Promise((r,o)=>{typeof e=="string"&&(e=JSON.parse(e)),this.dispatch("row-data-save-before",this),this.subscribed("row-data-changing")&&(i=Object.assign(i,this.data),i=Object.assign(i,e)),s=this.chain("row-data-changing",[this,i,e],null,e);for(let a in s)this.data[a]=s[a];this.dispatch("row-data-save-after",this);for(let a in e)this.table.columnManager.getColumnsByFieldRoot(a).forEach(h=>{let u=this.getCell(h.getField());if(u){let d=h.getFieldValue(s);u.getValue()!==d&&(u.setValueProcessData(d),t&&u.cellRendered());}});t?(this.normalizeHeight(true),this.table.options.rowFormatter&&this.table.options.rowFormatter(this.getComponent())):(this.initialized=false,this.height=0,this.heightStyled=""),this.dispatch("row-data-changed",this,t,e),this.dispatchExternal("rowUpdated",this.getComponent()),this.subscribedExternal("dataChanged")&&this.dispatchExternal("dataChanged",this.table.rowManager.getData()),r();})}getData(e){return e?this.chain("row-data-retrieve",[this,e],null,this.data):this.data}getCell(e){var t=false;return e=this.table.columnManager.findColumn(e),!this.initialized&&this.cells.length===0&&this.generateCells(),t=this.cells.find(function(i){return i.column===e}),t}getCellIndex(e){return this.cells.findIndex(function(t){return t===e})}findCell(e){return this.cells.find(t=>t.element===e)}getCells(){return !this.initialized&&this.cells.length===0&&this.generateCells(),this.cells}nextRow(){var e=this.table.rowManager.nextDisplayRow(this,true);return e||false}prevRow(){var e=this.table.rowManager.prevDisplayRow(this,true);return e||false}moveToRow(e,t){var i=this.table.rowManager.findRow(e);i&&(this.table.rowManager.moveRowActual(this,i,!t),this.table.rowManager.refreshActiveData("display",false,true));}delete(){return this.dispatch("row-delete",this),this.deleteActual(),Promise.resolve()}deleteActual(e){this.detachModules(),this.table.rowManager.deleteRow(this,e),this.deleteCells(),this.initialized=false,this.heightInitialized=false,this.element=false,this.dispatch("row-deleted",this);}detachModules(){this.dispatch("row-deleting",this);}deleteCells(){var e=this.cells.length;for(let t=0;t<e;t++)this.cells[0].delete();}wipe(){if(this.detachModules(),this.deleteCells(),this.element){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.element.parentNode&&this.element.parentNode.removeChild(this.element);}this.element=false,this.modules={};}isDisplayed(){return this.table.rowManager.getDisplayRows().includes(this)}getPosition(){return this.isDisplayed()?this.position:false}setPosition(e){e!=this.position&&(this.position=e,this.positionWatchers.forEach(t=>{t(this.position);}));}watchPosition(e){this.positionWatchers.push(e),e(this.position);}getGroup(){return this.modules.group||false}getComponent(){return this.component||(this.component=new le(this)),this.component}},ki={avg:function(n,e,t){var i=0,s=typeof t.precision!="undefined"?t.precision:2;return n.length&&(i=n.reduce(function(r,o){return Number(r)+Number(o)}),i=i/n.length,i=s!==false?i.toFixed(s):i),parseFloat(i).toString()},max:function(n,e,t){var i=null,s=typeof t.precision!="undefined"?t.precision:false;return n.forEach(function(r){r=Number(r),(r>i||i===null)&&(i=r);}),i!==null?s!==false?i.toFixed(s):i:""},min:function(n,e,t){var i=null,s=typeof t.precision!="undefined"?t.precision:false;return n.forEach(function(r){r=Number(r),(r<i||i===null)&&(i=r);}),i!==null?s!==false?i.toFixed(s):i:""},sum:function(n,e,t){var i=0,s=typeof t.precision!="undefined"?t.precision:false;return n.length&&n.forEach(function(r){r=Number(r),i+=isNaN(r)?0:Number(r);}),s!==false?i.toFixed(s):i},concat:function(n,e,t){var i=0;return n.length&&(i=n.reduce(function(s,r){return String(s)+String(r)})),i},count:function(n,e,t){var i=0;return n.length&&n.forEach(function(s){s&&i++;}),i},unique:function(n,e,t){var i=n.filter((s,r)=>(n||s===0)&&n.indexOf(s)===r);return i.length}},me=class n extends C{constructor(e){super(e),this.topCalcs=[],this.botCalcs=[],this.genColumn=false,this.topElement=this.createElement(),this.botElement=this.createElement(),this.topRow=false,this.botRow=false,this.topInitialized=false,this.botInitialized=false,this.blocked=false,this.recalcAfterBlock=false,this.registerTableOption("columnCalcs",true),this.registerColumnOption("topCalc"),this.registerColumnOption("topCalcParams"),this.registerColumnOption("topCalcFormatter"),this.registerColumnOption("topCalcFormatterParams"),this.registerColumnOption("bottomCalc"),this.registerColumnOption("bottomCalcParams"),this.registerColumnOption("bottomCalcFormatter"),this.registerColumnOption("bottomCalcFormatterParams");}createElement(){var e=document.createElement("div");return e.classList.add("tabulator-calcs-holder"),e}initialize(){this.genColumn=new K({field:"value"},this),this.subscribe("cell-value-changed",this.cellValueChanged.bind(this)),this.subscribe("column-init",this.initializeColumnCheck.bind(this)),this.subscribe("row-deleted",this.rowsUpdated.bind(this)),this.subscribe("scroll-horizontal",this.scrollHorizontal.bind(this)),this.subscribe("row-added",this.rowsUpdated.bind(this)),this.subscribe("column-moved",this.recalcActiveRows.bind(this)),this.subscribe("column-add",this.recalcActiveRows.bind(this)),this.subscribe("data-refreshed",this.recalcActiveRowsRefresh.bind(this)),this.subscribe("table-redraw",this.tableRedraw.bind(this)),this.subscribe("rows-visible",this.visibleRows.bind(this)),this.subscribe("scrollbar-vertical",this.adjustForScrollbar.bind(this)),this.subscribe("redraw-blocked",this.blockRedraw.bind(this)),this.subscribe("redraw-restored",this.restoreRedraw.bind(this)),this.subscribe("table-redrawing",this.resizeHolderWidth.bind(this)),this.subscribe("column-resized",this.resizeHolderWidth.bind(this)),this.subscribe("column-show",this.resizeHolderWidth.bind(this)),this.subscribe("column-hide",this.resizeHolderWidth.bind(this)),this.registerTableFunction("getCalcResults",this.getResults.bind(this)),this.registerTableFunction("recalc",this.userRecalc.bind(this)),this.resizeHolderWidth();}resizeHolderWidth(){this.topElement.style.minWidth=this.table.columnManager.headersElement.offsetWidth+"px";}tableRedraw(e){this.recalc(this.table.rowManager.activeRows),e&&this.redraw();}blockRedraw(){this.blocked=true,this.recalcAfterBlock=false;}restoreRedraw(){this.blocked=false,this.recalcAfterBlock&&(this.recalcAfterBlock=false,this.recalcActiveRowsRefresh());}userRecalc(){this.recalc(this.table.rowManager.activeRows);}blockCheck(){return this.blocked&&(this.recalcAfterBlock=true),this.blocked}visibleRows(e,t){return this.topRow&&t.unshift(this.topRow),this.botRow&&t.push(this.botRow),t}rowsUpdated(e){this.table.options.groupBy?this.recalcRowGroup(e):this.recalcActiveRows();}recalcActiveRowsRefresh(){this.table.options.groupBy&&this.table.options.dataTreeStartExpanded&&this.table.options.dataTree?this.recalcAll():this.recalcActiveRows();}recalcActiveRows(){this.recalc(this.table.rowManager.activeRows);}cellValueChanged(e){(e.column.definition.topCalc||e.column.definition.bottomCalc)&&(this.table.options.groupBy?((this.table.options.columnCalcs=="table"||this.table.options.columnCalcs=="both")&&this.recalcActiveRows(),this.table.options.columnCalcs!="table"&&this.recalcRowGroup(e.row)):this.recalcActiveRows());}initializeColumnCheck(e){(e.definition.topCalc||e.definition.bottomCalc)&&this.initializeColumn(e);}initializeColumn(e){var t=e.definition,i={topCalcParams:t.topCalcParams||{},botCalcParams:t.bottomCalcParams||{}};if(t.topCalc){switch(typeof t.topCalc){case "string":n.calculations[t.topCalc]&&(i.topCalc=n.calculations[t.topCalc]);break;case "function":i.topCalc=t.topCalc;break}i.topCalc&&(e.modules.columnCalcs=i,this.topCalcs.push(e),this.table.options.columnCalcs!="group"&&this.initializeTopRow());}if(t.bottomCalc){switch(typeof t.bottomCalc){case "string":n.calculations[t.bottomCalc]&&(i.botCalc=n.calculations[t.bottomCalc]);break;case "function":i.botCalc=t.bottomCalc;break}i.botCalc&&(e.modules.columnCalcs=i,this.botCalcs.push(e),this.table.options.columnCalcs!="group"&&this.initializeBottomRow());}}registerColumnField(){}removeCalcs(){var e=false;this.topInitialized&&(this.topInitialized=false,this.topElement.parentNode.removeChild(this.topElement),e=true),this.botInitialized&&(this.botInitialized=false,this.footerRemove(this.botElement),e=true),e&&this.table.rowManager.adjustTableSize();}reinitializeCalcs(){this.topCalcs.length&&this.initializeTopRow(),this.botCalcs.length&&this.initializeBottomRow();}initializeTopRow(){var e=document.createDocumentFragment();this.topInitialized||(e.appendChild(document.createElement("br")),e.appendChild(this.topElement),this.table.columnManager.getContentsElement().insertBefore(e,this.table.columnManager.headersElement.nextSibling),this.topInitialized=true);}initializeBottomRow(){this.botInitialized||(this.footerPrepend(this.botElement),this.botInitialized=true);}scrollHorizontal(e){this.botInitialized&&this.botRow&&(this.botElement.scrollLeft=e);}recalc(e){var t,i;if(!this.blockCheck()&&(this.topInitialized||this.botInitialized)){if(t=this.rowsToData(e),this.topInitialized){for(this.topRow&&this.topRow.deleteCells(),i=this.generateRow("top",t),this.topRow=i;this.topElement.firstChild;)this.topElement.removeChild(this.topElement.firstChild);this.topElement.appendChild(i.getElement()),i.initialize(true);}if(this.botInitialized){for(this.botRow&&this.botRow.deleteCells(),i=this.generateRow("bottom",t),this.botRow=i;this.botElement.firstChild;)this.botElement.removeChild(this.botElement.firstChild);this.botElement.appendChild(i.getElement()),i.initialize(true);}this.table.rowManager.adjustTableSize(),this.table.modExists("frozenColumns")&&this.table.modules.frozenColumns.layout();}}recalcRowGroup(e){this.recalcGroup(this.table.modules.groupRows.getRowGroup(e));}recalcAll(){if((this.topCalcs.length||this.botCalcs.length)&&(this.table.options.columnCalcs!=="group"&&this.recalcActiveRows(),this.table.options.groupBy&&this.table.options.columnCalcs!=="table")){var e=this.table.modules.groupRows.getChildGroups();e.forEach(t=>{this.recalcGroup(t);});}}recalcGroup(e){var t,i;this.blockCheck()||e&&e.calcs&&(e.calcs.bottom&&(t=this.rowsToData(e.rows),i=this.generateRowData("bottom",t),e.calcs.bottom.updateData(i),e.calcs.bottom.reinitialize()),e.calcs.top&&(t=this.rowsToData(e.rows),i=this.generateRowData("top",t),e.calcs.top.updateData(i),e.calcs.top.reinitialize()));}generateTopRow(e){return this.generateRow("top",this.rowsToData(e))}generateBottomRow(e){return this.generateRow("bottom",this.rowsToData(e))}rowsToData(e){var t=[];return e.forEach(i=>{if(t.push(i.getData()),this.table.options.dataTree&&this.table.options.dataTreeChildColumnCalcs&&i.modules.dataTree&&i.modules.dataTree.open){var s=this.rowsToData(this.table.modules.dataTree.getFilteredTreeChildren(i));t=t.concat(s);}}),t}generateRow(e,t){var i=this.generateRowData(e,t),s;return this.table.modExists("mutator")&&this.table.modules.mutator.disable(),s=new P(i,this,"calc"),this.table.modExists("mutator")&&this.table.modules.mutator.enable(),s.getElement().classList.add("tabulator-calcs","tabulator-calcs-"+e),s.component=false,s.getComponent=()=>(s.component||(s.component=new wt(s)),s.component),s.generateCells=()=>{var r=[];this.table.columnManager.columnsByIndex.forEach(o=>{this.genColumn.setField(o.getField()),this.genColumn.hozAlign=o.hozAlign,o.definition[e+"CalcFormatter"]&&this.table.modExists("format")?this.genColumn.modules.format={formatter:this.table.modules.format.getFormatter(o.definition[e+"CalcFormatter"]),params:o.definition[e+"CalcFormatterParams"]||{}}:this.genColumn.modules.format={formatter:this.table.modules.format.getFormatter("plaintext"),params:{}},this.genColumn.definition.cssClass=o.definition.cssClass;var a=new Q(this.genColumn,s);a.getElement(),a.column=o,a.setWidth(),o.cells.push(a),r.push(a),o.visible||a.hide();}),s.cells=r;},s}generateRowData(e,t){var i={},s=e=="top"?this.topCalcs:this.botCalcs,r=e=="top"?"topCalc":"botCalc",o,a;return s.forEach(function(l){var h=[];l.modules.columnCalcs&&l.modules.columnCalcs[r]&&(t.forEach(function(u){h.push(l.getFieldValue(u));}),a=r+"Params",o=typeof l.modules.columnCalcs[a]=="function"?l.modules.columnCalcs[a](h,t):l.modules.columnCalcs[a],l.setFieldValue(i,l.modules.columnCalcs[r](h,t,o)));}),i}hasTopCalcs(){return !!this.topCalcs.length}hasBottomCalcs(){return !!this.botCalcs.length}redraw(){this.topRow&&this.topRow.normalizeHeight(true),this.botRow&&this.botRow.normalizeHeight(true);}getResults(){var e={},t;return this.table.options.groupBy&&this.table.modExists("groupRows")?(t=this.table.modules.groupRows.getGroups(true),t.forEach(i=>{e[i.getKey()]=this.getGroupResults(i);})):e={top:this.topRow?this.topRow.getData():{},bottom:this.botRow?this.botRow.getData():{}},e}getGroupResults(e){var t=e._getSelf(),i=e.getSubGroups(),s={},r={};return i.forEach(o=>{s[o.getKey()]=this.getGroupResults(o);}),r={top:t.calcs.top?t.calcs.top.getData():{},bottom:t.calcs.bottom?t.calcs.bottom.getData():{},groups:s},r}adjustForScrollbar(e){this.botRow&&(this.table.rtl?this.botElement.style.paddingLeft=e+"px":this.botElement.style.paddingRight=e+"px");}};me.moduleName="columnCalcs";me.calculations=ki;var Ie=class extends C{constructor(e){super(e),this.indent=10,this.field="",this.collapseEl=null,this.expandEl=null,this.branchEl=null,this.elementField=false,this.startOpen=function(){},this.registerTableOption("dataTree",false),this.registerTableOption("dataTreeFilter",true),this.registerTableOption("dataTreeSort",true),this.registerTableOption("dataTreeElementColumn",false),this.registerTableOption("dataTreeBranchElement",true),this.registerTableOption("dataTreeChildIndent",9),this.registerTableOption("dataTreeChildField","_children"),this.registerTableOption("dataTreeCollapseElement",false),this.registerTableOption("dataTreeExpandElement",false),this.registerTableOption("dataTreeStartExpanded",false),this.registerTableOption("dataTreeChildColumnCalcs",false),this.registerTableOption("dataTreeSelectPropagate",false),this.registerComponentFunction("row","treeCollapse",this.collapseRow.bind(this)),this.registerComponentFunction("row","treeExpand",this.expandRow.bind(this)),this.registerComponentFunction("row","treeToggle",this.toggleRow.bind(this)),this.registerComponentFunction("row","getTreeParent",this.getTreeParent.bind(this)),this.registerComponentFunction("row","getTreeChildren",this.getRowChildren.bind(this)),this.registerComponentFunction("row","addTreeChild",this.addTreeChildRow.bind(this)),this.registerComponentFunction("row","isTreeExpanded",this.isRowExpanded.bind(this));}initialize(){if(this.table.options.dataTree){var e=null,t=this.table.options;switch(this.field=t.dataTreeChildField,this.indent=t.dataTreeChildIndent,this.options("movableRows"),t.dataTreeBranchElement?t.dataTreeBranchElement===true?(this.branchEl=document.createElement("div"),this.branchEl.classList.add("tabulator-data-tree-branch")):typeof t.dataTreeBranchElement=="string"?(e=document.createElement("div"),e.innerHTML=t.dataTreeBranchElement,this.branchEl=e.firstChild):this.branchEl=t.dataTreeBranchElement:(this.branchEl=document.createElement("div"),this.branchEl.classList.add("tabulator-data-tree-branch-empty")),t.dataTreeCollapseElement?typeof t.dataTreeCollapseElement=="string"?(e=document.createElement("div"),e.innerHTML=t.dataTreeCollapseElement,this.collapseEl=e.firstChild):this.collapseEl=t.dataTreeCollapseElement:(this.collapseEl=document.createElement("div"),this.collapseEl.classList.add("tabulator-data-tree-control"),this.collapseEl.tabIndex=0,this.collapseEl.innerHTML="<div class='tabulator-data-tree-control-collapse'></div>"),t.dataTreeExpandElement?typeof t.dataTreeExpandElement=="string"?(e=document.createElement("div"),e.innerHTML=t.dataTreeExpandElement,this.expandEl=e.firstChild):this.expandEl=t.dataTreeExpandElement:(this.expandEl=document.createElement("div"),this.expandEl.classList.add("tabulator-data-tree-control"),this.expandEl.tabIndex=0,this.expandEl.innerHTML="<div class='tabulator-data-tree-control-expand'></div>"),typeof t.dataTreeStartExpanded){case "boolean":this.startOpen=function(i,s){return t.dataTreeStartExpanded};break;case "function":this.startOpen=t.dataTreeStartExpanded;break;default:this.startOpen=function(i,s){return t.dataTreeStartExpanded[s]};break}this.subscribe("row-init",this.initializeRow.bind(this)),this.subscribe("row-layout-after",this.layoutRow.bind(this)),this.subscribe("row-deleted",this.rowDelete.bind(this),0),this.subscribe("row-data-changed",this.rowDataChanged.bind(this),10),this.subscribe("cell-value-updated",this.cellValueChanged.bind(this)),this.subscribe("edit-cancelled",this.cellValueChanged.bind(this)),this.subscribe("column-moving-rows",this.columnMoving.bind(this)),this.subscribe("table-built",this.initializeElementField.bind(this)),this.subscribe("table-redrawing",this.tableRedrawing.bind(this)),this.registerDisplayHandler(this.getRows.bind(this),30);}}tableRedrawing(e){var t;e&&(t=this.table.rowManager.getRows(),t.forEach(i=>{this.reinitializeRowChildren(i);}));}initializeElementField(){var e=this.table.columnManager.getFirstVisibleColumn();this.elementField=this.table.options.dataTreeElementColumn||(e?e.field:false);}getRowChildren(e){return this.getTreeChildren(e,true)}columnMoving(){var e=[];return this.table.rowManager.rows.forEach(t=>{e=e.concat(this.getTreeChildren(t,false,true));}),e}rowDataChanged(e,t,i){this.redrawNeeded(i)&&(this.initializeRow(e),t&&(this.layoutRow(e),this.refreshData(true)));}cellValueChanged(e){var t=e.column.getField();t===this.elementField&&this.layoutRow(e.row);}initializeRow(e){var t=e.getData()[this.field],i=Array.isArray(t),s=i||!i&&typeof t=="object"&&t!==null;!s&&e.modules.dataTree&&e.modules.dataTree.branchEl&&e.modules.dataTree.branchEl.parentNode.removeChild(e.modules.dataTree.branchEl),!s&&e.modules.dataTree&&e.modules.dataTree.controlEl&&e.modules.dataTree.controlEl.parentNode.removeChild(e.modules.dataTree.controlEl),e.modules.dataTree={index:e.modules.dataTree?e.modules.dataTree.index:0,open:s?e.modules.dataTree?e.modules.dataTree.open:this.startOpen(e.getComponent(),0):false,controlEl:e.modules.dataTree&&s?e.modules.dataTree.controlEl:false,branchEl:e.modules.dataTree&&s?e.modules.dataTree.branchEl:false,parent:e.modules.dataTree?e.modules.dataTree.parent:false,children:s};}reinitializeRowChildren(e){var t=this.getTreeChildren(e,false,true);t.forEach(function(i){i.reinitialize(true);});}layoutRow(e){var t=this.elementField?e.getCell(this.elementField):e.getCells()[0],i=t.getElement(),s=e.modules.dataTree;s.branchEl&&(s.branchEl.parentNode&&s.branchEl.parentNode.removeChild(s.branchEl),s.branchEl=false),s.controlEl&&(s.controlEl.parentNode&&s.controlEl.parentNode.removeChild(s.controlEl),s.controlEl=false),this.generateControlElement(e,i),e.getElement().classList.add("tabulator-tree-level-"+s.index),s.index&&(this.branchEl?(s.branchEl=this.branchEl.cloneNode(true),i.insertBefore(s.branchEl,i.firstChild),this.table.rtl?s.branchEl.style.marginRight=(s.branchEl.offsetWidth+s.branchEl.style.marginLeft)*(s.index-1)+s.index*this.indent+"px":s.branchEl.style.marginLeft=(s.branchEl.offsetWidth+s.branchEl.style.marginRight)*(s.index-1)+s.index*this.indent+"px"):this.table.rtl?i.style.paddingRight=parseInt(window.getComputedStyle(i,null).getPropertyValue("padding-right"))+s.index*this.indent+"px":i.style.paddingLeft=parseInt(window.getComputedStyle(i,null).getPropertyValue("padding-left"))+s.index*this.indent+"px");}generateControlElement(e,t){var i=e.modules.dataTree,s=i.controlEl;t=t||e.getCells()[0].getElement(),i.children!==false&&(i.open?(i.controlEl=this.collapseEl.cloneNode(true),i.controlEl.addEventListener("click",r=>{r.stopPropagation(),this.collapseRow(e);})):(i.controlEl=this.expandEl.cloneNode(true),i.controlEl.addEventListener("click",r=>{r.stopPropagation(),this.expandRow(e);})),i.controlEl.addEventListener("mousedown",r=>{r.stopPropagation();}),s&&s.parentNode===t?s.parentNode.replaceChild(i.controlEl,s):t.insertBefore(i.controlEl,t.firstChild));}getRows(e){var t=[];return e.forEach((i,s)=>{var r,o;t.push(i),i instanceof P&&(i.create(),r=i.modules.dataTree,!r.index&&r.children!==false&&(o=this.getChildren(i),o.forEach(a=>{a.create(),t.push(a);})));}),t}getChildren(e,t){var i=e.modules.dataTree,s=[],r=[];return i.children!==false&&(i.open||t)&&(Array.isArray(i.children)||(i.children=this.generateChildren(e)),this.table.modExists("filter")&&this.table.options.dataTreeFilter?s=this.table.modules.filter.filter(i.children):s=i.children,this.table.modExists("sort")&&this.table.options.dataTreeSort&&this.table.modules.sort.sort(s),s.forEach(o=>{r.push(o);var a=this.getChildren(o);a.forEach(l=>{r.push(l);});})),r}generateChildren(e){var t=[],i=e.getData()[this.field];return Array.isArray(i)||(i=[i]),i.forEach(s=>{var r=new P(s||{},this.table.rowManager);r.create(),r.modules.dataTree.index=e.modules.dataTree.index+1,r.modules.dataTree.parent=e,r.modules.dataTree.children&&(r.modules.dataTree.open=this.startOpen(r.getComponent(),r.modules.dataTree.index)),t.push(r);}),t}expandRow(e,t){var i=e.modules.dataTree;i.children!==false&&(i.open=true,e.reinitialize(),this.refreshData(true),this.dispatchExternal("dataTreeRowExpanded",e.getComponent(),e.modules.dataTree.index));}collapseRow(e){var t=e.modules.dataTree;t.children!==false&&(t.open=false,e.reinitialize(),this.refreshData(true),this.dispatchExternal("dataTreeRowCollapsed",e.getComponent(),e.modules.dataTree.index));}toggleRow(e){var t=e.modules.dataTree;t.children!==false&&(t.open?this.collapseRow(e):this.expandRow(e));}isRowExpanded(e){return e.modules.dataTree.open}getTreeParent(e){return e.modules.dataTree.parent?e.modules.dataTree.parent.getComponent():false}getTreeParentRoot(e){return e.modules.dataTree&&e.modules.dataTree.parent?this.getTreeParentRoot(e.modules.dataTree.parent):e}getFilteredTreeChildren(e){var t=e.modules.dataTree,i=[],s;return t.children&&(Array.isArray(t.children)||(t.children=this.generateChildren(e)),this.table.modExists("filter")&&this.table.options.dataTreeFilter?s=this.table.modules.filter.filter(t.children):s=t.children,s.forEach(r=>{r instanceof P&&i.push(r);})),i}rowDelete(e){var t=e.modules.dataTree.parent,i;t&&(i=this.findChildIndex(e,t),i!==false&&t.data[this.field].splice(i,1),t.data[this.field].length||delete t.data[this.field],this.initializeRow(t),this.layoutRow(t)),this.refreshData(true);}addTreeChildRow(e,t,i,s){var r=false;typeof t=="string"&&(t=JSON.parse(t)),Array.isArray(e.data[this.field])||(e.data[this.field]=[],e.modules.dataTree.open=this.startOpen(e.getComponent(),e.modules.dataTree.index)),typeof s!="undefined"&&(r=this.findChildIndex(s,e),r!==false&&e.data[this.field].splice(i?r:r+1,0,t)),r===false&&(i?e.data[this.field].unshift(t):e.data[this.field].push(t)),this.initializeRow(e),this.layoutRow(e),this.refreshData(true);}findChildIndex(e,t){var i=false;return typeof e=="object"?e instanceof P?i=e.data:e instanceof le?i=e._getSelf().data:typeof HTMLElement!="undefined"&&e instanceof HTMLElement?t.modules.dataTree&&(i=t.modules.dataTree.children.find(s=>s instanceof P?s.element===e:false),i&&(i=i.data)):e===null&&(i=false):typeof e=="undefined"?i=false:i=t.data[this.field].find(s=>s.data[this.table.options.index]==e),i&&(Array.isArray(t.data[this.field])&&(i=t.data[this.field].indexOf(i)),i==-1&&(i=false)),i}getTreeChildren(e,t,i){var s=e.modules.dataTree,r=[];return s&&s.children&&(Array.isArray(s.children)||(s.children=this.generateChildren(e)),s.children.forEach(o=>{o instanceof P&&(r.push(t?o.getComponent():o),i&&(r=r.concat(this.getTreeChildren(o,t,i))));})),r}getChildField(){return this.field}redrawNeeded(e){return (this.field?typeof e[this.field]!="undefined":false)||(this.elementField?typeof e[this.elementField]!="undefined":false)}};Ie.moduleName="dataTree";function Ti(n,e={},t){var i=e.delimiter?e.delimiter:",",s=[],r=[];n.forEach(o=>{var a=[];switch(o.type){case "group":break;case "calc":break;case "header":o.columns.forEach((l,h)=>{l&&l.depth===1&&(r[h]=typeof l.value=="undefined"||l.value===null?"":'"'+String(l.value).split('"').join('""')+'"');});break;case "row":o.columns.forEach(l=>{if(l){switch(typeof l.value){case "object":l.value=l.value!==null?JSON.stringify(l.value):"";break;case "undefined":l.value="";break}a.push('"'+String(l.value).split('"').join('""')+'"');}}),s.push(a.join(i));break}}),r.length&&s.unshift(r.join(i)),s=s.join(`
5
- `),e.bom&&(s="\uFEFF"+s),t(s,"text/csv");}function Mi(n,e,t){var i=[];n.forEach(s=>{var r={};switch(s.type){case "header":break;case "group":break;case "calc":break;case "row":s.columns.forEach(o=>{o&&(r[o.component.getTitleDownload()||o.component.getField()]=o.value);}),i.push(r);break}}),i=JSON.stringify(i,null," "),t(i,"application/json");}function Li(n,e={},t){var i=[],s=[],r={},o=e.rowGroupStyles||{fontStyle:"bold",fontSize:12,cellPadding:6,fillColor:220},a=e.rowCalcStyles||{fontStyle:"bold",fontSize:10,cellPadding:4,fillColor:232},l=e.jsPDF||{},h=e.title?e.title:"";l.orientation||(l.orientation=e.orientation||"landscape"),l.unit||(l.unit="pt"),n.forEach(c=>{switch(c.type){case "header":i.push(u(c));break;case "group":s.push(u(c,o));break;case "calc":s.push(u(c,a));break;case "row":s.push(u(c));break}});function u(c,f){var m=[];return c.columns.forEach(p=>{var v;if(p){switch(typeof p.value){case "object":p.value=p.value!==null?JSON.stringify(p.value):"";break;case "undefined":p.value="";break}v={content:p.value,colSpan:p.width,rowSpan:p.height},f&&(v.styles=f),m.push(v);}}),m}var d=new jspdf.jsPDF(l);e.autoTable&&(typeof e.autoTable=="function"?r=e.autoTable(d)||{}:r=e.autoTable),h&&(r.didDrawPage=function(c){d.text(h,40,30);}),r.head=i,r.body=s,d.autoTable(r),e.documentProcessing&&e.documentProcessing(d),t(d.output("arraybuffer"),"application/pdf");}function Di(n,e,t){var i=this,s=e.sheetName||"Sheet1",r=XLSX.utils.book_new(),o=new O(this),a="compress"in e?e.compress:true,l=e.writeOptions||{bookType:"xlsx",bookSST:true,compression:a},h;l.type="binary",r.SheetNames=[],r.Sheets={};function u(){var f=[],m=[],p={},v={s:{c:0,r:0},e:{c:n[0]?n[0].columns.reduce((b,w)=>b+(w&&w.width?w.width:1),0):0,r:n.length}};return n.forEach((b,w)=>{var y=[];b.columns.forEach(function(g,E){g?(y.push(!(g.value instanceof Date)&&typeof g.value=="object"?JSON.stringify(g.value):g.value),(g.width>1||g.height>-1)&&(g.height>1||g.width>1)&&m.push({s:{r:w,c:E},e:{r:w+g.height-1,c:E+g.width-1}})):y.push("");}),f.push(y);}),XLSX.utils.sheet_add_aoa(p,f),p["!ref"]=XLSX.utils.encode_range(v),m.length&&(p["!merges"]=m),p}if(e.sheetOnly){t(u());return}if(e.sheets)for(var d in e.sheets)e.sheets[d]===true?(r.SheetNames.push(d),r.Sheets[d]=u()):(r.SheetNames.push(d),o.commsSend(e.sheets[d],"download","intercept",{type:"xlsx",options:{sheetOnly:true},active:i.active,intercept:function(f){r.Sheets[d]=f;}}));else r.SheetNames.push(s),r.Sheets[s]=u();e.documentProcessing&&(r=e.documentProcessing(r));function c(f){for(var m=new ArrayBuffer(f.length),p=new Uint8Array(m),v=0;v!=f.length;++v)p[v]=f.charCodeAt(v)&255;return m}h=XLSX.write(r,l),t(c(h),"application/octet-stream");}function zi(n,e,t){this.modExists("export",true)&&t(this.modules.export.generateHTMLTable(n),"text/html");}function Si(n,e,t){let i=[];n.forEach(s=>{let r={};switch(s.type){case "header":break;case "group":break;case "calc":break;case "row":s.columns.forEach(o=>{o&&(r[o.component.getTitleDownload()||o.component.getField()]=o.value);}),i.push(JSON.stringify(r));break}}),t(i.join(`
6
- `),"application/x-ndjson");}var Fi={csv:Ti,json:Mi,jsonLines:Si,pdf:Li,xlsx:Di,html:zi},ve=class n extends C{constructor(e){super(e),this.registerTableOption("downloadEncoder",function(t,i){return new Blob([t],{type:i})}),this.registerTableOption("downloadReady",void 0),this.registerTableOption("downloadConfig",{}),this.registerTableOption("downloadRowRange","active"),this.registerColumnOption("download"),this.registerColumnOption("titleDownload");}initialize(){this.deprecatedOptionsCheck(),this.registerTableFunction("download",this.download.bind(this)),this.registerTableFunction("downloadToTab",this.downloadToTab.bind(this));}deprecatedOptionsCheck(){this.deprecationCheck("downloadReady","downloadEncoder");}downloadToTab(e,t,i,s){this.download(e,t,i,s,true);}download(e,t,i,s,r){var o=false;function a(h,u){r?r===true?this.triggerDownload(h,u,e,t,true):r(h):this.triggerDownload(h,u,e,t);}if(typeof e=="function"?o=e:n.downloaders[e]&&(o=n.downloaders[e]),o){var l=this.generateExportList(s);o.call(this.table,l,i||{},a.bind(this));}}generateExportList(e){var t=this.table.modules.export.generateExportList(this.table.options.downloadConfig,false,e||this.table.options.downloadRowRange,"download"),i=this.table.options.groupHeaderDownload;return i&&!Array.isArray(i)&&(i=[i]),t.forEach(s=>{var r;s.type==="group"&&(r=s.columns[0],i&&i[s.indent]&&(r.value=i[s.indent](r.value,s.component._group.getRowCount(),s.component._group.getData(),s.component)));}),t}triggerDownload(e,t,i,s,r){var o=document.createElement("a"),a=this.table.options.downloadEncoder(e,t);a&&(r?window.open(window.URL.createObjectURL(a)):(s=s||"Tabulator."+(typeof i=="function"?"txt":i),navigator.msSaveOrOpenBlob?navigator.msSaveOrOpenBlob(a,s):(o.setAttribute("href",window.URL.createObjectURL(a)),o.setAttribute("download",s),o.style.display="none",document.body.appendChild(o),o.click(),document.body.removeChild(o))),this.dispatchExternal("downloadComplete"));}commsReceived(e,t,i){switch(t){case "intercept":this.download(i.type,"",i.options,i.active,i.intercept);break}}};ve.moduleName="download";ve.downloaders=Fi;function nt(n,e){var t=e.mask,i=typeof e.maskLetterChar!="undefined"?e.maskLetterChar:"A",s=typeof e.maskNumberChar!="undefined"?e.maskNumberChar:"9",r=typeof e.maskWildcardChar!="undefined"?e.maskWildcardChar:"*";function o(a){var l=t[a];typeof l!="undefined"&&l!==r&&l!==i&&l!==s&&(n.value=n.value+""+l,o(a+1));}n.addEventListener("keydown",a=>{var l=n.value.length,h=a.key;if(a.keyCode>46&&!a.ctrlKey&&!a.metaKey){if(l>=t.length)return a.preventDefault(),a.stopPropagation(),false;switch(t[l]){case i:if(h.toUpperCase()==h.toLowerCase())return a.preventDefault(),a.stopPropagation(),false;break;case s:if(isNaN(h))return a.preventDefault(),a.stopPropagation(),false;break;case r:break;default:if(h!==t[l])return a.preventDefault(),a.stopPropagation(),false}}}),n.addEventListener("keyup",a=>{a.keyCode>46&&e.maskAutoFill&&o(n.value.length);}),n.placeholder||(n.placeholder=t),e.maskAutoFill&&o(n.value.length);}function Hi(n,e,t,i,s){var r=n.getValue(),o=document.createElement("input");if(o.setAttribute("type",s.search?"search":"text"),o.style.padding="4px",o.style.width="100%",o.style.boxSizing="border-box",s.elementAttributes&&typeof s.elementAttributes=="object")for(let l in s.elementAttributes)l.charAt(0)=="+"?(l=l.slice(1),o.setAttribute(l,o.getAttribute(l)+s.elementAttributes["+"+l])):o.setAttribute(l,s.elementAttributes[l]);o.value=typeof r!="undefined"?r:"",e(function(){n.getType()==="cell"&&(o.focus({preventScroll:true}),o.style.height="100%",s.selectContents&&o.select());});function a(l){(r===null||typeof r=="undefined")&&o.value!==""||o.value!==r?t(o.value)&&(r=o.value):i();}return o.addEventListener("change",a),o.addEventListener("blur",a),o.addEventListener("keydown",function(l){switch(l.keyCode){case 13:a();break;case 27:i();break;case 35:case 36:l.stopPropagation();break}}),s.mask&&nt(o,s),o}function Pi(n,e,t,i,s){var r=n.getValue(),o=s.verticalNavigation||"hybrid",a=String(r!==null&&typeof r!="undefined"?r:""),l=document.createElement("textarea"),h=0;if(l.style.display="block",l.style.padding="2px",l.style.height="100%",l.style.width="100%",l.style.boxSizing="border-box",l.style.whiteSpace="pre-wrap",l.style.resize="none",s.elementAttributes&&typeof s.elementAttributes=="object")for(let d in s.elementAttributes)d.charAt(0)=="+"?(d=d.slice(1),l.setAttribute(d,l.getAttribute(d)+s.elementAttributes["+"+d])):l.setAttribute(d,s.elementAttributes[d]);l.value=a,e(function(){n.getType()==="cell"&&(l.focus({preventScroll:true}),l.style.height="100%",l.scrollHeight,l.style.height=l.scrollHeight+"px",n.getRow().normalizeHeight(),s.selectContents&&l.select());});function u(d){(r===null||typeof r=="undefined")&&l.value!==""||l.value!==r?(t(l.value)&&(r=l.value),setTimeout(function(){n.getRow().normalizeHeight();},300)):i();}return l.addEventListener("change",u),l.addEventListener("blur",u),l.addEventListener("keyup",function(){l.style.height="";var d=l.scrollHeight;l.style.height=d+"px",d!=h&&(h=d,n.getRow().normalizeHeight());}),l.addEventListener("keydown",function(d){switch(d.keyCode){case 13:d.shiftKey&&s.shiftEnterSubmit&&u();break;case 27:i();break;case 38:(o=="editor"||o=="hybrid"&&l.selectionStart)&&(d.stopImmediatePropagation(),d.stopPropagation());break;case 40:(o=="editor"||o=="hybrid"&&l.selectionStart!==l.value.length)&&(d.stopImmediatePropagation(),d.stopPropagation());break;case 35:case 36:d.stopPropagation();break}}),s.mask&&nt(l,s),l}function Oi(n,e,t,i,s){var r=n.getValue(),o=s.verticalNavigation||"editor",a=document.createElement("input");if(a.setAttribute("type","number"),typeof s.max!="undefined"&&a.setAttribute("max",s.max),typeof s.min!="undefined"&&a.setAttribute("min",s.min),typeof s.step!="undefined"&&a.setAttribute("step",s.step),a.style.padding="4px",a.style.width="100%",a.style.boxSizing="border-box",s.elementAttributes&&typeof s.elementAttributes=="object")for(let u in s.elementAttributes)u.charAt(0)=="+"?(u=u.slice(1),a.setAttribute(u,a.getAttribute(u)+s.elementAttributes["+"+u])):a.setAttribute(u,s.elementAttributes[u]);a.value=r;var l=function(u){h();};e(function(){n.getType()==="cell"&&(a.removeEventListener("blur",l),a.focus({preventScroll:true}),a.style.height="100%",a.addEventListener("blur",l),s.selectContents&&a.select());});function h(){var u=a.value;!isNaN(u)&&u!==""&&(u=Number(u)),u!==r?t(u)&&(r=u):i();}return a.addEventListener("keydown",function(u){switch(u.keyCode){case 13:h();break;case 27:i();break;case 38:case 40:o=="editor"&&(u.stopImmediatePropagation(),u.stopPropagation());break;case 35:case 36:u.stopPropagation();break}}),s.mask&&nt(a,s),a}function Ai(n,e,t,i,s){var r=n.getValue(),o=document.createElement("input");if(o.setAttribute("type","range"),typeof s.max!="undefined"&&o.setAttribute("max",s.max),typeof s.min!="undefined"&&o.setAttribute("min",s.min),typeof s.step!="undefined"&&o.setAttribute("step",s.step),o.style.padding="4px",o.style.width="100%",o.style.boxSizing="border-box",s.elementAttributes&&typeof s.elementAttributes=="object")for(let l in s.elementAttributes)l.charAt(0)=="+"?(l=l.slice(1),o.setAttribute(l,o.getAttribute(l)+s.elementAttributes["+"+l])):o.setAttribute(l,s.elementAttributes[l]);o.value=r,e(function(){n.getType()==="cell"&&(o.focus({preventScroll:true}),o.style.height="100%");});function a(){var l=o.value;!isNaN(l)&&l!==""&&(l=Number(l)),l!=r?t(l)&&(r=l):i();}return o.addEventListener("blur",function(l){a();}),o.addEventListener("keydown",function(l){switch(l.keyCode){case 13:a();break;case 27:i();break}}),o}function _i(n,e,t,i,s){var r=s.format,o=s.verticalNavigation||"editor",a=r?window.DateTime||luxon.DateTime:null,l=n.getValue(),h=document.createElement("input");function u(c){var f;return a.isDateTime(c)?f=c:r==="iso"?f=a.fromISO(String(c)):f=a.fromFormat(String(c),r),f.toFormat("yyyy-MM-dd")}if(h.type="date",h.style.padding="4px",h.style.width="100%",h.style.boxSizing="border-box",s.max&&h.setAttribute("max",r?u(s.max):s.max),s.min&&h.setAttribute("min",r?u(s.min):s.min),s.elementAttributes&&typeof s.elementAttributes=="object")for(let c in s.elementAttributes)c.charAt(0)=="+"?(c=c.slice(1),h.setAttribute(c,h.getAttribute(c)+s.elementAttributes["+"+c])):h.setAttribute(c,s.elementAttributes[c]);l=typeof l!="undefined"?l:"",r&&a&&(l=u(l)),h.value=l,e(function(){n.getType()==="cell"&&(h.focus({preventScroll:true}),h.style.height="100%",s.selectContents&&h.select());});function d(){var c=h.value,f;if((l===null||typeof l=="undefined")&&c!==""||c!==l){if(c&&r)switch(f=a.fromFormat(String(c),"yyyy-MM-dd"),r){case true:c=f;break;case "iso":c=f.toISO();break;default:c=f.toFormat(r);}t(c)&&(l=h.value);}else i();}return h.addEventListener("blur",function(c){(c.relatedTarget||c.rangeParent||c.explicitOriginalTarget!==h)&&d();}),h.addEventListener("keydown",function(c){switch(c.keyCode){case 13:d();break;case 27:i();break;case 35:case 36:c.stopPropagation();break;case 38:case 40:o=="editor"&&(c.stopImmediatePropagation(),c.stopPropagation());break}}),h}function Bi(n,e,t,i,s){var r=s.format,o=s.verticalNavigation||"editor",a=r?window.DateTime||luxon.DateTime:null,l,h=n.getValue(),u=document.createElement("input");if(u.type="time",u.style.padding="4px",u.style.width="100%",u.style.boxSizing="border-box",s.elementAttributes&&typeof s.elementAttributes=="object")for(let c in s.elementAttributes)c.charAt(0)=="+"?(c=c.slice(1),u.setAttribute(c,u.getAttribute(c)+s.elementAttributes["+"+c])):u.setAttribute(c,s.elementAttributes[c]);h=typeof h!="undefined"?h:"",r&&a&&(a.isDateTime(h)?l=h:r==="iso"?l=a.fromISO(String(h)):l=a.fromFormat(String(h),r),h=l.toFormat("HH:mm")),u.value=h,e(function(){n.getType()=="cell"&&(u.focus({preventScroll:true}),u.style.height="100%",s.selectContents&&u.select());});function d(){var c=u.value,f;if((h===null||typeof h=="undefined")&&c!==""||c!==h){if(c&&r)switch(f=a.fromFormat(String(c),"hh:mm"),r){case true:c=f;break;case "iso":c=f.toISO();break;default:c=f.toFormat(r);}t(c)&&(h=u.value);}else i();}return u.addEventListener("blur",function(c){(c.relatedTarget||c.rangeParent||c.explicitOriginalTarget!==u)&&d();}),u.addEventListener("keydown",function(c){switch(c.keyCode){case 13:d();break;case 27:i();break;case 35:case 36:c.stopPropagation();break;case 38:case 40:o=="editor"&&(c.stopImmediatePropagation(),c.stopPropagation());break}}),u}function Ii(n,e,t,i,s){var r=s.format,o=s.verticalNavigation||"editor",a=r?window.DateTime||luxon.DateTime:null,l,h=n.getValue(),u=document.createElement("input");if(u.type="datetime-local",u.style.padding="4px",u.style.width="100%",u.style.boxSizing="border-box",s.elementAttributes&&typeof s.elementAttributes=="object")for(let c in s.elementAttributes)c.charAt(0)=="+"?(c=c.slice(1),u.setAttribute(c,u.getAttribute(c)+s.elementAttributes["+"+c])):u.setAttribute(c,s.elementAttributes[c]);h=typeof h!="undefined"?h:"",r&&a&&(a.isDateTime(h)?l=h:r==="iso"?l=a.fromISO(String(h)):l=a.fromFormat(String(h),r),h=l.toFormat("yyyy-MM-dd")+"T"+l.toFormat("HH:mm")),u.value=h,e(function(){n.getType()==="cell"&&(u.focus({preventScroll:true}),u.style.height="100%",s.selectContents&&u.select());});function d(){var c=u.value,f;if((h===null||typeof h=="undefined")&&c!==""||c!==h){if(c&&r)switch(f=a.fromISO(String(c)),r){case true:c=f;break;case "iso":c=f.toISO();break;default:c=f.toFormat(r);}t(c)&&(h=u.value);}else i();}return u.addEventListener("blur",function(c){(c.relatedTarget||c.rangeParent||c.explicitOriginalTarget!==u)&&d();}),u.addEventListener("keydown",function(c){switch(c.keyCode){case 13:d();break;case 27:i();break;case 35:case 36:c.stopPropagation();break;case 38:case 40:o=="editor"&&(c.stopImmediatePropagation(),c.stopPropagation());break}}),u}var we=class{constructor(e,t,i,s,r,o){this.edit=e,this.table=e.table,this.cell=t,this.params=this._initializeParams(o),this.data=[],this.displayItems=[],this.currentItems=[],this.focusedItem=null,this.input=this._createInputElement(),this.listEl=this._createListElement(),this.initialValues=null,this.isFilter=t.getType()==="header",this.filterTimeout=null,this.filtered=false,this.typing=false,this.values=[],this.popup=null,this.listIteration=0,this.lastAction="",this.filterTerm="",this.blurable=true,this.actions={success:s,cancel:r},this._deprecatedOptionsCheck(),this._initializeValue(),i(this._onRendered.bind(this));}_deprecatedOptionsCheck(){this.params.listItemFormatter&&this.cell.getTable().deprecationAdvisor.msg("The listItemFormatter editor param has been deprecated, please see the latest editor documentation for updated options"),this.params.sortValuesList&&this.cell.getTable().deprecationAdvisor.msg("The sortValuesList editor param has been deprecated, please see the latest editor documentation for updated options"),this.params.searchFunc&&this.cell.getTable().deprecationAdvisor.msg("The searchFunc editor param has been deprecated, please see the latest editor documentation for updated options"),this.params.searchingPlaceholder&&this.cell.getTable().deprecationAdvisor.msg("The searchingPlaceholder editor param has been deprecated, please see the latest editor documentation for updated options");}_initializeValue(){var e=this.cell.getValue();typeof e=="undefined"&&typeof this.params.defaultValue!="undefined"&&(e=this.params.defaultValue),this.initialValues=this.params.multiselect?e:[e],this.isFilter&&(this.input.value=this.initialValues?this.initialValues.join(","):"",this.headerFilterInitialListGen());}_onRendered(){var e=this.cell.getElement();function t(i){i.stopPropagation();}this.isFilter||(this.input.style.height="100%",this.input.focus({preventScroll:true})),e.addEventListener("click",t),setTimeout(()=>{e.removeEventListener("click",t);},1e3),this.input.addEventListener("mousedown",this._preventPopupBlur.bind(this));}_createListElement(){var e=document.createElement("div");return e.classList.add("tabulator-edit-list"),e.addEventListener("mousedown",this._preventBlur.bind(this)),e.addEventListener("keydown",this._inputKeyDown.bind(this)),e}_setListWidth(){var e=this.isFilter?this.input:this.cell.getElement();this.listEl.style.minWidth=e.offsetWidth+"px",this.params.maxWidth&&(this.params.maxWidth===true?this.listEl.style.maxWidth=e.offsetWidth+"px":typeof this.params.maxWidth=="number"?this.listEl.style.maxWidth=this.params.maxWidth+"px":this.listEl.style.maxWidth=this.params.maxWidth);}_createInputElement(){var e=this.params.elementAttributes,t=document.createElement("input");if(t.setAttribute("type",this.params.clearable?"search":"text"),t.style.padding="4px",t.style.width="100%",t.style.boxSizing="border-box",this.params.autocomplete||(t.style.cursor="default",t.style.caretColor="transparent"),e&&typeof e=="object")for(let i in e)i.charAt(0)=="+"?(i=i.slice(1),t.setAttribute(i,t.getAttribute(i)+e["+"+i])):t.setAttribute(i,e[i]);return this.params.mask&&nt(t,this.params),this._bindInputEvents(t),t}_initializeParams(e){var t=["values","valuesURL","valuesLookup"];return e=Object.assign({},e),e.verticalNavigation=e.verticalNavigation||"editor",e.placeholderLoading=typeof e.placeholderLoading=="undefined"?"Searching ...":e.placeholderLoading,e.placeholderEmpty=typeof e.placeholderEmpty=="undefined"?"No Results Found":e.placeholderEmpty,e.filterDelay=typeof e.filterDelay=="undefined"?300:e.filterDelay,e.emptyValue=Object.keys(e).includes("emptyValue")?e.emptyValue:"",Object.keys(e).filter(s=>t.includes(s)).length,e.autocomplete?e.multiselect&&(e.multiselect=false):(e.freetext&&(e.freetext=false),e.filterFunc&&(e.filterFunc=false),e.filterRemote&&(e.filterRemote=false),e.mask&&(e.mask=false),e.allowEmpty&&(e.allowEmpty=false),e.listOnEmpty&&(e.listOnEmpty=false)),e.filterRemote&&!(typeof e.valuesLookup=="function"||e.valuesURL)&&(e.filterRemote=false),e}_bindInputEvents(e){e.addEventListener("focus",this._inputFocus.bind(this)),e.addEventListener("click",this._inputClick.bind(this)),e.addEventListener("blur",this._inputBlur.bind(this)),e.addEventListener("keydown",this._inputKeyDown.bind(this)),e.addEventListener("search",this._inputSearch.bind(this)),this.params.autocomplete&&e.addEventListener("keyup",this._inputKeyUp.bind(this));}_inputFocus(e){this.rebuildOptionsList();}_filter(){this.params.filterRemote?(clearTimeout(this.filterTimeout),this.filterTimeout=setTimeout(()=>{this.rebuildOptionsList();},this.params.filterDelay)):this._filterList();}_inputClick(e){e.stopPropagation();}_inputBlur(e){this.blurable&&(this.popup?this.popup.hide():this._resolveValue(true));}_inputSearch(){this._clearChoices();}_inputKeyDown(e){switch(e.keyCode){case 38:this._keyUp(e);break;case 40:this._keyDown(e);break;case 37:case 39:this._keySide(e);break;case 13:this._keyEnter();break;case 27:this._keyEsc();break;case 36:case 35:this._keyHomeEnd(e);break;case 9:this._keyTab(e);break;default:this._keySelectLetter(e);}}_inputKeyUp(e){switch(e.keyCode){case 38:case 37:case 39:case 40:case 13:case 27:break;default:this._keyAutoCompLetter(e);}}_preventPopupBlur(){this.popup&&this.popup.blockHide(),setTimeout(()=>{this.popup&&this.popup.restoreHide();},10);}_preventBlur(){this.blurable=false,setTimeout(()=>{this.blurable=true;},10);}_keyTab(e){this.params.autocomplete&&this.lastAction==="typing"?this._resolveValue(true):this.focusedItem&&this._chooseItem(this.focusedItem,true);}_keyUp(e){var t=this.displayItems.indexOf(this.focusedItem);(this.params.verticalNavigation=="editor"||this.params.verticalNavigation=="hybrid"&&t)&&(e.stopImmediatePropagation(),e.stopPropagation(),e.preventDefault(),t>0&&this._focusItem(this.displayItems[t-1]));}_keyDown(e){var t=this.displayItems.indexOf(this.focusedItem);(this.params.verticalNavigation=="editor"||this.params.verticalNavigation=="hybrid"&&t<this.displayItems.length-1)&&(e.stopImmediatePropagation(),e.stopPropagation(),e.preventDefault(),t<this.displayItems.length-1&&(t==-1?this._focusItem(this.displayItems[0]):this._focusItem(this.displayItems[t+1])));}_keySide(e){this.params.autocomplete||(e.stopImmediatePropagation(),e.stopPropagation(),e.preventDefault());}_keyEnter(e){this.params.autocomplete&&this.lastAction==="typing"?this._resolveValue(true):this.focusedItem&&this._chooseItem(this.focusedItem);}_keyEsc(e){this._cancel();}_keyHomeEnd(e){this.params.autocomplete&&e.stopImmediatePropagation();}_keySelectLetter(e){this.params.autocomplete||(e.preventDefault(),e.keyCode>=38&&e.keyCode<=90&&this._scrollToValue(e.keyCode));}_keyAutoCompLetter(e){this._filter(),this.lastAction="typing",this.typing=true;}_scrollToValue(e){clearTimeout(this.filterTimeout);var t=String.fromCharCode(e).toLowerCase();this.filterTerm+=t.toLowerCase();var i=this.displayItems.find(s=>typeof s.label!="undefined"&&s.label.toLowerCase().startsWith(this.filterTerm));i&&this._focusItem(i),this.filterTimeout=setTimeout(()=>{this.filterTerm="";},800);}_focusItem(e){this.lastAction="focus",this.focusedItem&&this.focusedItem.element&&this.focusedItem.element.classList.remove("focused"),this.focusedItem=e,e&&e.element&&(e.element.classList.add("focused"),e.element.scrollIntoView({behavior:"smooth",block:"nearest",inline:"start"}));}headerFilterInitialListGen(){this._generateOptions(true);}rebuildOptionsList(){this._generateOptions().then(this._sortOptions.bind(this)).then(this._buildList.bind(this)).then(this._showList.bind(this)).catch(e=>{});}_filterList(){this._buildList(this._filterOptions()),this._showList();}_generateOptions(e){var t=[],i=++this.listIteration;return this.filtered=false,this.params.values?t=this.params.values:this.params.valuesURL?t=this._ajaxRequest(this.params.valuesURL,this.input.value):typeof this.params.valuesLookup=="function"?t=this.params.valuesLookup(this.cell,this.input.value):this.params.valuesLookup&&(t=this._uniqueColumnValues(this.params.valuesLookupField)),t instanceof Promise?(e||this._addPlaceholder(this.params.placeholderLoading),t.then().then(s=>this.listIteration===i?this._parseList(s):Promise.reject(i))):Promise.resolve(this._parseList(t))}_addPlaceholder(e){var t=document.createElement("div");typeof e=="function"&&(e=e(this.cell.getComponent(),this.listEl)),e&&(this._clearList(),e instanceof HTMLElement?t=e:(t.classList.add("tabulator-edit-list-placeholder"),t.innerHTML=e),this.listEl.appendChild(t),this._showList());}_ajaxRequest(e,t){var i=this.params.filterRemote?{term:t}:{};return e=ii(e,{},i),fetch(e).then(s=>s.ok?s.json().catch(r=>Promise.reject(r)):Promise.reject(s)).catch(s=>Promise.reject(s))}_uniqueColumnValues(e){var t={},i=this.table.getData(this.params.valuesLookup),s;return e?s=this.table.columnManager.getColumnByField(e):s=this.cell.getColumn()._getSelf(),s?i.forEach(r=>{var o=s.getFieldValue(r);o!==null&&typeof o!="undefined"&&o!==""&&(t[o]=true);}):t=[],Object.keys(t)}_parseList(e){var t=[];return Array.isArray(e)||(e=Object.entries(e).map(([i,s])=>({label:s,value:i}))),e.forEach(i=>{typeof i!="object"&&(i={label:i,value:i}),this._parseListItem(i,t,0);}),!this.currentItems.length&&this.params.freetext&&(this.input.value=this.initialValues,this.typing=true,this.lastAction="typing"),this.data=t,t}_parseListItem(e,t,i){var s={};e.options?s=this._parseListGroup(e,i+1):(s={label:e.label,value:e.value,itemParams:e.itemParams,elementAttributes:e.elementAttributes,element:false,selected:false,visible:true,level:i,original:e},this.initialValues&&this.initialValues.indexOf(e.value)>-1&&this._chooseItem(s,true)),t.push(s);}_parseListGroup(e,t){var i={label:e.label,group:true,itemParams:e.itemParams,elementAttributes:e.elementAttributes,element:false,visible:true,level:t,options:[],original:e};return e.options.forEach(s=>{this._parseListItem(s,i.options,t);}),i}_sortOptions(e){var t;return this.params.sort&&(t=typeof this.params.sort=="function"?this.params.sort:this._defaultSortFunction.bind(this),this._sortGroup(t,e)),e}_sortGroup(e,t){t.sort((i,s)=>e(i.label,s.label,i.value,s.value,i.original,s.original)),t.forEach(i=>{i.group&&this._sortGroup(e,i.options);});}_defaultSortFunction(e,t){var i,s,r,o,a=0,l,h=/(\d+)|(\D+)/g,u=/\d/,d=0;if(this.params.sort==="desc"&&([e,t]=[t,e]),!e&&e!==0)d=!t&&t!==0?0:-1;else if(!t&&t!==0)d=1;else {if(isFinite(e)&&isFinite(t))return e-t;if(i=String(e).toLowerCase(),s=String(t).toLowerCase(),i===s)return 0;if(!(u.test(i)&&u.test(s)))return i>s?1:-1;for(i=i.match(h),s=s.match(h),l=i.length>s.length?s.length:i.length;a<l;)if(r=i[a],o=s[a++],r!==o)return isFinite(r)&&isFinite(o)?(r.charAt(0)==="0"&&(r="."+r),o.charAt(0)==="0"&&(o="."+o),r-o):r>o?1:-1;return i.length>s.length}return d}_filterOptions(){var e=this.params.filterFunc||this._defaultFilterFunc,t=this.input.value;return t?(this.filtered=true,this.data.forEach(i=>{this._filterItem(e,t,i);})):this.filtered=false,this.data}_filterItem(e,t,i){var s=false;return i.group?(i.options.forEach(r=>{this._filterItem(e,t,r)&&(s=true);}),i.visible=s):i.visible=e(t,i.label,i.value,i.original),i.visible}_defaultFilterFunc(e,t,i,s){return e=String(e).toLowerCase(),t!==null&&typeof t!="undefined"&&(String(t).toLowerCase().indexOf(e)>-1||String(i).toLowerCase().indexOf(e)>-1)}_clearList(){for(;this.listEl.firstChild;)this.listEl.removeChild(this.listEl.firstChild);this.displayItems=[];}_buildList(e){this._clearList(),e.forEach(t=>{this._buildItem(t);}),this.displayItems.length||this._addPlaceholder(this.params.placeholderEmpty);}_buildItem(e){var t=e.element,i;if(!this.filtered||e.visible){if(!t){if(t=document.createElement("div"),t.tabIndex=0,i=this.params.itemFormatter?this.params.itemFormatter(e.label,e.value,e.original,t):e.label,i instanceof HTMLElement?t.appendChild(i):t.innerHTML=i,e.group?t.classList.add("tabulator-edit-list-group"):t.classList.add("tabulator-edit-list-item"),t.classList.add("tabulator-edit-list-group-level-"+e.level),e.elementAttributes&&typeof e.elementAttributes=="object")for(let s in e.elementAttributes)s.charAt(0)=="+"?(s=s.slice(1),t.setAttribute(s,this.input.getAttribute(s)+e.elementAttributes["+"+s])):t.setAttribute(s,e.elementAttributes[s]);e.group?t.addEventListener("click",this._groupClick.bind(this,e)):t.addEventListener("click",this._itemClick.bind(this,e)),t.addEventListener("mousedown",this._preventBlur.bind(this)),e.element=t;}this._styleItem(e),this.listEl.appendChild(t),e.group?e.options.forEach(s=>{this._buildItem(s);}):this.displayItems.push(e);}}_showList(){var e=this.popup&&this.popup.isVisible();if(this.input.parentNode){if(this.params.autocomplete&&this.input.value===""&&!this.params.listOnEmpty){this.popup&&this.popup.hide(true);return}this._setListWidth(),this.popup||(this.popup=this.edit.popup(this.listEl)),this.popup.show(this.cell.getElement(),"bottom"),e||setTimeout(()=>{this.popup.hideOnBlur(this._resolveValue.bind(this,true));},10);}}_styleItem(e){e&&e.element&&(e.selected?e.element.classList.add("active"):e.element.classList.remove("active"));}_itemClick(e,t){t.stopPropagation(),this._chooseItem(e);}_groupClick(e,t){t.stopPropagation();}_cancel(){this.popup.hide(true),this.actions.cancel();}_clearChoices(){this.typing=true,this.currentItems.forEach(e=>{e.selected=false,this._styleItem(e);}),this.currentItems=[],this.focusedItem=null;}_chooseItem(e,t){var i;this.typing=false,this.params.multiselect?(i=this.currentItems.indexOf(e),i>-1?(this.currentItems.splice(i,1),e.selected=false):(this.currentItems.push(e),e.selected=true),this.input.value=this.currentItems.map(s=>s.label).join(","),this._styleItem(e)):(this.currentItems=[e],e.selected=true,this.input.value=e.label,this._styleItem(e),t||this._resolveValue()),this._focusItem(e);}_resolveValue(e){var t,i;if(this.popup&&this.popup.hide(true),this.params.multiselect)t=this.currentItems.map(s=>s.value);else if(e&&this.params.autocomplete&&this.typing)if(this.params.freetext||this.params.allowEmpty&&this.input.value==="")t=this.input.value;else {this.actions.cancel();return}else this.currentItems[0]?t=this.currentItems[0].value:(i=Array.isArray(this.initialValues)?this.initialValues[0]:this.initialValues,i===null||typeof i=="undefined"||i===""?t=i:t=this.params.emptyValue);t===""&&(t=this.params.emptyValue),this.actions.success(t),this.isFilter&&(this.initialValues=t&&!Array.isArray(t)?[t]:t,this.currentItems=[]);}};function Vi(n,e,t,i,s){this.deprecationMsg("The select editor has been deprecated, please use the new list editor");var r=new we(this,n,e,t,i,s);return r.input}function Ni(n,e,t,i,s){var r=new we(this,n,e,t,i,s);return r.input}function Wi(n,e,t,i,s){this.deprecationMsg("The autocomplete editor has been deprecated, please use the new list editor with the 'autocomplete' editorParam"),s.autocomplete=true;var r=new we(this,n,e,t,i,s);return r.input}function ji(n,e,t,i,s){var r=this,o=n.getElement(),a=n.getValue(),l=o.getElementsByTagName("svg").length||5,h=o.getElementsByTagName("svg")[0]?o.getElementsByTagName("svg")[0].getAttribute("width"):14,u=[],d=document.createElement("div"),c=document.createElementNS("http://www.w3.org/2000/svg","svg");function f(b){u.forEach(function(w,y){y<b?(r.table.browser=="ie"?w.setAttribute("class","tabulator-star-active"):w.classList.replace("tabulator-star-inactive","tabulator-star-active"),w.innerHTML='<polygon fill="#488CE9" stroke="#014AAE" stroke-width="37.6152" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="259.216,29.942 330.27,173.919 489.16,197.007 374.185,309.08 401.33,467.31 259.216,392.612 117.104,467.31 144.25,309.08 29.274,197.007 188.165,173.919 "/>'):(r.table.browser=="ie"?w.setAttribute("class","tabulator-star-inactive"):w.classList.replace("tabulator-star-active","tabulator-star-inactive"),w.innerHTML='<polygon fill="#010155" stroke="#686868" stroke-width="37.6152" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="259.216,29.942 330.27,173.919 489.16,197.007 374.185,309.08 401.33,467.31 259.216,392.612 117.104,467.31 144.25,309.08 29.274,197.007 188.165,173.919 "/>');});}function m(b){var w=document.createElement("span"),y=c.cloneNode(true);u.push(y),w.addEventListener("mouseenter",function(g){g.stopPropagation(),g.stopImmediatePropagation(),f(b);}),w.addEventListener("mousemove",function(g){g.stopPropagation(),g.stopImmediatePropagation();}),w.addEventListener("click",function(g){g.stopPropagation(),g.stopImmediatePropagation(),t(b),o.blur();}),w.appendChild(y),d.appendChild(w);}function p(b){a=b,f(b);}if(o.style.whiteSpace="nowrap",o.style.overflow="hidden",o.style.textOverflow="ellipsis",d.style.verticalAlign="middle",d.style.display="inline-block",d.style.padding="4px",c.setAttribute("width",h),c.setAttribute("height",h),c.setAttribute("viewBox","0 0 512 512"),c.setAttribute("xml:space","preserve"),c.style.padding="0 1px",s.elementAttributes&&typeof s.elementAttributes=="object")for(let b in s.elementAttributes)b.charAt(0)=="+"?(b=b.slice(1),d.setAttribute(b,d.getAttribute(b)+s.elementAttributes["+"+b])):d.setAttribute(b,s.elementAttributes[b]);for(var v=1;v<=l;v++)m(v);return a=Math.min(parseInt(a),l),f(a),d.addEventListener("mousemove",function(b){f(0);}),d.addEventListener("click",function(b){t(0);}),o.addEventListener("blur",function(b){i();}),o.addEventListener("keydown",function(b){switch(b.keyCode){case 39:p(a+1);break;case 37:p(a-1);break;case 13:t(a);break;case 27:i();break}}),d}function Gi(n,e,t,i,s){var r=n.getElement(),o=typeof s.max=="undefined"?r.getElementsByTagName("div")[0]&&r.getElementsByTagName("div")[0].getAttribute("max")||100:s.max,a=typeof s.min=="undefined"?r.getElementsByTagName("div")[0]&&r.getElementsByTagName("div")[0].getAttribute("min")||0:s.min,l=(o-a)/100,h=n.getValue()||0,u=document.createElement("div"),d=document.createElement("div"),c,f;function m(){var p=window.getComputedStyle(r,null),v=l*Math.round(d.offsetWidth/((r.clientWidth-parseInt(p.getPropertyValue("padding-left"))-parseInt(p.getPropertyValue("padding-right")))/100))+a;t(v),r.setAttribute("aria-valuenow",v),r.setAttribute("aria-label",h);}if(u.style.position="absolute",u.style.right="0",u.style.top="0",u.style.bottom="0",u.style.width="5px",u.classList.add("tabulator-progress-handle"),d.style.display="inline-block",d.style.position="relative",d.style.height="100%",d.style.backgroundColor="#488CE9",d.style.maxWidth="100%",d.style.minWidth="0%",s.elementAttributes&&typeof s.elementAttributes=="object")for(let p in s.elementAttributes)p.charAt(0)=="+"?(p=p.slice(1),d.setAttribute(p,d.getAttribute(p)+s.elementAttributes["+"+p])):d.setAttribute(p,s.elementAttributes[p]);return r.style.padding="4px 4px",h=Math.min(parseFloat(h),o),h=Math.max(parseFloat(h),a),h=Math.round((h-a)/l),d.style.width=h+"%",r.setAttribute("aria-valuemin",a),r.setAttribute("aria-valuemax",o),d.appendChild(u),u.addEventListener("mousedown",function(p){c=p.screenX,f=d.offsetWidth;}),u.addEventListener("mouseover",function(){u.style.cursor="ew-resize";}),r.addEventListener("mousemove",function(p){c&&(d.style.width=f+p.screenX-c+"px");}),r.addEventListener("mouseup",function(p){c&&(p.stopPropagation(),p.stopImmediatePropagation(),c=false,f=false,m());}),r.addEventListener("keydown",function(p){switch(p.keyCode){case 39:p.preventDefault(),d.style.width=d.clientWidth+r.clientWidth/100+"px";break;case 37:p.preventDefault(),d.style.width=d.clientWidth-r.clientWidth/100+"px";break;case 9:case 13:m();break;case 27:i();break}}),r.addEventListener("blur",function(){i();}),d}function Ui(n,e,t,i,s){var r=n.getValue(),o=document.createElement("input"),a=s.tristate,l=typeof s.indeterminateValue=="undefined"?null:s.indeterminateValue,h=false,u=Object.keys(s).includes("trueValue"),d=Object.keys(s).includes("falseValue");if(o.setAttribute("type","checkbox"),o.style.marginTop="5px",o.style.boxSizing="border-box",s.elementAttributes&&typeof s.elementAttributes=="object")for(let f in s.elementAttributes)f.charAt(0)=="+"?(f=f.slice(1),o.setAttribute(f,o.getAttribute(f)+s.elementAttributes["+"+f])):o.setAttribute(f,s.elementAttributes[f]);o.value=r,a&&(typeof r=="undefined"||r===l||r==="")&&(h=true,o.indeterminate=true),this.table.browser!="firefox"&&this.table.browser!="safari"&&e(function(){n.getType()==="cell"&&o.focus({preventScroll:true});}),o.checked=u?r===s.trueValue:r===true||r==="true"||r==="True"||r===1;function c(f){var m=o.checked;return u&&m?m=s.trueValue:d&&!m&&(m=s.falseValue),a?f?h?l:m:o.checked&&!h?(o.checked=false,o.indeterminate=true,h=true,l):(h=false,m):m}return o.addEventListener("change",function(f){t(c());}),o.addEventListener("blur",function(f){t(c(true));}),o.addEventListener("keydown",function(f){f.keyCode==13&&t(c()),f.keyCode==27&&i();}),o}var Yi={input:Hi,textarea:Pi,number:Oi,range:Ai,date:_i,time:Bi,datetime:Ii,select:Vi,list:Ni,autocomplete:Wi,star:ji,progress:Gi,tickCross:Ui},Ce=class n extends C{constructor(e){super(e),this.currentCell=false,this.mouseClick=false,this.recursionBlock=false,this.invalidEdit=false,this.editedCells=[],this.editors=n.editors,this.registerColumnOption("editable"),this.registerColumnOption("editor"),this.registerColumnOption("editorParams"),this.registerColumnOption("cellEditing"),this.registerColumnOption("cellEdited"),this.registerColumnOption("cellEditCancelled"),this.registerTableOption("editTriggerEvent","focus"),this.registerTableFunction("getEditedCells",this.getEditedCells.bind(this)),this.registerTableFunction("clearCellEdited",this.clearCellEdited.bind(this)),this.registerTableFunction("navigatePrev",this.navigatePrev.bind(this)),this.registerTableFunction("navigateNext",this.navigateNext.bind(this)),this.registerTableFunction("navigateLeft",this.navigateLeft.bind(this)),this.registerTableFunction("navigateRight",this.navigateRight.bind(this)),this.registerTableFunction("navigateUp",this.navigateUp.bind(this)),this.registerTableFunction("navigateDown",this.navigateDown.bind(this)),this.registerComponentFunction("cell","isEdited",this.cellIsEdited.bind(this)),this.registerComponentFunction("cell","clearEdited",this.clearEdited.bind(this)),this.registerComponentFunction("cell","edit",this.editCell.bind(this)),this.registerComponentFunction("cell","cancelEdit",this.cellCancelEdit.bind(this)),this.registerComponentFunction("cell","navigatePrev",this.navigatePrev.bind(this)),this.registerComponentFunction("cell","navigateNext",this.navigateNext.bind(this)),this.registerComponentFunction("cell","navigateLeft",this.navigateLeft.bind(this)),this.registerComponentFunction("cell","navigateRight",this.navigateRight.bind(this)),this.registerComponentFunction("cell","navigateUp",this.navigateUp.bind(this)),this.registerComponentFunction("cell","navigateDown",this.navigateDown.bind(this));}initialize(){this.subscribe("cell-init",this.bindEditor.bind(this)),this.subscribe("cell-delete",this.clearEdited.bind(this)),this.subscribe("cell-value-changed",this.updateCellClass.bind(this)),this.subscribe("column-layout",this.initializeColumnCheck.bind(this)),this.subscribe("column-delete",this.columnDeleteCheck.bind(this)),this.subscribe("row-deleting",this.rowDeleteCheck.bind(this)),this.subscribe("row-layout",this.rowEditableCheck.bind(this)),this.subscribe("data-refreshing",this.cancelEdit.bind(this)),this.subscribe("clipboard-paste",this.pasteBlocker.bind(this)),this.subscribe("keybinding-nav-prev",this.navigatePrev.bind(this,void 0)),this.subscribe("keybinding-nav-next",this.keybindingNavigateNext.bind(this)),this.subscribe("keybinding-nav-up",this.navigateUp.bind(this,void 0)),this.subscribe("keybinding-nav-down",this.navigateDown.bind(this,void 0));}pasteBlocker(e){if(this.currentCell)return true}keybindingNavigateNext(e){var t=this.currentCell,i=this.options("tabEndNewRow");t&&(this.navigateNext(t,e)||i&&(t.getElement().firstChild.blur(),this.invalidEdit||(i===true?i=this.table.addRow({}):typeof i=="function"?i=this.table.addRow(i(t.row.getComponent())):i=this.table.addRow(Object.assign({},i)),i.then(()=>{setTimeout(()=>{t.getComponent().navigateNext();});}))));}cellIsEdited(e){return !!e.modules.edit&&e.modules.edit.edited}cellCancelEdit(e){e===this.currentCell&&this.table.modules.edit.cancelEdit();}updateCellClass(e){this.allowEdit(e)?e.getElement().classList.add("tabulator-editable"):e.getElement().classList.remove("tabulator-editable");}clearCellEdited(e){e||(e=this.table.modules.edit.getEditedCells()),Array.isArray(e)||(e=[e]),e.forEach(t=>{this.table.modules.edit.clearEdited(t._getSelf());});}navigatePrev(e=this.currentCell,t){var i,s;if(e){if(t&&t.preventDefault(),i=this.navigateLeft(),i)return true;if(s=this.table.rowManager.prevDisplayRow(e.row,true),s&&(i=this.findPrevEditableCell(s,s.cells.length),i))return i.getComponent().edit(),true}return false}navigateNext(e=this.currentCell,t){var i,s;if(e){if(t&&t.preventDefault(),i=this.navigateRight(),i)return true;if(s=this.table.rowManager.nextDisplayRow(e.row,true),s&&(i=this.findNextEditableCell(s,-1),i))return i.getComponent().edit(),true}return false}navigateLeft(e=this.currentCell,t){var i,s;return e&&(t&&t.preventDefault(),i=e.getIndex(),s=this.findPrevEditableCell(e.row,i),s)?(s.getComponent().edit(),true):false}navigateRight(e=this.currentCell,t){var i,s;return e&&(t&&t.preventDefault(),i=e.getIndex(),s=this.findNextEditableCell(e.row,i),s)?(s.getComponent().edit(),true):false}navigateUp(e=this.currentCell,t){var i,s;return e&&(t&&t.preventDefault(),i=e.getIndex(),s=this.table.rowManager.prevDisplayRow(e.row,true),s)?(s.cells[i].getComponent().edit(),true):false}navigateDown(e=this.currentCell,t){var i,s;return e&&(t&&t.preventDefault(),i=e.getIndex(),s=this.table.rowManager.nextDisplayRow(e.row,true),s)?(s.cells[i].getComponent().edit(),true):false}findNextEditableCell(e,t){var i=false;if(t<e.cells.length-1)for(var s=t+1;s<e.cells.length;s++){let r=e.cells[s];if(r.column.modules.edit&&T.elVisible(r.getElement())&&this.allowEdit(r)){i=r;break}}return i}findPrevEditableCell(e,t){var i=false;if(t>0)for(var s=t-1;s>=0;s--){let r=e.cells[s];if(r.column.modules.edit&&T.elVisible(r.getElement())&&this.allowEdit(r)){i=r;break}}return i}initializeColumnCheck(e){typeof e.definition.editor!="undefined"&&this.initializeColumn(e);}columnDeleteCheck(e){this.currentCell&&this.currentCell.column===e&&this.cancelEdit();}rowDeleteCheck(e){this.currentCell&&this.currentCell.row===e&&this.cancelEdit();}rowEditableCheck(e){e.getCells().forEach(t=>{t.column.modules.edit&&typeof t.column.modules.edit.check=="function"&&this.updateCellClass(t);});}initializeColumn(e){var t={editor:false,blocked:false,check:e.definition.editable,params:e.definition.editorParams||{}};switch(typeof e.definition.editor){case "string":this.editors[e.definition.editor]&&(t.editor=this.editors[e.definition.editor]);break;case "function":t.editor=e.definition.editor;break;case "boolean":e.definition.editor===true&&typeof e.definition.formatter!="function"&&(this.editors[e.definition.formatter]?t.editor=this.editors[e.definition.formatter]:t.editor=this.editors.input);break}t.editor&&(e.modules.edit=t);}getCurrentCell(){return this.currentCell?this.currentCell.getComponent():false}clearEditor(e){var t=this.currentCell,i;if(this.invalidEdit=false,t){for(this.currentCell=false,i=t.getElement(),this.dispatch("edit-editor-clear",t,e),i.classList.remove("tabulator-editing");i.firstChild;)i.removeChild(i.firstChild);t.row.getElement().classList.remove("tabulator-editing"),t.table.element.classList.remove("tabulator-editing");}}cancelEdit(){if(this.currentCell){var e=this.currentCell,t=this.currentCell.getComponent();this.clearEditor(true),e.setValueActual(e.getValue()),e.cellRendered(),(e.column.definition.editor=="textarea"||e.column.definition.variableHeight)&&e.row.normalizeHeight(true),e.column.definition.cellEditCancelled&&e.column.definition.cellEditCancelled.call(this.table,t),this.dispatch("edit-cancelled",e),this.dispatchExternal("cellEditCancelled",t);}}bindEditor(e){if(e.column.modules.edit){var t=this,i=e.getElement(true);this.updateCellClass(e),i.setAttribute("tabindex",0),i.addEventListener("mousedown",function(s){s.button===2?s.preventDefault():t.mouseClick=true;}),this.options("editTriggerEvent")==="dblclick"&&i.addEventListener("dblclick",function(s){i.classList.contains("tabulator-editing")||(i.focus({preventScroll:true}),t.edit(e,s,false));}),(this.options("editTriggerEvent")==="focus"||this.options("editTriggerEvent")==="click")&&i.addEventListener("click",function(s){i.classList.contains("tabulator-editing")||(i.focus({preventScroll:true}),t.edit(e,s,false));}),this.options("editTriggerEvent")==="focus"&&i.addEventListener("focus",function(s){t.recursionBlock||t.edit(e,s,false);});}}focusCellNoEvent(e,t){this.recursionBlock=true,t&&this.table.browser==="ie"||e.getElement().focus({preventScroll:true}),this.recursionBlock=false;}editCell(e,t){this.focusCellNoEvent(e),this.edit(e,false,t);}focusScrollAdjust(e){if(this.table.rowManager.getRenderMode()=="virtual"){var t=this.table.rowManager.element.scrollTop,i=this.table.rowManager.element.clientHeight+this.table.rowManager.element.scrollTop,s=e.row.getElement();s.offsetTop<t?this.table.rowManager.element.scrollTop-=t-s.offsetTop:s.offsetTop+s.offsetHeight>i&&(this.table.rowManager.element.scrollTop+=s.offsetTop+s.offsetHeight-i);var r=this.table.rowManager.element.scrollLeft,o=this.table.rowManager.element.clientWidth+this.table.rowManager.element.scrollLeft,a=e.getElement();this.table.modExists("frozenColumns")&&(r+=parseInt(this.table.modules.frozenColumns.leftMargin||0),o-=parseInt(this.table.modules.frozenColumns.rightMargin||0)),this.table.options.renderHorizontal==="virtual"&&(r-=parseInt(this.table.columnManager.renderer.vDomPadLeft),o-=parseInt(this.table.columnManager.renderer.vDomPadLeft)),a.offsetLeft<r?this.table.rowManager.element.scrollLeft-=r-a.offsetLeft:a.offsetLeft+a.offsetWidth>o&&(this.table.rowManager.element.scrollLeft+=a.offsetLeft+a.offsetWidth-o);}}allowEdit(e){var t=!!e.column.modules.edit;if(e.column.modules.edit)switch(typeof e.column.modules.edit.check){case "function":e.row.initialized&&(t=e.column.modules.edit.check(e.getComponent()));break;case "string":t=!!e.row.data[e.column.modules.edit.check];break;case "boolean":t=e.column.modules.edit.check;break}return t}edit(e,t,i){var s=this,r=true,o=function(){},a=e.getElement(),l=false,h,u,d;if(this.currentCell){!this.invalidEdit&&this.currentCell!==e&&this.cancelEdit();return}function c(b){if(s.currentCell===e&&!l){var w=s.chain("edit-success",[e,b],true,true);return w===true||s.table.options.validationMode==="highlight"?(l=true,s.clearEditor(),e.modules.edit||(e.modules.edit={}),e.modules.edit.edited=true,s.editedCells.indexOf(e)==-1&&s.editedCells.push(e),e.setValue(b,true),w===true):(l=true,s.invalidEdit=true,s.focusCellNoEvent(e,true),o(),setTimeout(()=>{l=false;},10),false)}}function f(){s.currentCell===e&&!l&&s.cancelEdit();}function m(b){o=b;}if(e.column.modules.edit.blocked)return this.mouseClick=false,this.blur(a),false;if(t&&t.stopPropagation(),r=this.allowEdit(e),r||i){if(s.cancelEdit(),s.currentCell=e,this.focusScrollAdjust(e),u=e.getComponent(),this.mouseClick&&(this.mouseClick=false,e.column.definition.cellClick&&e.column.definition.cellClick.call(this.table,t,u)),e.column.definition.cellEditing&&e.column.definition.cellEditing.call(this.table,u),this.dispatch("cell-editing",e),this.dispatchExternal("cellEditing",u),d=typeof e.column.modules.edit.params=="function"?e.column.modules.edit.params(u):e.column.modules.edit.params,h=e.column.modules.edit.editor.call(s,u,m,c,f,d),this.currentCell&&h!==false)if(h instanceof Node){for(a.classList.add("tabulator-editing"),e.row.getElement().classList.add("tabulator-editing"),e.table.element.classList.add("tabulator-editing");a.firstChild;)a.removeChild(a.firstChild);a.appendChild(h),o();for(var p=a.children,v=0;v<p.length;v++)p[v].addEventListener("click",function(b){b.stopPropagation();});}else return this.blur(a),false;else return this.blur(a),false;return true}else return this.mouseClick=false,this.blur(a),false}blur(e){this.confirm("edit-blur",[e])||e.blur();}getEditedCells(){var e=[];return this.editedCells.forEach(t=>{e.push(t.getComponent());}),e}clearEdited(e){var t;e.modules.edit&&e.modules.edit.edited&&(e.modules.edit.edited=false,this.dispatch("edit-edited-clear",e)),t=this.editedCells.indexOf(e),t>-1&&this.editedCells.splice(t,1);}};Ce.moduleName="edit";Ce.editors=Yi;var Ve=class{constructor(e,t,i,s){this.type=e,this.columns=t,this.component=i||false,this.indent=s||0;}},be=class{constructor(e,t,i,s,r){this.value=e,this.component=t||false,this.width=i,this.height=s,this.depth=r;}},Ne=class extends C{constructor(e){super(e),this.config={},this.cloneTableStyle=true,this.colVisProp="",this.registerTableOption("htmlOutputConfig",false),this.registerColumnOption("htmlOutput"),this.registerColumnOption("titleHtmlOutput");}initialize(){this.registerTableFunction("getHtml",this.getHtml.bind(this));}generateExportList(e,t,i,s){this.cloneTableStyle=t,this.config=e||{},this.colVisProp=s;var r,o;if(i==="range"){var a=this.table.modules.selectRange.selectedColumns();r=this.config.columnHeaders!==false?this.headersToExportRows(this.generateColumnGroupHeaders(a)):[],o=this.bodyToExportRows(this.rowLookup(i),this.table.modules.selectRange.selectedColumns(true));}else r=this.config.columnHeaders!==false?this.headersToExportRows(this.generateColumnGroupHeaders()):[],o=this.bodyToExportRows(this.rowLookup(i));return r.concat(o)}generateTable(e,t,i,s){var r=this.generateExportList(e,t,i,s);return this.generateTableElement(r)}rowLookup(e){var t=[];if(typeof e=="function")e.call(this.table).forEach(i=>{i=this.table.rowManager.findRow(i),i&&t.push(i);});else switch(e){case true:case "visible":t=this.table.rowManager.getVisibleRows(false,true);break;case "all":t=this.table.rowManager.rows;break;case "selected":t=this.table.modules.selectRow.selectedRows;break;case "range":t=this.table.modules.selectRange.selectedRows();break;case "active":default:this.table.options.pagination?t=this.table.rowManager.getDisplayRows(this.table.rowManager.displayRows.length-2):t=this.table.rowManager.getDisplayRows();}return Object.assign([],t)}generateColumnGroupHeaders(e){var t=[];return e||(e=this.config.columnGroups!==false?this.table.columnManager.columns:this.table.columnManager.columnsByIndex),e.forEach(i=>{var s=this.processColumnGroup(i);s&&t.push(s);}),t}processColumnGroup(e){var t=e.columns,i=0,s=e.definition["title"+(this.colVisProp.charAt(0).toUpperCase()+this.colVisProp.slice(1))]||e.definition.title,r={title:s,column:e,depth:1};if(t.length){if(r.subGroups=[],r.width=0,t.forEach(o=>{var a=this.processColumnGroup(o);a&&(r.width+=a.width,r.subGroups.push(a),a.depth>i&&(i=a.depth));}),r.depth+=i,!r.width)return false}else if(this.columnVisCheck(e))r.width=1;else return false;return r}columnVisCheck(e){var t=e.definition[this.colVisProp];return typeof t=="function"&&(t=t.call(this.table,e.getComponent())),t!==false&&(e.visible||!e.visible&&t)}headersToExportRows(e){var t=[],i=0,s=[];function r(o,a){var l=i-a;if(typeof t[a]=="undefined"&&(t[a]=[]),o.height=o.subGroups?1:l-o.depth+1,t[a].push(o),o.height>1)for(let h=1;h<o.height;h++)typeof t[a+h]=="undefined"&&(t[a+h]=[]),t[a+h].push(false);if(o.width>1)for(let h=1;h<o.width;h++)t[a].push(false);o.subGroups&&o.subGroups.forEach(function(h){r(h,a+1);});}return e.forEach(function(o){o.depth>i&&(i=o.depth);}),e.forEach(function(o){r(o,0);}),t.forEach(o=>{var a=[];o.forEach(l=>{if(l){let h=typeof l.title=="undefined"?"":l.title;a.push(new be(h,l.column.getComponent(),l.width,l.height,l.depth));}else a.push(null);}),s.push(new Ve("header",a));}),s}bodyToExportRows(e,t=[]){var i=[];return t.length===0&&this.table.columnManager.columnsByIndex.forEach(s=>{this.columnVisCheck(s)&&t.push(s.getComponent());}),this.config.columnCalcs!==false&&this.table.modExists("columnCalcs")&&(this.table.modules.columnCalcs.topInitialized&&e.unshift(this.table.modules.columnCalcs.topRow),this.table.modules.columnCalcs.botInitialized&&e.push(this.table.modules.columnCalcs.botRow)),e=e.filter(s=>{switch(s.type){case "group":return this.config.rowGroups!==false;case "calc":return this.config.columnCalcs!==false;case "row":return !(this.table.options.dataTree&&this.config.dataTree===false&&s.modules.dataTree.parent)}return true}),e.forEach((s,r)=>{var o=s.getData(this.colVisProp),a=[],l=0;switch(s.type){case "group":l=s.level,a.push(new be(s.key,s.getComponent(),t.length,1));break;case "calc":case "row":t.forEach(h=>{a.push(new be(h._column.getFieldValue(o),h,1,1));}),this.table.options.dataTree&&this.config.dataTree!==false&&(l=s.modules.dataTree.index);break}i.push(new Ve(s.type,a,s.getComponent(),l));}),i}generateTableElement(e){var t=document.createElement("table"),i=document.createElement("thead"),s=document.createElement("tbody"),r=this.lookupTableStyles(),o=this.table.options["rowFormatter"+(this.colVisProp.charAt(0).toUpperCase()+this.colVisProp.slice(1))],a={};return a.rowFormatter=o!==null?o:this.table.options.rowFormatter,this.table.options.dataTree&&this.config.dataTree!==false&&this.table.modExists("columnCalcs")&&(a.treeElementField=this.table.modules.dataTree.elementField),a.groupHeader=this.table.options["groupHeader"+(this.colVisProp.charAt(0).toUpperCase()+this.colVisProp.slice(1))],a.groupHeader&&!Array.isArray(a.groupHeader)&&(a.groupHeader=[a.groupHeader]),t.classList.add("tabulator-print-table"),this.mapElementStyles(this.table.columnManager.getHeadersElement(),i,["border-top","border-left","border-right","border-bottom","background-color","color","font-weight","font-family","font-size"]),e.length>1e3,e.forEach((l,h)=>{let u;switch(l.type){case "header":i.appendChild(this.generateHeaderElement(l,a,r));break;case "group":s.appendChild(this.generateGroupElement(l,a,r));break;case "calc":s.appendChild(this.generateCalcElement(l,a,r));break;case "row":u=this.generateRowElement(l,a,r),this.mapElementStyles(h%2&&r.evenRow?r.evenRow:r.oddRow,u,["border-top","border-left","border-right","border-bottom","color","font-weight","font-family","font-size","background-color"]),s.appendChild(u);break}}),i.innerHTML&&t.appendChild(i),t.appendChild(s),this.mapElementStyles(this.table.element,t,["border-top","border-left","border-right","border-bottom"]),t}lookupTableStyles(){var e={};return this.cloneTableStyle&&window.getComputedStyle&&(e.oddRow=this.table.element.querySelector(".tabulator-row-odd:not(.tabulator-group):not(.tabulator-calcs)"),e.evenRow=this.table.element.querySelector(".tabulator-row-even:not(.tabulator-group):not(.tabulator-calcs)"),e.calcRow=this.table.element.querySelector(".tabulator-row.tabulator-calcs"),e.firstRow=this.table.element.querySelector(".tabulator-row:not(.tabulator-group):not(.tabulator-calcs)"),e.firstGroup=this.table.element.getElementsByClassName("tabulator-group")[0],e.firstRow&&(e.styleCells=e.firstRow.getElementsByClassName("tabulator-cell"),e.firstCell=e.styleCells[0],e.lastCell=e.styleCells[e.styleCells.length-1])),e}generateHeaderElement(e,t,i){var s=document.createElement("tr");return e.columns.forEach(r=>{if(r){var o=document.createElement("th"),a=r.component._column.definition.cssClass?r.component._column.definition.cssClass.split(" "):[];o.colSpan=r.width,o.rowSpan=r.height,o.innerHTML=r.value,this.cloneTableStyle&&(o.style.boxSizing="border-box"),a.forEach(function(l){o.classList.add(l);}),this.mapElementStyles(r.component.getElement(),o,["text-align","border-top","border-left","border-right","border-bottom","background-color","color","font-weight","font-family","font-size"]),this.mapElementStyles(r.component._column.contentElement,o,["padding-top","padding-left","padding-right","padding-bottom"]),r.component._column.visible?this.mapElementStyles(r.component.getElement(),o,["width"]):r.component._column.definition.width&&(o.style.width=r.component._column.definition.width+"px"),r.component._column.parent&&this.mapElementStyles(r.component._column.parent.groupElement,o,["border-top"]),s.appendChild(o);}}),s}generateGroupElement(e,t,i){var s=document.createElement("tr"),r=document.createElement("td"),o=e.columns[0];return s.classList.add("tabulator-print-table-row"),t.groupHeader&&t.groupHeader[e.indent]?o.value=t.groupHeader[e.indent](o.value,e.component._group.getRowCount(),e.component._group.getData(),e.component):t.groupHeader!==false&&(o.value=e.component._group.generator(o.value,e.component._group.getRowCount(),e.component._group.getData(),e.component)),r.colSpan=o.width,r.innerHTML=o.value,s.classList.add("tabulator-print-table-group"),s.classList.add("tabulator-group-level-"+e.indent),o.component.isVisible()&&s.classList.add("tabulator-group-visible"),this.mapElementStyles(i.firstGroup,s,["border-top","border-left","border-right","border-bottom","color","font-weight","font-family","font-size","background-color"]),this.mapElementStyles(i.firstGroup,r,["padding-top","padding-left","padding-right","padding-bottom"]),s.appendChild(r),s}generateCalcElement(e,t,i){var s=this.generateRowElement(e,t,i);return s.classList.add("tabulator-print-table-calcs"),this.mapElementStyles(i.calcRow,s,["border-top","border-left","border-right","border-bottom","color","font-weight","font-family","font-size","background-color"]),s}generateRowElement(e,t,i){var s=document.createElement("tr");if(s.classList.add("tabulator-print-table-row"),e.columns.forEach((r,o)=>{if(r){var a=document.createElement("td"),l=r.component._column,h=this.table,u=h.columnManager.findColumnIndex(l),d=r.value,c,f={modules:{},getValue:function(){return d},getField:function(){return l.definition.field},getElement:function(){return a},getType:function(){return "cell"},getColumn:function(){return l.getComponent()},getData:function(){return e.component.getData()},getRow:function(){return e.component},getTable:function(){return h},getComponent:function(){return f},column:l},m=l.definition.cssClass?l.definition.cssClass.split(" "):[];if(m.forEach(function(p){a.classList.add(p);}),this.table.modExists("format")&&this.config.formatCells!==false)d=this.table.modules.format.formatExportValue(f,this.colVisProp);else switch(typeof d){case "object":d=d!==null?JSON.stringify(d):"";break;case "undefined":d="";break}d instanceof Node?a.appendChild(d):a.innerHTML=d,c=i.styleCells&&i.styleCells[u]?i.styleCells[u]:i.firstCell,c&&(this.mapElementStyles(c,a,["padding-top","padding-left","padding-right","padding-bottom","border-top","border-left","border-right","border-bottom","color","font-weight","font-family","font-size","text-align"]),l.definition.align&&(a.style.textAlign=l.definition.align)),this.table.options.dataTree&&this.config.dataTree!==false&&(t.treeElementField&&t.treeElementField==l.field||!t.treeElementField&&o==0)&&(e.component._row.modules.dataTree.controlEl&&a.insertBefore(e.component._row.modules.dataTree.controlEl.cloneNode(true),a.firstChild),e.component._row.modules.dataTree.branchEl&&a.insertBefore(e.component._row.modules.dataTree.branchEl.cloneNode(true),a.firstChild)),s.appendChild(a),f.modules.format&&f.modules.format.renderedCallback&&f.modules.format.renderedCallback();}}),t.rowFormatter&&e.type==="row"&&this.config.formatCells!==false){let r=Object.assign(e.component);r.getElement=function(){return s},t.rowFormatter(e.component);}return s}generateHTMLTable(e){var t=document.createElement("div");return t.appendChild(this.generateTableElement(e)),t.innerHTML}getHtml(e,t,i,s){var r=this.generateExportList(i||this.table.options.htmlOutputConfig,t,e,s||"htmlOutput");return this.generateHTMLTable(r)}mapElementStyles(e,t,i){if(this.cloneTableStyle&&e&&t){var s={"background-color":"backgroundColor",color:"fontColor",width:"width","font-weight":"fontWeight","font-family":"fontFamily","font-size":"fontSize","text-align":"textAlign","border-top":"borderTop","border-left":"borderLeft","border-right":"borderRight","border-bottom":"borderBottom","padding-top":"paddingTop","padding-left":"paddingLeft","padding-right":"paddingRight","padding-bottom":"paddingBottom"};if(window.getComputedStyle){var r=window.getComputedStyle(e);i.forEach(function(o){t.style[s[o]]||(t.style[s[o]]=r.getPropertyValue(o));});}}}};Ne.moduleName="export";var Ji={"=":function(n,e,t,i){return e==n},"<":function(n,e,t,i){return e<n},"<=":function(n,e,t,i){return e<=n},">":function(n,e,t,i){return e>n},">=":function(n,e,t,i){return e>=n},"!=":function(n,e,t,i){return e!=n},regex:function(n,e,t,i){return typeof n=="string"&&(n=new RegExp(n)),n.test(e)},like:function(n,e,t,i){return n===null||typeof n=="undefined"?e===n:typeof e!="undefined"&&e!==null?String(e).toLowerCase().indexOf(n.toLowerCase())>-1:false},keywords:function(n,e,t,i){var s=n.toLowerCase().split(typeof i.separator=="undefined"?" ":i.separator),r=String(e===null||typeof e=="undefined"?"":e).toLowerCase(),o=[];return s.forEach(a=>{r.includes(a)&&o.push(true);}),i.matchAll?o.length===s.length:!!o.length},starts:function(n,e,t,i){return n===null||typeof n=="undefined"?e===n:typeof e!="undefined"&&e!==null?String(e).toLowerCase().startsWith(n.toLowerCase()):false},ends:function(n,e,t,i){return n===null||typeof n=="undefined"?e===n:typeof e!="undefined"&&e!==null?String(e).toLowerCase().endsWith(n.toLowerCase()):false},in:function(n,e,t,i){return Array.isArray(n)?n.length?n.indexOf(e)>-1:true:false}},ye=class n extends C{constructor(e){super(e),this.filterList=[],this.headerFilters={},this.headerFilterColumns=[],this.prevHeaderFilterChangeCheck="",this.prevHeaderFilterChangeCheck="{}",this.changed=false,this.tableInitialized=false,this.registerTableOption("filterMode","local"),this.registerTableOption("initialFilter",false),this.registerTableOption("initialHeaderFilter",false),this.registerTableOption("headerFilterLiveFilterDelay",300),this.registerTableOption("placeholderHeaderFilter",false),this.registerColumnOption("headerFilter"),this.registerColumnOption("headerFilterPlaceholder"),this.registerColumnOption("headerFilterParams"),this.registerColumnOption("headerFilterEmptyCheck"),this.registerColumnOption("headerFilterFunc"),this.registerColumnOption("headerFilterFuncParams"),this.registerColumnOption("headerFilterLiveFilter"),this.registerTableFunction("searchRows",this.searchRows.bind(this)),this.registerTableFunction("searchData",this.searchData.bind(this)),this.registerTableFunction("setFilter",this.userSetFilter.bind(this)),this.registerTableFunction("refreshFilter",this.userRefreshFilter.bind(this)),this.registerTableFunction("addFilter",this.userAddFilter.bind(this)),this.registerTableFunction("getFilters",this.getFilters.bind(this)),this.registerTableFunction("setHeaderFilterFocus",this.userSetHeaderFilterFocus.bind(this)),this.registerTableFunction("getHeaderFilterValue",this.userGetHeaderFilterValue.bind(this)),this.registerTableFunction("setHeaderFilterValue",this.userSetHeaderFilterValue.bind(this)),this.registerTableFunction("getHeaderFilters",this.getHeaderFilters.bind(this)),this.registerTableFunction("removeFilter",this.userRemoveFilter.bind(this)),this.registerTableFunction("clearFilter",this.userClearFilter.bind(this)),this.registerTableFunction("clearHeaderFilter",this.userClearHeaderFilter.bind(this)),this.registerComponentFunction("column","headerFilterFocus",this.setHeaderFilterFocus.bind(this)),this.registerComponentFunction("column","reloadHeaderFilter",this.reloadHeaderFilter.bind(this)),this.registerComponentFunction("column","getHeaderFilterValue",this.getHeaderFilterValue.bind(this)),this.registerComponentFunction("column","setHeaderFilterValue",this.setHeaderFilterValue.bind(this));}initialize(){this.subscribe("column-init",this.initializeColumnHeaderFilter.bind(this)),this.subscribe("column-width-fit-before",this.hideHeaderFilterElements.bind(this)),this.subscribe("column-width-fit-after",this.showHeaderFilterElements.bind(this)),this.subscribe("table-built",this.tableBuilt.bind(this)),this.subscribe("placeholder",this.generatePlaceholder.bind(this)),this.table.options.filterMode==="remote"&&this.subscribe("data-params",this.remoteFilterParams.bind(this)),this.registerDataHandler(this.filter.bind(this),10);}tableBuilt(){this.table.options.initialFilter&&this.setFilter(this.table.options.initialFilter),this.table.options.initialHeaderFilter&&this.table.options.initialHeaderFilter.forEach(e=>{var t=this.table.columnManager.findColumn(e.field);if(t)this.setHeaderFilterValue(t,e.value);else return false}),this.tableInitialized=true;}remoteFilterParams(e,t,i,s){return s.filter=this.getFilters(true,true),s}generatePlaceholder(e){if(this.table.options.placeholderHeaderFilter&&Object.keys(this.headerFilters).length)return this.table.options.placeholderHeaderFilter}userSetFilter(e,t,i,s){this.setFilter(e,t,i,s),this.refreshFilter();}userRefreshFilter(){this.refreshFilter();}userAddFilter(e,t,i,s){this.addFilter(e,t,i,s),this.refreshFilter();}userSetHeaderFilterFocus(e){var t=this.table.columnManager.findColumn(e);if(t)this.setHeaderFilterFocus(t);else return false}userGetHeaderFilterValue(e){var t=this.table.columnManager.findColumn(e);if(t)return this.getHeaderFilterValue(t)}userSetHeaderFilterValue(e,t){var i=this.table.columnManager.findColumn(e);if(i)this.setHeaderFilterValue(i,t);else return false}userRemoveFilter(e,t,i){this.removeFilter(e,t,i),this.refreshFilter();}userClearFilter(e){this.clearFilter(e),this.refreshFilter();}userClearHeaderFilter(){this.clearHeaderFilter(),this.refreshFilter();}searchRows(e,t,i){return this.search("rows",e,t,i)}searchData(e,t,i){return this.search("data",e,t,i)}initializeColumnHeaderFilter(e){var t=e.definition;t.headerFilter&&this.initializeColumn(e);}initializeColumn(e,t){var i=this,s=e.getField();function r(o){var a=e.modules.filter.tagType=="input"&&e.modules.filter.attrType=="text"||e.modules.filter.tagType=="textarea"?"partial":"match",l="",h="",u;if(typeof e.modules.filter.prevSuccess=="undefined"||e.modules.filter.prevSuccess!==o){if(e.modules.filter.prevSuccess=o,e.modules.filter.emptyFunc(o))delete i.headerFilters[s];else {switch(e.modules.filter.value=o,typeof e.definition.headerFilterFunc){case "string":n.filters[e.definition.headerFilterFunc]&&(l=e.definition.headerFilterFunc,u=function(d){var c=e.definition.headerFilterFuncParams||{},f=e.getFieldValue(d);return c=typeof c=="function"?c(o,f,d):c,n.filters[e.definition.headerFilterFunc](o,f,d,c)});break;case "function":u=function(d){var c=e.definition.headerFilterFuncParams||{},f=e.getFieldValue(d);return c=typeof c=="function"?c(o,f,d):c,e.definition.headerFilterFunc(o,f,d,c)},l=u;break}if(!u)switch(a){case "partial":u=function(d){var c=e.getFieldValue(d);return typeof c!="undefined"&&c!==null?String(c).toLowerCase().indexOf(String(o).toLowerCase())>-1:false},l="like";break;default:u=function(d){return e.getFieldValue(d)==o},l="=";}i.headerFilters[s]={value:o,func:u,type:l};}e.modules.filter.value=o,h=JSON.stringify(i.headerFilters),i.prevHeaderFilterChangeCheck!==h&&(i.prevHeaderFilterChangeCheck=h,i.trackChanges(),i.refreshFilter());}return true}e.modules.filter={success:r,attrType:false,tagType:false,emptyFunc:false},this.generateHeaderFilterElement(e);}generateHeaderFilterElement(e,t,i){var s=this,r=e.modules.filter.success,o=e.getField(),a,l,h,u,d,c,f,m;e.modules.filter.value=t;function p(){}function v(b){m=b;}if(e.modules.filter.headerElement&&e.modules.filter.headerElement.parentNode&&e.contentElement.removeChild(e.modules.filter.headerElement.parentNode),o){switch(e.modules.filter.emptyFunc=e.definition.headerFilterEmptyCheck||function(b){return !b&&b!==0},a=document.createElement("div"),a.classList.add("tabulator-header-filter"),typeof e.definition.headerFilter){case "string":s.table.modules.edit.editors[e.definition.headerFilter]&&(l=s.table.modules.edit.editors[e.definition.headerFilter],(e.definition.headerFilter==="tick"||e.definition.headerFilter==="tickCross")&&!e.definition.headerFilterEmptyCheck&&(e.modules.filter.emptyFunc=function(b){return b!==true&&b!==false}));break;case "function":l=e.definition.headerFilter;break;case "boolean":e.modules.edit&&e.modules.edit.editor?l=e.modules.edit.editor:e.definition.formatter&&s.table.modules.edit.editors[e.definition.formatter]?(l=s.table.modules.edit.editors[e.definition.formatter],(e.definition.formatter==="tick"||e.definition.formatter==="tickCross")&&!e.definition.headerFilterEmptyCheck&&(e.modules.filter.emptyFunc=function(b){return b!==true&&b!==false})):l=s.table.modules.edit.editors.input;break}if(l){if(u={getValue:function(){return typeof t!="undefined"?t:""},getField:function(){return e.definition.field},getElement:function(){return a},getColumn:function(){return e.getComponent()},getTable:()=>this.table,getType:()=>"header",getRow:function(){return {normalizeHeight:function(){}}}},f=e.definition.headerFilterParams||{},f=typeof f=="function"?f.call(s.table,u):f,h=l.call(this.table.modules.edit,u,v,r,p,f),!h||!(h instanceof Node))return;s.langBind("headerFilters|columns|"+e.definition.field,function(b){h.setAttribute("placeholder",typeof b!="undefined"&&b?b:e.definition.headerFilterPlaceholder||s.langText("headerFilters|default"));}),h.addEventListener("click",function(b){b.stopPropagation(),h.focus();}),h.addEventListener("focus",b=>{var w=this.table.columnManager.contentsElement.scrollLeft,y=this.table.rowManager.element.scrollLeft;w!==y&&(this.table.rowManager.scrollHorizontal(w),this.table.columnManager.scrollHorizontal(w));}),d=false,c=function(b){d&&clearTimeout(d),d=setTimeout(function(){r(h.value);},s.table.options.headerFilterLiveFilterDelay);},e.modules.filter.headerElement=h,e.modules.filter.attrType=h.hasAttribute("type")?h.getAttribute("type").toLowerCase():"",e.modules.filter.tagType=h.tagName.toLowerCase(),e.definition.headerFilterLiveFilter!==false&&(e.definition.headerFilter==="autocomplete"||e.definition.headerFilter==="tickCross"||(e.definition.editor==="autocomplete"||e.definition.editor==="tickCross")&&e.definition.headerFilter===true||(h.addEventListener("keyup",c),h.addEventListener("search",c),e.modules.filter.attrType=="number"&&h.addEventListener("change",function(b){r(h.value);}),e.modules.filter.attrType=="text"&&this.table.browser!=="ie"&&h.setAttribute("type","search")),(e.modules.filter.tagType=="input"||e.modules.filter.tagType=="select"||e.modules.filter.tagType=="textarea")&&h.addEventListener("mousedown",function(b){b.stopPropagation();})),a.appendChild(h),e.contentElement.appendChild(a),i||s.headerFilterColumns.push(e),m&&m();}}}hideHeaderFilterElements(){this.headerFilterColumns.forEach(function(e){e.modules.filter&&e.modules.filter.headerElement&&(e.modules.filter.headerElement.style.display="none");});}showHeaderFilterElements(){this.headerFilterColumns.forEach(function(e){e.modules.filter&&e.modules.filter.headerElement&&(e.modules.filter.headerElement.style.display="");});}setHeaderFilterFocus(e){e.modules.filter&&e.modules.filter.headerElement&&e.modules.filter.headerElement.focus();}getHeaderFilterValue(e){if(e.modules.filter&&e.modules.filter.headerElement)return e.modules.filter.value}setHeaderFilterValue(e,t){e&&e.modules.filter&&e.modules.filter.headerElement&&(this.generateHeaderFilterElement(e,t,true),e.modules.filter.success(t));}reloadHeaderFilter(e){e&&e.modules.filter&&e.modules.filter.headerElement&&this.generateHeaderFilterElement(e,e.modules.filter.value,true);}refreshFilter(){this.tableInitialized&&(this.table.options.filterMode==="remote"?this.reloadData(null,false,false):this.refreshData(true));}trackChanges(){this.changed=true,this.dispatch("filter-changed");}hasChanged(){var e=this.changed;return this.changed=false,e}setFilter(e,t,i,s){this.filterList=[],Array.isArray(e)||(e=[{field:e,type:t,value:i,params:s}]),this.addFilter(e);}addFilter(e,t,i,s){var r=false;Array.isArray(e)||(e=[{field:e,type:t,value:i,params:s}]),e.forEach(o=>{o=this.findFilter(o),o&&(this.filterList.push(o),r=true);}),r&&this.trackChanges();}findFilter(e){var t;if(Array.isArray(e))return this.findSubFilters(e);var i=false;return typeof e.field=="function"?i=function(s){return e.field(s,e.type||{})}:n.filters[e.type]&&(t=this.table.columnManager.getColumnByField(e.field),t?i=function(s){return n.filters[e.type](e.value,t.getFieldValue(s),s,e.params||{})}:i=function(s){return n.filters[e.type](e.value,s[e.field],s,e.params||{})}),e.func=i,e.func?e:false}findSubFilters(e){var t=[];return e.forEach(i=>{i=this.findFilter(i),i&&t.push(i);}),t.length?t:false}getFilters(e,t){var i=[];return e&&(i=this.getHeaderFilters()),t&&i.forEach(function(s){typeof s.type=="function"&&(s.type="function");}),i=i.concat(this.filtersToArray(this.filterList,t)),i}filtersToArray(e,t){var i=[];return e.forEach(s=>{var r;Array.isArray(s)?i.push(this.filtersToArray(s,t)):(r={field:s.field,type:s.type,value:s.value},t&&typeof r.type=="function"&&(r.type="function"),i.push(r));}),i}getHeaderFilters(){var e=[];for(var t in this.headerFilters)e.push({field:t,type:this.headerFilters[t].type,value:this.headerFilters[t].value});return e}removeFilter(e,t,i){Array.isArray(e)||(e=[{field:e,type:t,value:i}]),e.forEach(s=>{var r=-1;typeof s.field=="object"?r=this.filterList.findIndex(o=>s===o):r=this.filterList.findIndex(o=>s.field===o.field&&s.type===o.type&&s.value===o.value),r>-1&&this.filterList.splice(r,1);}),this.trackChanges();}clearFilter(e){this.filterList=[],e&&this.clearHeaderFilter(),this.trackChanges();}clearHeaderFilter(){this.headerFilters={},this.prevHeaderFilterChangeCheck="{}",this.headerFilterColumns.forEach(e=>{typeof e.modules.filter.value!="undefined"&&delete e.modules.filter.value,e.modules.filter.prevSuccess=void 0,this.reloadHeaderFilter(e);}),this.trackChanges();}search(e,t,i,s){var r=[],o=[];return Array.isArray(t)||(t=[{field:t,type:i,value:s}]),t.forEach(a=>{a=this.findFilter(a),a&&o.push(a);}),this.table.rowManager.rows.forEach(a=>{var l=true;o.forEach(h=>{this.filterRecurse(h,a.getData())||(l=false);}),l&&r.push(e==="data"?a.getData("data"):a.getComponent());}),r}filter(e,t){var i=[],s=[];return this.subscribedExternal("dataFiltering")&&this.dispatchExternal("dataFiltering",this.getFilters(true)),this.table.options.filterMode!=="remote"&&(this.filterList.length||Object.keys(this.headerFilters).length)?e.forEach(r=>{this.filterRow(r)&&i.push(r);}):i=e.slice(0),this.subscribedExternal("dataFiltered")&&(i.forEach(r=>{s.push(r.getComponent());}),this.dispatchExternal("dataFiltered",this.getFilters(true),s)),i}filterRow(e,t){var i=true,s=e.getData();this.filterList.forEach(o=>{this.filterRecurse(o,s)||(i=false);});for(var r in this.headerFilters)this.headerFilters[r].func(s)||(i=false);return i}filterRecurse(e,t){var i=false;return Array.isArray(e)?e.forEach(s=>{this.filterRecurse(s,t)&&(i=true);}):i=e.func(t),i}};ye.moduleName="filter";ye.filters=Ji;function Xi(n,e,t){return this.emptyToSpace(this.sanitizeHTML(n.getValue()))}function Ki(n,e,t){return n.getValue()}function qi(n,e,t){return n.getElement().style.whiteSpace="pre-wrap",this.emptyToSpace(this.sanitizeHTML(n.getValue()))}function $i(n,e,t){var i=parseFloat(n.getValue()),s="",r,o,a,l,h,u=e.decimal||".",d=e.thousand||",",c=e.negativeSign||"-",f=e.symbol||"",m=!!e.symbolAfter,p=typeof e.precision!="undefined"?e.precision:2;if(isNaN(i))return this.emptyToSpace(this.sanitizeHTML(n.getValue()));if(i<0&&(i=Math.abs(i),s=c),r=p!==false?i.toFixed(p):i,r=String(r).split("."),o=r[0],a=r.length>1?u+r[1]:"",e.thousand!==false)for(l=/(\d+)(\d{3})/;l.test(o);)o=o.replace(l,"$1"+d+"$2");return h=o+a,s===true?(h="("+h+")",m?h+f:f+h):m?s+h+f:s+f+h}function Zi(n,e,t){var i=n.getValue(),s=e.urlPrefix||"",r=e.download,o=i,a=document.createElement("a"),l;function h(u,d){var c=u.shift(),f=d[c];return u.length&&typeof f=="object"?h(u,f):f}if(e.labelField&&(l=n.getData(),o=h(e.labelField.split(this.table.options.nestedFieldSeparator),l)),e.label)switch(typeof e.label){case "string":o=e.label;break;case "function":o=e.label(n);break}if(o){if(e.urlField&&(l=n.getData(),i=T.retrieveNestedData(this.table.options.nestedFieldSeparator,e.urlField,l)),e.url)switch(typeof e.url){case "string":i=e.url;break;case "function":i=e.url(n);break}return a.setAttribute("href",s+i),e.target&&a.setAttribute("target",e.target),e.download&&(typeof r=="function"?r=r(n):r=r===true?"":r,a.setAttribute("download",r)),a.innerHTML=this.emptyToSpace(this.sanitizeHTML(o)),a}else return "&nbsp;"}function Qi(n,e,t){var i=document.createElement("img"),s=n.getValue();switch(e.urlPrefix&&(s=e.urlPrefix+n.getValue()),e.urlSuffix&&(s=s+e.urlSuffix),i.setAttribute("src",s),typeof e.height){case "number":i.style.height=e.height+"px";break;case "string":i.style.height=e.height;break}switch(typeof e.width){case "number":i.style.width=e.width+"px";break;case "string":i.style.width=e.width;break}return i.addEventListener("load",function(){n.getRow().normalizeHeight();}),i}function es(n,e,t){var i=n.getValue(),s=n.getElement(),r=e.allowEmpty,o=e.allowTruthy,a=Object.keys(e).includes("trueValue"),l=typeof e.tickElement!="undefined"?e.tickElement:'<svg enable-background="new 0 0 24 24" height="14" width="14" viewBox="0 0 24 24" xml:space="preserve" ><path fill="#2DC214" clip-rule="evenodd" d="M21.652,3.211c-0.293-0.295-0.77-0.295-1.061,0L9.41,14.34 c-0.293,0.297-0.771,0.297-1.062,0L3.449,9.351C3.304,9.203,3.114,9.13,2.923,9.129C2.73,9.128,2.534,9.201,2.387,9.351 l-2.165,1.946C0.078,11.445,0,11.63,0,11.823c0,0.194,0.078,0.397,0.223,0.544l4.94,5.184c0.292,0.296,0.771,0.776,1.062,1.07 l2.124,2.141c0.292,0.293,0.769,0.293,1.062,0l14.366-14.34c0.293-0.294,0.293-0.777,0-1.071L21.652,3.211z" fill-rule="evenodd"/></svg>',h=typeof e.crossElement!="undefined"?e.crossElement:'<svg enable-background="new 0 0 24 24" height="14" width="14" viewBox="0 0 24 24" xml:space="preserve" ><path fill="#CE1515" d="M22.245,4.015c0.313,0.313,0.313,0.826,0,1.139l-6.276,6.27c-0.313,0.312-0.313,0.826,0,1.14l6.273,6.272 c0.313,0.313,0.313,0.826,0,1.14l-2.285,2.277c-0.314,0.312-0.828,0.312-1.142,0l-6.271-6.271c-0.313-0.313-0.828-0.313-1.141,0 l-6.276,6.267c-0.313,0.313-0.828,0.313-1.141,0l-2.282-2.28c-0.313-0.313-0.313-0.826,0-1.14l6.278-6.269 c0.313-0.312,0.313-0.826,0-1.14L1.709,5.147c-0.314-0.313-0.314-0.827,0-1.14l2.284-2.278C4.308,1.417,4.821,1.417,5.135,1.73 L11.405,8c0.314,0.314,0.828,0.314,1.141,0.001l6.276-6.267c0.312-0.312,0.826-0.312,1.141,0L22.245,4.015z"/></svg>';return a&&i===e.trueValue||!a&&(o&&i||i===true||i==="true"||i==="True"||i===1||i==="1")?(s.setAttribute("aria-checked",true),l||""):r&&(i==="null"||i===""||i===null||typeof i=="undefined")?(s.setAttribute("aria-checked","mixed"),""):(s.setAttribute("aria-checked",false),h||"")}function ts(n,e,t){var i=window.DateTime||luxon.DateTime,s=e.inputFormat||"yyyy-MM-dd HH:mm:ss",r=e.outputFormat||"dd/MM/yyyy HH:mm:ss",o=typeof e.invalidPlaceholder!="undefined"?e.invalidPlaceholder:"",a=n.getValue();if(typeof i!="undefined"){var l;return i.isDateTime(a)?l=a:s==="iso"?l=i.fromISO(String(a)):l=i.fromFormat(String(a),s),l.isValid?(e.timezone&&(l=l.setZone(e.timezone)),l.toFormat(r)):o===true||!a?a:typeof o=="function"?o(a):o}}function is(n,e,t){var i=window.DateTime||luxon.DateTime,s=e.inputFormat||"yyyy-MM-dd HH:mm:ss",r=typeof e.invalidPlaceholder!="undefined"?e.invalidPlaceholder:"",o=typeof e.suffix!="undefined"?e.suffix:false,a=typeof e.unit!="undefined"?e.unit:"days",l=typeof e.humanize!="undefined"?e.humanize:false,h=typeof e.date!="undefined"?e.date:i.now(),u=n.getValue();if(typeof i!="undefined"){var d;return i.isDateTime(u)?d=u:s==="iso"?d=i.fromISO(String(u)):d=i.fromFormat(String(u),s),d.isValid?l?d.diff(h,a).toHuman()+(o?" "+o:""):parseInt(d.diff(h,a)[a])+(o?" "+o:""):r===true?u:typeof r=="function"?r(u):r}}function ss(n,e,t){var i=n.getValue();return typeof e[i]=="undefined"?i:e[i]}function rs(n,e,t){var i=n.getValue(),s=n.getElement(),r=e&&e.stars?e.stars:5,o=document.createElement("span"),a=document.createElementNS("http://www.w3.org/2000/svg","svg"),l='<polygon fill="#FFEA00" stroke="#C1AB60" stroke-width="37.6152" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="259.216,29.942 330.27,173.919 489.16,197.007 374.185,309.08 401.33,467.31 259.216,392.612 117.104,467.31 144.25,309.08 29.274,197.007 188.165,173.919 "/>',h='<polygon fill="#D2D2D2" stroke="#686868" stroke-width="37.6152" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="259.216,29.942 330.27,173.919 489.16,197.007 374.185,309.08 401.33,467.31 259.216,392.612 117.104,467.31 144.25,309.08 29.274,197.007 188.165,173.919 "/>';o.style.verticalAlign="middle",a.setAttribute("width","14"),a.setAttribute("height","14"),a.setAttribute("viewBox","0 0 512 512"),a.setAttribute("xml:space","preserve"),a.style.padding="0 1px",i=i&&!isNaN(i)?parseInt(i):0,i=Math.max(0,Math.min(i,r));for(var u=1;u<=r;u++){var d=a.cloneNode(true);d.innerHTML=u<=i?l:h,o.appendChild(d);}return s.style.whiteSpace="nowrap",s.style.overflow="hidden",s.style.textOverflow="ellipsis",s.setAttribute("aria-label",i),o}function os(n,e,t){var i=this.sanitizeHTML(n.getValue())||0,s=document.createElement("span"),r=e&&e.max?e.max:100,o=e&&e.min?e.min:0,a=e&&typeof e.color!="undefined"?e.color:["red","orange","green"],l="#666666",h,u;if(!(isNaN(i)||typeof n.getValue()=="undefined")){switch(s.classList.add("tabulator-traffic-light"),u=parseFloat(i)<=r?parseFloat(i):r,u=parseFloat(u)>=o?parseFloat(u):o,h=(r-o)/100,u=Math.round((u-o)/h),typeof a){case "string":l=a;break;case "function":l=a(i);break;case "object":if(Array.isArray(a)){var d=100/a.length,c=Math.floor(u/d);c=Math.min(c,a.length-1),c=Math.max(c,0),l=a[c];break}}return s.style.backgroundColor=l,s}}function as(n,e={},t){var i=this.sanitizeHTML(n.getValue())||0,s=n.getElement(),r=e.max?e.max:100,o=e.min?e.min:0,a=e.legendAlign?e.legendAlign:"center",l,h,u,d,c;switch(h=parseFloat(i)<=r?parseFloat(i):r,h=parseFloat(h)>=o?parseFloat(h):o,l=(r-o)/100,h=Math.round((h-o)/l),typeof e.color){case "string":u=e.color;break;case "function":u=e.color(i);break;case "object":if(Array.isArray(e.color)){let v=100/e.color.length,b=Math.floor(h/v);b=Math.min(b,e.color.length-1),b=Math.max(b,0),u=e.color[b];break}default:u="#2DC214";}switch(typeof e.legend){case "string":d=e.legend;break;case "function":d=e.legend(i);break;case "boolean":d=i;break;default:d=false;}switch(typeof e.legendColor){case "string":c=e.legendColor;break;case "function":c=e.legendColor(i);break;case "object":if(Array.isArray(e.legendColor)){let v=100/e.legendColor.length,b=Math.floor(h/v);b=Math.min(b,e.legendColor.length-1),b=Math.max(b,0),c=e.legendColor[b];}break;default:c="#000";}s.style.minWidth="30px",s.style.position="relative",s.setAttribute("aria-label",h);var f=document.createElement("div");f.style.display="inline-block",f.style.width=h+"%",f.style.backgroundColor=u,f.style.height="100%",f.setAttribute("data-max",r),f.setAttribute("data-min",o);var m=document.createElement("div");if(m.style.position="relative",m.style.width="100%",m.style.height="100%",d){var p=document.createElement("div");p.style.position="absolute",p.style.top=0,p.style.left=0,p.style.textAlign=a,p.style.width="100%",p.style.color=c,p.innerHTML=d;}return t(function(){if(!(n instanceof _e)){var v=document.createElement("div");v.style.position="absolute",v.style.top="4px",v.style.bottom="4px",v.style.left="4px",v.style.right="4px",s.appendChild(v),s=v;}s.appendChild(m),m.appendChild(f),d&&m.appendChild(p);}),""}function ls(n,e,t){return n.getElement().style.backgroundColor=this.sanitizeHTML(n.getValue()),""}function ns(n,e,t){return '<svg enable-background="new 0 0 24 24" height="14" width="14" viewBox="0 0 24 24" xml:space="preserve" ><path fill="#2DC214" clip-rule="evenodd" d="M21.652,3.211c-0.293-0.295-0.77-0.295-1.061,0L9.41,14.34 c-0.293,0.297-0.771,0.297-1.062,0L3.449,9.351C3.304,9.203,3.114,9.13,2.923,9.129C2.73,9.128,2.534,9.201,2.387,9.351 l-2.165,1.946C0.078,11.445,0,11.63,0,11.823c0,0.194,0.078,0.397,0.223,0.544l4.94,5.184c0.292,0.296,0.771,0.776,1.062,1.07 l2.124,2.141c0.292,0.293,0.769,0.293,1.062,0l14.366-14.34c0.293-0.294,0.293-0.777,0-1.071L21.652,3.211z" fill-rule="evenodd"/></svg>'}function hs(n,e,t){return '<svg enable-background="new 0 0 24 24" height="14" width="14" viewBox="0 0 24 24" xml:space="preserve" ><path fill="#CE1515" d="M22.245,4.015c0.313,0.313,0.313,0.826,0,1.139l-6.276,6.27c-0.313,0.312-0.313,0.826,0,1.14l6.273,6.272 c0.313,0.313,0.313,0.826,0,1.14l-2.285,2.277c-0.314,0.312-0.828,0.312-1.142,0l-6.271-6.271c-0.313-0.313-0.828-0.313-1.141,0 l-6.276,6.267c-0.313,0.313-0.828,0.313-1.141,0l-2.282-2.28c-0.313-0.313-0.313-0.826,0-1.14l6.278-6.269 c0.313-0.312,0.313-0.826,0-1.14L1.709,5.147c-0.314-0.313-0.314-0.827,0-1.14l2.284-2.278C4.308,1.417,4.821,1.417,5.135,1.73 L11.405,8c0.314,0.314,0.828,0.314,1.141,0.001l6.276-6.267c0.312-0.312,0.826-0.312,1.141,0L22.245,4.015z"/></svg>'}function us(n,e,t){var i=document.createElement("span"),s=n.getRow(),r=n.getTable();return s.watchPosition(o=>{e.relativeToPage&&(o+=r.modules.page.getPageSize()*(r.modules.page.getPage()-1)),i.innerText=o;}),i}function ds(n,e,t){return n.getElement().classList.add("tabulator-row-handle"),"<div class='tabulator-row-handle-box'><div class='tabulator-row-handle-bar'></div><div class='tabulator-row-handle-bar'></div><div class='tabulator-row-handle-bar'></div></div>"}function cs(n,e,t){var i=document.createElement("div"),s=n.getRow()._row.modules.responsiveLayout;i.classList.add("tabulator-responsive-collapse-toggle"),i.innerHTML=`<svg class='tabulator-responsive-collapse-toggle-open' viewbox="0 0 24 24">
7
- <line x1="7" y1="12" x2="17" y2="12" fill="none" stroke-width="3" stroke-linecap="round" />
8
- <line y1="7" x1="12" y2="17" x2="12" fill="none" stroke-width="3" stroke-linecap="round" />
9
- </svg>
10
-
11
- <svg class='tabulator-responsive-collapse-toggle-close' viewbox="0 0 24 24">
12
- <line x1="7" y1="12" x2="17" y2="12" fill="none" stroke-width="3" stroke-linecap="round" />
13
- </svg>`,n.getElement().classList.add("tabulator-row-handle");function r(o){var a=s.element;s.open=o,a&&(s.open?(i.classList.add("open"),a.style.display=""):(i.classList.remove("open"),a.style.display="none"));}return i.addEventListener("click",function(o){o.stopImmediatePropagation(),r(!s.open),n.getTable().rowManager.adjustTableSize();}),r(s.open),i}function fs(n,e,t){var i=document.createElement("input"),s=false;if(i.type="checkbox",i.setAttribute("aria-label","Select Row"),this.table.modExists("selectRow",true))if(i.addEventListener("click",o=>{o.stopPropagation();}),typeof n.getRow=="function"){var r=n.getRow();r instanceof le?(i.addEventListener("change",o=>{this.table.options.selectableRowsRangeMode==="click"&&s?s=false:r.toggleSelect();}),this.table.options.selectableRowsRangeMode==="click"&&i.addEventListener("click",o=>{s=true,this.table.modules.selectRow.handleComplexRowClick(r._row,o);}),i.checked=r.isSelected&&r.isSelected(),this.table.modules.selectRow.registerRowSelectCheckbox(r,i)):i="";}else i.addEventListener("change",o=>{this.table.modules.selectRow.selectedRows.length?this.table.deselectRow():this.table.selectRow(e.rowRange);}),this.table.modules.selectRow.registerHeaderSelectCheckbox(i);return i}var ps={plaintext:Xi,html:Ki,textarea:qi,money:$i,link:Zi,image:Qi,tickCross:es,datetime:ts,datetimediff:is,lookup:ss,star:rs,traffic:os,progress:as,color:ls,buttonTick:ns,buttonCross:hs,rownum:us,handle:ds,responsiveCollapse:cs,rowSelection:fs},Ee=class n extends C{constructor(e){super(e),this.registerColumnOption("formatter"),this.registerColumnOption("formatterParams"),this.registerColumnOption("formatterPrint"),this.registerColumnOption("formatterPrintParams"),this.registerColumnOption("formatterClipboard"),this.registerColumnOption("formatterClipboardParams"),this.registerColumnOption("formatterHtmlOutput"),this.registerColumnOption("formatterHtmlOutputParams"),this.registerColumnOption("titleFormatter"),this.registerColumnOption("titleFormatterParams");}initialize(){this.subscribe("cell-format",this.formatValue.bind(this)),this.subscribe("cell-rendered",this.cellRendered.bind(this)),this.subscribe("column-layout",this.initializeColumn.bind(this)),this.subscribe("column-format",this.formatHeader.bind(this));}initializeColumn(e){e.modules.format=this.lookupFormatter(e,""),typeof e.definition.formatterPrint!="undefined"&&(e.modules.format.print=this.lookupFormatter(e,"Print")),typeof e.definition.formatterClipboard!="undefined"&&(e.modules.format.clipboard=this.lookupFormatter(e,"Clipboard")),typeof e.definition.formatterHtmlOutput!="undefined"&&(e.modules.format.htmlOutput=this.lookupFormatter(e,"HtmlOutput"));}lookupFormatter(e,t){var i={params:e.definition["formatter"+t+"Params"]||{}},s=e.definition["formatter"+t];switch(typeof s){case "string":n.formatters[s]?i.formatter=n.formatters[s]:i.formatter=n.formatters.plaintext;break;case "function":i.formatter=s;break;default:i.formatter=n.formatters.plaintext;break}return i}cellRendered(e){e.modules.format&&e.modules.format.renderedCallback&&!e.modules.format.rendered&&(e.modules.format.renderedCallback(),e.modules.format.rendered=true);}formatHeader(e,t,i){var s,r,o,a;return e.definition.titleFormatter?(s=this.getFormatter(e.definition.titleFormatter),o=l=>{e.titleFormatterRendered=l;},a={getValue:function(){return t},getElement:function(){return i},getType:function(){return "header"},getColumn:function(){return e.getComponent()},getTable:()=>this.table},r=e.definition.titleFormatterParams||{},r=typeof r=="function"?r():r,s.call(this,a,r,o)):t}formatValue(e){var t=e.getComponent(),i=typeof e.column.modules.format.params=="function"?e.column.modules.format.params(t):e.column.modules.format.params;function s(r){e.modules.format||(e.modules.format={}),e.modules.format.renderedCallback=r,e.modules.format.rendered=false;}return e.column.modules.format.formatter.call(this,t,i,s)}formatExportValue(e,t){var i=e.column.modules.format[t],s;if(i){let r=function(o){e.modules.format||(e.modules.format={}),e.modules.format.renderedCallback=o,e.modules.format.rendered=false;};return s=typeof i.params=="function"?i.params(e.getComponent()):i.params,i.formatter.call(this,e.getComponent(),s,r)}else return this.formatValue(e)}sanitizeHTML(e){if(e){var t={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"};return String(e).replace(/[&<>"'`=/]/g,function(i){return t[i]})}else return e}emptyToSpace(e){return e===null||typeof e=="undefined"||e===""?"&nbsp;":e}getFormatter(e){switch(typeof e){case "string":n.formatters[e]?e=n.formatters[e]:e=n.formatters.plaintext;break;case "function":break;default:e=n.formatters.plaintext;break}return e}};Ee.moduleName="format";Ee.formatters=ps;var We=class extends C{constructor(e){super(e),this.leftColumns=[],this.rightColumns=[],this.initializationMode="left",this.active=false,this.blocked=true,this.registerColumnOption("frozen");}reset(){this.initializationMode="left",this.leftColumns=[],this.rightColumns=[],this.active=false;}initialize(){this.subscribe("cell-layout",this.layoutCell.bind(this)),this.subscribe("column-init",this.initializeColumn.bind(this)),this.subscribe("column-width",this.layout.bind(this)),this.subscribe("row-layout-after",this.layoutRow.bind(this)),this.subscribe("table-layout",this.layout.bind(this)),this.subscribe("columns-loading",this.reset.bind(this)),this.subscribe("column-add",this.reinitializeColumns.bind(this)),this.subscribe("column-deleted",this.reinitializeColumns.bind(this)),this.subscribe("column-hide",this.reinitializeColumns.bind(this)),this.subscribe("column-show",this.reinitializeColumns.bind(this)),this.subscribe("columns-loaded",this.reinitializeColumns.bind(this)),this.subscribe("table-redraw",this.layout.bind(this)),this.subscribe("layout-refreshing",this.blockLayout.bind(this)),this.subscribe("layout-refreshed",this.unblockLayout.bind(this)),this.subscribe("scrollbar-vertical",this.adjustForScrollbar.bind(this));}blockLayout(){this.blocked=true;}unblockLayout(){this.blocked=false;}layoutCell(e){this.layoutElement(e.element,e.column);}reinitializeColumns(){this.reset(),this.table.columnManager.columnsByIndex.forEach(e=>{this.initializeColumn(e);}),this.layout();}initializeColumn(e){var t={margin:0,edge:false};e.isGroup||(this.frozenCheck(e)?(t.position=this.initializationMode,this.initializationMode=="left"?this.leftColumns.push(e):this.rightColumns.unshift(e),this.active=true,e.modules.frozen=t):this.initializationMode="right");}frozenCheck(e){return e.parent.isGroup&&e.definition.frozen,e.parent.isGroup?this.frozenCheck(e.parent):e.definition.frozen}layoutCalcRows(){this.table.modExists("columnCalcs")&&(this.table.modules.columnCalcs.topInitialized&&this.table.modules.columnCalcs.topRow&&this.layoutRow(this.table.modules.columnCalcs.topRow),this.table.modules.columnCalcs.botInitialized&&this.table.modules.columnCalcs.botRow&&this.layoutRow(this.table.modules.columnCalcs.botRow),this.table.modExists("groupRows")&&this.layoutGroupCalcs(this.table.modules.groupRows.getGroups()));}layoutGroupCalcs(e){e.forEach(t=>{t.calcs.top&&this.layoutRow(t.calcs.top),t.calcs.bottom&&this.layoutRow(t.calcs.bottom),t.groupList&&t.groupList.length&&this.layoutGroupCalcs(t.groupList);});}layoutColumnPosition(e){var t=[],i=0,s=0;this.leftColumns.forEach((r,o)=>{if(r.modules.frozen.marginValue=i,r.modules.frozen.margin=r.modules.frozen.marginValue+"px",r.visible&&(i+=r.getWidth()),o==this.leftColumns.length-1?r.modules.frozen.edge=true:r.modules.frozen.edge=false,r.parent.isGroup){var a=this.getColGroupParentElement(r);t.includes(a)||(this.layoutElement(a,r),t.push(a)),a.classList.toggle("tabulator-frozen-left",r.modules.frozen.edge&&r.modules.frozen.position==="left"),a.classList.toggle("tabulator-frozen-right",r.modules.frozen.edge&&r.modules.frozen.position==="right");}else this.layoutElement(r.getElement(),r);e&&r.cells.forEach(l=>{this.layoutElement(l.getElement(true),r);});}),this.rightColumns.forEach((r,o)=>{r.modules.frozen.marginValue=s,r.modules.frozen.margin=r.modules.frozen.marginValue+"px",r.visible&&(s+=r.getWidth()),o==this.rightColumns.length-1?r.modules.frozen.edge=true:r.modules.frozen.edge=false,r.parent.isGroup?this.layoutElement(this.getColGroupParentElement(r),r):this.layoutElement(r.getElement(),r),e&&r.cells.forEach(a=>{this.layoutElement(a.getElement(true),r);});});}getColGroupParentElement(e){return e.parent.isGroup?this.getColGroupParentElement(e.parent):e.getElement()}layout(){this.active&&!this.blocked&&(this.layoutColumnPosition(),this.reinitializeRows(),this.layoutCalcRows());}reinitializeRows(){var e=this.table.rowManager.getVisibleRows(true),t=this.table.rowManager.getRows().filter(i=>!e.includes(i));t.forEach(i=>{i.deinitialize();}),e.forEach(i=>{i.type==="row"&&this.layoutRow(i);});}layoutRow(e){this.table.options.layout==="fitDataFill"&&this.rightColumns.length&&(this.table.rowManager.getTableElement().style.minWidth="calc(100% - "+this.rightMargin+")"),this.leftColumns.forEach(t=>{var i=e.getCell(t);i&&this.layoutElement(i.getElement(true),t);}),this.rightColumns.forEach(t=>{var i=e.getCell(t);i&&this.layoutElement(i.getElement(true),t);});}layoutElement(e,t){var i;t.modules.frozen&&e&&(e.style.position="sticky",this.table.rtl?i=t.modules.frozen.position==="left"?"right":"left":i=t.modules.frozen.position,e.style[i]=t.modules.frozen.margin,e.classList.add("tabulator-frozen"),e.classList.toggle("tabulator-frozen-left",t.modules.frozen.edge&&t.modules.frozen.position==="left"),e.classList.toggle("tabulator-frozen-right",t.modules.frozen.edge&&t.modules.frozen.position==="right"));}adjustForScrollbar(e){this.rightColumns.length&&(this.table.columnManager.getContentsElement().style.width="calc(100% - "+e+"px)");}_calcSpace(e,t){var i=0;for(let s=0;s<t;s++)e[s].visible&&(i+=e[s].getWidth());return i}};We.moduleName="frozenColumns";var je=class extends C{constructor(e){super(e),this.topElement=document.createElement("div"),this.rows=[],this.registerComponentFunction("row","freeze",this.freezeRow.bind(this)),this.registerComponentFunction("row","unfreeze",this.unfreezeRow.bind(this)),this.registerComponentFunction("row","isFrozen",this.isRowFrozen.bind(this)),this.registerTableOption("frozenRowsField","id"),this.registerTableOption("frozenRows",false);}initialize(){var e=document.createDocumentFragment();this.rows=[],this.topElement.classList.add("tabulator-frozen-rows-holder"),e.appendChild(document.createElement("br")),e.appendChild(this.topElement),this.table.columnManager.getContentsElement().insertBefore(e,this.table.columnManager.headersElement.nextSibling),this.subscribe("row-deleting",this.detachRow.bind(this)),this.subscribe("rows-visible",this.visibleRows.bind(this)),this.registerDisplayHandler(this.getRows.bind(this),10),this.table.options.frozenRows&&(this.subscribe("data-processed",this.initializeRows.bind(this)),this.subscribe("row-added",this.initializeRow.bind(this)),this.subscribe("table-redrawing",this.resizeHolderWidth.bind(this)),this.subscribe("column-resized",this.resizeHolderWidth.bind(this)),this.subscribe("column-show",this.resizeHolderWidth.bind(this)),this.subscribe("column-hide",this.resizeHolderWidth.bind(this))),this.resizeHolderWidth();}resizeHolderWidth(){this.topElement.style.minWidth=this.table.columnManager.headersElement.offsetWidth+"px";}initializeRows(){this.table.rowManager.getRows().forEach(e=>{this.initializeRow(e);});}initializeRow(e){var t=this.table.options.frozenRows,i=typeof t;i==="number"?e.getPosition()&&e.getPosition()+this.rows.length<=t&&this.freezeRow(e):i==="function"?t.call(this.table,e.getComponent())&&this.freezeRow(e):Array.isArray(t)&&t.includes(e.data[this.options("frozenRowsField")])&&this.freezeRow(e);}isRowFrozen(e){var t=this.rows.indexOf(e);return t>-1}isFrozen(){return !!this.rows.length}visibleRows(e,t){return this.rows.forEach(i=>{t.push(i);}),t}getRows(e){var t=e.slice(0);return this.rows.forEach(function(i){var s=t.indexOf(i);s>-1&&t.splice(s,1);}),t}freezeRow(e){e.modules.frozen||(e.modules.frozen=true,this.topElement.appendChild(e.getElement()),e.initialize(),e.normalizeHeight(),this.rows.push(e),this.refreshData(false,"display"),this.table.rowManager.adjustTableSize(),this.styleRows());}unfreezeRow(e){e.modules.frozen&&(e.modules.frozen=false,this.detachRow(e),this.table.rowManager.adjustTableSize(),this.refreshData(false,"display"),this.rows.length&&this.styleRows());}detachRow(e){var t=this.rows.indexOf(e);if(t>-1){var i=e.getElement();i.parentNode&&i.parentNode.removeChild(i),this.rows.splice(t,1);}}styleRows(e){this.rows.forEach((t,i)=>{this.table.rowManager.styleRow(t,i);});}};je.moduleName="frozenRows";var Ct=class{constructor(e){return this._group=e,this.type="GroupComponent",new Proxy(this,{get:function(t,i,s){return typeof t[i]!="undefined"?t[i]:t._group.groupManager.table.componentFunctionBinder.handle("group",t._group,i)}})}getKey(){return this._group.key}getField(){return this._group.field}getElement(){return this._group.element}getRows(){return this._group.getRows(true)}getSubGroups(){return this._group.getSubGroups(true)}getParentGroup(){return this._group.parent?this._group.parent.getComponent():false}isVisible(){return this._group.visible}show(){this._group.show();}hide(){this._group.hide();}toggle(){this._group.toggleVisibility();}scrollTo(e,t){return this._group.groupManager.table.rowManager.scrollToRow(this._group,e,t)}_getSelf(){return this._group}getTable(){return this._group.groupManager.table}},oe=class n{constructor(e,t,i,s,r,o,a){this.groupManager=e,this.parent=t,this.key=s,this.level=i,this.field=r,this.hasSubGroups=i<e.groupIDLookups.length-1,this.addRow=this.hasSubGroups?this._addRowToGroup:this._addRow,this.type="group",this.old=a,this.rows=[],this.groups=[],this.groupList=[],this.generator=o,this.element=false,this.elementContents=false,this.height=0,this.outerHeight=0,this.initialized=false,this.calcs={},this.initialized=false,this.modules={},this.arrowElement=false,this.visible=a?a.visible:typeof e.startOpen[i]!="undefined"?e.startOpen[i]:e.startOpen[0],this.component=null,this.createElements(),this.addBindings(),this.createValueGroups();}wipe(e){e||(this.groupList.length?this.groupList.forEach(function(t){t.wipe();}):this.rows.forEach(t=>{t.modules&&delete t.modules.group;})),this.element=false,this.arrowElement=false,this.elementContents=false;}createElements(){var e=document.createElement("div");e.classList.add("tabulator-arrow"),this.element=document.createElement("div"),this.element.classList.add("tabulator-row"),this.element.classList.add("tabulator-group"),this.element.classList.add("tabulator-group-level-"+this.level),this.element.setAttribute("role","rowgroup"),this.arrowElement=document.createElement("div"),this.arrowElement.classList.add("tabulator-group-toggle"),this.arrowElement.appendChild(e),this.groupManager.table.options.movableRows!==false&&this.groupManager.table.modExists("moveRow")&&this.groupManager.table.modules.moveRow.initializeGroupHeader(this);}createValueGroups(){var e=this.level+1;this.groupManager.allowedValues&&this.groupManager.allowedValues[e]&&this.groupManager.allowedValues[e].forEach(t=>{this._createGroup(t,e);});}addBindings(){var e;this.groupManager.table.options.groupToggleElement&&(e=this.groupManager.table.options.groupToggleElement=="arrow"?this.arrowElement:this.element,e.addEventListener("click",t=>{this.groupManager.table.options.groupToggleElement==="arrow"&&(t.stopPropagation(),t.stopImmediatePropagation()),setTimeout(()=>{this.toggleVisibility();});}));}_createGroup(e,t){var i=t+"_"+e,s=new n(this.groupManager,this,t,e,this.groupManager.groupIDLookups[t].field,this.groupManager.headerGenerator[t]||this.groupManager.headerGenerator[0],this.old?this.old.groups[i]:false);this.groups[i]=s,this.groupList.push(s);}_addRowToGroup(e){var t=this.level+1;if(this.hasSubGroups){var i=this.groupManager.groupIDLookups[t].func(e.getData()),s=t+"_"+i;this.groupManager.allowedValues&&this.groupManager.allowedValues[t]?this.groups[s]&&this.groups[s].addRow(e):(this.groups[s]||this._createGroup(i,t),this.groups[s].addRow(e));}}_addRow(e){this.rows.push(e),e.modules.group=this;}insertRow(e,t,i){var s=this.conformRowData({});e.updateData(s);var r=this.rows.indexOf(t);r>-1?i?this.rows.splice(r+1,0,e):this.rows.splice(r,0,e):i?this.rows.push(e):this.rows.unshift(e),e.modules.group=this,this.groupManager.table.modExists("columnCalcs")&&this.groupManager.table.options.columnCalcs!="table"&&this.groupManager.table.modules.columnCalcs.recalcGroup(this),this.groupManager.updateGroupRows(true);}scrollHeader(e){this.arrowElement&&(this.arrowElement.style.marginLeft=e,this.groupList.forEach(function(t){t.scrollHeader(e);}));}getRowIndex(e){}conformRowData(e){return this.field&&(e[this.field]=this.key),this.parent&&(e=this.parent.conformRowData(e)),e}removeRow(e){var t=this.rows.indexOf(e),i=e.getElement();t>-1&&this.rows.splice(t,1),!this.groupManager.table.options.groupValues&&!this.rows.length?(this.parent?this.parent.removeGroup(this):this.groupManager.removeGroup(this),this.groupManager.updateGroupRows(true)):(i.parentNode&&i.parentNode.removeChild(i),this.groupManager.blockRedraw||(this.generateGroupHeaderContents(),this.groupManager.table.modExists("columnCalcs")&&this.groupManager.table.options.columnCalcs!="table"&&this.groupManager.table.modules.columnCalcs.recalcGroup(this)));}removeGroup(e){var t=e.level+"_"+e.key,i;this.groups[t]&&(delete this.groups[t],i=this.groupList.indexOf(e),i>-1&&this.groupList.splice(i,1),this.groupList.length||(this.parent?this.parent.removeGroup(this):this.groupManager.removeGroup(this)));}getHeadersAndRows(){var e=[];return e.push(this),this._visSet(),this.calcs.top&&(this.calcs.top.detachElement(),this.calcs.top.deleteCells()),this.calcs.bottom&&(this.calcs.bottom.detachElement(),this.calcs.bottom.deleteCells()),this.visible?this.groupList.length?this.groupList.forEach(function(t){e=e.concat(t.getHeadersAndRows());}):(this.groupManager.table.options.columnCalcs!="table"&&this.groupManager.table.modExists("columnCalcs")&&this.groupManager.table.modules.columnCalcs.hasTopCalcs()&&(this.calcs.top=this.groupManager.table.modules.columnCalcs.generateTopRow(this.rows),e.push(this.calcs.top)),e=e.concat(this.rows),this.groupManager.table.options.columnCalcs!="table"&&this.groupManager.table.modExists("columnCalcs")&&this.groupManager.table.modules.columnCalcs.hasBottomCalcs()&&(this.calcs.bottom=this.groupManager.table.modules.columnCalcs.generateBottomRow(this.rows),e.push(this.calcs.bottom))):!this.groupList.length&&this.groupManager.table.options.columnCalcs!="table"&&this.groupManager.table.modExists("columnCalcs")&&(this.groupManager.table.modules.columnCalcs.hasTopCalcs()&&this.groupManager.table.options.groupClosedShowCalcs&&(this.calcs.top=this.groupManager.table.modules.columnCalcs.generateTopRow(this.rows),e.push(this.calcs.top)),this.groupManager.table.modules.columnCalcs.hasBottomCalcs()&&this.groupManager.table.options.groupClosedShowCalcs&&(this.calcs.bottom=this.groupManager.table.modules.columnCalcs.generateBottomRow(this.rows),e.push(this.calcs.bottom))),e}getData(e,t){var i=[];return this._visSet(),(!e||e&&this.visible)&&this.rows.forEach(s=>{i.push(s.getData(t||"data"));}),i}getRowCount(){var e=0;return this.groupList.length?this.groupList.forEach(t=>{e+=t.getRowCount();}):e=this.rows.length,e}toggleVisibility(){this.visible?this.hide():this.show();}hide(){this.visible=false,this.groupManager.table.rowManager.getRenderMode()=="basic"&&!this.groupManager.table.options.pagination?(this.element.classList.remove("tabulator-group-visible"),this.groupList.length?this.groupList.forEach(e=>{var t=e.getHeadersAndRows();t.forEach(i=>{i.detachElement();});}):this.rows.forEach(e=>{var t=e.getElement();t.parentNode.removeChild(t);}),this.groupManager.updateGroupRows(true)):this.groupManager.updateGroupRows(true),this.groupManager.table.externalEvents.dispatch("groupVisibilityChanged",this.getComponent(),false);}show(){if(this.visible=true,this.groupManager.table.rowManager.getRenderMode()=="basic"&&!this.groupManager.table.options.pagination){this.element.classList.add("tabulator-group-visible");var e=this.generateElement();this.groupList.length?this.groupList.forEach(t=>{var i=t.getHeadersAndRows();i.forEach(s=>{var r=s.getElement();e.parentNode.insertBefore(r,e.nextSibling),s.initialize(),e=r;});}):this.rows.forEach(t=>{var i=t.getElement();e.parentNode.insertBefore(i,e.nextSibling),t.initialize(),e=i;}),this.groupManager.updateGroupRows(true);}else this.groupManager.updateGroupRows(true);this.groupManager.table.externalEvents.dispatch("groupVisibilityChanged",this.getComponent(),true);}_visSet(){var e=[];typeof this.visible=="function"&&(this.rows.forEach(function(t){e.push(t.getData());}),this.visible=this.visible(this.key,this.getRowCount(),e,this.getComponent()));}getRowGroup(e){var t=false;return this.groupList.length?this.groupList.forEach(function(i){var s=i.getRowGroup(e);s&&(t=s);}):this.rows.find(function(i){return i===e})&&(t=this),t}getSubGroups(e){var t=[];return this.groupList.forEach(function(i){t.push(e?i.getComponent():i);}),t}getRows(e,t){var i=[];return t&&this.groupList.length?this.groupList.forEach(s=>{i=i.concat(s.getRows(e,t));}):this.rows.forEach(function(s){i.push(e?s.getComponent():s);}),i}generateGroupHeaderContents(){var e=[],t=this.getRows(false,true);for(t.forEach(function(i){e.push(i.getData());}),this.elementContents=this.generator(this.key,this.getRowCount(),e,this.getComponent());this.element.firstChild;)this.element.removeChild(this.element.firstChild);typeof this.elementContents=="string"?this.element.innerHTML=this.elementContents:this.element.appendChild(this.elementContents),this.element.insertBefore(this.arrowElement,this.element.firstChild);}getPath(e=[]){return e.unshift(this.key),this.parent&&this.parent.getPath(e),e}getElement(){return this.elementContents?this.element:this.generateElement()}generateElement(){this.addBindings=false,this._visSet(),this.visible?this.element.classList.add("tabulator-group-visible"):this.element.classList.remove("tabulator-group-visible");for(var e=0;e<this.element.childNodes.length;++e)this.element.childNodes[e].parentNode.removeChild(this.element.childNodes[e]);return this.generateGroupHeaderContents(),this.element}detachElement(){this.element&&this.element.parentNode&&this.element.parentNode.removeChild(this.element);}normalizeHeight(){this.setHeight(this.element.clientHeight);}initialize(e){(!this.initialized||e)&&(this.normalizeHeight(),this.initialized=true);}reinitialize(){this.initialized=false,this.height=0,T.elVisible(this.element)&&this.initialize(true);}setHeight(e){this.height!=e&&(this.height=e,this.outerHeight=this.element.offsetHeight);}getHeight(){return this.outerHeight}getGroup(){return this}reinitializeHeight(){}calcHeight(){}setCellHeight(){}clearCellHeight(){}deinitializeHeight(){}rendered(){}getComponent(){return this.component||(this.component=new Ct(this)),this.component}},Ge=class extends C{constructor(e){super(e),this.groupIDLookups=false,this.startOpen=[function(){return false}],this.headerGenerator=[function(){return ""}],this.groupList=[],this.allowedValues=false,this.groups={},this.displayHandler=this.getRows.bind(this),this.blockRedraw=false,this.registerTableOption("groupBy",false),this.registerTableOption("groupStartOpen",true),this.registerTableOption("groupValues",false),this.registerTableOption("groupUpdateOnCellEdit",false),this.registerTableOption("groupHeader",false),this.registerTableOption("groupHeaderPrint",null),this.registerTableOption("groupHeaderClipboard",null),this.registerTableOption("groupHeaderHtmlOutput",null),this.registerTableOption("groupHeaderDownload",null),this.registerTableOption("groupToggleElement","arrow"),this.registerTableOption("groupClosedShowCalcs",false),this.registerTableFunction("setGroupBy",this.setGroupBy.bind(this)),this.registerTableFunction("setGroupValues",this.setGroupValues.bind(this)),this.registerTableFunction("setGroupStartOpen",this.setGroupStartOpen.bind(this)),this.registerTableFunction("setGroupHeader",this.setGroupHeader.bind(this)),this.registerTableFunction("getGroups",this.userGetGroups.bind(this)),this.registerTableFunction("getGroupedData",this.userGetGroupedData.bind(this)),this.registerComponentFunction("row","getGroup",this.rowGetGroup.bind(this));}initialize(){this.subscribe("table-destroy",this._blockRedrawing.bind(this)),this.subscribe("rows-wipe",this._blockRedrawing.bind(this)),this.subscribe("rows-wiped",this._restore_redrawing.bind(this)),this.table.options.groupBy&&(this.table.options.groupUpdateOnCellEdit&&(this.subscribe("cell-value-updated",this.cellUpdated.bind(this)),this.subscribe("row-data-changed",this.reassignRowToGroup.bind(this),0)),this.subscribe("table-built",this.configureGroupSetup.bind(this)),this.subscribe("row-deleting",this.rowDeleting.bind(this)),this.subscribe("row-deleted",this.rowsUpdated.bind(this)),this.subscribe("scroll-horizontal",this.scrollHeaders.bind(this)),this.subscribe("rows-wipe",this.wipe.bind(this)),this.subscribe("rows-added",this.rowsUpdated.bind(this)),this.subscribe("row-moving",this.rowMoving.bind(this)),this.subscribe("row-adding-index",this.rowAddingIndex.bind(this)),this.subscribe("rows-sample",this.rowSample.bind(this)),this.subscribe("render-virtual-fill",this.virtualRenderFill.bind(this)),this.registerDisplayHandler(this.displayHandler,20),this.initialized=true);}_blockRedrawing(){this.blockRedraw=true;}_restore_redrawing(){this.blockRedraw=false;}configureGroupSetup(){if(this.table.options.groupBy){var e=this.table.options.groupBy,t=this.table.options.groupStartOpen,i=this.table.options.groupHeader;if(this.allowedValues=this.table.options.groupValues,Array.isArray(e)&&Array.isArray(i)&&e.length>i.length,this.headerGenerator=[function(){return ""}],this.startOpen=[function(){return false}],this.langBind("groups|item",(r,o)=>{this.headerGenerator[0]=(a,l,h)=>(typeof a=="undefined"?"":a)+"<span>("+l+" "+(l===1?r:o.groups.items)+")</span>";}),this.groupIDLookups=[],e)this.table.modExists("columnCalcs")&&this.table.options.columnCalcs!="table"&&this.table.options.columnCalcs!="both"&&this.table.modules.columnCalcs.removeCalcs();else if(this.table.modExists("columnCalcs")&&this.table.options.columnCalcs!="group"){var s=this.table.columnManager.getRealColumns();s.forEach(r=>{r.definition.topCalc&&this.table.modules.columnCalcs.initializeTopRow(),r.definition.bottomCalc&&this.table.modules.columnCalcs.initializeBottomRow();});}Array.isArray(e)||(e=[e]),e.forEach((r,o)=>{var a,l;typeof r=="function"?a=r:(l=this.table.columnManager.getColumnByField(r),l?a=function(h){return l.getFieldValue(h)}:a=function(h){return h[r]}),this.groupIDLookups.push({field:typeof r=="function"?false:r,func:a,values:this.allowedValues?this.allowedValues[o]:false});}),t&&(Array.isArray(t)||(t=[t]),t.forEach(r=>{}),this.startOpen=t),i&&(this.headerGenerator=Array.isArray(i)?i:[i]);}else this.groupList=[],this.groups={};}rowSample(e,t){if(this.table.options.groupBy){var i=this.getGroups(false)[0];t.push(i.getRows(false)[0]);}return t}virtualRenderFill(){var e=this.table.rowManager.tableElement,t=this.table.rowManager.getVisibleRows();if(this.table.options.groupBy)t=t.filter(i=>i.type!=="group"),e.style.minWidth=t.length?"":this.table.columnManager.getWidth()+"px";else return t}rowAddingIndex(e,t,i){if(this.table.options.groupBy){this.assignRowToGroup(e);var s=e.modules.group.rows;return s.length>1&&(!t||t&&s.indexOf(t)==-1?i?s[0]!==e&&(t=s[0],this.table.rowManager.moveRowInArray(e.modules.group.rows,e,t,!i)):s[s.length-1]!==e&&(t=s[s.length-1],this.table.rowManager.moveRowInArray(e.modules.group.rows,e,t,!i)):this.table.rowManager.moveRowInArray(e.modules.group.rows,e,t,!i)),t}}trackChanges(){this.dispatch("group-changed");}setGroupBy(e){this.table.options.groupBy=e,this.initialized||this.initialize(),this.configureGroupSetup(),!e&&this.table.modExists("columnCalcs")&&this.table.options.columnCalcs===true&&this.table.modules.columnCalcs.reinitializeCalcs(),this.refreshData(),this.trackChanges();}setGroupValues(e){this.table.options.groupValues=e,this.configureGroupSetup(),this.refreshData(),this.trackChanges();}setGroupStartOpen(e){this.table.options.groupStartOpen=e,this.configureGroupSetup(),this.table.options.groupBy&&(this.refreshData(),this.trackChanges());}setGroupHeader(e){this.table.options.groupHeader=e,this.configureGroupSetup(),this.table.options.groupBy&&(this.refreshData(),this.trackChanges());}userGetGroups(e){return this.getGroups(true)}userGetGroupedData(){return this.table.options.groupBy?this.getGroupedData():this.getData()}rowGetGroup(e){return e.modules.group?e.modules.group.getComponent():false}rowMoving(e,t,i){if(this.table.options.groupBy){!i&&t instanceof oe&&(t=this.table.rowManager.prevDisplayRow(e)||t);var s=t instanceof oe?t:t.modules.group,r=e instanceof oe?e:e.modules.group;s===r?this.table.rowManager.moveRowInArray(s.rows,e,t,i):(r&&r.removeRow(e),s.insertRow(e,t,i));}}rowDeleting(e){this.table.options.groupBy&&e.modules.group&&e.modules.group.removeRow(e);}rowsUpdated(e){this.table.options.groupBy&&this.updateGroupRows(true);}cellUpdated(e){this.table.options.groupBy&&this.reassignRowToGroup(e.row);}getRows(e){return this.table.options.groupBy&&this.groupIDLookups.length?(this.dispatchExternal("dataGrouping"),this.generateGroups(e),this.subscribedExternal("dataGrouped")&&this.dispatchExternal("dataGrouped",this.getGroups(true)),this.updateGroupRows()):e.slice(0)}getGroups(e){var t=[];return this.groupList.forEach(function(i){t.push(e?i.getComponent():i);}),t}getChildGroups(e){var t=[];return e||(e=this),e.groupList.forEach(i=>{i.groupList.length?t=t.concat(this.getChildGroups(i)):t.push(i);}),t}wipe(){this.table.options.groupBy&&(this.groupList.forEach(function(e){e.wipe();}),this.groupList=[],this.groups={});}pullGroupListData(e){var t=[];return e.forEach(i=>{var s={};s.level=0,s.rowCount=0,s.headerContent="";var r=[];i.hasSubGroups?(r=this.pullGroupListData(i.groupList),s.level=i.level,s.rowCount=r.length-i.groupList.length,s.headerContent=i.generator(i.key,s.rowCount,i.rows,i),t.push(s),t=t.concat(r)):(s.level=i.level,s.headerContent=i.generator(i.key,i.rows.length,i.rows,i),s.rowCount=i.getRows().length,t.push(s),i.getRows().forEach(o=>{t.push(o.getData("data"));}));}),t}getGroupedData(){return this.pullGroupListData(this.groupList)}getRowGroup(e){var t=false;return this.options("dataTree")&&(e=this.table.modules.dataTree.getTreeParentRoot(e)),this.groupList.forEach(i=>{var s=i.getRowGroup(e);s&&(t=s);}),t}countGroups(){return this.groupList.length}generateGroups(e){var t=this.groups;this.groups={},this.groupList=[],this.allowedValues&&this.allowedValues[0]?(this.allowedValues[0].forEach(i=>{this.createGroup(i,0,t);}),e.forEach(i=>{this.assignRowToExistingGroup(i,t);})):e.forEach(i=>{this.assignRowToGroup(i,t);}),Object.values(t).forEach(i=>{i.wipe(true);});}createGroup(e,t,i){var s=t+"_"+e,r;i=i||[],r=new oe(this,false,t,e,this.groupIDLookups[0].field,this.headerGenerator[0],i[s]),this.groups[s]=r,this.groupList.push(r);}assignRowToExistingGroup(e,t){var i=this.groupIDLookups[0].func(e.getData()),s="0_"+i;this.groups[s]&&this.groups[s].addRow(e);}assignRowToGroup(e,t){var i=this.groupIDLookups[0].func(e.getData()),s=!this.groups["0_"+i];return s&&this.createGroup(i,0,t),this.groups["0_"+i].addRow(e),!s}reassignRowToGroup(e){if(e.type==="row"){var t=e.modules.group,i=t.getPath(),s=this.getExpectedPath(e),r;r=i.length==s.length&&i.every((o,a)=>o===s[a]),r||(t.removeRow(e),this.assignRowToGroup(e,this.groups),this.refreshData(true));}}getExpectedPath(e){var t=[],i=e.getData();return this.groupIDLookups.forEach(s=>{t.push(s.func(i));}),t}updateGroupRows(e){var t=[];return this.blockRedraw||(this.groupList.forEach(i=>{t=t.concat(i.getHeadersAndRows());}),e&&this.refreshData(true)),t}scrollHeaders(e){this.table.options.groupBy&&(this.table.options.renderHorizontal==="virtual"&&(e-=this.table.columnManager.renderer.vDomPadLeft),e=e+"px",this.groupList.forEach(t=>{t.scrollHeader(e);}));}removeGroup(e){var t=e.level+"_"+e.key,i;this.groups[t]&&(delete this.groups[t],i=this.groupList.indexOf(e),i>-1&&this.groupList.splice(i,1));}checkBasicModeGroupHeaderWidth(){var e=this.table.rowManager.tableElement,t=true;this.table.rowManager.getDisplayRows().forEach((i,s)=>{this.table.rowManager.styleRow(i,s),e.appendChild(i.getElement()),i.initialize(true),i.type!=="group"&&(t=false);}),t?e.style.minWidth=this.table.columnManager.getWidth()+"px":e.style.minWidth="";}};Ge.moduleName="groupRows";var bs={cellEdit:function(n){n.component.setValueProcessData(n.data.oldValue),n.component.cellRendered();},rowAdd:function(n){n.component.deleteActual(),this.table.rowManager.checkPlaceholder();},rowDelete:function(n){var e=this.table.rowManager.addRowActual(n.data.data,n.data.pos,n.data.index);this.table.options.groupBy&&this.table.modExists("groupRows")&&this.table.modules.groupRows.updateGroupRows(true),this._rebindRow(n.component,e),this.table.rowManager.checkPlaceholder();},rowMove:function(n){var e=n.data.posFrom-n.data.posTo>0;this.table.rowManager.moveRowActual(n.component,this.table.rowManager.getRowFromPosition(n.data.posFrom),e),this.table.rowManager.regenerateRowPositions(),this.table.rowManager.reRenderInPosition();}},gs={cellEdit:function(n){n.component.setValueProcessData(n.data.newValue),n.component.cellRendered();},rowAdd:function(n){var e=this.table.rowManager.addRowActual(n.data.data,n.data.pos,n.data.index);this.table.options.groupBy&&this.table.modExists("groupRows")&&this.table.modules.groupRows.updateGroupRows(true),this._rebindRow(n.component,e),this.table.rowManager.checkPlaceholder();},rowDelete:function(n){n.component.deleteActual(),this.table.rowManager.checkPlaceholder();},rowMove:function(n){this.table.rowManager.moveRowActual(n.component,this.table.rowManager.getRowFromPosition(n.data.posTo),n.data.after),this.table.rowManager.regenerateRowPositions(),this.table.rowManager.reRenderInPosition();}},ne=class n extends C{constructor(e){super(e),this.history=[],this.index=-1,this.registerTableOption("history",false);}initialize(){this.table.options.history&&(this.subscribe("cell-value-updated",this.cellUpdated.bind(this)),this.subscribe("cell-delete",this.clearComponentHistory.bind(this)),this.subscribe("row-delete",this.rowDeleted.bind(this)),this.subscribe("rows-wipe",this.clear.bind(this)),this.subscribe("row-added",this.rowAdded.bind(this)),this.subscribe("row-move",this.rowMoved.bind(this))),this.registerTableFunction("undo",this.undo.bind(this)),this.registerTableFunction("redo",this.redo.bind(this)),this.registerTableFunction("getHistoryUndoSize",this.getHistoryUndoSize.bind(this)),this.registerTableFunction("getHistoryRedoSize",this.getHistoryRedoSize.bind(this)),this.registerTableFunction("clearHistory",this.clear.bind(this));}rowMoved(e,t,i){this.action("rowMove",e,{posFrom:e.getPosition(),posTo:t.getPosition(),to:t,after:i});}rowAdded(e,t,i,s){this.action("rowAdd",e,{data:t,pos:i,index:s});}rowDeleted(e){var t,i;this.table.options.groupBy?(i=e.getComponent().getGroup()._getSelf().rows,t=i.indexOf(e),t&&(t=i[t-1])):(t=e.table.rowManager.getRowIndex(e),t&&(t=e.table.rowManager.rows[t-1])),this.action("rowDelete",e,{data:e.getData(),pos:!t,index:t});}cellUpdated(e){this.action("cellEdit",e,{oldValue:e.oldValue,newValue:e.value});}clear(){this.history=[],this.index=-1;}action(e,t,i){this.history=this.history.slice(0,this.index+1),this.history.push({type:e,component:t,data:i}),this.index++;}getHistoryUndoSize(){return this.index+1}getHistoryRedoSize(){return this.history.length-(this.index+1)}clearComponentHistory(e){var t=this.history.findIndex(function(i){return i.component===e});t>-1&&(this.history.splice(t,1),t<=this.index&&this.index--,this.clearComponentHistory(e));}undo(){if(this.index>-1){let e=this.history[this.index];return n.undoers[e.type].call(this,e),this.index--,this.dispatchExternal("historyUndo",e.type,e.component.getComponent(),e.data),true}else return false}redo(){if(this.history.length-1>this.index){this.index++;let e=this.history[this.index];return n.redoers[e.type].call(this,e),this.dispatchExternal("historyRedo",e.type,e.component.getComponent(),e.data),true}else return false}_rebindRow(e,t){this.history.forEach(function(i){if(i.component instanceof P)i.component===e&&(i.component=t);else if(i.component instanceof Q&&i.component.row===e){var s=i.component.column.getField();s&&(i.component=t.getCell(s));}});}};ne.moduleName="history";ne.undoers=bs;ne.redoers=gs;var Ue=class extends C{constructor(e){super(e),this.fieldIndex=[],this.hasIndex=false;}initialize(){this.tableElementCheck();}tableElementCheck(){this.table.originalElement&&this.table.originalElement.tagName==="TABLE"&&this.table.originalElement.childNodes.length&&this.parseTable();}parseTable(){var e=this.table.originalElement,t=this.table.options,i=e.getElementsByTagName("th"),s=e.getElementsByTagName("tbody")[0],r=[];this.hasIndex=false,this.dispatchExternal("htmlImporting"),s=s?s.getElementsByTagName("tr"):[],this._extractOptions(e,t),i.length?this._extractHeaders(i,s):this._generateBlankHeaders(i,s);for(var o=0;o<s.length;o++){var a=s[o],l=a.getElementsByTagName("td"),h={};this.hasIndex||(h[t.index]=o);for(var u=0;u<l.length;u++){var d=l[u];typeof this.fieldIndex[u]!="undefined"&&(h[this.fieldIndex[u]]=d.innerHTML);}r.push(h);}t.data=r,this.dispatchExternal("htmlImported");}_extractOptions(e,t,i){var s=e.attributes,r=Object.keys(i||t),o={};r.forEach(u=>{o[u.toLowerCase()]=u;});for(var a in s){var l=s[a],h;l&&typeof l=="object"&&l.name&&l.name.indexOf("tabulator-")===0&&(h=l.name.replace("tabulator-",""),typeof o[h]!="undefined"&&(t[o[h]]=this._attribValue(l.value)));}}_attribValue(e){return e==="true"?true:e==="false"?false:e}_findCol(e){var t=this.table.options.columns.find(i=>i.title===e);return t||false}_extractHeaders(e,t){for(var i=0;i<e.length;i++){var s=e[i],r=false,o=this._findCol(s.textContent),a;o?r=true:o={title:s.textContent.trim()},o.field||(o.field=s.textContent.trim().toLowerCase().replaceAll(" ","_")),a=s.getAttribute("width"),a&&!o.width&&(o.width=a),this._extractOptions(s,o,this.table.columnManager.optionsList.registeredDefaults),this.fieldIndex[i]=o.field,o.field==this.table.options.index&&(this.hasIndex=true),r||this.table.options.columns.push(o);}}_generateBlankHeaders(e,t){for(var i=0;i<e.length;i++){var s=e[i],r={title:"",field:"col"+i};this.fieldIndex[i]=r.field;var o=s.getAttribute("width");o&&(r.width=o),this.table.options.columns.push(r);}}};Ue.moduleName="htmlTableImport";function ms(n){var e=[],t=0,i=0,s=false;for(let r=0;r<n.length;r++){let o=n[r],a=n[r+1];if(e[t]||(e[t]=[]),e[t][i]||(e[t][i]=""),o=='"'&&s&&a=='"'){e[t][i]+=o,r++;continue}if(o=='"'){s=!s;continue}if(o==","&&!s){i++;continue}if(o=="\r"&&a==`
14
- `&&!s){i=0,t++,r++;continue}if((o=="\r"||o==`
15
- `)&&!s){i=0,t++;continue}e[t][i]+=o;}return e}function vs(n){try{return JSON.parse(n)}catch(e){return Promise.reject()}}function ws(n){return n}var Cs={csv:ms,json:vs,array:ws},xe=class n extends C{constructor(e){super(e),this.registerTableOption("importFormat"),this.registerTableOption("importReader","text");}initialize(){this.registerTableFunction("import",this.importFromFile.bind(this)),this.table.options.importFormat&&(this.subscribe("data-loading",this.loadDataCheck.bind(this),10),this.subscribe("data-load",this.loadData.bind(this),10));}loadDataCheck(e){return this.table.options.importFormat&&(typeof e=="string"||Array.isArray(e)&&e.length&&Array.isArray(e))}loadData(e,t,i,s,r){return this.importData(this.lookupImporter(),e).then(this.structureData.bind(this)).catch(o=>Promise.reject(o))}lookupImporter(e){var t;return e||(e=this.table.options.importFormat),typeof e=="string"?t=n.importers[e]:t=e,t}importFromFile(e,t){var i=this.lookupImporter(e);if(i)return this.pickFile(t).then(this.importData.bind(this,i)).then(this.structureData.bind(this)).then(this.setData.bind(this)).catch(s=>Promise.reject(s))}pickFile(e){return new Promise((t,i)=>{var s=document.createElement("input");s.type="file",s.accept=e,s.addEventListener("change",r=>{var o=s.files[0],a=new FileReader;switch(this.table.options.importReader){case "buffer":a.readAsArrayBuffer(o);break;case "binary":a.readAsBinaryString(o);break;case "url":a.readAsDataURL(o);break;case "text":default:a.readAsText(o);}a.onload=l=>{t(a.result);},a.onerror=l=>{i();};}),s.click();})}importData(e,t){var i=e.call(this.table,t);return i instanceof Promise?i:i?Promise.resolve(i):Promise.reject()}structureData(e){var t=[];return Array.isArray(e)&&e.length&&Array.isArray(e[0])?(this.table.options.autoColumns?t=this.structureArrayToObject(e):t=this.structureArrayToColumns(e),t):e}structureArrayToObject(e){var t=e.shift(),i=e.map(s=>{var r={};return t.forEach((o,a)=>{r[o]=s[a];}),r});return i}structureArrayToColumns(e){var t=[],i=this.table.getColumns();return i[0]&&e[0][0]&&i[0].getDefinition().title===e[0][0]&&e.shift(),e.forEach(s=>{var r={};s.forEach((o,a)=>{var l=i[a];l&&(r[l.getField()]=o);}),t.push(r);}),t}setData(e){return this.table.setData(e)}};xe.moduleName="import";xe.importers=Cs;var Ye=class extends C{constructor(e){super(e),this.eventMap={rowClick:"row-click",rowDblClick:"row-dblclick",rowContext:"row-contextmenu",rowMouseEnter:"row-mouseenter",rowMouseLeave:"row-mouseleave",rowMouseOver:"row-mouseover",rowMouseOut:"row-mouseout",rowMouseMove:"row-mousemove",rowMouseDown:"row-mousedown",rowMouseUp:"row-mouseup",rowTap:"row",rowDblTap:"row",rowTapHold:"row",cellClick:"cell-click",cellDblClick:"cell-dblclick",cellContext:"cell-contextmenu",cellMouseEnter:"cell-mouseenter",cellMouseLeave:"cell-mouseleave",cellMouseOver:"cell-mouseover",cellMouseOut:"cell-mouseout",cellMouseMove:"cell-mousemove",cellMouseDown:"cell-mousedown",cellMouseUp:"cell-mouseup",cellTap:"cell",cellDblTap:"cell",cellTapHold:"cell",headerClick:"column-click",headerDblClick:"column-dblclick",headerContext:"column-contextmenu",headerMouseEnter:"column-mouseenter",headerMouseLeave:"column-mouseleave",headerMouseOver:"column-mouseover",headerMouseOut:"column-mouseout",headerMouseMove:"column-mousemove",headerMouseDown:"column-mousedown",headerMouseUp:"column-mouseup",headerTap:"column",headerDblTap:"column",headerTapHold:"column",groupClick:"group-click",groupDblClick:"group-dblclick",groupContext:"group-contextmenu",groupMouseEnter:"group-mouseenter",groupMouseLeave:"group-mouseleave",groupMouseOver:"group-mouseover",groupMouseOut:"group-mouseout",groupMouseMove:"group-mousemove",groupMouseDown:"group-mousedown",groupMouseUp:"group-mouseup",groupTap:"group",groupDblTap:"group",groupTapHold:"group"},this.subscribers={},this.touchSubscribers={},this.columnSubscribers={},this.touchWatchers={row:{tap:null,tapDbl:null,tapHold:null},cell:{tap:null,tapDbl:null,tapHold:null},column:{tap:null,tapDbl:null,tapHold:null},group:{tap:null,tapDbl:null,tapHold:null}},this.registerColumnOption("headerClick"),this.registerColumnOption("headerDblClick"),this.registerColumnOption("headerContext"),this.registerColumnOption("headerMouseEnter"),this.registerColumnOption("headerMouseLeave"),this.registerColumnOption("headerMouseOver"),this.registerColumnOption("headerMouseOut"),this.registerColumnOption("headerMouseMove"),this.registerColumnOption("headerMouseDown"),this.registerColumnOption("headerMouseUp"),this.registerColumnOption("headerTap"),this.registerColumnOption("headerDblTap"),this.registerColumnOption("headerTapHold"),this.registerColumnOption("cellClick"),this.registerColumnOption("cellDblClick"),this.registerColumnOption("cellContext"),this.registerColumnOption("cellMouseEnter"),this.registerColumnOption("cellMouseLeave"),this.registerColumnOption("cellMouseOver"),this.registerColumnOption("cellMouseOut"),this.registerColumnOption("cellMouseMove"),this.registerColumnOption("cellMouseDown"),this.registerColumnOption("cellMouseUp"),this.registerColumnOption("cellTap"),this.registerColumnOption("cellDblTap"),this.registerColumnOption("cellTapHold");}initialize(){this.initializeExternalEvents(),this.subscribe("column-init",this.initializeColumn.bind(this)),this.subscribe("cell-dblclick",this.cellContentsSelectionFixer.bind(this)),this.subscribe("scroll-horizontal",this.clearTouchWatchers.bind(this)),this.subscribe("scroll-vertical",this.clearTouchWatchers.bind(this));}clearTouchWatchers(){var e=Object.values(this.touchWatchers);e.forEach(t=>{for(let i in t)t[i]=null;});}cellContentsSelectionFixer(e,t){var i;if(!(this.table.modExists("edit")&&this.table.modules.edit.currentCell===t)){e.preventDefault();try{document.selection?(i=document.body.createTextRange(),i.moveToElementText(t.getElement()),i.select()):window.getSelection&&(i=document.createRange(),i.selectNode(t.getElement()),window.getSelection().removeAllRanges(),window.getSelection().addRange(i));}catch(s){}}}initializeExternalEvents(){for(let e in this.eventMap)this.subscriptionChangeExternal(e,this.subscriptionChanged.bind(this,e));}subscriptionChanged(e,t){t?this.subscribers[e]||(this.eventMap[e].includes("-")?(this.subscribers[e]=this.handle.bind(this,e),this.subscribe(this.eventMap[e],this.subscribers[e])):this.subscribeTouchEvents(e)):this.eventMap[e].includes("-")?this.subscribers[e]&&!this.columnSubscribers[e]&&!this.subscribedExternal(e)&&(this.unsubscribe(this.eventMap[e],this.subscribers[e]),delete this.subscribers[e]):this.unsubscribeTouchEvents(e);}subscribeTouchEvents(e){var t=this.eventMap[e];this.touchSubscribers[t+"-touchstart"]||(this.touchSubscribers[t+"-touchstart"]=this.handleTouch.bind(this,t,"start"),this.touchSubscribers[t+"-touchend"]=this.handleTouch.bind(this,t,"end"),this.subscribe(t+"-touchstart",this.touchSubscribers[t+"-touchstart"]),this.subscribe(t+"-touchend",this.touchSubscribers[t+"-touchend"])),this.subscribers[e]=true;}unsubscribeTouchEvents(e){var t=true,i=this.eventMap[e];if(this.subscribers[e]&&!this.subscribedExternal(e)){delete this.subscribers[e];for(let s in this.eventMap)this.eventMap[s]===i&&this.subscribers[s]&&(t=false);t&&(this.unsubscribe(i+"-touchstart",this.touchSubscribers[i+"-touchstart"]),this.unsubscribe(i+"-touchend",this.touchSubscribers[i+"-touchend"]),delete this.touchSubscribers[i+"-touchstart"],delete this.touchSubscribers[i+"-touchend"]);}}initializeColumn(e){var t=e.definition;for(let i in this.eventMap)t[i]&&(this.subscriptionChanged(i,true),this.columnSubscribers[i]||(this.columnSubscribers[i]=[]),this.columnSubscribers[i].push(e));}handle(e,t,i){this.dispatchEvent(e,t,i);}handleTouch(e,t,i,s){var r=this.touchWatchers[e];switch(e==="column"&&(e="header"),t){case "start":r.tap=true,clearTimeout(r.tapHold),r.tapHold=setTimeout(()=>{clearTimeout(r.tapHold),r.tapHold=null,r.tap=null,clearTimeout(r.tapDbl),r.tapDbl=null,this.dispatchEvent(e+"TapHold",i,s);},1e3);break;case "end":r.tap&&(r.tap=null,this.dispatchEvent(e+"Tap",i,s)),r.tapDbl?(clearTimeout(r.tapDbl),r.tapDbl=null,this.dispatchEvent(e+"DblTap",i,s)):r.tapDbl=setTimeout(()=>{clearTimeout(r.tapDbl),r.tapDbl=null;},300),clearTimeout(r.tapHold),r.tapHold=null;break}}dispatchEvent(e,t,i){var s=i.getComponent(),r;this.columnSubscribers[e]&&(i instanceof Q?r=i.column.definition[e]:i instanceof K&&(r=i.definition[e]),r&&r(t,s)),this.dispatchExternal(e,t,s);}};Ye.moduleName="interaction";var ys={navPrev:"shift + 9",navNext:9,navUp:38,navDown:40,navLeft:37,navRight:39,scrollPageUp:33,scrollPageDown:34,scrollToStart:36,scrollToEnd:35,undo:["ctrl + 90","meta + 90"],redo:["ctrl + 89","meta + 89"],copyToClipboard:["ctrl + 67","meta + 67"],rangeJumpUp:["ctrl + 38","meta + 38"],rangeJumpDown:["ctrl + 40","meta + 40"],rangeJumpLeft:["ctrl + 37","meta + 37"],rangeJumpRight:["ctrl + 39","meta + 39"],rangeExpandUp:"shift + 38",rangeExpandDown:"shift + 40",rangeExpandLeft:"shift + 37",rangeExpandRight:"shift + 39",rangeExpandJumpUp:["ctrl + shift + 38","meta + shift + 38"],rangeExpandJumpDown:["ctrl + shift + 40","meta + shift + 40"],rangeExpandJumpLeft:["ctrl + shift + 37","meta + shift + 37"],rangeExpandJumpRight:["ctrl + shift + 39","meta + shift + 39"]},Es={keyBlock:function(n){n.stopPropagation(),n.preventDefault();},scrollPageUp:function(n){var e=this.table.rowManager,t=e.scrollTop-e.element.clientHeight;n.preventDefault(),e.displayRowsCount&&(t>=0?e.element.scrollTop=t:e.scrollToRow(e.getDisplayRows()[0])),this.table.element.focus();},scrollPageDown:function(n){var e=this.table.rowManager,t=e.scrollTop+e.element.clientHeight,i=e.element.scrollHeight;n.preventDefault(),e.displayRowsCount&&(t<=i?e.element.scrollTop=t:e.scrollToRow(e.getDisplayRows()[e.displayRowsCount-1])),this.table.element.focus();},scrollToStart:function(n){var e=this.table.rowManager;n.preventDefault(),e.displayRowsCount&&e.scrollToRow(e.getDisplayRows()[0]),this.table.element.focus();},scrollToEnd:function(n){var e=this.table.rowManager;n.preventDefault(),e.displayRowsCount&&e.scrollToRow(e.getDisplayRows()[e.displayRowsCount-1]),this.table.element.focus();},navPrev:function(n){this.dispatch("keybinding-nav-prev",n);},navNext:function(n){this.dispatch("keybinding-nav-next",n);},navLeft:function(n){this.dispatch("keybinding-nav-left",n);},navRight:function(n){this.dispatch("keybinding-nav-right",n);},navUp:function(n){this.dispatch("keybinding-nav-up",n);},navDown:function(n){this.dispatch("keybinding-nav-down",n);},rangeJumpLeft:function(n){this.dispatch("keybinding-nav-range",n,"left",true,false);},rangeJumpRight:function(n){this.dispatch("keybinding-nav-range",n,"right",true,false);},rangeJumpUp:function(n){this.dispatch("keybinding-nav-range",n,"up",true,false);},rangeJumpDown:function(n){this.dispatch("keybinding-nav-range",n,"down",true,false);},rangeExpandLeft:function(n){this.dispatch("keybinding-nav-range",n,"left",false,true);},rangeExpandRight:function(n){this.dispatch("keybinding-nav-range",n,"right",false,true);},rangeExpandUp:function(n){this.dispatch("keybinding-nav-range",n,"up",false,true);},rangeExpandDown:function(n){this.dispatch("keybinding-nav-range",n,"down",false,true);},rangeExpandJumpLeft:function(n){this.dispatch("keybinding-nav-range",n,"left",true,true);},rangeExpandJumpRight:function(n){this.dispatch("keybinding-nav-range",n,"right",true,true);},rangeExpandJumpUp:function(n){this.dispatch("keybinding-nav-range",n,"up",true,true);},rangeExpandJumpDown:function(n){this.dispatch("keybinding-nav-range",n,"down",true,true);},undo:function(n){var e=false;this.table.options.history&&this.table.modExists("history")&&this.table.modExists("edit")&&(e=this.table.modules.edit.currentCell,e||(n.preventDefault(),this.table.modules.history.undo()));},redo:function(n){var e=false;this.table.options.history&&this.table.modExists("history")&&this.table.modExists("edit")&&(e=this.table.modules.edit.currentCell,e||(n.preventDefault(),this.table.modules.history.redo()));},copyToClipboard:function(n){this.table.modules.edit.currentCell||this.table.modExists("clipboard",true)&&this.table.modules.clipboard.copy(false,true);}},he=class n extends C{constructor(e){super(e),this.watchKeys=null,this.pressedKeys=null,this.keyupBinding=false,this.keydownBinding=false,this.registerTableOption("keybindings",{}),this.registerTableOption("tabEndNewRow",false);}initialize(){var e=this.table.options.keybindings,t={};this.watchKeys={},this.pressedKeys=[],e!==false&&(Object.assign(t,n.bindings),Object.assign(t,e),this.mapBindings(t),this.bindEvents()),this.subscribe("table-destroy",this.clearBindings.bind(this));}mapBindings(e){for(let t in e)n.actions[t]&&e[t]&&(typeof e[t]!="object"&&(e[t]=[e[t]]),e[t].forEach(i=>{var s=Array.isArray(i)?i:[i];s.forEach(r=>{this.mapBinding(t,r);});}));}mapBinding(e,t){var i={action:n.actions[e],keys:[],ctrl:false,shift:false,meta:false},s=t.toString().toLowerCase().split(" ").join("").split("+");s.forEach(r=>{switch(r){case "ctrl":i.ctrl=true;break;case "shift":i.shift=true;break;case "meta":i.meta=true;break;default:r=isNaN(r)?r.toUpperCase().charCodeAt(0):parseInt(r),i.keys.push(r),this.watchKeys[r]||(this.watchKeys[r]=[]),this.watchKeys[r].push(i);}});}bindEvents(){var e=this;this.keyupBinding=function(t){var i=t.keyCode,s=e.watchKeys[i];s&&(e.pressedKeys.push(i),s.forEach(function(r){e.checkBinding(t,r);}));},this.keydownBinding=function(t){var i=t.keyCode,s=e.watchKeys[i];if(s){var r=e.pressedKeys.indexOf(i);r>-1&&e.pressedKeys.splice(r,1);}},this.table.element.addEventListener("keydown",this.keyupBinding),this.table.element.addEventListener("keyup",this.keydownBinding);}clearBindings(){this.keyupBinding&&this.table.element.removeEventListener("keydown",this.keyupBinding),this.keydownBinding&&this.table.element.removeEventListener("keyup",this.keydownBinding);}checkBinding(e,t){var i=true;return e.ctrlKey==t.ctrl&&e.shiftKey==t.shift&&e.metaKey==t.meta?(t.keys.forEach(s=>{var r=this.pressedKeys.indexOf(s);r==-1&&(i=false);}),i&&t.action.call(this,e),true):false}};he.moduleName="keybindings";he.bindings=ys;he.actions=Es;var Je=class extends C{constructor(e){super(e),this.menuContainer=null,this.nestedMenuBlock=false,this.currentComponent=null,this.rootPopup=null,this.columnSubscribers={},this.registerTableOption("menuContainer",void 0),this.registerTableOption("rowContextMenu",false),this.registerTableOption("rowClickMenu",false),this.registerTableOption("rowDblClickMenu",false),this.registerTableOption("groupContextMenu",false),this.registerTableOption("groupClickMenu",false),this.registerTableOption("groupDblClickMenu",false),this.registerColumnOption("headerContextMenu"),this.registerColumnOption("headerClickMenu"),this.registerColumnOption("headerDblClickMenu"),this.registerColumnOption("headerMenu"),this.registerColumnOption("headerMenuIcon"),this.registerColumnOption("contextMenu"),this.registerColumnOption("clickMenu"),this.registerColumnOption("dblClickMenu");}initialize(){this.deprecatedOptionsCheck(),this.initializeRowWatchers(),this.initializeGroupWatchers(),this.subscribe("column-init",this.initializeColumn.bind(this));}deprecatedOptionsCheck(){this.deprecationCheck("menuContainer","popupContainer")||(this.table.options.popupContainer=this.table.options.menuContainer);}initializeRowWatchers(){this.table.options.rowContextMenu&&(this.subscribe("row-contextmenu",this.loadMenuEvent.bind(this,this.table.options.rowContextMenu)),this.table.on("rowTapHold",this.loadMenuEvent.bind(this,this.table.options.rowContextMenu))),this.table.options.rowClickMenu&&this.subscribe("row-click",this.loadMenuEvent.bind(this,this.table.options.rowClickMenu)),this.table.options.rowDblClickMenu&&this.subscribe("row-dblclick",this.loadMenuEvent.bind(this,this.table.options.rowDblClickMenu));}initializeGroupWatchers(){this.table.options.groupContextMenu&&(this.subscribe("group-contextmenu",this.loadMenuEvent.bind(this,this.table.options.groupContextMenu)),this.table.on("groupTapHold",this.loadMenuEvent.bind(this,this.table.options.groupContextMenu))),this.table.options.groupClickMenu&&this.subscribe("group-click",this.loadMenuEvent.bind(this,this.table.options.groupClickMenu)),this.table.options.groupDblClickMenu&&this.subscribe("group-dblclick",this.loadMenuEvent.bind(this,this.table.options.groupDblClickMenu));}initializeColumn(e){var t=e.definition;t.headerContextMenu&&!this.columnSubscribers.headerContextMenu&&(this.columnSubscribers.headerContextMenu=this.loadMenuTableColumnEvent.bind(this,"headerContextMenu"),this.subscribe("column-contextmenu",this.columnSubscribers.headerContextMenu),this.table.on("headerTapHold",this.loadMenuTableColumnEvent.bind(this,"headerContextMenu"))),t.headerClickMenu&&!this.columnSubscribers.headerClickMenu&&(this.columnSubscribers.headerClickMenu=this.loadMenuTableColumnEvent.bind(this,"headerClickMenu"),this.subscribe("column-click",this.columnSubscribers.headerClickMenu)),t.headerDblClickMenu&&!this.columnSubscribers.headerDblClickMenu&&(this.columnSubscribers.headerDblClickMenu=this.loadMenuTableColumnEvent.bind(this,"headerDblClickMenu"),this.subscribe("column-dblclick",this.columnSubscribers.headerDblClickMenu)),t.headerMenu&&this.initializeColumnHeaderMenu(e),t.contextMenu&&!this.columnSubscribers.contextMenu&&(this.columnSubscribers.contextMenu=this.loadMenuTableCellEvent.bind(this,"contextMenu"),this.subscribe("cell-contextmenu",this.columnSubscribers.contextMenu),this.table.on("cellTapHold",this.loadMenuTableCellEvent.bind(this,"contextMenu"))),t.clickMenu&&!this.columnSubscribers.clickMenu&&(this.columnSubscribers.clickMenu=this.loadMenuTableCellEvent.bind(this,"clickMenu"),this.subscribe("cell-click",this.columnSubscribers.clickMenu)),t.dblClickMenu&&!this.columnSubscribers.dblClickMenu&&(this.columnSubscribers.dblClickMenu=this.loadMenuTableCellEvent.bind(this,"dblClickMenu"),this.subscribe("cell-dblclick",this.columnSubscribers.dblClickMenu));}initializeColumnHeaderMenu(e){var t=e.definition.headerMenuIcon,i;i=document.createElement("span"),i.classList.add("tabulator-header-popup-button"),t?(typeof t=="function"&&(t=t(e.getComponent())),t instanceof HTMLElement?i.appendChild(t):i.innerHTML=t):i.innerHTML="&vellip;",i.addEventListener("click",s=>{s.stopPropagation(),s.preventDefault(),this.loadMenuEvent(e.definition.headerMenu,s,e);}),e.titleElement.insertBefore(i,e.titleElement.firstChild);}loadMenuTableCellEvent(e,t,i){i._cell&&(i=i._cell),i.column.definition[e]&&this.loadMenuEvent(i.column.definition[e],t,i);}loadMenuTableColumnEvent(e,t,i){i._column&&(i=i._column),i.definition[e]&&this.loadMenuEvent(i.definition[e],t,i);}loadMenuEvent(e,t,i){i._group?i=i._group:i._row&&(i=i._row),e=typeof e=="function"?e.call(this.table,t,i.getComponent()):e,this.loadMenu(t,i,e);}loadMenu(e,t,i,s,r){var o=!(e instanceof MouseEvent),a=document.createElement("div"),l;if(a.classList.add("tabulator-menu"),o||e.preventDefault(),!(!i||!i.length)){if(s)l=r.child(a);else {if(this.nestedMenuBlock){if(this.rootPopup)return}else this.nestedMenuBlock=setTimeout(()=>{this.nestedMenuBlock=false;},100);this.rootPopup&&this.rootPopup.hide(),this.rootPopup=l=this.popup(a);}i.forEach(h=>{var u=document.createElement("div"),d=h.label,c=h.disabled;h.separator?u.classList.add("tabulator-menu-separator"):(u.classList.add("tabulator-menu-item"),typeof d=="function"&&(d=d.call(this.table,t.getComponent())),d instanceof Node?u.appendChild(d):u.innerHTML=d,typeof c=="function"&&(c=c.call(this.table,t.getComponent())),c?(u.classList.add("tabulator-menu-item-disabled"),u.addEventListener("click",f=>{f.stopPropagation();})):h.menu&&h.menu.length?u.addEventListener("click",f=>{f.stopPropagation(),this.loadMenu(f,t,h.menu,u,l);}):h.action&&u.addEventListener("click",f=>{h.action(f,t.getComponent());}),h.menu&&h.menu.length&&u.classList.add("tabulator-menu-item-submenu")),a.appendChild(u);}),a.addEventListener("click",h=>{this.rootPopup&&this.rootPopup.hide();}),l.show(s||e),l===this.rootPopup&&(this.rootPopup.hideOnBlur(()=>{this.rootPopup=null,this.currentComponent&&(this.dispatch("menu-closed",i,l),this.dispatchExternal("menuClosed",this.currentComponent.getComponent()),this.currentComponent=null);}),this.currentComponent=t,this.dispatch("menu-opened",i,l),this.dispatchExternal("menuOpened",t.getComponent()));}}};Je.moduleName="menu";var Xe=class extends C{constructor(e){super(e),this.placeholderElement=this.createPlaceholderElement(),this.hoverElement=false,this.checkTimeout=false,this.checkPeriod=250,this.moving=false,this.toCol=false,this.toColAfter=false,this.startX=0,this.autoScrollMargin=40,this.autoScrollStep=5,this.autoScrollTimeout=false,this.touchMove=false,this.moveHover=this.moveHover.bind(this),this.endMove=this.endMove.bind(this),this.registerTableOption("movableColumns",false);}createPlaceholderElement(){var e=document.createElement("div");return e.classList.add("tabulator-col"),e.classList.add("tabulator-col-placeholder"),e}initialize(){this.table.options.movableColumns&&(this.subscribe("column-init",this.initializeColumn.bind(this)),this.subscribe("alert-show",this.abortMove.bind(this)));}abortMove(){clearTimeout(this.checkTimeout);}initializeColumn(e){var t=this,i={},s;!e.modules.frozen&&!e.isGroup&&(s=e.getElement(),i.mousemove=function(r){e.parent===t.moving.parent&&((t.touchMove?r.touches[0].pageX:r.pageX)-T.elOffset(s).left+t.table.columnManager.contentsElement.scrollLeft>e.getWidth()/2?(t.toCol!==e||!t.toColAfter)&&(s.parentNode.insertBefore(t.placeholderElement,s.nextSibling),t.moveColumn(e,true)):(t.toCol!==e||t.toColAfter)&&(s.parentNode.insertBefore(t.placeholderElement,s),t.moveColumn(e,false)));}.bind(t),s.addEventListener("mousedown",function(r){t.touchMove=false,r.which===1&&(t.checkTimeout=setTimeout(function(){t.startMove(r,e);},t.checkPeriod));}),s.addEventListener("mouseup",function(r){r.which===1&&t.checkTimeout&&clearTimeout(t.checkTimeout);}),t.bindTouchEvents(e)),e.modules.moveColumn=i;}bindTouchEvents(e){var t=e.getElement(),i=false,s,r,o,a,l,h;t.addEventListener("touchstart",u=>{this.checkTimeout=setTimeout(()=>{this.touchMove=true,s=e.nextColumn(),o=s?s.getWidth()/2:0,r=e.prevColumn(),a=r?r.getWidth()/2:0,l=0,h=0,i=false,this.startMove(u,e);},this.checkPeriod);},{passive:true}),t.addEventListener("touchmove",u=>{var d,c;this.moving&&(this.moveHover(u),i||(i=u.touches[0].pageX),d=u.touches[0].pageX-i,d>0?s&&d-l>o&&(c=s,c!==e&&(i=u.touches[0].pageX,c.getElement().parentNode.insertBefore(this.placeholderElement,c.getElement().nextSibling),this.moveColumn(c,true))):r&&-d-h>a&&(c=r,c!==e&&(i=u.touches[0].pageX,c.getElement().parentNode.insertBefore(this.placeholderElement,c.getElement()),this.moveColumn(c,false))),c&&(s=c.nextColumn(),l=o,o=s?s.getWidth()/2:0,r=c.prevColumn(),h=a,a=r?r.getWidth()/2:0));},{passive:true}),t.addEventListener("touchend",u=>{this.checkTimeout&&clearTimeout(this.checkTimeout),this.moving&&this.endMove(u);});}startMove(e,t){var i=t.getElement(),s=this.table.columnManager.getContentsElement(),r=this.table.columnManager.getHeadersElement();this.moving=t,this.startX=(this.touchMove?e.touches[0].pageX:e.pageX)-T.elOffset(i).left,this.table.element.classList.add("tabulator-block-select"),this.placeholderElement.style.width=t.getWidth()+"px",this.placeholderElement.style.height=t.getHeight()+"px",i.parentNode.insertBefore(this.placeholderElement,i),i.parentNode.removeChild(i),this.hoverElement=i.cloneNode(true),this.hoverElement.classList.add("tabulator-moving"),s.appendChild(this.hoverElement),this.hoverElement.style.left="0",this.hoverElement.style.bottom=s.clientHeight-r.offsetHeight+"px",this.touchMove||(this._bindMouseMove(),document.body.addEventListener("mousemove",this.moveHover),document.body.addEventListener("mouseup",this.endMove)),this.moveHover(e);}_bindMouseMove(){this.table.columnManager.columnsByIndex.forEach(function(e){e.modules.moveColumn.mousemove&&e.getElement().addEventListener("mousemove",e.modules.moveColumn.mousemove);});}_unbindMouseMove(){this.table.columnManager.columnsByIndex.forEach(function(e){e.modules.moveColumn.mousemove&&e.getElement().removeEventListener("mousemove",e.modules.moveColumn.mousemove);});}moveColumn(e,t){var i=this.moving.getCells();this.toCol=e,this.toColAfter=t,t?e.getCells().forEach(function(s,r){var o=s.getElement(true);o.parentNode&&i[r]&&o.parentNode.insertBefore(i[r].getElement(),o.nextSibling);}):e.getCells().forEach(function(s,r){var o=s.getElement(true);o.parentNode&&i[r]&&o.parentNode.insertBefore(i[r].getElement(),o);});}endMove(e){(e.which===1||this.touchMove)&&(this._unbindMouseMove(),this.placeholderElement.parentNode.insertBefore(this.moving.getElement(),this.placeholderElement.nextSibling),this.placeholderElement.parentNode.removeChild(this.placeholderElement),this.hoverElement.parentNode.removeChild(this.hoverElement),this.table.element.classList.remove("tabulator-block-select"),this.toCol&&this.table.columnManager.moveColumnActual(this.moving,this.toCol,this.toColAfter),this.moving=false,this.toCol=false,this.toColAfter=false,this.touchMove||(document.body.removeEventListener("mousemove",this.moveHover),document.body.removeEventListener("mouseup",this.endMove)));}moveHover(e){var t=this.table.columnManager.getContentsElement(),i=t.scrollLeft,s=(this.touchMove?e.touches[0].pageX:e.pageX)-T.elOffset(t).left+i,r;this.hoverElement.style.left=s-this.startX+"px",s-i<this.autoScrollMargin&&(this.autoScrollTimeout||(this.autoScrollTimeout=setTimeout(()=>{r=Math.max(0,i-5),this.table.rowManager.getElement().scrollLeft=r,this.autoScrollTimeout=false;},1))),i+t.clientWidth-s<this.autoScrollMargin&&(this.autoScrollTimeout||(this.autoScrollTimeout=setTimeout(()=>{r=Math.min(t.clientWidth,i+5),this.table.rowManager.getElement().scrollLeft=r,this.autoScrollTimeout=false;},1)));}};Xe.moduleName="moveColumn";var ue=class extends C{constructor(e){super(e),this.placeholderElement=this.createPlaceholderElement(),this.hoverElement=false,this.checkTimeout=false,this.checkPeriod=150,this.moving=false,this.toRow=false,this.toRowAfter=false,this.hasHandle=false,this.startY=0,this.startX=0,this.moveHover=this.moveHover.bind(this),this.endMove=this.endMove.bind(this),this.tableRowDropEvent=false,this.touchMove=false,this.connection=false,this.connectionSelectorsTables=false,this.connectionSelectorsElements=false,this.connectionElements=[],this.connections=[],this.connectedTable=false,this.connectedRow=false,this.registerTableOption("movableRows",false),this.registerTableOption("movableRowsConnectedTables",false),this.registerTableOption("movableRowsConnectedElements",false),this.registerTableOption("movableRowsSender",false),this.registerTableOption("movableRowsReceiver","insert"),this.registerColumnOption("rowHandle");}createPlaceholderElement(){var e=document.createElement("div");return e.classList.add("tabulator-row"),e.classList.add("tabulator-row-placeholder"),e}initialize(){this.table.options.movableRows&&(this.connectionSelectorsTables=this.table.options.movableRowsConnectedTables,this.connectionSelectorsElements=this.table.options.movableRowsConnectedElements,this.connection=this.connectionSelectorsTables||this.connectionSelectorsElements,this.subscribe("cell-init",this.initializeCell.bind(this)),this.subscribe("column-init",this.initializeColumn.bind(this)),this.subscribe("row-init",this.initializeRow.bind(this)));}initializeGroupHeader(e){var t=this,i={};i.mouseup=function(s){t.tableRowDrop(s,e);}.bind(t),i.mousemove=function(s){var r;s.pageY-T.elOffset(e.element).top+t.table.rowManager.element.scrollTop>e.getHeight()/2?(t.toRow!==e||!t.toRowAfter)&&(r=e.getElement(),r.parentNode.insertBefore(t.placeholderElement,r.nextSibling),t.moveRow(e,true)):(t.toRow!==e||t.toRowAfter)&&(r=e.getElement(),r.previousSibling&&(r.parentNode.insertBefore(t.placeholderElement,r),t.moveRow(e,false)));}.bind(t),e.modules.moveRow=i;}initializeRow(e){var t=this,i={},s;i.mouseup=function(r){t.tableRowDrop(r,e);}.bind(t),i.mousemove=function(r){var o=e.getElement();r.pageY-T.elOffset(o).top+t.table.rowManager.element.scrollTop>e.getHeight()/2?(t.toRow!==e||!t.toRowAfter)&&(o.parentNode.insertBefore(t.placeholderElement,o.nextSibling),t.moveRow(e,true)):(t.toRow!==e||t.toRowAfter)&&(o.parentNode.insertBefore(t.placeholderElement,o),t.moveRow(e,false));}.bind(t),this.hasHandle||(s=e.getElement(),s.addEventListener("mousedown",function(r){r.which===1&&(t.checkTimeout=setTimeout(function(){t.startMove(r,e);},t.checkPeriod));}),s.addEventListener("mouseup",function(r){r.which===1&&t.checkTimeout&&clearTimeout(t.checkTimeout);}),this.bindTouchEvents(e,e.getElement())),e.modules.moveRow=i;}initializeColumn(e){e.definition.rowHandle&&this.table.options.movableRows!==false&&(this.hasHandle=true);}initializeCell(e){if(e.column.definition.rowHandle&&this.table.options.movableRows!==false){var t=this,i=e.getElement(true);i.addEventListener("mousedown",function(s){s.which===1&&(t.checkTimeout=setTimeout(function(){t.startMove(s,e.row);},t.checkPeriod));}),i.addEventListener("mouseup",function(s){s.which===1&&t.checkTimeout&&clearTimeout(t.checkTimeout);}),this.bindTouchEvents(e.row,i);}}bindTouchEvents(e,t){var i=false,s,r,o,a,l,h;t.addEventListener("touchstart",u=>{this.checkTimeout=setTimeout(()=>{this.touchMove=true,s=e.nextRow(),o=s?s.getHeight()/2:0,r=e.prevRow(),a=r?r.getHeight()/2:0,l=0,h=0,i=false,this.startMove(u,e);},this.checkPeriod);},{passive:true}),this.moving,this.toRow,this.toRowAfter,t.addEventListener("touchmove",u=>{var d,c;this.moving&&(u.preventDefault(),this.moveHover(u),i||(i=u.touches[0].pageY),d=u.touches[0].pageY-i,d>0?s&&d-l>o&&(c=s,c!==e&&(i=u.touches[0].pageY,c.getElement().parentNode.insertBefore(this.placeholderElement,c.getElement().nextSibling),this.moveRow(c,true))):r&&-d-h>a&&(c=r,c!==e&&(i=u.touches[0].pageY,c.getElement().parentNode.insertBefore(this.placeholderElement,c.getElement()),this.moveRow(c,false))),c&&(s=c.nextRow(),l=o,o=s?s.getHeight()/2:0,r=c.prevRow(),h=a,a=r?r.getHeight()/2:0));}),t.addEventListener("touchend",u=>{this.checkTimeout&&clearTimeout(this.checkTimeout),this.moving&&(this.endMove(u),this.touchMove=false);});}_bindMouseMove(){this.table.rowManager.getDisplayRows().forEach(e=>{(e.type==="row"||e.type==="group")&&e.modules.moveRow&&e.modules.moveRow.mousemove&&e.getElement().addEventListener("mousemove",e.modules.moveRow.mousemove);});}_unbindMouseMove(){this.table.rowManager.getDisplayRows().forEach(e=>{(e.type==="row"||e.type==="group")&&e.modules.moveRow&&e.modules.moveRow.mousemove&&e.getElement().removeEventListener("mousemove",e.modules.moveRow.mousemove);});}startMove(e,t){var i=t.getElement();this.setStartPosition(e,t),this.moving=t,this.table.element.classList.add("tabulator-block-select"),this.placeholderElement.style.width=t.getWidth()+"px",this.placeholderElement.style.height=t.getHeight()+"px",this.connection?(this.table.element.classList.add("tabulator-movingrow-sending"),this.connectToTables(t)):(i.parentNode.insertBefore(this.placeholderElement,i),i.parentNode.removeChild(i)),this.hoverElement=i.cloneNode(true),this.hoverElement.classList.add("tabulator-moving"),this.connection?(document.body.appendChild(this.hoverElement),this.hoverElement.style.left="0",this.hoverElement.style.top="0",this.hoverElement.style.width=this.table.element.clientWidth+"px",this.hoverElement.style.whiteSpace="nowrap",this.hoverElement.style.overflow="hidden",this.hoverElement.style.pointerEvents="none"):(this.table.rowManager.getTableElement().appendChild(this.hoverElement),this.hoverElement.style.left="0",this.hoverElement.style.top="0",this._bindMouseMove()),document.body.addEventListener("mousemove",this.moveHover),document.body.addEventListener("mouseup",this.endMove),this.dispatchExternal("rowMoving",t.getComponent()),this.moveHover(e);}setStartPosition(e,t){var i=this.touchMove?e.touches[0].pageX:e.pageX,s=this.touchMove?e.touches[0].pageY:e.pageY,r,o;r=t.getElement(),this.connection?(o=r.getBoundingClientRect(),this.startX=o.left-i+window.pageXOffset,this.startY=o.top-s+window.pageYOffset):this.startY=s-r.getBoundingClientRect().top;}endMove(e){(!e||e.which===1||this.touchMove)&&(this._unbindMouseMove(),this.connection||(this.placeholderElement.parentNode.insertBefore(this.moving.getElement(),this.placeholderElement.nextSibling),this.placeholderElement.parentNode.removeChild(this.placeholderElement)),this.hoverElement.parentNode.removeChild(this.hoverElement),this.table.element.classList.remove("tabulator-block-select"),this.toRow?this.table.rowManager.moveRow(this.moving,this.toRow,this.toRowAfter):this.dispatchExternal("rowMoveCancelled",this.moving.getComponent()),this.moving=false,this.toRow=false,this.toRowAfter=false,document.body.removeEventListener("mousemove",this.moveHover),document.body.removeEventListener("mouseup",this.endMove),this.connection&&(this.table.element.classList.remove("tabulator-movingrow-sending"),this.disconnectFromTables()));}moveRow(e,t){this.toRow=e,this.toRowAfter=t;}moveHover(e){this.connection?this.moveHoverConnections.call(this,e):this.moveHoverTable.call(this,e);}moveHoverTable(e){var t=this.table.rowManager.getElement(),i=t.scrollTop,s=(this.touchMove?e.touches[0].pageY:e.pageY)-t.getBoundingClientRect().top+i;this.hoverElement.style.top=Math.min(s-this.startY,this.table.rowManager.element.scrollHeight-this.hoverElement.offsetHeight)+"px";}moveHoverConnections(e){this.hoverElement.style.left=this.startX+(this.touchMove?e.touches[0].pageX:e.pageX)+"px",this.hoverElement.style.top=this.startY+(this.touchMove?e.touches[0].pageY:e.pageY)+"px";}elementRowDrop(e,t,i){this.dispatchExternal("movableRowsElementDrop",e,t,i?i.getComponent():false);}connectToTables(e){var t;this.connectionSelectorsTables&&(t=this.commsConnections(this.connectionSelectorsTables),this.dispatchExternal("movableRowsSendingStart",t),this.commsSend(this.connectionSelectorsTables,"moveRow","connect",{row:e})),this.connectionSelectorsElements&&(this.connectionElements=[],Array.isArray(this.connectionSelectorsElements)||(this.connectionSelectorsElements=[this.connectionSelectorsElements]),this.connectionSelectorsElements.forEach(i=>{typeof i=="string"?this.connectionElements=this.connectionElements.concat(Array.prototype.slice.call(document.querySelectorAll(i))):this.connectionElements.push(i);}),this.connectionElements.forEach(i=>{var s=r=>{this.elementRowDrop(r,i,this.moving);};i.addEventListener("mouseup",s),i.tabulatorElementDropEvent=s,i.classList.add("tabulator-movingrow-receiving");}));}disconnectFromTables(){var e;this.connectionSelectorsTables&&(e=this.commsConnections(this.connectionSelectorsTables),this.dispatchExternal("movableRowsSendingStop",e),this.commsSend(this.connectionSelectorsTables,"moveRow","disconnect")),this.connectionElements.forEach(t=>{t.classList.remove("tabulator-movingrow-receiving"),t.removeEventListener("mouseup",t.tabulatorElementDropEvent),delete t.tabulatorElementDropEvent;});}connect(e,t){return this.connectedTable?false:(this.connectedTable=e,this.connectedRow=t,this.table.element.classList.add("tabulator-movingrow-receiving"),this.table.rowManager.getDisplayRows().forEach(i=>{i.type==="row"&&i.modules.moveRow&&i.modules.moveRow.mouseup&&i.getElement().addEventListener("mouseup",i.modules.moveRow.mouseup);}),this.tableRowDropEvent=this.tableRowDrop.bind(this),this.table.element.addEventListener("mouseup",this.tableRowDropEvent),this.dispatchExternal("movableRowsReceivingStart",t,e),true)}disconnect(e){e===this.connectedTable&&(this.connectedTable=false,this.connectedRow=false,this.table.element.classList.remove("tabulator-movingrow-receiving"),this.table.rowManager.getDisplayRows().forEach(t=>{t.type==="row"&&t.modules.moveRow&&t.modules.moveRow.mouseup&&t.getElement().removeEventListener("mouseup",t.modules.moveRow.mouseup);}),this.table.element.removeEventListener("mouseup",this.tableRowDropEvent),this.dispatchExternal("movableRowsReceivingStop",e));}dropComplete(e,t,i){var s=false;if(i){switch(typeof this.table.options.movableRowsSender){case "string":s=this.senders[this.table.options.movableRowsSender];break;case "function":s=this.table.options.movableRowsSender;break}s?s.call(this,this.moving?this.moving.getComponent():void 0,t?t.getComponent():void 0,e):this.table.options.movableRowsSender,this.dispatchExternal("movableRowsSent",this.moving.getComponent(),t?t.getComponent():void 0,e);}else this.dispatchExternal("movableRowsSentFailed",this.moving.getComponent(),t?t.getComponent():void 0,e);this.endMove();}tableRowDrop(e,t){var i=false,s=false;switch(e.stopImmediatePropagation(),typeof this.table.options.movableRowsReceiver){case "string":i=this.receivers[this.table.options.movableRowsReceiver];break;case "function":i=this.table.options.movableRowsReceiver;break}i&&(s=i.call(this,this.connectedRow.getComponent(),t?t.getComponent():void 0,this.connectedTable)),s?this.dispatchExternal("movableRowsReceived",this.connectedRow.getComponent(),t?t.getComponent():void 0,this.connectedTable):this.dispatchExternal("movableRowsReceivedFailed",this.connectedRow.getComponent(),t?t.getComponent():void 0,this.connectedTable),this.commsSend(this.connectedTable,"moveRow","dropcomplete",{row:t,success:s});}commsReceived(e,t,i){switch(t){case "connect":return this.connect(e,i.row);case "disconnect":return this.disconnect(e);case "dropcomplete":return this.dropComplete(e,i.row,i.success)}}};ue.prototype.receivers={insert:function(n,e,t){return this.table.addRow(n.getData(),void 0,e),true},add:function(n,e,t){return this.table.addRow(n.getData()),true},update:function(n,e,t){return e?(e.update(n.getData()),true):false},replace:function(n,e,t){return e?(this.table.addRow(n.getData(),void 0,e),e.delete(),true):false}};ue.prototype.senders={delete:function(n,e,t){n.delete();}};ue.moduleName="moveRow";var xs={},Re=class n extends C{constructor(e){super(e),this.allowedTypes=["","data","edit","clipboard"],this.enabled=true,this.registerColumnOption("mutator"),this.registerColumnOption("mutatorParams"),this.registerColumnOption("mutatorData"),this.registerColumnOption("mutatorDataParams"),this.registerColumnOption("mutatorEdit"),this.registerColumnOption("mutatorEditParams"),this.registerColumnOption("mutatorClipboard"),this.registerColumnOption("mutatorClipboardParams"),this.registerColumnOption("mutateLink");}initialize(){this.subscribe("cell-value-changing",this.transformCell.bind(this)),this.subscribe("cell-value-changed",this.mutateLink.bind(this)),this.subscribe("column-layout",this.initializeColumn.bind(this)),this.subscribe("row-data-init-before",this.rowDataChanged.bind(this)),this.subscribe("row-data-changing",this.rowDataChanged.bind(this));}rowDataChanged(e,t,i){return this.transformRow(t,"data",i)}initializeColumn(e){var t=false,i={};this.allowedTypes.forEach(s=>{var r="mutator"+(s.charAt(0).toUpperCase()+s.slice(1)),o;e.definition[r]&&(o=this.lookupMutator(e.definition[r]),o&&(t=true,i[r]={mutator:o,params:e.definition[r+"Params"]||{}}));}),t&&(e.modules.mutate=i);}lookupMutator(e){var t=false;switch(typeof e){case "string":n.mutators[e]&&(t=n.mutators[e]);break;case "function":t=e;break}return t}transformRow(e,t,i){var s="mutator"+(t.charAt(0).toUpperCase()+t.slice(1)),r;return this.enabled&&this.table.columnManager.traverse(o=>{var a,l,h;o.modules.mutate&&(a=o.modules.mutate[s]||o.modules.mutate.mutator||false,a&&(r=o.getFieldValue(typeof i!="undefined"?i:e),(t=="data"&&!i||typeof r!="undefined")&&(h=o.getComponent(),l=typeof a.params=="function"?a.params(r,e,t,h):a.params,o.setFieldValue(e,a.mutator(r,e,t,l,h)))));}),e}transformCell(e,t){if(e.column.modules.mutate){var i=e.column.modules.mutate.mutatorEdit||e.column.modules.mutate.mutator||false,s={};if(i)return s=Object.assign(s,e.row.getData()),e.column.setFieldValue(s,t),i.mutator(t,s,"edit",i.params,e.getComponent())}return t}mutateLink(e){var t=e.column.definition.mutateLink;t&&(Array.isArray(t)||(t=[t]),t.forEach(i=>{var s=e.row.getCell(i);s&&s.setValue(s.getValue(),true,true);}));}enable(){this.enabled=true;}disable(){this.enabled=false;}};Re.moduleName="mutator";Re.mutators=xs;function Rs(n,e,t,i,s){var r=document.createElement("span"),o=document.createElement("span"),a=document.createElement("span"),l=document.createElement("span"),h=document.createElement("span"),u=document.createElement("span");return this.table.modules.localize.langBind("pagination|counter|showing",d=>{o.innerHTML=d;}),this.table.modules.localize.langBind("pagination|counter|of",d=>{l.innerHTML=d;}),this.table.modules.localize.langBind("pagination|counter|rows",d=>{u.innerHTML=d;}),i?(a.innerHTML=" "+e+"-"+Math.min(e+n-1,i)+" ",h.innerHTML=" "+i+" ",r.appendChild(o),r.appendChild(a),r.appendChild(l),r.appendChild(h),r.appendChild(u)):(a.innerHTML=" 0 ",r.appendChild(o),r.appendChild(a),r.appendChild(u)),r}function ks(n,e,t,i,s){var r=document.createElement("span"),o=document.createElement("span"),a=document.createElement("span"),l=document.createElement("span"),h=document.createElement("span"),u=document.createElement("span");return this.table.modules.localize.langBind("pagination|counter|showing",d=>{o.innerHTML=d;}),a.innerHTML=" "+t+" ",this.table.modules.localize.langBind("pagination|counter|of",d=>{l.innerHTML=d;}),h.innerHTML=" "+s+" ",this.table.modules.localize.langBind("pagination|counter|pages",d=>{u.innerHTML=d;}),r.appendChild(o),r.appendChild(a),r.appendChild(l),r.appendChild(h),r.appendChild(u),r}var Ts={rows:Rs,pages:ks},ke=class n extends C{constructor(e){super(e),this.mode="local",this.progressiveLoad=false,this.element=null,this.pageCounterElement=null,this.pageCounter=null,this.size=0,this.page=1,this.count=5,this.max=1,this.remoteRowCountEstimate=null,this.initialLoad=true,this.dataChanging=false,this.pageSizes=[],this.registerTableOption("pagination",false),this.registerTableOption("paginationMode","local"),this.registerTableOption("paginationSize",false),this.registerTableOption("paginationInitialPage",1),this.registerTableOption("paginationCounter",false),this.registerTableOption("paginationCounterElement",false),this.registerTableOption("paginationButtonCount",5),this.registerTableOption("paginationSizeSelector",false),this.registerTableOption("paginationElement",false),this.registerTableOption("paginationAddRow","page"),this.registerTableOption("progressiveLoad",false),this.registerTableOption("progressiveLoadDelay",0),this.registerTableOption("progressiveLoadScrollMargin",0),this.registerTableFunction("setMaxPage",this.setMaxPage.bind(this)),this.registerTableFunction("setPage",this.setPage.bind(this)),this.registerTableFunction("setPageToRow",this.userSetPageToRow.bind(this)),this.registerTableFunction("setPageSize",this.userSetPageSize.bind(this)),this.registerTableFunction("getPageSize",this.getPageSize.bind(this)),this.registerTableFunction("previousPage",this.previousPage.bind(this)),this.registerTableFunction("nextPage",this.nextPage.bind(this)),this.registerTableFunction("getPage",this.getPage.bind(this)),this.registerTableFunction("getPageMax",this.getPageMax.bind(this)),this.registerComponentFunction("row","pageTo",this.setPageToRow.bind(this));}initialize(){this.table.options.pagination?(this.subscribe("row-deleted",this.rowsUpdated.bind(this)),this.subscribe("row-added",this.rowsUpdated.bind(this)),this.subscribe("data-processed",this.initialLoadComplete.bind(this)),this.subscribe("table-built",this.calculatePageSizes.bind(this)),this.subscribe("footer-redraw",this.footerRedraw.bind(this)),this.table.options.paginationAddRow=="page"&&this.subscribe("row-adding-position",this.rowAddingPosition.bind(this)),this.table.options.paginationMode==="remote"&&(this.subscribe("data-params",this.remotePageParams.bind(this)),this.subscribe("data-loaded",this._parseRemoteData.bind(this))),this.table.options.progressiveLoad,this.registerDisplayHandler(this.restOnRenderBefore.bind(this),40),this.registerDisplayHandler(this.getRows.bind(this),50),this.createElements(),this.initializePageCounter(),this.initializePaginator()):this.table.options.progressiveLoad&&(this.subscribe("data-params",this.remotePageParams.bind(this)),this.subscribe("data-loaded",this._parseRemoteData.bind(this)),this.subscribe("table-built",this.calculatePageSizes.bind(this)),this.subscribe("data-processed",this.initialLoadComplete.bind(this)),this.initializeProgressive(this.table.options.progressiveLoad),this.table.options.progressiveLoad==="scroll"&&this.subscribe("scroll-vertical",this.scrollVertical.bind(this)));}rowAddingPosition(e,t){var i=this.table.rowManager,s=i.getDisplayRows(),r;return t?s.length?r=s[0]:i.activeRows.length&&(r=i.activeRows[i.activeRows.length-1],t=false):s.length&&(r=s[s.length-1],t=!(s.length<this.size)),{index:r,top:t}}calculatePageSizes(){var e,t;this.table.options.paginationSize?this.size=this.table.options.paginationSize:(e=document.createElement("div"),e.classList.add("tabulator-row"),e.style.visibility="hidden",t=document.createElement("div"),t.classList.add("tabulator-cell"),t.innerHTML="Page Row Test",e.appendChild(t),this.table.rowManager.getTableElement().appendChild(e),this.size=Math.floor(this.table.rowManager.getElement().clientHeight/e.offsetHeight),this.table.rowManager.getTableElement().removeChild(e)),this.dispatchExternal("pageSizeChanged",this.size),this.generatePageSizeSelectList();}initialLoadComplete(){this.initialLoad=false;}remotePageParams(e,t,i,s){return this.initialLoad||(this.progressiveLoad&&!i||!this.progressiveLoad&&!this.dataChanging)&&this.reset(true),s.page=this.page,this.size&&(s.size=this.size),s}userSetPageToRow(e){return this.table.options.pagination&&(e=this.table.rowManager.findRow(e),e)?this.setPageToRow(e):Promise.reject()}userSetPageSize(e){return this.table.options.pagination?(this.setPageSize(e),this.setPage(1)):false}scrollVertical(e,t){var i,s,r;!t&&!this.table.dataLoader.loading&&(i=this.table.rowManager.getElement(),s=i.scrollHeight-i.clientHeight-e,r=this.table.options.progressiveLoadScrollMargin||i.clientHeight*2,s<r&&this.nextPage().catch(()=>{}));}restOnRenderBefore(e,t){return t||this.mode==="local"&&this.reset(),e}rowsUpdated(){this.refreshData(true,"all");}createElements(){var e;this.element=document.createElement("span"),this.element.classList.add("tabulator-paginator"),this.pagesElement=document.createElement("span"),this.pagesElement.classList.add("tabulator-pages"),e=document.createElement("button"),e.classList.add("tabulator-page"),e.setAttribute("type","button"),e.setAttribute("role","button"),e.setAttribute("aria-label",""),e.setAttribute("title",""),this.firstBut=e.cloneNode(true),this.firstBut.setAttribute("data-page","first"),this.prevBut=e.cloneNode(true),this.prevBut.setAttribute("data-page","prev"),this.nextBut=e.cloneNode(true),this.nextBut.setAttribute("data-page","next"),this.lastBut=e.cloneNode(true),this.lastBut.setAttribute("data-page","last"),this.table.options.paginationSizeSelector&&(this.pageSizeSelect=document.createElement("select"),this.pageSizeSelect.classList.add("tabulator-page-size"));}generatePageSizeSelectList(){var e=[];if(this.pageSizeSelect){if(Array.isArray(this.table.options.paginationSizeSelector))e=this.table.options.paginationSizeSelector,this.pageSizes=e,this.pageSizes.indexOf(this.size)==-1&&e.unshift(this.size);else if(this.pageSizes.indexOf(this.size)==-1){e=[];for(let t=1;t<5;t++)e.push(this.size*t);this.pageSizes=e;}else e=this.pageSizes;for(;this.pageSizeSelect.firstChild;)this.pageSizeSelect.removeChild(this.pageSizeSelect.firstChild);e.forEach(t=>{var i=document.createElement("option");i.value=t,t===true?this.langBind("pagination|all",function(s){i.innerHTML=s;}):i.innerHTML=t,this.pageSizeSelect.appendChild(i);}),this.pageSizeSelect.value=this.size;}}initializePageCounter(){var e=this.table.options.paginationCounter,t=null;e&&(typeof e=="function"?t=e:t=n.pageCounters[e],t&&(this.pageCounter=t,this.pageCounterElement=document.createElement("span"),this.pageCounterElement.classList.add("tabulator-page-counter")));}initializePaginator(e){var t,i;e||(this.langBind("pagination|first",s=>{this.firstBut.innerHTML=s;}),this.langBind("pagination|first_title",s=>{this.firstBut.setAttribute("aria-label",s),this.firstBut.setAttribute("title",s);}),this.langBind("pagination|prev",s=>{this.prevBut.innerHTML=s;}),this.langBind("pagination|prev_title",s=>{this.prevBut.setAttribute("aria-label",s),this.prevBut.setAttribute("title",s);}),this.langBind("pagination|next",s=>{this.nextBut.innerHTML=s;}),this.langBind("pagination|next_title",s=>{this.nextBut.setAttribute("aria-label",s),this.nextBut.setAttribute("title",s);}),this.langBind("pagination|last",s=>{this.lastBut.innerHTML=s;}),this.langBind("pagination|last_title",s=>{this.lastBut.setAttribute("aria-label",s),this.lastBut.setAttribute("title",s);}),this.firstBut.addEventListener("click",()=>{this.setPage(1);}),this.prevBut.addEventListener("click",()=>{this.previousPage();}),this.nextBut.addEventListener("click",()=>{this.nextPage();}),this.lastBut.addEventListener("click",()=>{this.setPage(this.max);}),this.table.options.paginationElement&&(this.element=this.table.options.paginationElement),this.pageSizeSelect&&(t=document.createElement("label"),this.langBind("pagination|page_size",s=>{this.pageSizeSelect.setAttribute("aria-label",s),this.pageSizeSelect.setAttribute("title",s),t.innerHTML=s;}),this.element.appendChild(t),this.element.appendChild(this.pageSizeSelect),this.pageSizeSelect.addEventListener("change",s=>{this.setPageSize(this.pageSizeSelect.value=="true"?true:this.pageSizeSelect.value),this.setPage(1);})),this.element.appendChild(this.firstBut),this.element.appendChild(this.prevBut),this.element.appendChild(this.pagesElement),this.element.appendChild(this.nextBut),this.element.appendChild(this.lastBut),this.table.options.paginationElement||(this.table.options.paginationCounter&&(this.table.options.paginationCounterElement?this.table.options.paginationCounterElement instanceof HTMLElement?this.table.options.paginationCounterElement.appendChild(this.pageCounterElement):typeof this.table.options.paginationCounterElement=="string"&&(i=document.querySelector(this.table.options.paginationCounterElement),i&&i.appendChild(this.pageCounterElement)):this.footerAppend(this.pageCounterElement)),this.footerAppend(this.element)),this.page=this.table.options.paginationInitialPage,this.count=this.table.options.paginationButtonCount),this.mode=this.table.options.paginationMode;}initializeProgressive(e){this.initializePaginator(true),this.mode="progressive_"+e,this.progressiveLoad=true;}trackChanges(){this.dispatch("page-changed");}setMaxRows(e){e?this.max=this.size===true?1:Math.ceil(e/this.size):this.max=1,this.page>this.max&&(this.page=this.max);}reset(e){this.initialLoad||(this.mode=="local"||e)&&(this.page=1,this.trackChanges());}setMaxPage(e){e=parseInt(e),this.max=e||1,this.page>this.max&&(this.page=this.max,this.trigger());}setPage(e){switch(e){case "first":return this.setPage(1);case "prev":return this.previousPage();case "next":return this.nextPage();case "last":return this.setPage(this.max)}return e=parseInt(e),e>0&&e<=this.max||this.mode!=="local"?(this.page=e,this.trackChanges(),this.trigger()):Promise.reject()}setPageToRow(e){var t=this.displayRows(-1),i=t.indexOf(e);if(i>-1){var s=this.size===true?1:Math.ceil((i+1)/this.size);return this.setPage(s)}else return Promise.reject()}setPageSize(e){e!==true&&(e=parseInt(e)),e>0&&(this.size=e,this.dispatchExternal("pageSizeChanged",e)),this.pageSizeSelect&&this.generatePageSizeSelectList(),this.trackChanges();}_setPageCounter(e,t,i){var s;if(this.pageCounter)switch(this.mode==="remote"&&(t=this.size,i=(this.page-1)*this.size+1,e=this.remoteRowCountEstimate),s=this.pageCounter.call(this,t,i,this.page,e,this.max),typeof s){case "object":if(s instanceof Node){for(;this.pageCounterElement.firstChild;)this.pageCounterElement.removeChild(this.pageCounterElement.firstChild);this.pageCounterElement.appendChild(s);}else this.pageCounterElement.innerHTML="";break;case "undefined":this.pageCounterElement.innerHTML="";break;default:this.pageCounterElement.innerHTML=s;}}_setPageButtons(){let e=Math.floor((this.count-1)/2),t=Math.ceil((this.count-1)/2),i=this.max-this.page+e+1<this.count?this.max-this.count+1:Math.max(this.page-e,1),s=this.page<=t?Math.min(this.count,this.max):Math.min(this.page+t,this.max);for(;this.pagesElement.firstChild;)this.pagesElement.removeChild(this.pagesElement.firstChild);this.page==1?(this.firstBut.disabled=true,this.prevBut.disabled=true):(this.firstBut.disabled=false,this.prevBut.disabled=false),this.page==this.max?(this.lastBut.disabled=true,this.nextBut.disabled=true):(this.lastBut.disabled=false,this.nextBut.disabled=false);for(let r=i;r<=s;r++)r>0&&r<=this.max&&this.pagesElement.appendChild(this._generatePageButton(r));this.footerRedraw();}_generatePageButton(e){var t=document.createElement("button");return t.classList.add("tabulator-page"),e==this.page&&t.classList.add("active"),t.setAttribute("type","button"),t.setAttribute("role","button"),this.langBind("pagination|page_title",i=>{t.setAttribute("aria-label",i+" "+e),t.setAttribute("title",i+" "+e);}),t.setAttribute("data-page",e),t.textContent=e,t.addEventListener("click",i=>{this.setPage(e);}),t}previousPage(){return this.page>1?(this.page--,this.trackChanges(),this.trigger()):Promise.reject()}nextPage(){return this.page<this.max?(this.page++,this.trackChanges(),this.trigger()):(this.progressiveLoad,Promise.reject())}getPage(){return this.page}getPageMax(){return this.max}getPageSize(e){return this.size}getMode(){return this.mode}getRows(e){var t=0,i,s,r,o,a=e.filter(l=>l.type==="row");if(this.mode=="local"){i=[],this.setMaxRows(e.length),this.size===true?(s=0,r=e.length):(s=this.size*(this.page-1),r=s+parseInt(this.size)),this._setPageButtons();for(let l=s;l<r;l++){let h=e[l];h&&(i.push(h),h.type==="row"&&(o||(o=h),t++));}return this._setPageCounter(a.length,t,o?a.indexOf(o)+1:0),i}else return this._setPageButtons(),this._setPageCounter(a.length),e.slice(0)}trigger(){var e;switch(this.mode){case "local":return e=this.table.rowManager.scrollLeft,this.refreshData(),this.table.rowManager.scrollHorizontal(e),this.dispatchExternal("pageLoaded",this.getPage()),Promise.resolve();case "remote":return this.dataChanging=true,this.reloadData(null).finally(()=>{this.dataChanging=false;});case "progressive_load":case "progressive_scroll":return this.reloadData(null,true);default:return Promise.reject()}}_parseRemoteData(e){var t;if(e.last_page,e.data)if(this.max=parseInt(e.last_page)||1,this.remoteRowCountEstimate=typeof e.last_row!="undefined"?e.last_row:e.last_page*this.size-(this.page==e.last_page?this.size-e.data.length:0),this.progressiveLoad){switch(this.mode){case "progressive_load":this.page==1?this.table.rowManager.setData(e.data,false,this.page==1):this.table.rowManager.addRows(e.data),this.page<this.max&&setTimeout(()=>{this.nextPage();},this.table.options.progressiveLoadDelay);break;case "progressive_scroll":e=this.page===1?e.data:this.table.rowManager.getData().concat(e.data),this.table.rowManager.setData(e,this.page!==1,this.page==1),t=this.table.options.progressiveLoadScrollMargin||this.table.rowManager.element.clientHeight*2,this.table.rowManager.element.scrollHeight<=this.table.rowManager.element.clientHeight+t&&this.page<this.max&&setTimeout(()=>{this.nextPage();});break}return false}else this.dispatchExternal("pageLoaded",this.getPage());return e.data}footerRedraw(){var e=this.table.footerManager.containerElement;Math.ceil(e.clientWidth)-e.scrollWidth<0?this.pagesElement.style.display="none":(this.pagesElement.style.display="",Math.ceil(e.clientWidth)-e.scrollWidth<0&&(this.pagesElement.style.display="none"));}};ke.moduleName="page";ke.pageCounters=Ts;var Ms={local:function(n,e){var t=localStorage.getItem(n+"-"+e);return t?JSON.parse(t):false},cookie:function(n,e){var t=document.cookie,i=n+"-"+e,s=t.indexOf(i+"="),r,o;return s>-1&&(t=t.slice(s),r=t.indexOf(";"),r>-1&&(t=t.slice(0,r)),o=t.replace(i+"=","")),o?JSON.parse(o):false}},Ls={local:function(n,e,t){localStorage.setItem(n+"-"+e,JSON.stringify(t));},cookie:function(n,e,t){var i=new Date;i.setDate(i.getDate()+1e4),document.cookie=n+"-"+e+"="+JSON.stringify(t)+"; expires="+i.toUTCString();}},ee=class n extends C{constructor(e){super(e),this.mode="",this.id="",this.defWatcherBlock=false,this.config={},this.readFunc=false,this.writeFunc=false,this.registerTableOption("persistence",false),this.registerTableOption("persistenceID",""),this.registerTableOption("persistenceMode",true),this.registerTableOption("persistenceReaderFunc",false),this.registerTableOption("persistenceWriterFunc",false);}localStorageTest(){var e="_tabulator_test";try{return window.localStorage.setItem(e,e),window.localStorage.removeItem(e),!0}catch(t){return false}}initialize(){if(this.table.options.persistence){var e=this.table.options.persistenceMode,t=this.table.options.persistenceID,i;this.mode=e!==true?e:this.localStorageTest()?"local":"cookie",this.table.options.persistenceReaderFunc?typeof this.table.options.persistenceReaderFunc=="function"?this.readFunc=this.table.options.persistenceReaderFunc:n.readers[this.table.options.persistenceReaderFunc]&&(this.readFunc=n.readers[this.table.options.persistenceReaderFunc]):n.readers[this.mode]&&(this.readFunc=n.readers[this.mode]),this.table.options.persistenceWriterFunc?typeof this.table.options.persistenceWriterFunc=="function"?this.writeFunc=this.table.options.persistenceWriterFunc:n.writers[this.table.options.persistenceWriterFunc]&&(this.writeFunc=n.writers[this.table.options.persistenceWriterFunc]):n.writers[this.mode]&&(this.writeFunc=n.writers[this.mode]),this.id="tabulator-"+(t||this.table.element.getAttribute("id")||""),this.config={sort:this.table.options.persistence===true||this.table.options.persistence.sort,filter:this.table.options.persistence===true||this.table.options.persistence.filter,headerFilter:this.table.options.persistence===true||this.table.options.persistence.headerFilter,group:this.table.options.persistence===true||this.table.options.persistence.group,page:this.table.options.persistence===true||this.table.options.persistence.page,columns:this.table.options.persistence===true?["title","width","visible"]:this.table.options.persistence.columns},this.config.page&&(i=this.retrieveData("page"),i&&(typeof i.paginationSize!="undefined"&&(this.config.page===true||this.config.page.size)&&(this.table.options.paginationSize=i.paginationSize),typeof i.paginationInitialPage!="undefined"&&(this.config.page===true||this.config.page.page)&&(this.table.options.paginationInitialPage=i.paginationInitialPage))),this.config.group&&(i=this.retrieveData("group"),i&&(typeof i.groupBy!="undefined"&&(this.config.group===true||this.config.group.groupBy)&&(this.table.options.groupBy=i.groupBy),typeof i.groupStartOpen!="undefined"&&(this.config.group===true||this.config.group.groupStartOpen)&&(this.table.options.groupStartOpen=i.groupStartOpen),typeof i.groupHeader!="undefined"&&(this.config.group===true||this.config.group.groupHeader)&&(this.table.options.groupHeader=i.groupHeader))),this.config.columns&&(this.table.options.columns=this.load("columns",this.table.options.columns),this.subscribe("column-init",this.initializeColumn.bind(this)),this.subscribe("column-show",this.save.bind(this,"columns")),this.subscribe("column-hide",this.save.bind(this,"columns")),this.subscribe("column-moved",this.save.bind(this,"columns"))),this.subscribe("table-built",this.tableBuilt.bind(this),0),this.subscribe("table-redraw",this.tableRedraw.bind(this)),this.subscribe("filter-changed",this.eventSave.bind(this,"filter")),this.subscribe("filter-changed",this.eventSave.bind(this,"headerFilter")),this.subscribe("sort-changed",this.eventSave.bind(this,"sort")),this.subscribe("group-changed",this.eventSave.bind(this,"group")),this.subscribe("page-changed",this.eventSave.bind(this,"page")),this.subscribe("column-resized",this.eventSave.bind(this,"columns")),this.subscribe("column-width",this.eventSave.bind(this,"columns")),this.subscribe("layout-refreshed",this.eventSave.bind(this,"columns"));}this.registerTableFunction("getColumnLayout",this.getColumnLayout.bind(this)),this.registerTableFunction("setColumnLayout",this.setColumnLayout.bind(this));}eventSave(e){this.config[e]&&this.save(e);}tableBuilt(){var e,t,i;this.config.sort&&(e=this.load("sort"),e&&(this.table.options.initialSort=e)),this.config.filter&&(t=this.load("filter"),t&&(this.table.options.initialFilter=t)),this.config.headerFilter&&(i=this.load("headerFilter"),i&&(this.table.options.initialHeaderFilter=i));}tableRedraw(e){e&&this.config.columns&&this.save("columns");}getColumnLayout(){return this.parseColumns(this.table.columnManager.getColumns())}setColumnLayout(e){return this.table.columnManager.setColumns(this.mergeDefinition(this.table.options.columns,e,true)),true}initializeColumn(e){var t,i;this.config.columns&&(this.defWatcherBlock=true,t=e.getDefinition(),i=this.config.columns===true?Object.keys(t):this.config.columns,i.forEach(s=>{var r=Object.getOwnPropertyDescriptor(t,s),o=t[s];r&&Object.defineProperty(t,s,{set:a=>{o=a,this.defWatcherBlock||this.save("columns"),r.set&&r.set(a);},get:()=>(r.get&&r.get(),o)});}),this.defWatcherBlock=false);}load(e,t){var i=this.retrieveData(e);return t&&(i=i?this.mergeDefinition(t,i):t),i}retrieveData(e){return this.readFunc?this.readFunc(this.id,e):false}mergeDefinition(e,t,i){var s=[];return t=t||[],t.forEach((r,o)=>{var a=this._findColumn(e,r),l;a&&(i?l=Object.keys(r):this.config.columns===true||this.config.columns==null?(l=Object.keys(a),l.push("width")):l=this.config.columns,l.forEach(h=>{h!=="columns"&&typeof r[h]!="undefined"&&(a[h]=r[h]);}),a.columns&&(a.columns=this.mergeDefinition(a.columns,r.columns)),s.push(a));}),e.forEach((r,o)=>{var a=this._findColumn(t,r);a||(s.length>o?s.splice(o,0,r):s.push(r));}),s}_findColumn(e,t){var i=t.columns?"group":t.field?"field":"object";return e.find(function(s){switch(i){case "group":return s.title===t.title&&s.columns.length===t.columns.length;case "field":return s.field===t.field;case "object":return s===t}})}save(e){var t={};switch(e){case "columns":t=this.parseColumns(this.table.columnManager.getColumns());break;case "filter":t=this.table.modules.filter.getFilters();break;case "headerFilter":t=this.table.modules.filter.getHeaderFilters();break;case "sort":t=this.validateSorters(this.table.modules.sort.getSort());break;case "group":t=this.getGroupConfig();break;case "page":t=this.getPageConfig();break}this.writeFunc&&this.writeFunc(this.id,e,t);}validateSorters(e){return e.forEach(function(t){t.column=t.field,delete t.field;}),e}getGroupConfig(){var e={};return this.config.group&&((this.config.group===true||this.config.group.groupBy)&&(e.groupBy=this.table.options.groupBy),(this.config.group===true||this.config.group.groupStartOpen)&&(e.groupStartOpen=this.table.options.groupStartOpen),(this.config.group===true||this.config.group.groupHeader)&&(e.groupHeader=this.table.options.groupHeader)),e}getPageConfig(){var e={};return this.config.page&&((this.config.page===true||this.config.page.size)&&(e.paginationSize=this.table.modules.page.getPageSize()),(this.config.page===true||this.config.page.page)&&(e.paginationInitialPage=this.table.modules.page.getPage())),e}parseColumns(e){var t=[],i=["headerContextMenu","headerMenu","contextMenu","clickMenu"];return e.forEach(s=>{var r={},o=s.getDefinition(),a;s.isGroup?(r.title=o.title,r.columns=this.parseColumns(s.getColumns())):(r.field=s.getField(),this.config.columns===true||this.config.columns==null?(a=Object.keys(o),a.push("width"),a.push("visible")):a=this.config.columns,a.forEach(l=>{switch(l){case "width":r.width=s.getWidth();break;case "visible":r.visible=s.visible;break;default:typeof o[l]!="function"&&i.indexOf(l)===-1&&(r[l]=o[l]);}})),t.push(r);}),t}};ee.moduleName="persistence";ee.moduleInitOrder=-10;ee.readers=Ms;ee.writers=Ls;var Ke=class extends C{constructor(e){super(e),this.columnSubscribers={},this.registerTableOption("rowContextPopup",false),this.registerTableOption("rowClickPopup",false),this.registerTableOption("rowDblClickPopup",false),this.registerTableOption("groupContextPopup",false),this.registerTableOption("groupClickPopup",false),this.registerTableOption("groupDblClickPopup",false),this.registerColumnOption("headerContextPopup"),this.registerColumnOption("headerClickPopup"),this.registerColumnOption("headerDblClickPopup"),this.registerColumnOption("headerPopup"),this.registerColumnOption("headerPopupIcon"),this.registerColumnOption("contextPopup"),this.registerColumnOption("clickPopup"),this.registerColumnOption("dblClickPopup"),this.registerComponentFunction("cell","popup",this._componentPopupCall.bind(this)),this.registerComponentFunction("column","popup",this._componentPopupCall.bind(this)),this.registerComponentFunction("row","popup",this._componentPopupCall.bind(this)),this.registerComponentFunction("group","popup",this._componentPopupCall.bind(this));}initialize(){this.initializeRowWatchers(),this.initializeGroupWatchers(),this.subscribe("column-init",this.initializeColumn.bind(this));}_componentPopupCall(e,t,i){this.loadPopupEvent(t,null,e,i);}initializeRowWatchers(){this.table.options.rowContextPopup&&(this.subscribe("row-contextmenu",this.loadPopupEvent.bind(this,this.table.options.rowContextPopup)),this.table.on("rowTapHold",this.loadPopupEvent.bind(this,this.table.options.rowContextPopup))),this.table.options.rowClickPopup&&this.subscribe("row-click",this.loadPopupEvent.bind(this,this.table.options.rowClickPopup)),this.table.options.rowDblClickPopup&&this.subscribe("row-dblclick",this.loadPopupEvent.bind(this,this.table.options.rowDblClickPopup));}initializeGroupWatchers(){this.table.options.groupContextPopup&&(this.subscribe("group-contextmenu",this.loadPopupEvent.bind(this,this.table.options.groupContextPopup)),this.table.on("groupTapHold",this.loadPopupEvent.bind(this,this.table.options.groupContextPopup))),this.table.options.groupClickPopup&&this.subscribe("group-click",this.loadPopupEvent.bind(this,this.table.options.groupClickPopup)),this.table.options.groupDblClickPopup&&this.subscribe("group-dblclick",this.loadPopupEvent.bind(this,this.table.options.groupDblClickPopup));}initializeColumn(e){var t=e.definition;t.headerContextPopup&&!this.columnSubscribers.headerContextPopup&&(this.columnSubscribers.headerContextPopup=this.loadPopupTableColumnEvent.bind(this,"headerContextPopup"),this.subscribe("column-contextmenu",this.columnSubscribers.headerContextPopup),this.table.on("headerTapHold",this.loadPopupTableColumnEvent.bind(this,"headerContextPopup"))),t.headerClickPopup&&!this.columnSubscribers.headerClickPopup&&(this.columnSubscribers.headerClickPopup=this.loadPopupTableColumnEvent.bind(this,"headerClickPopup"),this.subscribe("column-click",this.columnSubscribers.headerClickPopup)),t.headerDblClickPopup&&!this.columnSubscribers.headerDblClickPopup&&(this.columnSubscribers.headerDblClickPopup=this.loadPopupTableColumnEvent.bind(this,"headerDblClickPopup"),this.subscribe("column-dblclick",this.columnSubscribers.headerDblClickPopup)),t.headerPopup&&this.initializeColumnHeaderPopup(e),t.contextPopup&&!this.columnSubscribers.contextPopup&&(this.columnSubscribers.contextPopup=this.loadPopupTableCellEvent.bind(this,"contextPopup"),this.subscribe("cell-contextmenu",this.columnSubscribers.contextPopup),this.table.on("cellTapHold",this.loadPopupTableCellEvent.bind(this,"contextPopup"))),t.clickPopup&&!this.columnSubscribers.clickPopup&&(this.columnSubscribers.clickPopup=this.loadPopupTableCellEvent.bind(this,"clickPopup"),this.subscribe("cell-click",this.columnSubscribers.clickPopup)),t.dblClickPopup&&!this.columnSubscribers.dblClickPopup&&(this.columnSubscribers.dblClickPopup=this.loadPopupTableCellEvent.bind(this,"dblClickPopup"),this.subscribe("cell-click",this.columnSubscribers.dblClickPopup));}initializeColumnHeaderPopup(e){var t=e.definition.headerPopupIcon,i;i=document.createElement("span"),i.classList.add("tabulator-header-popup-button"),t?(typeof t=="function"&&(t=t(e.getComponent())),t instanceof HTMLElement?i.appendChild(t):i.innerHTML=t):i.innerHTML="&vellip;",i.addEventListener("click",s=>{s.stopPropagation(),s.preventDefault(),this.loadPopupEvent(e.definition.headerPopup,s,e);}),e.titleElement.insertBefore(i,e.titleElement.firstChild);}loadPopupTableCellEvent(e,t,i){i._cell&&(i=i._cell),i.column.definition[e]&&this.loadPopupEvent(i.column.definition[e],t,i);}loadPopupTableColumnEvent(e,t,i){i._column&&(i=i._column),i.definition[e]&&this.loadPopupEvent(i.definition[e],t,i);}loadPopupEvent(e,t,i,s){var r;function o(a){r=a;}i._group?i=i._group:i._row&&(i=i._row),e=typeof e=="function"?e.call(this.table,t,i.getComponent(),o):e,this.loadPopup(t,i,e,r,s);}loadPopup(e,t,i,s,r){var o=!(e instanceof MouseEvent),a,l;i instanceof HTMLElement?a=i:(a=document.createElement("div"),a.innerHTML=i),a.classList.add("tabulator-popup"),a.addEventListener("click",h=>{h.stopPropagation();}),o||e.preventDefault(),l=this.popup(a),typeof s=="function"&&l.renderCallback(s),e?l.show(e):l.show(t.getElement(),r||"center"),l.hideOnBlur(()=>{this.dispatchExternal("popupClosed",t.getComponent());}),this.dispatchExternal("popupOpened",t.getComponent());}};Ke.moduleName="popup";var qe=class extends C{constructor(e){super(e),this.element=false,this.manualBlock=false,this.beforeprintEventHandler=null,this.afterprintEventHandler=null,this.registerTableOption("printAsHtml",false),this.registerTableOption("printFormatter",false),this.registerTableOption("printHeader",false),this.registerTableOption("printFooter",false),this.registerTableOption("printStyled",true),this.registerTableOption("printRowRange","visible"),this.registerTableOption("printConfig",{}),this.registerColumnOption("print"),this.registerColumnOption("titlePrint");}initialize(){this.table.options.printAsHtml&&(this.beforeprintEventHandler=this.replaceTable.bind(this),this.afterprintEventHandler=this.cleanup.bind(this),window.addEventListener("beforeprint",this.beforeprintEventHandler),window.addEventListener("afterprint",this.afterprintEventHandler),this.subscribe("table-destroy",this.destroy.bind(this))),this.registerTableFunction("print",this.printFullscreen.bind(this));}destroy(){this.table.options.printAsHtml&&(window.removeEventListener("beforeprint",this.beforeprintEventHandler),window.removeEventListener("afterprint",this.afterprintEventHandler));}replaceTable(){this.manualBlock||(this.element=document.createElement("div"),this.element.classList.add("tabulator-print-table"),this.element.appendChild(this.table.modules.export.generateTable(this.table.options.printConfig,this.table.options.printStyled,this.table.options.printRowRange,"print")),this.table.element.style.display="none",this.table.element.parentNode.insertBefore(this.element,this.table.element));}cleanup(){document.body.classList.remove("tabulator-print-fullscreen-hide"),this.element&&this.element.parentNode&&(this.element.parentNode.removeChild(this.element),this.table.element.style.display="");}printFullscreen(e,t,i){var s=window.scrollX,r=window.scrollY,o=document.createElement("div"),a=document.createElement("div"),l=this.table.modules.export.generateTable(typeof i!="undefined"?i:this.table.options.printConfig,typeof t!="undefined"?t:this.table.options.printStyled,e||this.table.options.printRowRange,"print"),h,u;this.manualBlock=true,this.element=document.createElement("div"),this.element.classList.add("tabulator-print-fullscreen"),this.table.options.printHeader&&(o.classList.add("tabulator-print-header"),h=typeof this.table.options.printHeader=="function"?this.table.options.printHeader.call(this.table):this.table.options.printHeader,typeof h=="string"?o.innerHTML=h:o.appendChild(h),this.element.appendChild(o)),this.element.appendChild(l),this.table.options.printFooter&&(a.classList.add("tabulator-print-footer"),u=typeof this.table.options.printFooter=="function"?this.table.options.printFooter.call(this.table):this.table.options.printFooter,typeof u=="string"?a.innerHTML=u:a.appendChild(u),this.element.appendChild(a)),document.body.classList.add("tabulator-print-fullscreen-hide"),document.body.appendChild(this.element),this.table.options.printFormatter&&this.table.options.printFormatter(this.element,l),window.print(),this.cleanup(),window.scrollTo(s,r),this.manualBlock=false;}};qe.moduleName="print";var $e=class extends C{constructor(e){super(e),this.data=false,this.blocked=false,this.origFuncs={},this.currentVersion=0,this.registerTableOption("reactiveData",false);}initialize(){this.table.options.reactiveData&&(this.subscribe("cell-value-save-before",this.block.bind(this,"cellsave")),this.subscribe("cell-value-save-after",this.unblock.bind(this,"cellsave")),this.subscribe("row-data-save-before",this.block.bind(this,"rowsave")),this.subscribe("row-data-save-after",this.unblock.bind(this,"rowsave")),this.subscribe("row-data-init-after",this.watchRow.bind(this)),this.subscribe("data-processing",this.watchData.bind(this)),this.subscribe("table-destroy",this.unwatchData.bind(this)));}watchData(e){var t=this,i;this.currentVersion++,i=this.currentVersion,this.unwatchData(),this.data=e,this.origFuncs.push=e.push,Object.defineProperty(this.data,"push",{enumerable:false,configurable:true,value:function(){var s=Array.from(arguments),r;return !t.blocked&&i===t.currentVersion&&(t.block("data-push"),s.forEach(o=>{t.table.rowManager.addRowActual(o,false);}),r=t.origFuncs.push.apply(e,arguments),t.unblock("data-push")),r}}),this.origFuncs.unshift=e.unshift,Object.defineProperty(this.data,"unshift",{enumerable:false,configurable:true,value:function(){var s=Array.from(arguments),r;return !t.blocked&&i===t.currentVersion&&(t.block("data-unshift"),s.forEach(o=>{t.table.rowManager.addRowActual(o,true);}),r=t.origFuncs.unshift.apply(e,arguments),t.unblock("data-unshift")),r}}),this.origFuncs.shift=e.shift,Object.defineProperty(this.data,"shift",{enumerable:false,configurable:true,value:function(){var s,r;return !t.blocked&&i===t.currentVersion&&(t.block("data-shift"),t.data.length&&(s=t.table.rowManager.getRowFromDataObject(t.data[0]),s&&s.deleteActual()),r=t.origFuncs.shift.call(e),t.unblock("data-shift")),r}}),this.origFuncs.pop=e.pop,Object.defineProperty(this.data,"pop",{enumerable:false,configurable:true,value:function(){var s,r;return !t.blocked&&i===t.currentVersion&&(t.block("data-pop"),t.data.length&&(s=t.table.rowManager.getRowFromDataObject(t.data[t.data.length-1]),s&&s.deleteActual()),r=t.origFuncs.pop.call(e),t.unblock("data-pop")),r}}),this.origFuncs.splice=e.splice,Object.defineProperty(this.data,"splice",{enumerable:false,configurable:true,value:function(){var s=Array.from(arguments),r=s[0]<0?e.length+s[0]:s[0],o=s[1],a=s[2]?s.slice(2):false,l,h;if(!t.blocked&&i===t.currentVersion){if(t.block("data-splice"),a&&(l=e[r]?t.table.rowManager.getRowFromDataObject(e[r]):false,l?a.forEach(d=>{t.table.rowManager.addRowActual(d,true,l,true);}):(a=a.slice().reverse(),a.forEach(d=>{t.table.rowManager.addRowActual(d,true,false,true);}))),o!==0){var u=e.slice(r,typeof s[1]=="undefined"?s[1]:r+o);u.forEach((d,c)=>{var f=t.table.rowManager.getRowFromDataObject(d);f&&f.deleteActual(c!==u.length-1);});}(a||o!==0)&&t.table.rowManager.reRenderInPosition(),h=t.origFuncs.splice.apply(e,arguments),t.unblock("data-splice");}return h}});}unwatchData(){if(this.data!==false)for(var e in this.origFuncs)Object.defineProperty(this.data,e,{enumerable:true,configurable:true,writable:true,value:this.origFuncs.key});}watchRow(e){var t=e.getData();for(var i in t)this.watchKey(e,t,i);this.table.options.dataTree&&this.watchTreeChildren(e);}watchTreeChildren(e){var t=this,i=e.getData()[this.table.options.dataTreeChildField],s={};i&&(s.push=i.push,Object.defineProperty(i,"push",{enumerable:false,configurable:true,value:()=>{if(!t.blocked){t.block("tree-push");var r=s.push.apply(i,arguments);this.rebuildTree(e),t.unblock("tree-push");}return r}}),s.unshift=i.unshift,Object.defineProperty(i,"unshift",{enumerable:false,configurable:true,value:()=>{if(!t.blocked){t.block("tree-unshift");var r=s.unshift.apply(i,arguments);this.rebuildTree(e),t.unblock("tree-unshift");}return r}}),s.shift=i.shift,Object.defineProperty(i,"shift",{enumerable:false,configurable:true,value:()=>{if(!t.blocked){t.block("tree-shift");var r=s.shift.call(i);this.rebuildTree(e),t.unblock("tree-shift");}return r}}),s.pop=i.pop,Object.defineProperty(i,"pop",{enumerable:false,configurable:true,value:()=>{if(!t.blocked){t.block("tree-pop");var r=s.pop.call(i);this.rebuildTree(e),t.unblock("tree-pop");}return r}}),s.splice=i.splice,Object.defineProperty(i,"splice",{enumerable:false,configurable:true,value:()=>{if(!t.blocked){t.block("tree-splice");var r=s.splice.apply(i,arguments);this.rebuildTree(e),t.unblock("tree-splice");}return r}}));}rebuildTree(e){this.table.modules.dataTree.initializeRow(e),this.table.modules.dataTree.layoutRow(e),this.table.rowManager.refreshActiveData("tree",false,true);}watchKey(e,t,i){var s=this,r=Object.getOwnPropertyDescriptor(t,i),o=t[i],a=this.currentVersion;Object.defineProperty(t,i,{set:l=>{if(o=l,!s.blocked&&a===s.currentVersion){s.block("key");var h={};h[i]=l,e.updateData(h),s.unblock("key");}r.set&&r.set(l);},get:()=>(r.get&&r.get(),o)});}unwatchRow(e){var t=e.getData();for(var i in t)Object.defineProperty(t,i,{value:t[i]});}block(e){this.blocked||(this.blocked=e);}unblock(e){this.blocked===e&&(this.blocked=false);}};$e.moduleName="reactiveData";var Ze=class extends C{constructor(e){super(e),this.startColumn=false,this.startX=false,this.startWidth=false,this.latestX=false,this.handle=null,this.initialNextColumn=null,this.nextColumn=null,this.initialized=false,this.registerColumnOption("resizable",true),this.registerTableOption("resizableColumnFit",false);}initialize(){this.subscribe("column-rendered",this.layoutColumnHeader.bind(this));}initializeEventWatchers(){this.initialized||(this.subscribe("cell-rendered",this.layoutCellHandles.bind(this)),this.subscribe("cell-delete",this.deInitializeComponent.bind(this)),this.subscribe("cell-height",this.resizeHandle.bind(this)),this.subscribe("column-moved",this.columnLayoutUpdated.bind(this)),this.subscribe("column-hide",this.deInitializeColumn.bind(this)),this.subscribe("column-show",this.columnLayoutUpdated.bind(this)),this.subscribe("column-width",this.columnWidthUpdated.bind(this)),this.subscribe("column-delete",this.deInitializeComponent.bind(this)),this.subscribe("column-height",this.resizeHandle.bind(this)),this.initialized=true);}layoutCellHandles(e){e.row.type==="row"&&(this.deInitializeComponent(e),this.initializeColumn("cell",e,e.column,e.element));}layoutColumnHeader(e){e.definition.resizable&&(this.initializeEventWatchers(),this.deInitializeComponent(e),this.initializeColumn("header",e,e,e.element));}columnLayoutUpdated(e){var t=e.prevColumn();this.reinitializeColumn(e),t&&this.reinitializeColumn(t);}columnWidthUpdated(e){e.modules.frozen&&(this.table.modules.frozenColumns.leftColumns.includes(e)?this.table.modules.frozenColumns.leftColumns.forEach(t=>{this.reinitializeColumn(t);}):this.table.modules.frozenColumns.rightColumns.includes(e)&&this.table.modules.frozenColumns.rightColumns.forEach(t=>{this.reinitializeColumn(t);}));}frozenColumnOffset(e){var t=false;return e.modules.frozen&&(t=e.modules.frozen.marginValue,e.modules.frozen.position==="left"?t+=e.getWidth()-3:t&&(t-=3)),t!==false?t+"px":false}reinitializeColumn(e){var t=this.frozenColumnOffset(e);e.cells.forEach(i=>{i.modules.resize&&i.modules.resize.handleEl&&(t&&(i.modules.resize.handleEl.style[e.modules.frozen.position]=t,i.modules.resize.handleEl.style["z-index"]=11),i.element.after(i.modules.resize.handleEl));}),e.modules.resize&&e.modules.resize.handleEl&&(t&&(e.modules.resize.handleEl.style[e.modules.frozen.position]=t),e.element.after(e.modules.resize.handleEl));}initializeColumn(e,t,i,s){var r=this,o=false,a=i.definition.resizable,l={},h=i.getLastColumn();if(e==="header"&&(o=i.definition.formatter=="textarea"||i.definition.variableHeight,l={variableHeight:o}),(a===true||a==e)&&this._checkResizability(h)){var u=document.createElement("span");u.className="tabulator-col-resize-handle",u.addEventListener("click",function(c){c.stopPropagation();});var d=function(c){r.startColumn=i,r.initialNextColumn=r.nextColumn=h.nextColumn(),r._mouseDown(c,h,u);};u.addEventListener("mousedown",d),u.addEventListener("touchstart",d,{passive:true}),u.addEventListener("dblclick",c=>{var f=h.getWidth();c.stopPropagation(),h.reinitializeWidth(true),f!==h.getWidth()&&(r.dispatch("column-resized",h),r.table.externalEvents.dispatch("columnResized",h.getComponent()));}),i.modules.frozen&&(u.style.position="sticky",u.style[i.modules.frozen.position]=this.frozenColumnOffset(i)),l.handleEl=u,s.parentNode&&i.visible&&s.after(u);}t.modules.resize=l;}deInitializeColumn(e){this.deInitializeComponent(e),e.cells.forEach(t=>{this.deInitializeComponent(t);});}deInitializeComponent(e){var t;e.modules.resize&&(t=e.modules.resize.handleEl,t&&t.parentElement&&t.parentElement.removeChild(t));}resizeHandle(e,t){e.modules.resize&&e.modules.resize.handleEl&&(e.modules.resize.handleEl.style.height=t);}_checkResizability(e){return e.definition.resizable}_mouseDown(e,t,i){var s=this;s.table.element.classList.add("tabulator-block-select");function r(a){var l=typeof a.screenX=="undefined"?a.touches[0].screenX:a.screenX,h=l-s.startX,u=l-s.latestX,d,c;if(s.latestX=l,s.table.rtl&&(h=-h,u=-u),d=t.width==t.minWidth||t.width==t.maxWidth,t.setWidth(s.startWidth+h),c=t.width==t.minWidth||t.width==t.maxWidth,u<0&&(s.nextColumn=s.initialNextColumn),s.table.options.resizableColumnFit&&s.nextColumn&&!(d&&c)){let f=s.nextColumn.getWidth();u>0&&f<=s.nextColumn.minWidth&&(s.nextColumn=s.nextColumn.nextColumn()),s.nextColumn&&s.nextColumn.setWidth(s.nextColumn.getWidth()-u);}s.table.columnManager.rerenderColumns(true),!s.table.browserSlow&&t.modules.resize&&t.modules.resize.variableHeight&&t.checkCellHeights();}function o(a){s.startColumn.modules.edit&&(s.startColumn.modules.edit.blocked=false),s.table.browserSlow&&t.modules.resize&&t.modules.resize.variableHeight&&t.checkCellHeights(),document.body.removeEventListener("mouseup",o),document.body.removeEventListener("mousemove",r),i.removeEventListener("touchmove",r),i.removeEventListener("touchend",o),s.table.element.classList.remove("tabulator-block-select"),s.startWidth!==t.getWidth()&&(s.table.columnManager.verticalAlignHeaders(),s.dispatch("column-resized",t),s.table.externalEvents.dispatch("columnResized",t.getComponent()));}e.stopPropagation(),s.startColumn.modules.edit&&(s.startColumn.modules.edit.blocked=true),s.startX=typeof e.screenX=="undefined"?e.touches[0].screenX:e.screenX,s.latestX=s.startX,s.startWidth=t.getWidth(),document.body.addEventListener("mousemove",r),document.body.addEventListener("mouseup",o),i.addEventListener("touchmove",r,{passive:true}),i.addEventListener("touchend",o);}};Ze.moduleName="resizeColumns";var Qe=class extends C{constructor(e){super(e),this.startColumn=false,this.startY=false,this.startHeight=false,this.handle=null,this.prevHandle=null,this.registerTableOption("resizableRows",false);}initialize(){this.table.options.resizableRows&&this.subscribe("row-layout-after",this.initializeRow.bind(this));}initializeRow(e){var t=this,i=e.getElement(),s=document.createElement("div");s.className="tabulator-row-resize-handle";var r=document.createElement("div");r.className="tabulator-row-resize-handle prev",s.addEventListener("click",function(l){l.stopPropagation();});var o=function(l){t.startRow=e,t._mouseDown(l,e,s);};s.addEventListener("mousedown",o),s.addEventListener("touchstart",o,{passive:true}),r.addEventListener("click",function(l){l.stopPropagation();});var a=function(l){var h=t.table.rowManager.prevDisplayRow(e);h&&(t.startRow=h,t._mouseDown(l,h,r));};r.addEventListener("mousedown",a),r.addEventListener("touchstart",a,{passive:true}),i.appendChild(s),i.appendChild(r);}_mouseDown(e,t,i){var s=this;s.table.element.classList.add("tabulator-block-select");function r(a){t.setHeight(s.startHeight+((typeof a.screenY=="undefined"?a.touches[0].screenY:a.screenY)-s.startY));}function o(a){document.body.removeEventListener("mouseup",r),document.body.removeEventListener("mousemove",r),i.removeEventListener("touchmove",r),i.removeEventListener("touchend",o),s.table.element.classList.remove("tabulator-block-select"),s.dispatchExternal("rowResized",t.getComponent());}e.stopPropagation(),s.startY=typeof e.screenY=="undefined"?e.touches[0].screenY:e.screenY,s.startHeight=t.getHeight(),document.body.addEventListener("mousemove",r),document.body.addEventListener("mouseup",o),i.addEventListener("touchmove",r,{passive:true}),i.addEventListener("touchend",o);}};Qe.moduleName="resizeRows";var et=class extends C{constructor(e){super(e),this.binding=false,this.visibilityObserver=false,this.resizeObserver=false,this.containerObserver=false,this.tableHeight=0,this.tableWidth=0,this.containerHeight=0,this.containerWidth=0,this.autoResize=false,this.visible=false,this.initialized=false,this.initialRedraw=false,this.registerTableOption("autoResize",true);}initialize(){if(this.table.options.autoResize){var e=this.table,t;this.tableHeight=e.element.clientHeight,this.tableWidth=e.element.clientWidth,e.element.parentNode&&(this.containerHeight=e.element.parentNode.clientHeight,this.containerWidth=e.element.parentNode.clientWidth),typeof IntersectionObserver!="undefined"&&typeof ResizeObserver!="undefined"&&e.rowManager.getRenderMode()==="virtual"?(this.initializeVisibilityObserver(),this.autoResize=true,this.resizeObserver=new ResizeObserver(i=>{if(!e.browserMobile||e.browserMobile&&(!e.modules.edit||e.modules.edit&&!e.modules.edit.currentCell)){var s=Math.floor(i[0].contentRect.height),r=Math.floor(i[0].contentRect.width);(this.tableHeight!=s||this.tableWidth!=r)&&(this.tableHeight=s,this.tableWidth=r,e.element.parentNode&&(this.containerHeight=e.element.parentNode.clientHeight,this.containerWidth=e.element.parentNode.clientWidth),this.redrawTable());}}),this.resizeObserver.observe(e.element),t=window.getComputedStyle(e.element),this.table.element.parentNode&&!this.table.rowManager.fixedHeight&&(t.getPropertyValue("max-height")||t.getPropertyValue("min-height"))&&(this.containerObserver=new ResizeObserver(i=>{if(!e.browserMobile||e.browserMobile&&(!e.modules.edit||e.modules.edit&&!e.modules.edit.currentCell)){var s=Math.floor(i[0].contentRect.height),r=Math.floor(i[0].contentRect.width);(this.containerHeight!=s||this.containerWidth!=r)&&(this.containerHeight=s,this.containerWidth=r,this.tableHeight=e.element.clientHeight,this.tableWidth=e.element.clientWidth),this.redrawTable();}}),this.containerObserver.observe(this.table.element.parentNode)),this.subscribe("table-resize",this.tableResized.bind(this))):(this.binding=function(){(!e.browserMobile||e.browserMobile&&(!e.modules.edit||e.modules.edit&&!e.modules.edit.currentCell))&&(e.columnManager.rerenderColumns(true),e.redraw());},window.addEventListener("resize",this.binding)),this.subscribe("table-destroy",this.clearBindings.bind(this));}}initializeVisibilityObserver(){this.visibilityObserver=new IntersectionObserver(e=>{this.visible=e[0].isIntersecting,this.initialized?this.visible&&(this.redrawTable(this.initialRedraw),this.initialRedraw=false):(this.initialized=true,this.initialRedraw=!this.visible);}),this.visibilityObserver.observe(this.table.element);}redrawTable(e){this.initialized&&this.visible&&(this.table.columnManager.rerenderColumns(true),this.table.redraw(e));}tableResized(){this.table.rowManager.redraw();}clearBindings(){this.binding&&window.removeEventListener("resize",this.binding),this.resizeObserver&&this.resizeObserver.unobserve(this.table.element),this.visibilityObserver&&this.visibilityObserver.unobserve(this.table.element),this.containerObserver&&this.containerObserver.unobserve(this.table.element.parentNode);}};et.moduleName="resizeTable";var tt=class extends C{constructor(e){super(e),this.columns=[],this.hiddenColumns=[],this.mode="",this.index=0,this.collapseFormatter=[],this.collapseStartOpen=true,this.collapseHandleColumn=false,this.registerTableOption("responsiveLayout",false),this.registerTableOption("responsiveLayoutCollapseStartOpen",true),this.registerTableOption("responsiveLayoutCollapseUseFormatters",true),this.registerTableOption("responsiveLayoutCollapseFormatter",false),this.registerColumnOption("responsive");}initialize(){this.table.options.responsiveLayout&&(this.subscribe("column-layout",this.initializeColumn.bind(this)),this.subscribe("column-show",this.updateColumnVisibility.bind(this)),this.subscribe("column-hide",this.updateColumnVisibility.bind(this)),this.subscribe("columns-loaded",this.initializeResponsivity.bind(this)),this.subscribe("column-moved",this.initializeResponsivity.bind(this)),this.subscribe("column-add",this.initializeResponsivity.bind(this)),this.subscribe("column-delete",this.initializeResponsivity.bind(this)),this.subscribe("table-redrawing",this.tableRedraw.bind(this)),this.table.options.responsiveLayout==="collapse"&&(this.subscribe("row-data-changed",this.generateCollapsedRowContent.bind(this)),this.subscribe("row-init",this.initializeRow.bind(this)),this.subscribe("row-layout",this.layoutRow.bind(this))));}tableRedraw(e){["fitColumns","fitDataStretch"].indexOf(this.layoutMode())===-1&&(e||this.update());}initializeResponsivity(){var e=[];this.mode=this.table.options.responsiveLayout,this.collapseFormatter=this.table.options.responsiveLayoutCollapseFormatter||this.formatCollapsedData,this.collapseStartOpen=this.table.options.responsiveLayoutCollapseStartOpen,this.hiddenColumns=[],this.table.columnManager.columnsByIndex.forEach((t,i)=>{t.modules.responsive&&t.modules.responsive.order&&t.modules.responsive.visible&&(t.modules.responsive.index=i,e.push(t),!t.visible&&this.mode==="collapse"&&this.hiddenColumns.push(t));}),e=e.reverse(),e=e.sort((t,i)=>{var s=i.modules.responsive.order-t.modules.responsive.order;return s||i.modules.responsive.index-t.modules.responsive.index}),this.columns=e,this.mode==="collapse"&&this.generateCollapsedContent();for(let t of this.table.columnManager.columnsByIndex)if(t.definition.formatter=="responsiveCollapse"){this.collapseHandleColumn=t;break}this.collapseHandleColumn&&(this.hiddenColumns.length?this.collapseHandleColumn.show():this.collapseHandleColumn.hide());}initializeColumn(e){var t=e.getDefinition();e.modules.responsive={order:typeof t.responsive=="undefined"?1:t.responsive,visible:t.visible!==false};}initializeRow(e){var t;e.type!=="calc"&&(t=document.createElement("div"),t.classList.add("tabulator-responsive-collapse"),e.modules.responsiveLayout={element:t,open:this.collapseStartOpen},this.collapseStartOpen||(t.style.display="none"));}layoutRow(e){var t=e.getElement();e.modules.responsiveLayout&&(t.appendChild(e.modules.responsiveLayout.element),this.generateCollapsedRowContent(e));}updateColumnVisibility(e,t){!t&&e.modules.responsive&&(e.modules.responsive.visible=e.visible,this.initializeResponsivity());}hideColumn(e){var t=this.hiddenColumns.length;e.hide(false,true),this.mode==="collapse"&&(this.hiddenColumns.unshift(e),this.generateCollapsedContent(),this.collapseHandleColumn&&!t&&this.collapseHandleColumn.show());}showColumn(e){var t;e.show(false,true),e.setWidth(e.getWidth()),this.mode==="collapse"&&(t=this.hiddenColumns.indexOf(e),t>-1&&this.hiddenColumns.splice(t,1),this.generateCollapsedContent(),this.collapseHandleColumn&&!this.hiddenColumns.length&&this.collapseHandleColumn.hide());}update(){for(var e=true;e;){let t=this.table.modules.layout.getMode()=="fitColumns"?this.table.columnManager.getFlexBaseWidth():this.table.columnManager.getWidth(),i=(this.table.options.headerVisible?this.table.columnManager.element.clientWidth:this.table.element.clientWidth)-t;if(i<0){let s=this.columns[this.index];s?(this.hideColumn(s),this.index++):e=false;}else {let s=this.columns[this.index-1];s&&i>0&&i>=s.getWidth()?(this.showColumn(s),this.index--):e=false;}this.table.rowManager.activeRowsCount||this.table.rowManager.renderEmptyScroll();}}generateCollapsedContent(){var e=this.table.rowManager.getDisplayRows();e.forEach(t=>{this.generateCollapsedRowContent(t);});}generateCollapsedRowContent(e){var t,i;if(e.modules.responsiveLayout){for(t=e.modules.responsiveLayout.element;t.firstChild;)t.removeChild(t.firstChild);i=this.collapseFormatter(this.generateCollapsedRowData(e)),i&&t.appendChild(i);}}generateCollapsedRowData(e){var t=e.getData(),i=[],s;return this.hiddenColumns.forEach(r=>{var o=r.getFieldValue(t);if(r.definition.title&&r.field)if(r.modules.format&&this.table.options.responsiveLayoutCollapseUseFormatters){let a=function(l){l();};s={value:false,data:{},getValue:function(){return o},getData:function(){return t},getType:function(){return "cell"},getElement:function(){return document.createElement("div")},getRow:function(){return e.getComponent()},getColumn:function(){return r.getComponent()},getTable:()=>this.table},i.push({field:r.field,title:r.definition.title,value:r.modules.format.formatter.call(this.table.modules.format,s,r.modules.format.params,a)});}else i.push({field:r.field,title:r.definition.title,value:o});}),i}formatCollapsedData(e){var t=document.createElement("table");return e.forEach(function(i){var s=document.createElement("tr"),r=document.createElement("td"),o=document.createElement("td"),a,l=document.createElement("strong");r.appendChild(l),this.langBind("columns|"+i.field,function(h){l.innerHTML=h||i.title;}),i.value instanceof Node?(a=document.createElement("div"),a.appendChild(i.value),o.appendChild(a)):o.innerHTML=i.value,s.appendChild(r),s.appendChild(o),t.appendChild(s);},this),Object.keys(e).length?t:""}};tt.moduleName="responsiveLayout";var it=class extends C{constructor(e){super(e),this.selecting=false,this.lastClickedRow=false,this.selectPrev=[],this.selectedRows=[],this.headerCheckboxElement=null,this.registerTableOption("selectableRows","highlight"),this.registerTableOption("selectableRowsRangeMode","drag"),this.registerTableOption("selectableRowsRollingSelection",true),this.registerTableOption("selectableRowsPersistence",true),this.registerTableOption("selectableRowsCheck",function(t,i){return true}),this.registerTableFunction("selectRow",this.selectRows.bind(this)),this.registerTableFunction("deselectRow",this.deselectRows.bind(this)),this.registerTableFunction("toggleSelectRow",this.toggleRow.bind(this)),this.registerTableFunction("getSelectedRows",this.getSelectedRows.bind(this)),this.registerTableFunction("getSelectedData",this.getSelectedData.bind(this)),this.registerComponentFunction("row","select",this.selectRows.bind(this)),this.registerComponentFunction("row","deselect",this.deselectRows.bind(this)),this.registerComponentFunction("row","toggleSelect",this.toggleRow.bind(this)),this.registerComponentFunction("row","isSelected",this.isRowSelected.bind(this));}initialize(){this.deprecatedOptionsCheck(),this.table.options.selectableRows==="highlight"&&this.table.options.selectableRange&&(this.table.options.selectableRows=false),this.table.options.selectableRows!==false&&(this.subscribe("row-init",this.initializeRow.bind(this)),this.subscribe("row-deleting",this.rowDeleted.bind(this)),this.subscribe("rows-wipe",this.clearSelectionData.bind(this)),this.subscribe("rows-retrieve",this.rowRetrieve.bind(this)),this.table.options.selectableRows&&!this.table.options.selectableRowsPersistence&&this.subscribe("data-refreshing",this.deselectRows.bind(this)));}deprecatedOptionsCheck(){this.deprecationCheck("selectable","selectableRows",true),this.deprecationCheck("selectableRollingSelection","selectableRowsRollingSelection",true),this.deprecationCheck("selectableRangeMode","selectableRowsRangeMode",true),this.deprecationCheck("selectablePersistence","selectableRowsPersistence",true),this.deprecationCheck("selectableCheck","selectableRowsCheck",true);}rowRetrieve(e,t){return e==="selected"?this.selectedRows:t}rowDeleted(e){this._deselectRow(e,true);}clearSelectionData(e){var t=this.selectedRows.length;this.selecting=false,this.lastClickedRow=false,this.selectPrev=[],this.selectedRows=[],t&&e!==true&&this._rowSelectionChanged();}initializeRow(e){var t=this,i=t.checkRowSelectability(e),s=e.getElement(),r=function(){setTimeout(function(){t.selecting=false;},50),document.body.removeEventListener("mouseup",r);};e.modules.select={selected:false},s.classList.toggle("tabulator-selectable",i),s.classList.toggle("tabulator-unselectable",!i),t.checkRowSelectability(e)&&t.table.options.selectableRows&&t.table.options.selectableRows!="highlight"&&(t.table.options.selectableRowsRangeMode==="click"?s.addEventListener("click",this.handleComplexRowClick.bind(this,e)):(s.addEventListener("click",function(o){(!t.table.modExists("edit")||!t.table.modules.edit.getCurrentCell())&&t.table._clearSelection(),t.selecting||t.toggleRow(e);}),s.addEventListener("mousedown",function(o){if(o.shiftKey)return t.table._clearSelection(),t.selecting=true,t.selectPrev=[],document.body.addEventListener("mouseup",r),document.body.addEventListener("keyup",r),t.toggleRow(e),false}),s.addEventListener("mouseenter",function(o){t.selecting&&(t.table._clearSelection(),t.toggleRow(e),t.selectPrev[1]==e&&t.toggleRow(t.selectPrev[0]));}),s.addEventListener("mouseout",function(o){t.selecting&&(t.table._clearSelection(),t.selectPrev.unshift(e));})));}handleComplexRowClick(e,t){if(t.shiftKey){this.table._clearSelection(),this.lastClickedRow=this.lastClickedRow||e;var i=this.table.rowManager.getDisplayRowIndex(this.lastClickedRow),s=this.table.rowManager.getDisplayRowIndex(e),r=i<=s?i:s,o=i>=s?i:s,a=this.table.rowManager.getDisplayRows().slice(0),l=a.splice(r,o-r+1);t.ctrlKey||t.metaKey?(l.forEach(h=>{h!==this.lastClickedRow&&(this.table.options.selectableRows!==true&&!this.isRowSelected(e)?this.selectedRows.length<this.table.options.selectableRows&&this.toggleRow(h):this.toggleRow(h));}),this.lastClickedRow=e):(this.deselectRows(void 0,true),this.table.options.selectableRows!==true&&l.length>this.table.options.selectableRows&&(l=l.slice(0,this.table.options.selectableRows)),this.selectRows(l)),this.table._clearSelection();}else t.ctrlKey||t.metaKey?(this.toggleRow(e),this.lastClickedRow=e):(this.deselectRows(void 0,true),this.selectRows(e),this.lastClickedRow=e);}checkRowSelectability(e){return e&&e.type==="row"?this.table.options.selectableRowsCheck.call(this.table,e.getComponent()):false}toggleRow(e){this.checkRowSelectability(e)&&(e.modules.select&&e.modules.select.selected?this._deselectRow(e):this._selectRow(e));}selectRows(e){var t=[],i,s;switch(typeof e){case "undefined":i=this.table.rowManager.rows;break;case "number":i=this.table.rowManager.findRow(e);break;case "string":i=this.table.rowManager.findRow(e),i||(i=this.table.rowManager.getRows(e));break;default:i=e;break}Array.isArray(i)?i.length&&(i.forEach(r=>{s=this._selectRow(r,true,true),s&&t.push(s);}),this._rowSelectionChanged(false,t)):i&&this._selectRow(i,false,true);}_selectRow(e,t,i){if(!isNaN(this.table.options.selectableRows)&&this.table.options.selectableRows!==true&&!i&&this.selectedRows.length>=this.table.options.selectableRows)if(this.table.options.selectableRowsRollingSelection)this._deselectRow(this.selectedRows[0]);else return false;var s=this.table.rowManager.findRow(e);if(s&&this.selectedRows.indexOf(s)==-1)return s.getElement().classList.add("tabulator-selected"),s.modules.select||(s.modules.select={}),s.modules.select.selected=true,s.modules.select.checkboxEl&&(s.modules.select.checkboxEl.checked=true),this.selectedRows.push(s),this.table.options.dataTreeSelectPropagate&&this.childRowSelection(s,true),this.dispatchExternal("rowSelected",s.getComponent()),this._rowSelectionChanged(t,s),s}isRowSelected(e){return this.selectedRows.indexOf(e)!==-1}deselectRows(e,t){var i=[],s,r;switch(typeof e){case "undefined":s=Object.assign([],this.selectedRows);break;case "number":s=this.table.rowManager.findRow(e);break;case "string":s=this.table.rowManager.findRow(e),s||(s=this.table.rowManager.getRows(e));break;default:s=e;break}Array.isArray(s)?s.length&&(s.forEach(o=>{r=this._deselectRow(o,true,true),r&&i.push(r);}),this._rowSelectionChanged(t,[],i)):s&&this._deselectRow(s,t,true);}_deselectRow(e,t){var i=this,s=i.table.rowManager.findRow(e),r,o;if(s&&(r=i.selectedRows.findIndex(function(a){return a==s}),r>-1))return o=s.getElement(),o&&o.classList.remove("tabulator-selected"),s.modules.select||(s.modules.select={}),s.modules.select.selected=false,s.modules.select.checkboxEl&&(s.modules.select.checkboxEl.checked=false),i.selectedRows.splice(r,1),this.table.options.dataTreeSelectPropagate&&this.childRowSelection(s,false),this.dispatchExternal("rowDeselected",s.getComponent()),i._rowSelectionChanged(t,void 0,s),s}getSelectedData(){var e=[];return this.selectedRows.forEach(function(t){e.push(t.getData());}),e}getSelectedRows(){var e=[];return this.selectedRows.forEach(function(t){e.push(t.getComponent());}),e}_rowSelectionChanged(e,t=[],i=[]){this.headerCheckboxElement&&(this.selectedRows.length===0?(this.headerCheckboxElement.checked=false,this.headerCheckboxElement.indeterminate=false):this.table.rowManager.rows.length===this.selectedRows.length?(this.headerCheckboxElement.checked=true,this.headerCheckboxElement.indeterminate=false):(this.headerCheckboxElement.indeterminate=true,this.headerCheckboxElement.checked=false)),e||(Array.isArray(t)||(t=[t]),t=t.map(s=>s.getComponent()),Array.isArray(i)||(i=[i]),i=i.map(s=>s.getComponent()),this.dispatchExternal("rowSelectionChanged",this.getSelectedData(),this.getSelectedRows(),t,i));}registerRowSelectCheckbox(e,t){e._row.modules.select||(e._row.modules.select={}),e._row.modules.select.checkboxEl=t;}registerHeaderSelectCheckbox(e){this.headerCheckboxElement=e;}childRowSelection(e,t){var i=this.table.modules.dataTree.getChildren(e,true);if(t)for(let s of i)this._selectRow(s,true);else for(let s of i)this._deselectRow(s,true);}};it.moduleName="selectRow";function Ds(n,e,t,i,s,r,o){var a=o.alignEmptyValues,l=o.decimalSeparator,h=o.thousandSeparator,u=0;if(n=String(n),e=String(e),h&&(n=n.split(h).join(""),e=e.split(h).join("")),l&&(n=n.split(l).join("."),e=e.split(l).join(".")),n=parseFloat(n),e=parseFloat(e),isNaN(n))u=isNaN(e)?0:-1;else if(isNaN(e))u=1;else return n-e;return (a==="top"&&r==="desc"||a==="bottom"&&r==="asc")&&(u*=-1),u}function zs(n,e,t,i,s,r,o){var a=o.alignEmptyValues,l=0,h;if(!n)l=e?-1:0;else if(!e)l=1;else {switch(typeof o.locale){case "boolean":o.locale&&(h=this.langLocale());break;case "string":h=o.locale;break}return String(n).toLowerCase().localeCompare(String(e).toLowerCase(),h)}return (a==="top"&&r==="desc"||a==="bottom"&&r==="asc")&&(l*=-1),l}function _t(n,e,t,i,s,r,o){var a=window.DateTime||luxon.DateTime,l=o.format||"dd/MM/yyyy HH:mm:ss",h=o.alignEmptyValues,u=0;if(typeof a!="undefined"){if(a.isDateTime(n)||(l==="iso"?n=a.fromISO(String(n)):n=a.fromFormat(String(n),l)),a.isDateTime(e)||(l==="iso"?e=a.fromISO(String(e)):e=a.fromFormat(String(e),l)),!n.isValid)u=e.isValid?-1:0;else if(!e.isValid)u=1;else return n-e;return (h==="top"&&r==="desc"||h==="bottom"&&r==="asc")&&(u*=-1),u}}function Ss(n,e,t,i,s,r,o){return o.format||(o.format="dd/MM/yyyy"),_t.call(this,n,e,t,i,s,r,o)}function Fs(n,e,t,i,s,r,o){return o.format||(o.format="HH:mm"),_t.call(this,n,e,t,i,s,r,o)}function Hs(n,e,t,i,s,r,o){var a=n===true||n==="true"||n==="True"||n===1?1:0,l=e===true||e==="true"||e==="True"||e===1?1:0;return a-l}function Ps(n,e,t,i,s,r,o){var a=o.type||"length",l=o.alignEmptyValues,h=0;function u(d){var c;switch(a){case "length":c=d.length;break;case "sum":c=d.reduce(function(f,m){return f+m});break;case "max":c=Math.max.apply(null,d);break;case "min":c=Math.min.apply(null,d);break;case "avg":c=d.reduce(function(f,m){return f+m})/d.length;break}return c}if(!Array.isArray(n))h=Array.isArray(e)?-1:0;else if(!Array.isArray(e))h=1;else return u(e)-u(n);return (l==="top"&&r==="desc"||l==="bottom"&&r==="asc")&&(h*=-1),h}function Os(n,e,t,i,s,r,o){var a=typeof n=="undefined"?0:1,l=typeof e=="undefined"?0:1;return a-l}function As(n,e,t,i,s,r,o){var a,l,h,u,d=0,c,f=/(\d+)|(\D+)/g,m=/\d/,p=o.alignEmptyValues,v=0;if(!n&&n!==0)v=!e&&e!==0?0:-1;else if(!e&&e!==0)v=1;else {if(isFinite(n)&&isFinite(e))return n-e;if(a=String(n).toLowerCase(),l=String(e).toLowerCase(),a===l)return 0;if(!(m.test(a)&&m.test(l)))return a>l?1:-1;for(a=a.match(f),l=l.match(f),c=a.length>l.length?l.length:a.length;d<c;)if(h=a[d],u=l[d++],h!==u)return isFinite(h)&&isFinite(u)?(h.charAt(0)==="0"&&(h="."+h),u.charAt(0)==="0"&&(u="."+u),h-u):h>u?1:-1;return a.length>l.length}return (p==="top"&&r==="desc"||p==="bottom"&&r==="asc")&&(v*=-1),v}var _s={number:Ds,string:zs,date:Ss,time:Fs,datetime:_t,boolean:Hs,array:Ps,exists:Os,alphanum:As},Te=class n extends C{constructor(e){super(e),this.sortList=[],this.changed=false,this.registerTableOption("sortMode","local"),this.registerTableOption("initialSort",false),this.registerTableOption("columnHeaderSortMulti",true),this.registerTableOption("sortOrderReverse",false),this.registerTableOption("headerSortElement","<div class='tabulator-arrow'></div>"),this.registerTableOption("headerSortClickElement","header"),this.registerColumnOption("sorter"),this.registerColumnOption("sorterParams"),this.registerColumnOption("headerSort",true),this.registerColumnOption("headerSortStartingDir"),this.registerColumnOption("headerSortTristate");}initialize(){this.subscribe("column-layout",this.initializeColumn.bind(this)),this.subscribe("table-built",this.tableBuilt.bind(this)),this.registerDataHandler(this.sort.bind(this),20),this.registerTableFunction("setSort",this.userSetSort.bind(this)),this.registerTableFunction("getSorters",this.getSort.bind(this)),this.registerTableFunction("clearSort",this.clearSort.bind(this)),this.table.options.sortMode==="remote"&&this.subscribe("data-params",this.remoteSortParams.bind(this));}tableBuilt(){this.table.options.initialSort&&this.setSort(this.table.options.initialSort);}remoteSortParams(e,t,i,s){var r=this.getSort();return r.forEach(o=>{delete o.column;}),s.sort=r,s}userSetSort(e,t){this.setSort(e,t),this.refreshSort();}clearSort(){this.clear(),this.refreshSort();}initializeColumn(e){var t=false,i,s;switch(typeof e.definition.sorter){case "string":n.sorters[e.definition.sorter]&&(t=n.sorters[e.definition.sorter]);break;case "function":t=e.definition.sorter;break}if(e.modules.sort={sorter:t,dir:"none",params:e.definition.sorterParams||{},startingDir:e.definition.headerSortStartingDir||"asc",tristate:e.definition.headerSortTristate},e.definition.headerSort!==false){switch(i=e.getElement(),i.classList.add("tabulator-sortable"),s=document.createElement("div"),s.classList.add("tabulator-col-sorter"),this.table.options.headerSortClickElement){case "icon":s.classList.add("tabulator-col-sorter-element");break;case "header":i.classList.add("tabulator-col-sorter-element");break;default:i.classList.add("tabulator-col-sorter-element");break}switch(this.table.options.headerSortElement){case "function":break;case "object":s.appendChild(this.table.options.headerSortElement);break;default:s.innerHTML=this.table.options.headerSortElement;}e.titleHolderElement.appendChild(s),e.modules.sort.element=s,this.setColumnHeaderSortIcon(e,"none"),this.table.options.headerSortClickElement==="icon"&&s.addEventListener("mousedown",r=>{r.stopPropagation();}),(this.table.options.headerSortClickElement==="icon"?s:i).addEventListener("click",r=>{var o="",a=[],l=false;if(e.modules.sort){if(e.modules.sort.tristate)e.modules.sort.dir=="none"?o=e.modules.sort.startingDir:e.modules.sort.dir==e.modules.sort.startingDir?o=e.modules.sort.dir=="asc"?"desc":"asc":o="none";else switch(e.modules.sort.dir){case "asc":o="desc";break;case "desc":o="asc";break;default:o=e.modules.sort.startingDir;}this.table.options.columnHeaderSortMulti&&(r.shiftKey||r.ctrlKey)?(a=this.getSort(),l=a.findIndex(h=>h.field===e.getField()),l>-1?(a[l].dir=o,l=a.splice(l,1)[0],o!="none"&&a.push(l)):o!="none"&&a.push({column:e,dir:o}),this.setSort(a)):o=="none"?this.clear():this.setSort(e,o),this.refreshSort();}});}}refreshSort(){this.table.options.sortMode==="remote"?this.reloadData(null,false,false):this.refreshData(true);}hasChanged(){var e=this.changed;return this.changed=false,e}getSort(){var e=this,t=[];return e.sortList.forEach(function(i){i.column&&t.push({column:i.column.getComponent(),field:i.column.getField(),dir:i.dir});}),t}setSort(e,t){var i=this,s=[];Array.isArray(e)||(e=[{column:e,dir:t}]),e.forEach(function(r){var o;o=i.table.columnManager.findColumn(r.column),o&&(r.column=o,s.push(r),i.changed=true);}),i.sortList=s,this.dispatch("sort-changed");}clear(){this.setSort([]);}findSorter(e){var t=this.table.rowManager.activeRows[0],i="string",s,r;if(t&&(t=t.getData(),s=e.getField(),s))switch(r=e.getFieldValue(t),typeof r){case "undefined":i="string";break;case "boolean":i="boolean";break;default:!isNaN(r)&&r!==""?i="number":r.match(/((^[0-9]+[a-z]+)|(^[a-z]+[0-9]+))+$/i)&&(i="alphanum");break}return n.sorters[i]}sort(e){var t=this,i=this.table.options.sortOrderReverse?t.sortList.slice().reverse():t.sortList,s=[],r=[];return this.subscribedExternal("dataSorting")&&this.dispatchExternal("dataSorting",t.getSort()),t.clearColumnHeaders(),this.table.options.sortMode!=="remote"?(i.forEach(function(o,a){var l;o.column&&(l=o.column.modules.sort,l&&(l.sorter||(l.sorter=t.findSorter(o.column)),o.params=typeof l.params=="function"?l.params(o.column.getComponent(),o.dir):l.params,s.push(o)),t.setColumnHeader(o.column,o.dir));}),s.length&&t._sortItems(e,s)):i.forEach(function(o,a){t.setColumnHeader(o.column,o.dir);}),this.subscribedExternal("dataSorted")&&(e.forEach(o=>{r.push(o.getComponent());}),this.dispatchExternal("dataSorted",t.getSort(),r)),e}clearColumnHeaders(){this.table.columnManager.getRealColumns().forEach(e=>{e.modules.sort&&(e.modules.sort.dir="none",e.getElement().setAttribute("aria-sort","none"),this.setColumnHeaderSortIcon(e,"none"));});}setColumnHeader(e,t){e.modules.sort.dir=t,e.getElement().setAttribute("aria-sort",t==="asc"?"ascending":"descending"),this.setColumnHeaderSortIcon(e,t);}setColumnHeaderSortIcon(e,t){var i=e.modules.sort.element,s;if(e.definition.headerSort&&typeof this.table.options.headerSortElement=="function"){for(;i.firstChild;)i.removeChild(i.firstChild);s=this.table.options.headerSortElement.call(this.table,e.getComponent(),t),typeof s=="object"?i.appendChild(s):i.innerHTML=s;}}_sortItems(e,t){var i=t.length-1;e.sort((s,r)=>{for(var o,a=i;a>=0;a--){let l=t[a];if(o=this._sortRow(s,r,l.column,l.dir,l.params),o!==0)break}return o});}_sortRow(e,t,i,s,r){var o,a,l=s=="asc"?e:t,h=s=="asc"?t:e;return e=i.getFieldValue(l.getData()),t=i.getFieldValue(h.getData()),e=typeof e!="undefined"?e:"",t=typeof t!="undefined"?t:"",o=l.getComponent(),a=h.getComponent(),i.modules.sort.sorter.call(this,e,t,o,a,i.getComponent(),s,r)}};Te.moduleName="sort";Te.sorters=_s;var yt=class{constructor(e){return this._range=e,new Proxy(this,{get:function(t,i,s){return typeof t[i]!="undefined"?t[i]:t._range.table.componentFunctionBinder.handle("range",t._range,i)}})}getElement(){return this._range.element}getData(){return this._range.getData()}getCells(){return this._range.getCells(true)}getStructuredCells(){return this._range.getStructuredCells()}getRows(){return this._range.getRows().map(e=>e.getComponent())}getColumns(){return this._range.getColumns().map(e=>e.getComponent())}getBounds(){return this._range.getBounds()}getTopEdge(){return this._range.top}getBottomEdge(){return this._range.bottom}getLeftEdge(){return this._range.left}getRightEdge(){return this._range.right}setBounds(e,t){this._range.destroyedGuard("setBounds")&&this._range.setBounds(e&&e._cell,t&&t._cell);}setStartBound(e){this._range.destroyedGuard("setStartBound")&&(this._range.setEndBound(e&&e._cell),this._range.rangeManager.layoutElement());}setEndBound(e){this._range.destroyedGuard("setEndBound")&&(this._range.setEndBound(e&&e._cell),this._range.rangeManager.layoutElement());}clearValues(){this._range.destroyedGuard("clearValues")&&this._range.clearValues();}remove(){this._range.destroyedGuard("remove")&&this._range.destroy(true);}},Et=class extends O{constructor(e,t,i,s){super(e),this.rangeManager=t,this.element=null,this.initialized=false,this.initializing={start:false,end:false},this.destroyed=false,this.top=0,this.bottom=0,this.left=0,this.right=0,this.table=e,this.start={row:0,col:0},this.end={row:0,col:0},this.rangeManager.rowHeader&&(this.left=1,this.right=1,this.start.col=1,this.end.col=1),this.initElement(),setTimeout(()=>{this.initBounds(i,s);});}initElement(){this.element=document.createElement("div"),this.element.classList.add("tabulator-range");}initBounds(e,t){this._updateMinMax(),e&&this.setBounds(e,t||e);}setStart(e,t){(this.start.row!==e||this.start.col!==t)&&(this.start.row=e,this.start.col=t,this.initializing.start=true,this._updateMinMax());}setEnd(e,t){(this.end.row!==e||this.end.col!==t)&&(this.end.row=e,this.end.col=t,this.initializing.end=true,this._updateMinMax());}setBounds(e,t,i){e&&this.setStartBound(e),this.setEndBound(t||e),this.rangeManager.layoutElement(i);}setStartBound(e){var t,i;e.type==="column"?this.rangeManager.columnSelection&&this.setStart(0,e.getPosition()-1):(t=e.row.position-1,i=e.column.getPosition()-1,e.column===this.rangeManager.rowHeader?this.setStart(t,1):this.setStart(t,i));}setEndBound(e){var t=this._getTableRows().length,i,s,r;e.type==="column"?this.rangeManager.columnSelection&&(this.rangeManager.selecting==="column"?this.setEnd(t-1,e.getPosition()-1):this.rangeManager.selecting==="cell"&&this.setEnd(0,e.getPosition()-1)):(i=e.row.position-1,s=e.column.getPosition()-1,r=e.column===this.rangeManager.rowHeader,this.rangeManager.selecting==="row"?this.setEnd(i,this._getTableColumns().length-1):this.rangeManager.selecting!=="row"&&r?this.setEnd(i,0):this.rangeManager.selecting==="column"?this.setEnd(t-1,s):this.setEnd(i,s));}_updateMinMax(){this.top=Math.min(this.start.row,this.end.row),this.bottom=Math.max(this.start.row,this.end.row),this.left=Math.min(this.start.col,this.end.col),this.right=Math.max(this.start.col,this.end.col),this.initialized?this.dispatchExternal("rangeChanged",this.getComponent()):this.initializing.start&&this.initializing.end&&(this.initialized=true,this.dispatchExternal("rangeAdded",this.getComponent()));}_getTableColumns(){return this.table.columnManager.getVisibleColumnsByIndex()}_getTableRows(){return this.table.rowManager.getDisplayRows()}layout(){var e=this.table.rowManager.renderer.vDomTop,t=this.table.rowManager.renderer.vDomBottom,i=this.table.columnManager.renderer.leftCol,s=this.table.columnManager.renderer.rightCol,r,o,a,l,h,u;e==null&&(e=0),t==null&&(t=1/0),i==null&&(i=0),s==null&&(s=1/0),this.overlaps(i,e,s,t)&&(r=Math.max(this.top,e),o=Math.min(this.bottom,t),a=Math.max(this.left,i),l=Math.min(this.right,s),h=this.rangeManager.getCell(r,a),u=this.rangeManager.getCell(o,l),this.element.classList.add("tabulator-range-active"),this.element.style.left=h.row.getElement().offsetLeft+h.getElement().offsetLeft+"px",this.element.style.top=h.row.getElement().offsetTop+"px",this.element.style.width=u.getElement().offsetLeft+u.getElement().offsetWidth-h.getElement().offsetLeft+"px",this.element.style.height=u.row.getElement().offsetTop+u.row.getElement().offsetHeight-h.row.getElement().offsetTop+"px");}atTopLeft(e){return e.row.position-1===this.top&&e.column.getPosition()-1===this.left}atBottomRight(e){return e.row.position-1===this.bottom&&e.column.getPosition()-1===this.right}occupies(e){return this.occupiesRow(e.row)&&this.occupiesColumn(e.column)}occupiesRow(e){return this.top<=e.position-1&&e.position-1<=this.bottom}occupiesColumn(e){return this.left<=e.getPosition()-1&&e.getPosition()-1<=this.right}overlaps(e,t,i,s){return !(this.left>i||e>this.right||this.top>s||t>this.bottom)}getData(){var e=[],t=this.getRows(),i=this.getColumns();return t.forEach(s=>{var r=s.getData(),o={};i.forEach(a=>{o[a.field]=r[a.field];}),e.push(o);}),e}getCells(e,t){var i=[],s=this.getRows(),r=this.getColumns();return e?i=s.map(o=>{var a=[];return o.getCells().forEach(l=>{r.includes(l.column)&&a.push(t?l.getComponent():l);}),a}):s.forEach(o=>{o.getCells().forEach(a=>{r.includes(a.column)&&i.push(t?a.getComponent():a);});}),i}getStructuredCells(){return this.getCells(true,true)}getRows(){return this._getTableRows().slice(this.top,this.bottom+1)}getColumns(){return this._getTableColumns().slice(this.left,this.right+1)}clearValues(){var e=this.getCells(),t=this.table.options.selectableRangeClearCellsValue;this.table.blockRedraw(),e.forEach(i=>{i.setValue(t);}),this.table.restoreRedraw();}getBounds(e){var t=this.getCells(false,e),i={start:null,end:null};return t.length&&(i.start=t[0],i.end=t[t.length-1]),i}getComponent(){return this.component||(this.component=new yt(this)),this.component}destroy(e){this.destroyed=true,this.element.remove(),e&&this.rangeManager.rangeRemoved(this),this.initialized&&this.dispatchExternal("rangeRemoved",this.getComponent());}destroyedGuard(e){return this.destroyed,!this.destroyed}},st=class extends C{constructor(e){super(e),this.selecting="cell",this.mousedown=false,this.ranges=[],this.overlay=null,this.rowHeader=null,this.layoutChangeTimeout=null,this.columnSelection=false,this.rowSelection=false,this.maxRanges=0,this.activeRange=false,this.blockKeydown=false,this.keyDownEvent=this._handleKeyDown.bind(this),this.mouseUpEvent=this._handleMouseUp.bind(this),this.registerTableOption("selectableRange",false),this.registerTableOption("selectableRangeColumns",false),this.registerTableOption("selectableRangeRows",false),this.registerTableOption("selectableRangeClearCells",false),this.registerTableOption("selectableRangeClearCellsValue",void 0),this.registerTableFunction("getRangesData",this.getRangesData.bind(this)),this.registerTableFunction("getRanges",this.getRanges.bind(this)),this.registerTableFunction("addRange",this.addRangeFromComponent.bind(this)),this.registerComponentFunction("cell","getRanges",this.cellGetRanges.bind(this)),this.registerComponentFunction("row","getRanges",this.rowGetRanges.bind(this)),this.registerComponentFunction("column","getRanges",this.colGetRanges.bind(this));}initialize(){this.options("selectableRange")&&(this.options("selectableRows")||(this.maxRanges=this.options("selectableRange"),this.initializeTable(),this.initializeWatchers()));}initializeTable(){this.overlay=document.createElement("div"),this.overlay.classList.add("tabulator-range-overlay"),this.rangeContainer=document.createElement("div"),this.rangeContainer.classList.add("tabulator-range-container"),this.activeRangeCellElement=document.createElement("div"),this.activeRangeCellElement.classList.add("tabulator-range-cell-active"),this.overlay.appendChild(this.rangeContainer),this.overlay.appendChild(this.activeRangeCellElement),this.table.rowManager.element.addEventListener("keydown",this.keyDownEvent),this.resetRanges(),this.table.rowManager.element.appendChild(this.overlay),this.table.columnManager.element.setAttribute("tabindex",0),this.table.element.classList.add("tabulator-ranges");}initializeWatchers(){this.columnSelection=this.options("selectableRangeColumns"),this.rowSelection=this.options("selectableRangeRows"),this.subscribe("column-init",this.initializeColumn.bind(this)),this.subscribe("column-mousedown",this.handleColumnMouseDown.bind(this)),this.subscribe("column-mousemove",this.handleColumnMouseMove.bind(this)),this.subscribe("column-resized",this.handleColumnResized.bind(this)),this.subscribe("column-width",this.layoutChange.bind(this)),this.subscribe("column-height",this.layoutChange.bind(this)),this.subscribe("column-resized",this.layoutChange.bind(this)),this.subscribe("columns-loaded",this.updateHeaderColumn.bind(this)),this.subscribe("cell-height",this.layoutChange.bind(this)),this.subscribe("cell-rendered",this.renderCell.bind(this)),this.subscribe("cell-mousedown",this.handleCellMouseDown.bind(this)),this.subscribe("cell-mousemove",this.handleCellMouseMove.bind(this)),this.subscribe("cell-click",this.handleCellClick.bind(this)),this.subscribe("cell-editing",this.handleEditingCell.bind(this)),this.subscribe("page-changed",this.redraw.bind(this)),this.subscribe("scroll-vertical",this.layoutChange.bind(this)),this.subscribe("scroll-horizontal",this.layoutChange.bind(this)),this.subscribe("data-destroy",this.tableDestroyed.bind(this)),this.subscribe("data-processed",this.resetRanges.bind(this)),this.subscribe("table-layout",this.layoutElement.bind(this)),this.subscribe("table-redraw",this.redraw.bind(this)),this.subscribe("table-destroy",this.tableDestroyed.bind(this)),this.subscribe("edit-editor-clear",this.finishEditingCell.bind(this)),this.subscribe("edit-blur",this.restoreFocus.bind(this)),this.subscribe("keybinding-nav-prev",this.keyNavigate.bind(this,"left")),this.subscribe("keybinding-nav-next",this.keyNavigate.bind(this,"right")),this.subscribe("keybinding-nav-left",this.keyNavigate.bind(this,"left")),this.subscribe("keybinding-nav-right",this.keyNavigate.bind(this,"right")),this.subscribe("keybinding-nav-up",this.keyNavigate.bind(this,"up")),this.subscribe("keybinding-nav-down",this.keyNavigate.bind(this,"down")),this.subscribe("keybinding-nav-range",this.keyNavigateRange.bind(this));}initializeColumn(e){this.columnSelection&&e.definition.headerSort&&this.options("headerSortClickElement"),e.modules.edit;}updateHeaderColumn(){this.rowSelection&&(this.rowHeader=this.table.columnManager.getVisibleColumnsByIndex()[0],this.rowHeader&&(this.rowHeader.definition.cssClass=this.rowHeader.definition.cssClass+" tabulator-range-row-header",this.rowHeader.definition.headerSort,this.rowHeader.definition.editor));}getRanges(){return this.ranges.map(e=>e.getComponent())}getRangesData(){return this.ranges.map(e=>e.getData())}addRangeFromComponent(e,t){return e=e?e._cell:null,t=t?t._cell:null,this.addRange(e,t)}cellGetRanges(e){var t=[];return e.column===this.rowHeader?t=this.ranges.filter(i=>i.occupiesRow(e.row)):t=this.ranges.filter(i=>i.occupies(e)),t.map(i=>i.getComponent())}rowGetRanges(e){var t=this.ranges.filter(i=>i.occupiesRow(e));return t.map(i=>i.getComponent())}colGetRanges(e){var t=this.ranges.filter(i=>i.occupiesColumn(e));return t.map(i=>i.getComponent())}_handleMouseUp(e){this.mousedown=false,document.removeEventListener("mouseup",this.mouseUpEvent);}_handleKeyDown(e){if(!this.blockKeydown&&(!this.table.modules.edit||this.table.modules.edit&&!this.table.modules.edit.currentCell)){if(e.key==="Enter"){if(this.table.modules.edit&&this.table.modules.edit.currentCell)return;this.table.modules.edit.editCell(this.getActiveCell()),e.preventDefault();}(e.key==="Backspace"||e.key==="Delete")&&this.options("selectableRangeClearCells")&&this.activeRange&&this.activeRange.clearValues();}}initializeFocus(e){var t;try{document.selection?(t=document.body.createTextRange(),t.moveToElementText(e.getElement()),t.select()):window.getSelection&&(t=document.createRange(),t.selectNode(e.getElement()),window.getSelection().removeAllRanges(),window.getSelection().addRange(t));}catch(i){}}restoreFocus(e){return this.table.rowManager.element.focus(),true}handleColumnResized(e){var t;this.selecting!=="column"&&this.selecting!=="all"||(t=this.ranges.some(i=>i.occupiesColumn(e)),t&&this.ranges.forEach(i=>{var s=i.getColumns(true);s.forEach(r=>{r!==e&&r.setWidth(e.width);});}));}handleColumnMouseDown(e,t){e.button===2&&(this.selecting==="column"||this.selecting==="all")&&this.activeRange.occupiesColumn(t)||(this.mousedown=true,document.addEventListener("mouseup",this.mouseUpEvent),this.newSelection(e,t));}handleColumnMouseMove(e,t){t===this.rowHeader||!this.mousedown||this.selecting==="all"||this.activeRange.setBounds(false,t,true);}renderCell(e){var t=e.getElement(),i=this.ranges.findIndex(s=>s.occupies(e));t.classList.toggle("tabulator-range-selected",i!==-1),t.classList.toggle("tabulator-range-only-cell-selected",this.ranges.length===1&&this.ranges[0].atTopLeft(e)&&this.ranges[0].atBottomRight(e)),t.dataset.range=i;}handleCellMouseDown(e,t){e.button===2&&(this.activeRange.occupies(t)||(this.selecting==="row"||this.selecting==="all")&&this.activeRange.occupiesRow(t.row))||(this.mousedown=true,document.addEventListener("mouseup",this.mouseUpEvent),this.newSelection(e,t));}handleCellMouseMove(e,t){!this.mousedown||this.selecting==="all"||this.activeRange.setBounds(false,t,true);}handleCellClick(e,t){this.initializeFocus(t);}handleEditingCell(e){this.activeRange&&this.activeRange.setBounds(e);}finishEditingCell(){this.blockKeydown=true,this.table.rowManager.element.focus(),setTimeout(()=>{this.blockKeydown=false;},10);}keyNavigate(e,t){this.navigate(false,false,e)&&t.preventDefault();}keyNavigateRange(e,t,i,s){this.navigate(i,s,t)&&e.preventDefault();}navigate(e,t,i){var s=false,r,o,a,l,h,u;if(this.table.modules.edit&&this.table.modules.edit.currentCell)return false;if(this.ranges.length>1&&(this.ranges=this.ranges.filter(d=>d===this.activeRange?(d.setEnd(d.start.row,d.start.col),true):(d.destroy(),false))),r=this.activeRange,o=t?r.end:r.start,a=o.row,l=o.col,e)switch(i){case "left":l=this.findJumpCellLeft(r.start.row,o.col);break;case "right":l=this.findJumpCellRight(r.start.row,o.col);break;case "up":a=this.findJumpCellUp(o.row,r.start.col);break;case "down":a=this.findJumpCellDown(o.row,r.start.col);break}else {if(t&&(this.selecting==="row"&&(i==="left"||i==="right")||this.selecting==="column"&&(i==="up"||i==="down")))return;switch(i){case "left":l=Math.max(l-1,0);break;case "right":l=Math.min(l+1,this.getTableColumns().length-1);break;case "up":a=Math.max(a-1,0);break;case "down":a=Math.min(a+1,this.getTableRows().length-1);break}}if(s=l!==o.col||a!==o.row,t||r.setStart(a,l),r.setEnd(a,l),t||(this.selecting="cell"),s)return h=this.getRowByRangePos(r.end.row),u=this.getColumnByRangePos(r.end.col),(i==="left"||i==="right")&&u.getElement().parentNode===null?u.getComponent().scrollTo(void 0,false):(i==="up"||i==="down")&&h.getElement().parentNode===null?h.getComponent().scrollTo(void 0,false):this.autoScroll(r,h.getElement(),u.getElement()),this.layoutElement(),true}rangeRemoved(e){this.ranges=this.ranges.filter(t=>t!==e),this.activeRange===e&&(this.ranges.length?this.activeRange=this.ranges[this.ranges.length-1]:this.addRange()),this.layoutElement();}findJumpCell(e,t,i,s){var r;t&&(e=e.reverse());for(let o of e){let a=o.getValue();if(i){if(r=o,a)break}else if(s){if(r=o,a)break}else if(a)r=o;else break}return r}findJumpCellLeft(e,t){var i=this.getRowByRangePos(e),s=i.cells.filter(u=>u.column.visible),r=!s[t].getValue(),o=s[t]?!s[t].getValue():false,a=t,l=this.rowHeader?s.slice(1,t):s.slice(0,t),h=this.findJumpCell(l,true,r,o);return h&&(a=h.column.getPosition()-1),a}findJumpCellRight(e,t){var i=this.getRowByRangePos(e),s=i.cells.filter(h=>h.column.visible),r=!s[t].getValue(),o=s[t+1]?!s[t+1].getValue():false,a=t,l=this.findJumpCell(s.slice(t+1,s.length),false,r,o);return l&&(a=l.column.getPosition()-1),a}findJumpCellUp(e,t){var i=this.getColumnByRangePos(t),s=i.cells.filter(h=>this.table.rowManager.activeRows.includes(h.row)),r=!s[e].getValue(),o=s[e-1]?!s[e-1].getValue():false,a=e,l=this.findJumpCell(s.slice(0,a),true,r,o);return l&&(a=l.row.position-1),a}findJumpCellDown(e,t){var i=this.getColumnByRangePos(t),s=i.cells.filter(h=>this.table.rowManager.activeRows.includes(h.row)),r=!s[e].getValue(),o=s[e+1]?!s[e+1].getValue():false,a=e,l=this.findJumpCell(s.slice(a+1,s.length),false,r,o);return l&&(a=l.row.position-1),a}newSelection(e,t){var i;if(t.type==="column"){if(!this.columnSelection)return;if(t===this.rowHeader){i=this.resetRanges(),this.selecting="all";var s,r=this.getCell(-1,-1);this.rowHeader?s=this.getCell(0,1):s=this.getCell(0,0),i.setBounds(s,r);return}else this.selecting="column";}else t.column===this.rowHeader?this.selecting="row":this.selecting="cell";e.shiftKey?this.activeRange.setBounds(false,t):e.ctrlKey?this.addRange().setBounds(t):this.resetRanges().setBounds(t);}autoScroll(e,t,i){var s=this.table.rowManager.element,r,o,a,l,h;typeof t=="undefined"&&(t=this.getRowByRangePos(e.end.row).getElement()),typeof i=="undefined"&&(i=this.getColumnByRangePos(e.end.col).getElement()),this.rowHeader&&(r=this.rowHeader.getElement()),o={left:i.offsetLeft,right:i.offsetLeft+i.offsetWidth,top:t.offsetTop,bottom:t.offsetTop+t.offsetHeight},a={left:s.scrollLeft,right:Math.ceil(s.scrollLeft+s.clientWidth),top:s.scrollTop,bottom:s.scrollTop+s.offsetHeight-this.table.rowManager.scrollbarWidth},r&&(a.left+=r.offsetWidth),l=a.left<o.left&&o.left<a.right&&a.left<o.right&&o.right<a.right,h=a.top<o.top&&o.top<a.bottom&&a.top<o.bottom&&o.bottom<a.bottom,l||(o.left<a.left?(s.scrollLeft=o.left,r&&(s.scrollLeft-=r.offsetWidth)):o.right>a.right&&(s.scrollLeft=o.right-s.clientWidth)),h||(o.top<a.top?s.scrollTop=o.top:o.bottom>a.bottom&&(s.scrollTop=o.bottom-s.clientHeight));}layoutChange(){this.overlay.style.visibility="hidden",clearTimeout(this.layoutChangeTimeout),this.layoutChangeTimeout=setTimeout(this.layoutRanges.bind(this),200);}redraw(e){e&&(this.selecting="cell",this.resetRanges(),this.layoutElement());}layoutElement(e){var t;e?t=this.table.rowManager.getVisibleRows(true):t=this.table.rowManager.getRows(),t.forEach(i=>{i.type==="row"&&(this.layoutRow(i),i.cells.forEach(s=>this.renderCell(s)));}),this.getTableColumns().forEach(i=>{this.layoutColumn(i);}),this.layoutRanges();}layoutRow(e){var t=e.getElement(),i=false,s=this.ranges.some(r=>r.occupiesRow(e));this.selecting==="row"?i=s:this.selecting==="all"&&(i=true),t.classList.toggle("tabulator-range-selected",i),t.classList.toggle("tabulator-range-highlight",s);}layoutColumn(e){var t=e.getElement(),i=false,s=this.ranges.some(r=>r.occupiesColumn(e));this.selecting==="column"?i=s:this.selecting==="all"&&(i=true),t.classList.toggle("tabulator-range-selected",i),t.classList.toggle("tabulator-range-highlight",s);}layoutRanges(){var e;this.table.initialized&&(e=this.getActiveCell(),e&&(this.activeRangeCellElement.style.left=e.row.getElement().offsetLeft+e.getElement().offsetLeft+"px",this.activeRangeCellElement.style.top=e.row.getElement().offsetTop+"px",this.activeRangeCellElement.style.width=e.getElement().offsetLeft+e.getElement().offsetWidth-e.getElement().offsetLeft+"px",this.activeRangeCellElement.style.height=e.row.getElement().offsetTop+e.row.getElement().offsetHeight-e.row.getElement().offsetTop+"px",this.ranges.forEach(t=>t.layout()),this.overlay.style.visibility="visible"));}getCell(e,t){var i;return t<0&&(t=this.getTableColumns().length+t,t<0)?null:(e<0&&(e=this.getTableRows().length+e),i=this.table.rowManager.getRowFromPosition(e+1),i?i.getCells(false,true).filter(s=>s.column.visible)[t]:null)}getActiveCell(){return this.getCell(this.activeRange.start.row,this.activeRange.start.col)}getRowByRangePos(e){return this.getTableRows()[e]}getColumnByRangePos(e){return this.getTableColumns()[e]}getTableRows(){return this.table.rowManager.getDisplayRows()}getTableColumns(){return this.table.columnManager.getVisibleColumnsByIndex()}addRange(e,t){var i;return this.maxRanges!==true&&this.ranges.length>=this.maxRanges&&this.ranges.shift().destroy(),i=new Et(this.table,this,e,t),this.activeRange=i,this.ranges.push(i),this.rangeContainer.appendChild(i.element),i}resetRanges(){var e,t;return this.ranges.forEach(i=>i.destroy()),this.ranges=[],e=this.addRange(),this.table.rowManager.activeRows.length&&(t=this.table.rowManager.activeRows[0].cells[this.rowHeader?1:0],t&&(e.setBounds(t),this.initializeFocus(t))),e}tableDestroyed(){document.removeEventListener("mouseup",this.mouseUpEvent),this.table.rowManager.element.removeEventListener("keydown",this.keyDownEvent);}selectedRows(e){return e?this.activeRange.getRows().map(t=>t.getComponent()):this.activeRange.getRows()}selectedColumns(e){return e?this.activeRange.getColumns().map(t=>t.getComponent()):this.activeRange.getColumns()}};st.moduleName="selectRange";var rt=class extends C{constructor(e){super(e),this.tooltipSubscriber=null,this.headerSubscriber=null,this.timeout=null,this.popupInstance=null,this.registerTableOption("tooltipGenerationMode",void 0),this.registerTableOption("tooltipDelay",300),this.registerColumnOption("tooltip"),this.registerColumnOption("headerTooltip");}initialize(){this.deprecatedOptionsCheck(),this.subscribe("column-init",this.initializeColumn.bind(this));}deprecatedOptionsCheck(){this.deprecationCheckMsg("tooltipGenerationMode","This option is no longer needed as tooltips are always generated on hover now");}initializeColumn(e){e.definition.headerTooltip&&!this.headerSubscriber&&(this.headerSubscriber=true,this.subscribe("column-mousemove",this.mousemoveCheck.bind(this,"headerTooltip")),this.subscribe("column-mouseout",this.mouseoutCheck.bind(this,"headerTooltip"))),e.definition.tooltip&&!this.tooltipSubscriber&&(this.tooltipSubscriber=true,this.subscribe("cell-mousemove",this.mousemoveCheck.bind(this,"tooltip")),this.subscribe("cell-mouseout",this.mouseoutCheck.bind(this,"tooltip")));}mousemoveCheck(e,t,i){var s=e==="tooltip"?i.column.definition.tooltip:i.definition.headerTooltip;s&&(this.clearPopup(),this.timeout=setTimeout(this.loadTooltip.bind(this,t,i,s),this.table.options.tooltipDelay));}mouseoutCheck(e,t,i){this.popupInstance||this.clearPopup();}clearPopup(e,t,i){clearTimeout(this.timeout),this.timeout=null,this.popupInstance&&this.popupInstance.hide();}loadTooltip(e,t,i){var s,r,o;function a(l){r=l;}typeof i=="function"&&(i=i(e,t.getComponent(),a)),i instanceof HTMLElement?s=i:(s=document.createElement("div"),i===true&&(t instanceof Q?i=t.value:t.definition.field?this.langBind("columns|"+t.definition.field,l=>{s.innerHTML=i=l||t.definition.title;}):i=t.definition.title),s.innerHTML=i),(i||i===0||i===false)&&(s.classList.add("tabulator-tooltip"),s.addEventListener("mousemove",l=>l.preventDefault()),this.popupInstance=this.popup(s),typeof r=="function"&&this.popupInstance.renderCallback(r),o=this.popupInstance.containerEventCoords(e),this.popupInstance.show(o.x+15,o.y+15).hideOnBlur(()=>{this.dispatchExternal("TooltipClosed",t.getComponent()),this.popupInstance=null;}),this.dispatchExternal("TooltipOpened",t.getComponent()));}};rt.moduleName="tooltip";var Bs={integer:function(n,e,t){return e===""||e===null||typeof e=="undefined"?true:(e=Number(e),!isNaN(e)&&isFinite(e)&&Math.floor(e)===e)},float:function(n,e,t){return e===""||e===null||typeof e=="undefined"?true:(e=Number(e),!isNaN(e)&&isFinite(e)&&e%1!==0)},numeric:function(n,e,t){return e===""||e===null||typeof e=="undefined"?true:!isNaN(e)},string:function(n,e,t){return e===""||e===null||typeof e=="undefined"?true:isNaN(e)},alphanumeric:function(n,e,t){if(e===""||e===null||typeof e=="undefined")return true;var i=new RegExp(/^[a-z0-9]+$/i);return i.test(e)},max:function(n,e,t){return e===""||e===null||typeof e=="undefined"?true:parseFloat(e)<=t},min:function(n,e,t){return e===""||e===null||typeof e=="undefined"?true:parseFloat(e)>=t},starts:function(n,e,t){return e===""||e===null||typeof e=="undefined"?true:String(e).toLowerCase().startsWith(String(t).toLowerCase())},ends:function(n,e,t){return e===""||e===null||typeof e=="undefined"?true:String(e).toLowerCase().endsWith(String(t).toLowerCase())},minLength:function(n,e,t){return e===""||e===null||typeof e=="undefined"?true:String(e).length>=t},maxLength:function(n,e,t){return e===""||e===null||typeof e=="undefined"?true:String(e).length<=t},in:function(n,e,t){return e===""||e===null||typeof e=="undefined"?true:(typeof t=="string"&&(t=t.split("|")),t.indexOf(e)>-1)},regex:function(n,e,t){if(e===""||e===null||typeof e=="undefined")return true;var i=new RegExp(t);return i.test(e)},unique:function(n,e,t){if(e===""||e===null||typeof e=="undefined")return true;var i=true,s=n.getData(),r=n.getColumn()._getSelf();return this.table.rowManager.rows.forEach(function(o){var a=o.getData();a!==s&&e==r.getFieldValue(a)&&(i=false);}),i},required:function(n,e,t){return e!==""&&e!==null&&typeof e!="undefined"}},Me=class n extends C{constructor(e){super(e),this.invalidCells=[],this.registerTableOption("validationMode","blocking"),this.registerColumnOption("validator"),this.registerTableFunction("getInvalidCells",this.getInvalidCells.bind(this)),this.registerTableFunction("clearCellValidation",this.userClearCellValidation.bind(this)),this.registerTableFunction("validate",this.userValidate.bind(this)),this.registerComponentFunction("cell","isValid",this.cellIsValid.bind(this)),this.registerComponentFunction("cell","clearValidation",this.clearValidation.bind(this)),this.registerComponentFunction("cell","validate",this.cellValidate.bind(this)),this.registerComponentFunction("column","validate",this.columnValidate.bind(this)),this.registerComponentFunction("row","validate",this.rowValidate.bind(this));}initialize(){this.subscribe("cell-delete",this.clearValidation.bind(this)),this.subscribe("column-layout",this.initializeColumnCheck.bind(this)),this.subscribe("edit-success",this.editValidate.bind(this)),this.subscribe("edit-editor-clear",this.editorClear.bind(this)),this.subscribe("edit-edited-clear",this.editedClear.bind(this));}editValidate(e,t,i){var s=this.table.options.validationMode!=="manual"?this.validate(e.column.modules.validate,e,t):true;return s!==true&&setTimeout(()=>{e.getElement().classList.add("tabulator-validation-fail"),this.dispatchExternal("validationFailed",e.getComponent(),t,s);}),s}editorClear(e,t){t&&e.column.modules.validate&&this.cellValidate(e),e.getElement().classList.remove("tabulator-validation-fail");}editedClear(e){e.modules.validate&&(e.modules.validate.invalid=false);}cellIsValid(e){return e.modules.validate&&e.modules.validate.invalid||true}cellValidate(e){return this.validate(e.column.modules.validate,e,e.getValue())}columnValidate(e){var t=[];return e.cells.forEach(i=>{this.cellValidate(i)!==true&&t.push(i.getComponent());}),t.length?t:true}rowValidate(e){var t=[];return e.cells.forEach(i=>{this.cellValidate(i)!==true&&t.push(i.getComponent());}),t.length?t:true}userClearCellValidation(e){e||(e=this.getInvalidCells()),Array.isArray(e)||(e=[e]),e.forEach(t=>{this.clearValidation(t._getSelf());});}userValidate(e){var t=[];return this.table.rowManager.rows.forEach(i=>{i=i.getComponent();var s=i.validate();s!==true&&(t=t.concat(s));}),t.length?t:true}initializeColumnCheck(e){typeof e.definition.validator!="undefined"&&this.initializeColumn(e);}initializeColumn(e){var t=this,i=[],s;e.definition.validator&&(Array.isArray(e.definition.validator)?e.definition.validator.forEach(r=>{s=t._extractValidator(r),s&&i.push(s);}):(s=this._extractValidator(e.definition.validator),s&&i.push(s)),e.modules.validate=i.length?i:false);}_extractValidator(e){var t,i,s;switch(typeof e){case "string":return s=e.indexOf(":"),s>-1?(t=e.substring(0,s),i=e.substring(s+1)):t=e,this._buildValidator(t,i);case "function":return this._buildValidator(e);case "object":return this._buildValidator(e.type,e.parameters)}}_buildValidator(e,t){var i=typeof e=="function"?e:n.validators[e];return i?{type:typeof e=="function"?"function":e,func:i,params:t}:false}validate(e,t,i){var s=this,r=[],o=this.invalidCells.indexOf(t);return e&&e.forEach(a=>{a.func.call(s,t.getComponent(),i,a.params)||r.push({type:a.type,parameters:a.params});}),t.modules.validate||(t.modules.validate={}),r.length?(t.modules.validate.invalid=r,this.table.options.validationMode!=="manual"&&t.getElement().classList.add("tabulator-validation-fail"),o==-1&&this.invalidCells.push(t)):(t.modules.validate.invalid=false,t.getElement().classList.remove("tabulator-validation-fail"),o>-1&&this.invalidCells.splice(o,1)),r.length?r:true}getInvalidCells(){var e=[];return this.invalidCells.forEach(t=>{e.push(t.getComponent());}),e}clearValidation(e){var t;e.modules.validate&&e.modules.validate.invalid&&(e.getElement().classList.remove("tabulator-validation-fail"),e.modules.validate.invalid=false,t=this.invalidCells.indexOf(e),t>-1&&this.invalidCells.splice(t,1));}};Me.moduleName="validate";Me.validators=Bs;var Is=Object.freeze({__proto__:null,AccessorModule:ge,AjaxModule:X,ClipboardModule:ae,ColumnCalcsModule:me,DataTreeModule:Ie,DownloadModule:ve,EditModule:Ce,ExportModule:Ne,FilterModule:ye,FormatModule:Ee,FrozenColumnsModule:We,FrozenRowsModule:je,GroupRowsModule:Ge,HistoryModule:ne,HtmlTableImportModule:Ue,ImportModule:xe,InteractionModule:Ye,KeybindingsModule:he,MenuModule:Je,MoveColumnsModule:Xe,MoveRowsModule:ue,MutatorModule:Re,PageModule:ke,PersistenceModule:ee,PopupModule:Ke,PrintModule:qe,ReactiveDataModule:$e,ResizeColumnsModule:Ze,ResizeRowsModule:Qe,ResizeTableModule:et,ResponsiveLayoutModule:tt,SelectRowModule:it,SortModule:Te,SelectRangeModule:st,TooltipModule:rt,ValidateModule:Me}),Vs={debugEventsExternal:false,debugEventsInternal:false,debugInvalidOptions:true,debugInvalidComponentFuncs:true,debugInitialization:true,debugDeprecation:true,height:false,minHeight:false,maxHeight:false,columnHeaderVertAlign:"top",popupContainer:false,columns:[],columnDefaults:{},data:false,autoColumns:false,autoColumnsDefinitions:false,nestedFieldSeparator:".",footerElement:false,index:"id",textDirection:"auto",addRowPos:"bottom",headerVisible:true,renderVertical:"virtual",renderHorizontal:"basic",renderVerticalBuffer:0,scrollToRowPosition:"top",scrollToRowIfVisible:true,scrollToColumnPosition:"left",scrollToColumnIfVisible:true,rowFormatter:false,rowFormatterPrint:null,rowFormatterClipboard:null,rowFormatterHtmlOutput:null,rowHeight:null,placeholder:false,dataLoader:true,dataLoaderLoading:false,dataLoaderError:false,dataLoaderErrorTimeout:3e3,dataSendParams:{},dataReceiveParams:{}},ot=class{constructor(e,t,i={}){this.table=e,this.msgType=t,this.registeredDefaults=Object.assign({},i);}register(e,t){this.registeredDefaults[e]=t;}generate(e,t={}){var i=Object.assign({},this.registeredDefaults);this.table.options.debugInvalidOptions||t.debugInvalidOptions===true;Object.assign(i,e);for(let r in t)i.hasOwnProperty(r)||(i[r]=t.key);for(let r in i)r in t?i[r]=t[r]:Array.isArray(i[r])?i[r]=Object.assign([],i[r]):typeof i[r]=="object"&&i[r]!==null?i[r]=Object.assign({},i[r]):typeof i[r]=="undefined"&&delete i[r];return i}},de=class extends O{constructor(e){super(e),this.elementVertical=e.rowManager.element,this.elementHorizontal=e.columnManager.element,this.tableElement=e.rowManager.tableElement,this.verticalFillMode="fit";}initialize(){}clearRows(){}clearColumns(){}reinitializeColumnWidths(e){}renderRows(){}renderColumns(){}rerenderRows(e){e&&e();}rerenderColumns(e,t){}renderRowCells(e){}rerenderRowCells(e,t){}scrollColumns(e,t){}scrollRows(e,t){}resize(){}scrollToRow(e){}scrollToRowNearestTop(e){}visibleRows(e){return []}rows(){return this.table.rowManager.getDisplayRows()}styleRow(e,t){var i=e.getElement();t%2?(i.classList.add("tabulator-row-even"),i.classList.remove("tabulator-row-odd")):(i.classList.add("tabulator-row-odd"),i.classList.remove("tabulator-row-even"));}clear(){this.clearRows(),this.clearColumns();}render(){this.renderRows(),this.renderColumns();}rerender(e){this.rerenderRows(),this.rerenderColumns();}scrollToRowPosition(e,t,i){var s=this.rows().indexOf(e),r=e.getElement(),o=0;return new Promise((a,l)=>{if(s>-1){if(typeof i=="undefined"&&(i=this.table.options.scrollToRowIfVisible),!i&&T.elVisible(r)&&(o=T.elOffset(r).top-T.elOffset(this.elementVertical).top,o>0&&o<this.elementVertical.clientHeight-r.offsetHeight))return a(),false;switch(typeof t=="undefined"&&(t=this.table.options.scrollToRowPosition),t==="nearest"&&(t=this.scrollToRowNearestTop(e)?"top":"bottom"),this.scrollToRow(e),t){case "middle":case "center":this.elementVertical.scrollHeight-this.elementVertical.scrollTop==this.elementVertical.clientHeight?this.elementVertical.scrollTop=this.elementVertical.scrollTop+(r.offsetTop-this.elementVertical.scrollTop)-(this.elementVertical.scrollHeight-r.offsetTop)/2:this.elementVertical.scrollTop=this.elementVertical.scrollTop-this.elementVertical.clientHeight/2;break;case "bottom":this.elementVertical.scrollHeight-this.elementVertical.scrollTop==this.elementVertical.clientHeight?this.elementVertical.scrollTop=this.elementVertical.scrollTop-(this.elementVertical.scrollHeight-r.offsetTop)+r.offsetHeight:this.elementVertical.scrollTop=this.elementVertical.scrollTop-this.elementVertical.clientHeight+r.offsetHeight;break;case "top":this.elementVertical.scrollTop=r.offsetTop;break}a();}else l("Scroll Error - Row not visible");})}},xt=class extends de{constructor(e){super(e);}renderRowCells(e,t){let i=document.createDocumentFragment();e.cells.forEach(s=>{i.appendChild(s.getElement());}),e.element.appendChild(i),t||e.cells.forEach(s=>{s.cellRendered();});}reinitializeColumnWidths(e){e.forEach(function(t){t.reinitializeWidth();});}},Rt=class extends de{constructor(e){super(e),this.leftCol=0,this.rightCol=0,this.scrollLeft=0,this.vDomScrollPosLeft=0,this.vDomScrollPosRight=0,this.vDomPadLeft=0,this.vDomPadRight=0,this.fitDataColAvg=0,this.windowBuffer=200,this.visibleRows=null,this.initialized=false,this.isFitData=false,this.columns=[];}initialize(){this.compatibilityCheck(),this.layoutCheck(),this.vertScrollListen();}compatibilityCheck(){this.options("layout")=="fitDataTable",this.options("responsiveLayout"),this.options("rtl");}layoutCheck(){this.isFitData=this.options("layout").startsWith("fitData");}vertScrollListen(){this.subscribe("scroll-vertical",this.clearVisRowCache.bind(this)),this.subscribe("data-refreshed",this.clearVisRowCache.bind(this));}clearVisRowCache(){this.visibleRows=null;}renderColumns(e,t){this.dataChange();}scrollColumns(e,t){this.scrollLeft!=e&&(this.scrollLeft=e,this.scroll(e-(this.vDomScrollPosLeft+this.windowBuffer)));}calcWindowBuffer(){var e=this.elementVertical.clientWidth;this.table.columnManager.columnsByIndex.forEach(t=>{if(t.visible){var i=t.getWidth();i>e&&(e=i);}}),this.windowBuffer=e*2;}rerenderColumns(e,t){var i={cols:this.columns,leftCol:this.leftCol,rightCol:this.rightCol},s=0;e&&!this.initialized||(this.clear(),this.calcWindowBuffer(),this.scrollLeft=this.elementVertical.scrollLeft,this.vDomScrollPosLeft=this.scrollLeft-this.windowBuffer,this.vDomScrollPosRight=this.scrollLeft+this.elementVertical.clientWidth+this.windowBuffer,this.table.columnManager.columnsByIndex.forEach(r=>{var o={},a;r.visible&&(r.modules.frozen||(a=r.getWidth(),o.leftPos=s,o.rightPos=s+a,o.width=a,this.isFitData&&(o.fitDataCheck=r.modules.vdomHoz?r.modules.vdomHoz.fitDataCheck:true),s+a>this.vDomScrollPosLeft&&s<this.vDomScrollPosRight?(this.leftCol==-1&&(this.leftCol=this.columns.length,this.vDomPadLeft=s),this.rightCol=this.columns.length):this.leftCol!==-1&&(this.vDomPadRight+=a),this.columns.push(r),r.modules.vdomHoz=o,s+=a));}),this.tableElement.style.paddingLeft=this.vDomPadLeft+"px",this.tableElement.style.paddingRight=this.vDomPadRight+"px",this.initialized=true,t||(!e||this.reinitChanged(i))&&this.reinitializeRows(),this.elementVertical.scrollLeft=this.scrollLeft);}renderRowCells(e){if(this.initialized)this.initializeRow(e);else {let t=document.createDocumentFragment();e.cells.forEach(i=>{t.appendChild(i.getElement());}),e.element.appendChild(t),e.cells.forEach(i=>{i.cellRendered();});}}rerenderRowCells(e,t){this.reinitializeRow(e,t);}reinitializeColumnWidths(e){for(let t=this.leftCol;t<=this.rightCol;t++)this.columns[t].reinitializeWidth();}deinitialize(){this.initialized=false;}clear(){this.columns=[],this.leftCol=-1,this.rightCol=0,this.vDomScrollPosLeft=0,this.vDomScrollPosRight=0,this.vDomPadLeft=0,this.vDomPadRight=0;}dataChange(){var e=false,t,i;if(this.isFitData){if(this.table.columnManager.columnsByIndex.forEach(s=>{!s.definition.width&&s.visible&&(e=true);}),e&&this.table.rowManager.getDisplayRows().length&&(this.vDomScrollPosRight=this.scrollLeft+this.elementVertical.clientWidth+this.windowBuffer,t=this.chain("rows-sample",[1],[],()=>this.table.rowManager.getDisplayRows())[0],t)){i=t.getElement(),t.generateCells(),this.tableElement.appendChild(i);for(let s=0;s<t.cells.length;s++){let r=t.cells[s];i.appendChild(r.getElement()),r.column.reinitializeWidth();}i.parentNode.removeChild(i),this.rerenderColumns(false,true);}}else this.options("layout")==="fitColumns"&&(this.layoutRefresh(),this.rerenderColumns(false,true));}reinitChanged(e){var t=true;return e.cols.length!==this.columns.length||e.leftCol!==this.leftCol||e.rightCol!==this.rightCol?true:(e.cols.forEach((i,s)=>{i!==this.columns[s]&&(t=false);}),!t)}reinitializeRows(){var e=this.getVisibleRows(),t=this.table.rowManager.getRows().filter(i=>!e.includes(i));e.forEach(i=>{this.reinitializeRow(i,true);}),t.forEach(i=>{i.deinitialize();});}getVisibleRows(){return this.visibleRows||(this.visibleRows=this.table.rowManager.getVisibleRows()),this.visibleRows}scroll(e){this.vDomScrollPosLeft+=e,this.vDomScrollPosRight+=e,Math.abs(e)>this.windowBuffer/2?this.rerenderColumns():e>0?(this.addColRight(),this.removeColLeft()):(this.addColLeft(),this.removeColRight());}colPositionAdjust(e,t,i){for(let s=e;s<t;s++){let r=this.columns[s];r.modules.vdomHoz.leftPos+=i,r.modules.vdomHoz.rightPos+=i;}}addColRight(){for(var e=false,t=true;t;){let i=this.columns[this.rightCol+1];i&&i.modules.vdomHoz.leftPos<=this.vDomScrollPosRight?(e=true,this.getVisibleRows().forEach(s=>{if(s.type!=="group"){var r=s.getCell(i);s.getElement().insertBefore(r.getElement(),s.getCell(this.columns[this.rightCol]).getElement().nextSibling),r.cellRendered();}}),this.fitDataColActualWidthCheck(i),this.rightCol++,this.getVisibleRows().forEach(s=>{s.type!=="group"&&(s.modules.vdomHoz.rightCol=this.rightCol);}),this.rightCol>=this.columns.length-1?this.vDomPadRight=0:this.vDomPadRight-=i.getWidth()):t=false;}e&&(this.tableElement.style.paddingRight=this.vDomPadRight+"px");}addColLeft(){for(var e=false,t=true;t;){let i=this.columns[this.leftCol-1];if(i)if(i.modules.vdomHoz.rightPos>=this.vDomScrollPosLeft){e=true,this.getVisibleRows().forEach(r=>{if(r.type!=="group"){var o=r.getCell(i);r.getElement().insertBefore(o.getElement(),r.getCell(this.columns[this.leftCol]).getElement()),o.cellRendered();}}),this.leftCol--,this.getVisibleRows().forEach(r=>{r.type!=="group"&&(r.modules.vdomHoz.leftCol=this.leftCol);}),this.leftCol<=0?this.vDomPadLeft=0:this.vDomPadLeft-=i.getWidth();let s=this.fitDataColActualWidthCheck(i);s&&(this.scrollLeft=this.elementVertical.scrollLeft=this.elementVertical.scrollLeft+s,this.vDomPadRight-=s);}else t=false;else t=false;}e&&(this.tableElement.style.paddingLeft=this.vDomPadLeft+"px");}removeColRight(){for(var e=false,t=true;t;){let i=this.columns[this.rightCol];i&&i.modules.vdomHoz.leftPos>this.vDomScrollPosRight?(e=true,this.getVisibleRows().forEach(s=>{if(s.type!=="group"){var r=s.getCell(i);try{s.getElement().removeChild(r.getElement());}catch(o){}}}),this.vDomPadRight+=i.getWidth(),this.rightCol--,this.getVisibleRows().forEach(s=>{s.type!=="group"&&(s.modules.vdomHoz.rightCol=this.rightCol);})):t=false;}e&&(this.tableElement.style.paddingRight=this.vDomPadRight+"px");}removeColLeft(){for(var e=false,t=true;t;){let i=this.columns[this.leftCol];i&&i.modules.vdomHoz.rightPos<this.vDomScrollPosLeft?(e=true,this.getVisibleRows().forEach(s=>{if(s.type!=="group"){var r=s.getCell(i);try{s.getElement().removeChild(r.getElement());}catch(o){}}}),this.vDomPadLeft+=i.getWidth(),this.leftCol++,this.getVisibleRows().forEach(s=>{s.type!=="group"&&(s.modules.vdomHoz.leftCol=this.leftCol);})):t=false;}e&&(this.tableElement.style.paddingLeft=this.vDomPadLeft+"px");}fitDataColActualWidthCheck(e){var t,i;return e.modules.vdomHoz.fitDataCheck&&(e.reinitializeWidth(),t=e.getWidth(),i=t-e.modules.vdomHoz.width,i&&(e.modules.vdomHoz.rightPos+=i,e.modules.vdomHoz.width=t,this.colPositionAdjust(this.columns.indexOf(e)+1,this.columns.length,i)),e.modules.vdomHoz.fitDataCheck=false),i}initializeRow(e){if(e.type!=="group"){e.modules.vdomHoz={leftCol:this.leftCol,rightCol:this.rightCol},this.table.modules.frozenColumns&&this.table.modules.frozenColumns.leftColumns.forEach(t=>{this.appendCell(e,t);});for(let t=this.leftCol;t<=this.rightCol;t++)this.appendCell(e,this.columns[t]);this.table.modules.frozenColumns&&this.table.modules.frozenColumns.rightColumns.forEach(t=>{this.appendCell(e,t);});}}appendCell(e,t){if(t&&t.visible){let i=e.getCell(t);e.getElement().appendChild(i.getElement()),i.cellRendered();}}reinitializeRow(e,t){if(e.type!=="group"&&(t||!e.modules.vdomHoz||e.modules.vdomHoz.leftCol!==this.leftCol||e.modules.vdomHoz.rightCol!==this.rightCol)){for(var i=e.getElement();i.firstChild;)i.removeChild(i.firstChild);this.initializeRow(e);}}},kt=class extends O{constructor(e){super(e),this.blockHozScrollEvent=false,this.headersElement=null,this.contentsElement=null,this.element=null,this.columns=[],this.columnsByIndex=[],this.columnsByField={},this.scrollLeft=0,this.optionsList=new ot(this.table,"column definition",si),this.redrawBlock=false,this.redrawBlockUpdate=null,this.renderer=null;}initialize(){this.initializeRenderer(),this.headersElement=this.createHeadersElement(),this.contentsElement=this.createHeaderContentsElement(),this.element=this.createHeaderElement(),this.contentsElement.insertBefore(this.headersElement,this.contentsElement.firstChild),this.element.insertBefore(this.contentsElement,this.element.firstChild),this.initializeScrollWheelWatcher(),this.subscribe("scroll-horizontal",this.scrollHorizontal.bind(this)),this.subscribe("scrollbar-vertical",this.padVerticalScrollbar.bind(this));}padVerticalScrollbar(e){this.table.rtl?this.headersElement.style.marginLeft=e+"px":this.headersElement.style.marginRight=e+"px";}initializeRenderer(){var e,t={virtual:Rt,basic:xt};typeof this.table.options.renderHorizontal=="string"?e=t[this.table.options.renderHorizontal]:e=this.table.options.renderHorizontal,e&&(this.renderer=new e(this.table,this.element,this.tableElement),this.renderer.initialize());}createHeadersElement(){var e=document.createElement("div");return e.classList.add("tabulator-headers"),e.setAttribute("role","row"),e}createHeaderContentsElement(){var e=document.createElement("div");return e.classList.add("tabulator-header-contents"),e.setAttribute("role","rowgroup"),e}createHeaderElement(){var e=document.createElement("div");return e.classList.add("tabulator-header"),e.setAttribute("role","rowgroup"),this.table.options.headerVisible||e.classList.add("tabulator-header-hidden"),e}getElement(){return this.element}getContentsElement(){return this.contentsElement}getHeadersElement(){return this.headersElement}scrollHorizontal(e){this.contentsElement.scrollLeft=e,this.scrollLeft=e,this.renderer.scrollColumns(e);}initializeScrollWheelWatcher(){this.contentsElement.addEventListener("wheel",e=>{var t;e.deltaX&&(t=this.contentsElement.scrollLeft+e.deltaX,this.table.rowManager.scrollHorizontal(t),this.table.columnManager.scrollHorizontal(t));});}generateColumnsFromRowData(e){var t=[],i=this.table.options.autoColumnsDefinitions,s,r;if(e&&e.length){s=e[0];for(var o in s){let a={field:o,title:o},l=s[o];switch(typeof l){case "undefined":r="string";break;case "boolean":r="boolean";break;case "object":Array.isArray(l)?r="array":r="string";break;default:!isNaN(l)&&l!==""?r="number":l.match(/((^[0-9]+[a-z]+)|(^[a-z]+[0-9]+))+$/i)?r="alphanum":r="string";break}a.sorter=r,t.push(a);}if(i)switch(typeof i){case "function":this.table.options.columns=i.call(this.table,t);break;case "object":Array.isArray(i)?t.forEach(a=>{var l=i.find(h=>h.field===a.field);l&&Object.assign(a,l);}):t.forEach(a=>{i[a.field]&&Object.assign(a,i[a.field]);}),this.table.options.columns=t;break}else this.table.options.columns=t;this.setColumns(this.table.options.columns);}}setColumns(e,t){for(;this.headersElement.firstChild;)this.headersElement.removeChild(this.headersElement.firstChild);this.columns=[],this.columnsByIndex=[],this.columnsByField={},this.dispatch("columns-loading"),e.forEach((i,s)=>{this._addColumn(i);}),this._reIndexColumns(),this.dispatch("columns-loaded"),this.rerenderColumns(false,true),this.redraw(true);}_addColumn(e,t,i){var s=new K(e,this),r=s.getElement(),o=i&&this.findColumnIndex(i);if(i&&o>-1){var a=i.getTopColumn(),l=this.columns.indexOf(a),h=a.getElement();t?(this.columns.splice(l,0,s),h.parentNode.insertBefore(r,h)):(this.columns.splice(l+1,0,s),h.parentNode.insertBefore(r,h.nextSibling));}else t?(this.columns.unshift(s),this.headersElement.insertBefore(s.getElement(),this.headersElement.firstChild)):(this.columns.push(s),this.headersElement.appendChild(s.getElement()));return s.columnRendered(),s}registerColumnField(e){e.definition.field&&(this.columnsByField[e.definition.field]=e);}registerColumnPosition(e){this.columnsByIndex.push(e);}_reIndexColumns(){this.columnsByIndex=[],this.columns.forEach(function(e){e.reRegisterPosition();});}verticalAlignHeaders(){var e=0;this.redrawBlock||(this.headersElement.style.height="",this.columns.forEach(t=>{t.clearVerticalAlign();}),this.columns.forEach(t=>{var i=t.getHeight();i>e&&(e=i);}),this.headersElement.style.height=e+"px",this.columns.forEach(t=>{t.verticalAlign(this.table.options.columnHeaderVertAlign,e);}),this.table.rowManager.adjustTableSize());}findColumn(e){var t;if(typeof e=="object"){if(e instanceof K)return e;if(e instanceof Be)return e._getSelf()||false;if(typeof HTMLElement!="undefined"&&e instanceof HTMLElement)return t=[],this.columns.forEach(s=>{t.push(s),t=t.concat(s.getColumns(true));}),t.find(s=>s.element===e)||false}else return this.columnsByField[e]||false;return false}getColumnByField(e){return this.columnsByField[e]}getColumnsByFieldRoot(e){var t=[];return Object.keys(this.columnsByField).forEach(i=>{var s=this.table.options.nestedFieldSeparator?i.split(this.table.options.nestedFieldSeparator)[0]:i;s===e&&t.push(this.columnsByField[i]);}),t}getColumnByIndex(e){return this.columnsByIndex[e]}getFirstVisibleColumn(){var e=this.columnsByIndex.findIndex(t=>t.visible);return e>-1?this.columnsByIndex[e]:false}getVisibleColumnsByIndex(){return this.columnsByIndex.filter(e=>e.visible)}getColumns(){return this.columns}findColumnIndex(e){return this.columnsByIndex.findIndex(t=>e===t)}getRealColumns(){return this.columnsByIndex}traverse(e){this.columnsByIndex.forEach((t,i)=>{e(t,i);});}getDefinitions(e){var t=[];return this.columnsByIndex.forEach(i=>{(!e||e&&i.visible)&&t.push(i.getDefinition());}),t}getDefinitionTree(){var e=[];return this.columns.forEach(t=>{e.push(t.getDefinition(true));}),e}getComponents(e){var t=[],i=e?this.columns:this.columnsByIndex;return i.forEach(s=>{t.push(s.getComponent());}),t}getWidth(){var e=0;return this.columnsByIndex.forEach(t=>{t.visible&&(e+=t.getWidth());}),e}moveColumn(e,t,i){t.element.parentNode.insertBefore(e.element,t.element),i&&t.element.parentNode.insertBefore(t.element,e.element),this.moveColumnActual(e,t,i),this.verticalAlignHeaders(),this.table.rowManager.reinitialize();}moveColumnActual(e,t,i){e.parent.isGroup?this._moveColumnInArray(e.parent.columns,e,t,i):this._moveColumnInArray(this.columns,e,t,i),this._moveColumnInArray(this.columnsByIndex,e,t,i,true),this.rerenderColumns(true),this.dispatch("column-moved",e,t,i),this.subscribedExternal("columnMoved")&&this.dispatchExternal("columnMoved",e.getComponent(),this.table.columnManager.getComponents());}_moveColumnInArray(e,t,i,s,r){var o=e.indexOf(t),a,l=[];o>-1&&(e.splice(o,1),a=e.indexOf(i),a>-1?s&&(a=a+1):a=o,e.splice(a,0,t),r&&(l=this.chain("column-moving-rows",[t,i,s],null,[])||[],l=l.concat(this.table.rowManager.rows),l.forEach(function(h){if(h.cells.length){var u=h.cells.splice(o,1)[0];h.cells.splice(a,0,u);}})));}scrollToColumn(e,t,i){var s=0,r=e.getLeftOffset(),o=0,a=e.getElement();return new Promise((l,h)=>{if(typeof t=="undefined"&&(t=this.table.options.scrollToColumnPosition),typeof i=="undefined"&&(i=this.table.options.scrollToColumnIfVisible),e.visible){switch(t){case "middle":case "center":o=-this.element.clientWidth/2;break;case "right":o=a.clientWidth-this.headersElement.clientWidth;break}if(!i&&r>0&&r+a.offsetWidth<this.element.clientWidth)return false;s=r+o,s=Math.max(Math.min(s,this.table.rowManager.element.scrollWidth-this.table.rowManager.element.clientWidth),0),this.table.rowManager.scrollHorizontal(s),this.scrollHorizontal(s),l();}else h("Scroll Error - Column not visible");})}generateCells(e){var t=[];return this.columnsByIndex.forEach(i=>{t.push(i.generateCell(e));}),t}getFlexBaseWidth(){var e=this.table.element.clientWidth,t=0;return this.table.rowManager.element.scrollHeight>this.table.rowManager.element.clientHeight&&(e-=this.table.rowManager.element.offsetWidth-this.table.rowManager.element.clientWidth),this.columnsByIndex.forEach(function(i){var s,r,o;i.visible&&(s=i.definition.width||0,r=parseInt(i.minWidth),typeof s=="string"?s.indexOf("%")>-1?o=e/100*parseInt(s):o=parseInt(s):o=s,t+=o>r?o:r);}),t}addColumn(e,t,i){return new Promise((s,r)=>{var o=this._addColumn(e,t,i);this._reIndexColumns(),this.dispatch("column-add",e,t,i),this.layoutMode()!="fitColumns"&&o.reinitializeWidth(),this.redraw(true),this.table.rowManager.reinitialize(),this.rerenderColumns(),s(o);})}deregisterColumn(e){var t=e.getField(),i;t&&delete this.columnsByField[t],i=this.columnsByIndex.indexOf(e),i>-1&&this.columnsByIndex.splice(i,1),i=this.columns.indexOf(e),i>-1&&this.columns.splice(i,1),this.verticalAlignHeaders(),this.redraw();}rerenderColumns(e,t){this.redrawBlock?(e===false||e===true&&this.redrawBlockUpdate===null)&&(this.redrawBlockUpdate=e):this.renderer.rerenderColumns(e,t);}blockRedraw(){this.redrawBlock=true,this.redrawBlockUpdate=null;}restoreRedraw(){this.redrawBlock=false,this.verticalAlignHeaders(),this.renderer.rerenderColumns(this.redrawBlockUpdate);}redraw(e){T.elVisible(this.element)&&this.verticalAlignHeaders(),e&&(this.table.rowManager.resetScroll(),this.table.rowManager.reinitialize()),this.confirm("table-redrawing",e)||this.layoutRefresh(e),this.dispatch("table-redraw",e),this.table.footerManager.redraw();}},Tt=class extends de{constructor(e){super(e),this.verticalFillMode="fill",this.scrollTop=0,this.scrollLeft=0,this.scrollTop=0,this.scrollLeft=0;}clearRows(){for(var e=this.tableElement;e.firstChild;)e.removeChild(e.firstChild);e.scrollTop=0,e.scrollLeft=0,e.style.minWidth="",e.style.minHeight="",e.style.display="",e.style.visibility="";}renderRows(){var e=this.tableElement,t=true,i=document.createDocumentFragment(),s=this.rows();s.forEach((r,o)=>{this.styleRow(r,o),r.initialize(false,true),r.type!=="group"&&(t=false),i.appendChild(r.getElement());}),e.appendChild(i),s.forEach(r=>{r.rendered(),r.heightInitialized||r.calcHeight(true);}),s.forEach(r=>{r.heightInitialized||r.setCellHeight();}),t?e.style.minWidth=this.table.columnManager.getWidth()+"px":e.style.minWidth="";}rerenderRows(e){this.clearRows(),e&&e(),this.renderRows(),this.rows().length||this.table.rowManager.tableEmpty();}scrollToRowNearestTop(e){var t=T.elOffset(e.getElement()).top;return !(Math.abs(this.elementVertical.scrollTop-t)>Math.abs(this.elementVertical.scrollTop+this.elementVertical.clientHeight-t))}scrollToRow(e){var t=e.getElement();this.elementVertical.scrollTop=T.elOffset(t).top-T.elOffset(this.elementVertical).top+this.elementVertical.scrollTop;}visibleRows(e){return this.rows()}},Mt=class extends de{constructor(e){super(e),this.verticalFillMode="fill",this.scrollTop=0,this.scrollLeft=0,this.vDomRowHeight=20,this.vDomTop=0,this.vDomBottom=0,this.vDomScrollPosTop=0,this.vDomScrollPosBottom=0,this.vDomTopPad=0,this.vDomBottomPad=0,this.vDomMaxRenderChain=90,this.vDomWindowBuffer=0,this.vDomWindowMinTotalRows=20,this.vDomWindowMinMarginRows=5,this.vDomTopNewRows=[],this.vDomBottomNewRows=[];}clearRows(){for(var e=this.tableElement;e.firstChild;)e.removeChild(e.firstChild);e.style.paddingTop="",e.style.paddingBottom="",e.style.minHeight="",e.style.display="",e.style.visibility="",this.elementVertical.scrollTop=0,this.elementVertical.scrollLeft=0,this.scrollTop=0,this.scrollLeft=0,this.vDomTop=0,this.vDomBottom=0,this.vDomTopPad=0,this.vDomBottomPad=0,this.vDomScrollPosTop=0,this.vDomScrollPosBottom=0;}renderRows(){this._virtualRenderFill();}rerenderRows(e){for(var t=this.elementVertical.scrollTop,i=false,s=false,r=this.table.rowManager.scrollLeft,o=this.rows(),a=this.vDomTop;a<=this.vDomBottom;a++)if(o[a]){var l=t-o[a].getElement().offsetTop;if(s===false||Math.abs(l)<s)s=l,i=a;else break}o.forEach(h=>{h.deinitializeHeight();}),e&&e(),this.rows().length?this._virtualRenderFill(i===false?this.rows.length-1:i,true,s||0):(this.clear(),this.table.rowManager.tableEmpty()),this.scrollColumns(r);}scrollColumns(e){this.table.rowManager.scrollHorizontal(e);}scrollRows(e,t){var i=e-this.vDomScrollPosTop,s=e-this.vDomScrollPosBottom,r=this.vDomWindowBuffer*2,o=this.rows();if(this.scrollTop=e,-i>r||s>r){var a=this.table.rowManager.scrollLeft;this._virtualRenderFill(Math.floor(this.elementVertical.scrollTop/this.elementVertical.scrollHeight*o.length)),this.scrollColumns(a);}else t?(i<0&&this._addTopRow(o,-i),s<0&&(this.vDomScrollHeight-this.scrollTop>this.vDomWindowBuffer?this._removeBottomRow(o,-s):this.vDomScrollPosBottom=this.scrollTop)):(s>=0&&this._addBottomRow(o,s),i>=0&&(this.scrollTop>this.vDomWindowBuffer?this._removeTopRow(o,i):this.vDomScrollPosTop=this.scrollTop));}resize(){this.vDomWindowBuffer=this.table.options.renderVerticalBuffer||this.elementVertical.clientHeight;}scrollToRowNearestTop(e){var t=this.rows().indexOf(e);return !(Math.abs(this.vDomTop-t)>Math.abs(this.vDomBottom-t))}scrollToRow(e){var t=this.rows().indexOf(e);t>-1&&this._virtualRenderFill(t,true);}visibleRows(e){var t=this.elementVertical.scrollTop,i=this.elementVertical.clientHeight+t,s=false,r=0,o=0,a=this.rows();if(e)r=this.vDomTop,o=this.vDomBottom;else for(var l=this.vDomTop;l<=this.vDomBottom;l++)if(a[l])if(s)if(i-a[l].getElement().offsetTop>=0)o=l;else break;else if(t-a[l].getElement().offsetTop>=0)r=l;else if(s=true,i-a[l].getElement().offsetTop>=0)o=l;else break;return a.slice(r,o+1)}_virtualRenderFill(e,t,i){var s=this.tableElement,r=this.elementVertical,o=0,a=0,l=0,h=0,u=0,d=0,c=this.rows(),f=c.length,m=0,p,v,b=[],w=0,y=0,g=this.table.rowManager.fixedHeight,E=this.elementVertical.clientHeight,L=this.table.options.rowHeight,F=true;if(e=e||0,i=i||0,!e)this.clear();else {for(;s.firstChild;)s.removeChild(s.firstChild);h=(f-e+1)*this.vDomRowHeight,h<E&&(e-=Math.ceil((E-h)/this.vDomRowHeight),e<0&&(e=0)),o=Math.min(Math.max(Math.floor(this.vDomWindowBuffer/this.vDomRowHeight),this.vDomWindowMinMarginRows),e),e-=o;}if(f&&T.elVisible(this.elementVertical)){for(this.vDomTop=e,this.vDomBottom=e-1,g||this.table.options.maxHeight?(L&&(y=E/L+this.vDomWindowBuffer/L),y=Math.max(this.vDomWindowMinTotalRows,Math.ceil(y))):y=f;(y==f||a<=E+this.vDomWindowBuffer||w<this.vDomWindowMinTotalRows)&&this.vDomBottom<f-1;){for(b=[],v=document.createDocumentFragment(),d=0;d<y&&this.vDomBottom<f-1;)m=this.vDomBottom+1,p=c[m],this.styleRow(p,m),p.initialize(false,true),!p.heightInitialized&&!this.table.options.rowHeight&&p.clearCellHeight(),v.appendChild(p.getElement()),b.push(p),this.vDomBottom++,d++;if(!b.length)break;s.appendChild(v),b.forEach(z=>{z.rendered(),z.heightInitialized||z.calcHeight(true);}),b.forEach(z=>{z.heightInitialized||z.setCellHeight();}),b.forEach(z=>{l=z.getHeight(),w<o?u+=l:a+=l,l>this.vDomWindowBuffer&&(this.vDomWindowBuffer=l*2),w++;}),F=this.table.rowManager.adjustTableSize(),E=this.elementVertical.clientHeight,F&&(g||this.table.options.maxHeight)&&(L=a/w,y=Math.max(this.vDomWindowMinTotalRows,Math.ceil(E/L+this.vDomWindowBuffer/L)));}e?(this.vDomTopPad=t?this.vDomRowHeight*this.vDomTop+i:this.scrollTop-u,this.vDomBottomPad=this.vDomBottom==f-1?0:Math.max(this.vDomScrollHeight-this.vDomTopPad-a-u,0)):(this.vDomTopPad=0,this.vDomRowHeight=Math.floor((a+u)/w),this.vDomBottomPad=this.vDomRowHeight*(f-this.vDomBottom-1),this.vDomScrollHeight=u+a+this.vDomBottomPad-E),s.style.paddingTop=this.vDomTopPad+"px",s.style.paddingBottom=this.vDomBottomPad+"px",t&&(this.scrollTop=this.vDomTopPad+u+i-(this.elementVertical.scrollWidth>this.elementVertical.clientWidth?this.elementVertical.offsetHeight-E:0)),this.scrollTop=Math.min(this.scrollTop,this.elementVertical.scrollHeight-E),this.elementVertical.scrollWidth>this.elementVertical.clientWidth&&t&&(this.scrollTop+=this.elementVertical.offsetHeight-E),this.vDomScrollPosTop=this.scrollTop,this.vDomScrollPosBottom=this.scrollTop,r.scrollTop=this.scrollTop,this.dispatch("render-virtual-fill");}}_addTopRow(e,t){for(var i=this.tableElement,s=[],r=0,o=this.vDomTop-1,a=0,l=true;l;)if(this.vDomTop){let h=e[o],u,d;h&&a<this.vDomMaxRenderChain?(u=h.getHeight()||this.vDomRowHeight,d=h.initialized,t>=u?(this.styleRow(h,o),i.insertBefore(h.getElement(),i.firstChild),(!h.initialized||!h.heightInitialized)&&s.push(h),h.initialize(),d||(u=h.getElement().offsetHeight,u>this.vDomWindowBuffer&&(this.vDomWindowBuffer=u*2)),t-=u,r+=u,this.vDomTop--,o--,a++):l=false):l=false;}else l=false;for(let h of s)h.clearCellHeight();this._quickNormalizeRowHeight(s),r&&(this.vDomTopPad-=r,this.vDomTopPad<0&&(this.vDomTopPad=o*this.vDomRowHeight),o<1&&(this.vDomTopPad=0),i.style.paddingTop=this.vDomTopPad+"px",this.vDomScrollPosTop-=r);}_removeTopRow(e,t){for(var i=[],s=0,r=0,o=true;o;){let a=e[this.vDomTop],l;a&&r<this.vDomMaxRenderChain?(l=a.getHeight()||this.vDomRowHeight,t>=l?(this.vDomTop++,t-=l,s+=l,i.push(a),r++):o=false):o=false;}for(let a of i){let l=a.getElement();l.parentNode&&l.parentNode.removeChild(l);}s&&(this.vDomTopPad+=s,this.tableElement.style.paddingTop=this.vDomTopPad+"px",this.vDomScrollPosTop+=this.vDomTop?s:s+this.vDomWindowBuffer);}_addBottomRow(e,t){for(var i=this.tableElement,s=[],r=0,o=this.vDomBottom+1,a=0,l=true;l;){let h=e[o],u,d;h&&a<this.vDomMaxRenderChain?(u=h.getHeight()||this.vDomRowHeight,d=h.initialized,t>=u?(this.styleRow(h,o),i.appendChild(h.getElement()),(!h.initialized||!h.heightInitialized)&&s.push(h),h.initialize(),d||(u=h.getElement().offsetHeight,u>this.vDomWindowBuffer&&(this.vDomWindowBuffer=u*2)),t-=u,r+=u,this.vDomBottom++,o++,a++):l=false):l=false;}for(let h of s)h.clearCellHeight();this._quickNormalizeRowHeight(s),r&&(this.vDomBottomPad-=r,(this.vDomBottomPad<0||o==e.length-1)&&(this.vDomBottomPad=0),i.style.paddingBottom=this.vDomBottomPad+"px",this.vDomScrollPosBottom+=r);}_removeBottomRow(e,t){for(var i=[],s=0,r=0,o=true;o;){let a=e[this.vDomBottom],l;a&&r<this.vDomMaxRenderChain?(l=a.getHeight()||this.vDomRowHeight,t>=l?(this.vDomBottom--,t-=l,s+=l,i.push(a),r++):o=false):o=false;}for(let a of i){let l=a.getElement();l.parentNode&&l.parentNode.removeChild(l);}s&&(this.vDomBottomPad+=s,this.vDomBottomPad<0&&(this.vDomBottomPad=0),this.tableElement.style.paddingBottom=this.vDomBottomPad+"px",this.vDomScrollPosBottom-=s);}_quickNormalizeRowHeight(e){for(let t of e)t.calcHeight();for(let t of e)t.setCellHeight();}},Lt=class extends O{constructor(e){super(e),this.element=this.createHolderElement(),this.tableElement=this.createTableElement(),this.heightFixer=this.createTableElement(),this.placeholder=null,this.placeholderContents=null,this.firstRender=false,this.renderMode="virtual",this.fixedHeight=false,this.rows=[],this.activeRowsPipeline=[],this.activeRows=[],this.activeRowsCount=0,this.displayRows=[],this.displayRowsCount=0,this.scrollTop=0,this.scrollLeft=0,this.redrawBlock=false,this.redrawBlockRestoreConfig=false,this.redrawBlockRenderInPosition=false,this.dataPipeline=[],this.displayPipeline=[],this.scrollbarWidth=0,this.renderer=null;}createHolderElement(){var e=document.createElement("div");return e.classList.add("tabulator-tableholder"),e.setAttribute("tabindex",0),e}createTableElement(){var e=document.createElement("div");return e.classList.add("tabulator-table"),e.setAttribute("role","rowgroup"),e}initializePlaceholder(){var e=this.table.options.placeholder;if(typeof e=="function"&&(e=e.call(this.table)),e=this.chain("placeholder",[e],e,e)||e,e){let t=document.createElement("div");if(t.classList.add("tabulator-placeholder"),typeof e=="string"){let i=document.createElement("div");i.classList.add("tabulator-placeholder-contents"),i.innerHTML=e,t.appendChild(i),this.placeholderContents=i;}else typeof HTMLElement!="undefined"&&e instanceof HTMLElement?(t.appendChild(e),this.placeholderContents=e):this.el=null;this.placeholder=t;}}getElement(){return this.element}getTableElement(){return this.tableElement}initialize(){this.initializePlaceholder(),this.initializeRenderer(),this.element.appendChild(this.tableElement),this.firstRender=true,this.element.addEventListener("scroll",()=>{var e=this.element.scrollLeft,t=this.scrollLeft>e,i=this.element.scrollTop,s=this.scrollTop>i;this.scrollLeft!=e&&(this.scrollLeft=e,this.dispatch("scroll-horizontal",e,t),this.dispatchExternal("scrollHorizontal",e,t),this._positionPlaceholder()),this.scrollTop!=i&&(this.scrollTop=i,this.renderer.scrollRows(i,s),this.dispatch("scroll-vertical",i,s),this.dispatchExternal("scrollVertical",i,s));});}findRow(e){if(typeof e=="object"){if(e instanceof P)return e;if(e instanceof le)return e._getSelf()||false;if(typeof HTMLElement!="undefined"&&e instanceof HTMLElement)return this.rows.find(i=>i.getElement()===e)||false;if(e===null)return false}else return typeof e=="undefined"?false:this.rows.find(i=>i.data[this.table.options.index]==e)||false;return false}getRowFromDataObject(e){var t=this.rows.find(i=>i.data===e);return t||false}getRowFromPosition(e){return this.getDisplayRows().find(t=>t.getPosition()===e&&t.isDisplayed())}scrollToRow(e,t,i){return this.renderer.scrollToRowPosition(e,t,i)}setData(e,t,i){return new Promise((s,r)=>{t&&this.getDisplayRows().length?this.table.options.pagination?this._setDataActual(e,true):this.reRenderInPosition(()=>{this._setDataActual(e);}):(this.table.options.autoColumns&&i&&this.table.initialized&&this.table.columnManager.generateColumnsFromRowData(e),this.resetScroll(),this._setDataActual(e)),s();})}_setDataActual(e,t){this.dispatchExternal("dataProcessing",e),this._wipeElements(),Array.isArray(e)&&(this.dispatch("data-processing",e),e.forEach((i,s)=>{if(i&&typeof i=="object"){var r=new P(i,this);this.rows.push(r);}}),this.refreshActiveData(false,false,t),this.dispatch("data-processed",e),this.dispatchExternal("dataProcessed",e));}_wipeElements(){this.dispatch("rows-wipe"),this.destroy(),this.adjustTableSize(),this.dispatch("rows-wiped");}destroy(){this.rows.forEach(e=>{e.wipe();}),this.rows=[],this.activeRows=[],this.activeRowsPipeline=[],this.activeRowsCount=0,this.displayRows=[],this.displayRowsCount=0;}deleteRow(e,t){var i=this.rows.indexOf(e),s=this.activeRows.indexOf(e);s>-1&&this.activeRows.splice(s,1),i>-1&&this.rows.splice(i,1),this.setActiveRows(this.activeRows),this.displayRowIterator(r=>{var o=r.indexOf(e);o>-1&&r.splice(o,1);}),t||this.reRenderInPosition(),this.regenerateRowPositions(),this.dispatchExternal("rowDeleted",e.getComponent()),this.displayRowsCount||this.tableEmpty(),this.subscribedExternal("dataChanged")&&this.dispatchExternal("dataChanged",this.getData());}addRow(e,t,i,s){var r=this.addRowActual(e,t,i,s);return r}addRows(e,t,i,s){var r=[];return new Promise((o,a)=>{t=this.findAddRowPos(t),Array.isArray(e)||(e=[e]),(typeof i=="undefined"&&t||typeof i!="undefined"&&!t)&&e.reverse(),e.forEach((l,h)=>{var u=this.addRow(l,t,i,true);r.push(u),this.dispatch("row-added",u,l,t,i);}),this.refreshActiveData(s?"displayPipeline":false,false,true),this.regenerateRowPositions(),this.displayRowsCount&&this._clearPlaceholder(),o(r);})}findAddRowPos(e){return typeof e=="undefined"&&(e=this.table.options.addRowPos),e==="pos"&&(e=true),e==="bottom"&&(e=false),e}addRowActual(e,t,i,s){var r=e instanceof P?e:new P(e||{},this),o=this.findAddRowPos(t),a=-1,l,h;return i||(h=this.chain("row-adding-position",[r,o],null,{index:i,top:o}),i=h.index,o=h.top),typeof i!="undefined"&&(i=this.findRow(i)),i=this.chain("row-adding-index",[r,i,o],null,i),i&&(a=this.rows.indexOf(i)),i&&a>-1?(l=this.activeRows.indexOf(i),this.displayRowIterator(function(u){var d=u.indexOf(i);d>-1&&u.splice(o?d:d+1,0,r);}),l>-1&&this.activeRows.splice(o?l:l+1,0,r),this.rows.splice(o?a:a+1,0,r)):o?(this.displayRowIterator(function(u){u.unshift(r);}),this.activeRows.unshift(r),this.rows.unshift(r)):(this.displayRowIterator(function(u){u.push(r);}),this.activeRows.push(r),this.rows.push(r)),this.setActiveRows(this.activeRows),this.dispatchExternal("rowAdded",r.getComponent()),this.subscribedExternal("dataChanged")&&this.dispatchExternal("dataChanged",this.table.rowManager.getData()),s||this.reRenderInPosition(),r}moveRow(e,t,i){this.dispatch("row-move",e,t,i),this.moveRowActual(e,t,i),this.regenerateRowPositions(),this.dispatch("row-moved",e,t,i),this.dispatchExternal("rowMoved",e.getComponent());}moveRowActual(e,t,i){this.moveRowInArray(this.rows,e,t,i),this.moveRowInArray(this.activeRows,e,t,i),this.displayRowIterator(s=>{this.moveRowInArray(s,e,t,i);}),this.dispatch("row-moving",e,t,i);}moveRowInArray(e,t,i,s){var r,o,a,l;if(t!==i&&(r=e.indexOf(t),r>-1&&(e.splice(r,1),o=e.indexOf(i),o>-1?s?e.splice(o+1,0,t):e.splice(o,0,t):e.splice(r,0,t)),e===this.getDisplayRows())){a=r<o?r:o,l=o>r?o:r+1;for(let h=a;h<=l;h++)e[h]&&this.styleRow(e[h],h);}}clearData(){this.setData([]);}getRowIndex(e){return this.findRowIndex(e,this.rows)}getDisplayRowIndex(e){var t=this.getDisplayRows().indexOf(e);return t>-1?t:false}nextDisplayRow(e,t){var i=this.getDisplayRowIndex(e),s=false;return i!==false&&i<this.displayRowsCount-1&&(s=this.getDisplayRows()[i+1]),s&&(!(s instanceof P)||s.type!="row")?this.nextDisplayRow(s,t):s}prevDisplayRow(e,t){var i=this.getDisplayRowIndex(e),s=false;return i&&(s=this.getDisplayRows()[i-1]),t&&s&&(!(s instanceof P)||s.type!="row")?this.prevDisplayRow(s,t):s}findRowIndex(e,t){var i;return e=this.findRow(e),e&&(i=t.indexOf(e),i>-1)?i:false}getData(e,t){var i=[],s=this.getRows(e);return s.forEach(function(r){r.type=="row"&&i.push(r.getData(t||"data"));}),i}getComponents(e){var t=[],i=this.getRows(e);return i.forEach(function(s){t.push(s.getComponent());}),t}getDataCount(e){var t=this.getRows(e);return t.length}scrollHorizontal(e){this.scrollLeft=e,this.element.scrollLeft=e,this.dispatch("scroll-horizontal",e);}registerDataPipelineHandler(e,t){typeof t!="undefined"&&(this.dataPipeline.push({handler:e,priority:t}),this.dataPipeline.sort((i,s)=>i.priority-s.priority));}registerDisplayPipelineHandler(e,t){typeof t!="undefined"&&(this.displayPipeline.push({handler:e,priority:t}),this.displayPipeline.sort((i,s)=>i.priority-s.priority));}refreshActiveData(e,t,i){var s=this.table,r="",o=0,a=["all","dataPipeline","display","displayPipeline","end"];if(!this.table.destroyed){if(typeof e=="function")if(o=this.dataPipeline.findIndex(l=>l.handler===e),o>-1)r="dataPipeline",t&&(o==this.dataPipeline.length-1?r="display":o++);else if(o=this.displayPipeline.findIndex(l=>l.handler===e),o>-1)r="displayPipeline",t&&(o==this.displayPipeline.length-1?r="end":o++);else return;else r=e||"all",o=0;if(this.redrawBlock){(!this.redrawBlockRestoreConfig||this.redrawBlockRestoreConfig&&(this.redrawBlockRestoreConfig.stage===r&&o<this.redrawBlockRestoreConfig.index||a.indexOf(r)<a.indexOf(this.redrawBlockRestoreConfig.stage)))&&(this.redrawBlockRestoreConfig={handler:e,skipStage:t,renderInPosition:i,stage:r,index:o});return}else T.elVisible(this.element)?i?this.reRenderInPosition(this.refreshPipelines.bind(this,e,r,o,i)):(this.refreshPipelines(e,r,o,i),e||this.table.columnManager.renderer.renderColumns(),this.renderTable(),s.options.layoutColumnsOnNewData&&this.table.columnManager.redraw(true)):this.refreshPipelines(e,r,o,i),this.dispatch("data-refreshed");}}refreshPipelines(e,t,i,s){switch(this.dispatch("data-refreshing"),(!e||!this.activeRowsPipeline[0])&&(this.activeRowsPipeline[0]=this.rows.slice(0)),t){case "all":case "dataPipeline":for(let r=i;r<this.dataPipeline.length;r++){let o=this.dataPipeline[r].handler(this.activeRowsPipeline[r].slice(0));this.activeRowsPipeline[r+1]=o||this.activeRowsPipeline[r].slice(0);}this.setActiveRows(this.activeRowsPipeline[this.dataPipeline.length]);case "display":i=0,this.resetDisplayRows();case "displayPipeline":for(let r=i;r<this.displayPipeline.length;r++){let o=this.displayPipeline[r].handler((r?this.getDisplayRows(r-1):this.activeRows).slice(0),s);this.setDisplayRows(o||this.getDisplayRows(r-1).slice(0),r);}case "end":this.regenerateRowPositions();}this.getDisplayRows().length&&this._clearPlaceholder();}regenerateRowPositions(){var e=this.getDisplayRows(),t=1;e.forEach(i=>{i.type==="row"&&(i.setPosition(t),t++);});}setActiveRows(e){this.activeRows=this.activeRows=Object.assign([],e),this.activeRowsCount=this.activeRows.length;}resetDisplayRows(){this.displayRows=[],this.displayRows.push(this.activeRows.slice(0)),this.displayRowsCount=this.displayRows[0].length;}setDisplayRows(e,t){this.displayRows[t]=e,t==this.displayRows.length-1&&(this.displayRowsCount=this.displayRows[this.displayRows.length-1].length);}getDisplayRows(e){return typeof e=="undefined"?this.displayRows.length?this.displayRows[this.displayRows.length-1]:[]:this.displayRows[e]||[]}getVisibleRows(e,t){var i=Object.assign([],this.renderer.visibleRows(!t));return e&&(i=this.chain("rows-visible",[t],i,i)),i}displayRowIterator(e){this.activeRowsPipeline.forEach(e),this.displayRows.forEach(e),this.displayRowsCount=this.displayRows[this.displayRows.length-1].length;}getRows(e){var t=[];switch(e){case "active":t=this.activeRows;break;case "display":t=this.table.rowManager.getDisplayRows();break;case "visible":t=this.getVisibleRows(false,true);break;default:t=this.chain("rows-retrieve",e,null,this.rows)||this.rows;}return t}reRenderInPosition(e){this.redrawBlock?e?e():this.redrawBlockRenderInPosition=true:(this.dispatchExternal("renderStarted"),this.renderer.rerenderRows(e),this.fixedHeight||this.adjustTableSize(),this.scrollBarCheck(),this.dispatchExternal("renderComplete"));}scrollBarCheck(){var e=0;this.element.scrollHeight>this.element.clientHeight&&(e=this.element.offsetWidth-this.element.clientWidth),e!==this.scrollbarWidth&&(this.scrollbarWidth=e,this.dispatch("scrollbar-vertical",e));}initializeRenderer(){var e,t={virtual:Mt,basic:Tt};typeof this.table.options.renderVertical=="string"?e=t[this.table.options.renderVertical]:e=this.table.options.renderVertical,e&&(this.renderMode=this.table.options.renderVertical,this.renderer=new e(this.table,this.element,this.tableElement),this.renderer.initialize(),(this.table.element.clientHeight||this.table.options.height)&&!(this.table.options.minHeight&&this.table.options.maxHeight)?this.fixedHeight=true:this.fixedHeight=false);}getRenderMode(){return this.renderMode}renderTable(){this.dispatchExternal("renderStarted"),this.element.scrollTop=0,this._clearTable(),this.displayRowsCount?(this.renderer.renderRows(),this.firstRender&&(this.firstRender=false,this.fixedHeight||this.adjustTableSize(),this.layoutRefresh(true))):this.renderEmptyScroll(),this.fixedHeight||this.adjustTableSize(),this.dispatch("table-layout"),this.displayRowsCount||this._showPlaceholder(),this.scrollBarCheck(),this.dispatchExternal("renderComplete");}renderEmptyScroll(){this.placeholder?this.tableElement.style.display="none":this.tableElement.style.minWidth=this.table.columnManager.getWidth()+"px";}_clearTable(){this._clearPlaceholder(),this.scrollTop=0,this.scrollLeft=0,this.renderer.clearRows();}tableEmpty(){this.renderEmptyScroll(),this._showPlaceholder();}checkPlaceholder(){this.displayRowsCount?this._clearPlaceholder():this.tableEmpty();}_showPlaceholder(){this.placeholder&&(this.placeholder&&this.placeholder.parentNode&&this.placeholder.parentNode.removeChild(this.placeholder),this.initializePlaceholder(),this.placeholder.setAttribute("tabulator-render-mode",this.renderMode),this.getElement().appendChild(this.placeholder),this._positionPlaceholder(),this.adjustTableSize());}_clearPlaceholder(){this.placeholder&&this.placeholder.parentNode&&this.placeholder.parentNode.removeChild(this.placeholder),this.tableElement.style.minWidth="",this.tableElement.style.display="";}_positionPlaceholder(){this.placeholder&&this.placeholder.parentNode&&(this.placeholder.style.width=this.table.columnManager.getWidth()+"px",this.placeholderContents.style.width=this.table.rowManager.element.clientWidth+"px",this.placeholderContents.style.marginLeft=this.scrollLeft+"px");}styleRow(e,t){var i=e.getElement();t%2?(i.classList.add("tabulator-row-even"),i.classList.remove("tabulator-row-odd")):(i.classList.add("tabulator-row-odd"),i.classList.remove("tabulator-row-even"));}normalizeHeight(){this.activeRows.forEach(function(e){e.normalizeHeight();});}adjustTableSize(){let e=this.element.clientHeight,t,i=false;if(this.renderer.verticalFillMode==="fill"){let s=Math.floor(this.table.columnManager.getElement().getBoundingClientRect().height+(this.table.footerManager&&this.table.footerManager.active&&!this.table.footerManager.external?this.table.footerManager.getElement().getBoundingClientRect().height:0));if(this.fixedHeight){t=isNaN(this.table.options.minHeight)?this.table.options.minHeight:this.table.options.minHeight+"px";let r="calc(100% - "+s+"px)";this.element.style.minHeight=t||"calc(100% - "+s+"px)",this.element.style.height=r,this.element.style.maxHeight=r;}else this.element.style.height="",this.element.style.height=this.table.element.clientHeight-s+"px",this.element.scrollTop=this.scrollTop;this.renderer.resize(),!this.fixedHeight&&e!=this.element.clientHeight&&(i=true,this.subscribed("table-resize")?this.dispatch("table-resize"):this.redraw()),this.scrollBarCheck();}return this._positionPlaceholder(),i}reinitialize(){this.rows.forEach(function(e){e.reinitialize(true);});}blockRedraw(){this.redrawBlock=true,this.redrawBlockRestoreConfig=false;}restoreRedraw(){this.redrawBlock=false,this.redrawBlockRestoreConfig?(this.refreshActiveData(this.redrawBlockRestoreConfig.handler,this.redrawBlockRestoreConfig.skipStage,this.redrawBlockRestoreConfig.renderInPosition),this.redrawBlockRestoreConfig=false):this.redrawBlockRenderInPosition&&this.reRenderInPosition(),this.redrawBlockRenderInPosition=false;}redraw(e){this.adjustTableSize(),this.table.tableWidth=this.table.element.clientWidth,e?this.renderTable():(this.reRenderInPosition(),this.scrollHorizontal(this.scrollLeft));}resetScroll(){if(this.element.scrollLeft=0,this.element.scrollTop=0,this.table.browser==="ie"){var e=document.createEvent("Event");e.initEvent("scroll",false,true),this.element.dispatchEvent(e);}else this.element.dispatchEvent(new Event("scroll"));}},Dt=class extends O{constructor(e){super(e),this.active=false,this.element=this.createElement(),this.containerElement=this.createContainerElement(),this.external=false;}initialize(){this.initializeElement();}createElement(){var e=document.createElement("div");return e.classList.add("tabulator-footer"),e}createContainerElement(){var e=document.createElement("div");return e.classList.add("tabulator-footer-contents"),this.element.appendChild(e),e}initializeElement(){if(this.table.options.footerElement)switch(typeof this.table.options.footerElement){case "string":this.table.options.footerElement[0]==="<"?this.containerElement.innerHTML=this.table.options.footerElement:(this.external=true,this.containerElement=document.querySelector(this.table.options.footerElement));break;default:this.element=this.table.options.footerElement;break}}getElement(){return this.element}append(e){this.activate(),this.containerElement.appendChild(e),this.table.rowManager.adjustTableSize();}prepend(e){this.activate(),this.element.insertBefore(e,this.element.firstChild),this.table.rowManager.adjustTableSize();}remove(e){e.parentNode.removeChild(e),this.deactivate();}deactivate(e){(!this.element.firstChild||e)&&(this.external||this.element.parentNode.removeChild(this.element),this.active=false);}activate(){this.active||(this.active=true,this.external||(this.table.element.appendChild(this.getElement()),this.table.element.style.display=""));}redraw(){this.dispatch("footer-redraw");}},zt=class extends O{constructor(e){super(e),this.el=null,this.abortClasses=["tabulator-headers","tabulator-table"],this.previousTargets={},this.listeners=["click","dblclick","contextmenu","mouseenter","mouseleave","mouseover","mouseout","mousemove","mouseup","mousedown","touchstart","touchend"],this.componentMap={"tabulator-cell":"cell","tabulator-row":"row","tabulator-group":"group","tabulator-col":"column"},this.pseudoTrackers={row:{subscriber:null,target:null},cell:{subscriber:null,target:null},group:{subscriber:null,target:null},column:{subscriber:null,target:null}},this.pseudoTracking=false;}initialize(){this.el=this.table.element,this.buildListenerMap(),this.bindSubscriptionWatchers();}buildListenerMap(){var e={};this.listeners.forEach(t=>{e[t]={handler:null,components:[]};}),this.listeners=e;}bindPseudoEvents(){Object.keys(this.pseudoTrackers).forEach(e=>{this.pseudoTrackers[e].subscriber=this.pseudoMouseEnter.bind(this,e),this.subscribe(e+"-mouseover",this.pseudoTrackers[e].subscriber);}),this.pseudoTracking=true;}pseudoMouseEnter(e,t,i){this.pseudoTrackers[e].target!==i&&(this.pseudoTrackers[e].target&&this.dispatch(e+"-mouseleave",t,this.pseudoTrackers[e].target),this.pseudoMouseLeave(e,t),this.pseudoTrackers[e].target=i,this.dispatch(e+"-mouseenter",t,i));}pseudoMouseLeave(e,t){var i=Object.keys(this.pseudoTrackers),s={row:["cell"],cell:["row"]};i=i.filter(r=>{var o=s[e];return r!==e&&(!o||o&&!o.includes(r))}),i.forEach(r=>{var o=this.pseudoTrackers[r].target;this.pseudoTrackers[r].target&&(this.dispatch(r+"-mouseleave",t,o),this.pseudoTrackers[r].target=null);});}bindSubscriptionWatchers(){var e=Object.keys(this.listeners),t=Object.values(this.componentMap);for(let i of t)for(let s of e){let r=i+"-"+s;this.subscriptionChange(r,this.subscriptionChanged.bind(this,i,s));}this.subscribe("table-destroy",this.clearWatchers.bind(this));}subscriptionChanged(e,t,i){var s=this.listeners[t].components,r=s.indexOf(e),o=false;i?r===-1&&(s.push(e),o=true):this.subscribed(e+"-"+t)||r>-1&&(s.splice(r,1),o=true),(t==="mouseenter"||t==="mouseleave")&&!this.pseudoTracking&&this.bindPseudoEvents(),o&&this.updateEventListeners();}updateEventListeners(){for(let e in this.listeners){let t=this.listeners[e];t.components.length?t.handler||(t.handler=this.track.bind(this,e),this.el.addEventListener(e,t.handler)):t.handler&&(this.el.removeEventListener(e,t.handler),t.handler=null);}}track(e,t){var i=t.composedPath&&t.composedPath()||t.path,s=this.findTargets(i);s=this.bindComponents(e,s),this.triggerEvents(e,t,s),this.pseudoTracking&&(e=="mouseover"||e=="mouseleave")&&!Object.keys(s).length&&this.pseudoMouseLeave("none",t);}findTargets(e){var t={};let i=Object.keys(this.componentMap);for(let s of e){let r=s.classList?[...s.classList]:[];if(r.filter(l=>this.abortClasses.includes(l)).length)break;let a=r.filter(l=>i.includes(l));for(let l of a)t[this.componentMap[l]]||(t[this.componentMap[l]]=s);}return t.group&&t.group===t.row&&delete t.row,t}bindComponents(e,t){var i=Object.keys(t).reverse(),s=this.listeners[e],r={},o={};for(let a of i){let l,h=t[a],u=this.previousTargets[a];if(u&&u.target===h)l=u.component;else switch(a){case "row":case "group":(s.components.includes("row")||s.components.includes("cell")||s.components.includes("group"))&&(l=this.table.rowManager.getVisibleRows(true).find(c=>c.getElement()===h),t.row&&t.row.parentNode&&t.row.parentNode.closest(".tabulator-row")&&(t[a]=false));break;case "column":s.components.includes("column")&&(l=this.table.columnManager.findColumn(h));break;case "cell":s.components.includes("cell")&&(r.row instanceof P?l=r.row.findCell(h):t.row);break}l&&(r[a]=l,o[a]={target:h,component:l});}return this.previousTargets=o,r}triggerEvents(e,t,i){var s=this.listeners[e];for(let r in i)i[r]&&s.components.includes(r)&&this.dispatch(r+"-"+e,t,i[r]);}clearWatchers(){for(let e in this.listeners){let t=this.listeners[e];t.handler&&(this.el.removeEventListener(e,t.handler),t.handler=null);}}},St=class{constructor(e){this.table=e,this.bindings={};}bind(e,t,i){this.bindings[e]||(this.bindings[e]={}),this.bindings[e][t]||(this.bindings[e][t]=i);}handle(e,t,i){if(this.bindings[e]&&this.bindings[e][i]&&typeof this.bindings[e][i].bind=="function")return this.bindings[e][i].bind(null,t);i!=="then"&&typeof i=="string"&&!i.startsWith("_")&&this.table.options.debugInvalidComponentFuncs;}},Ft=class extends O{constructor(e){super(e),this.requestOrder=0,this.loading=false;}initialize(){}load(e,t,i,s,r,o){var a=++this.requestOrder;if(this.table.destroyed)return Promise.resolve();if(this.dispatchExternal("dataLoading",e),e&&(e.indexOf("{")==0||e.indexOf("[")==0)&&(e=JSON.parse(e)),this.confirm("data-loading",[e,t,i,r])){this.loading=true,r||this.alertLoader(),t=this.chain("data-params",[e,i,r],t||{},t||{}),t=this.mapParams(t,this.table.options.dataSendParams);var l=this.chain("data-load",[e,t,i,r],false,Promise.resolve([]));return l.then(h=>{if(!this.table.destroyed){!Array.isArray(h)&&typeof h=="object"&&(h=this.mapParams(h,this.objectInvert(this.table.options.dataReceiveParams)));var u=this.chain("data-loaded",h,null,h);a==this.requestOrder&&(this.clearAlert(),u!==false&&(this.dispatchExternal("dataLoaded",u),this.table.rowManager.setData(u,s,typeof o=="undefined"?!s:o)));}}).catch(h=>{this.dispatchExternal("dataLoadError",h),r||this.alertError(),setTimeout(()=>{this.clearAlert();},this.table.options.dataLoaderErrorTimeout);}).finally(()=>{this.loading=false;})}else return this.dispatchExternal("dataLoaded",e),e||(e=[]),this.table.rowManager.setData(e,s,typeof o=="undefined"?!s:o),Promise.resolve()}mapParams(e,t){var i={};for(let s in e)i[t.hasOwnProperty(s)?t[s]:s]=e[s];return i}objectInvert(e){var t={};for(let i in e)t[e[i]]=i;return t}blockActiveLoad(){this.requestOrder++;}alertLoader(){var e=typeof this.table.options.dataLoader=="function"?this.table.options.dataLoader():this.table.options.dataLoader;e&&this.table.alertManager.alert(this.table.options.dataLoaderLoading||this.langText("data|loading"));}alertError(){this.table.alertManager.alert(this.table.options.dataLoaderError||this.langText("data|error"),"error");}clearAlert(){this.table.alertManager.clear();}},Ht=class{constructor(e,t,i){this.table=e,this.events={},this.optionsList=t||{},this.subscriptionNotifiers={},this.dispatch=i?this._debugDispatch.bind(this):this._dispatch.bind(this),this.debug=i;}subscriptionChange(e,t){this.subscriptionNotifiers[e]||(this.subscriptionNotifiers[e]=[]),this.subscriptionNotifiers[e].push(t),this.subscribed(e)&&this._notifySubscriptionChange(e,true);}subscribe(e,t){this.events[e]||(this.events[e]=[]),this.events[e].push(t),this._notifySubscriptionChange(e,true);}unsubscribe(e,t){var i;if(this.events[e])if(t)if(i=this.events[e].findIndex(s=>s===t),i>-1)this.events[e].splice(i,1);else return;else delete this.events[e];else return;this._notifySubscriptionChange(e,false);}subscribed(e){return this.events[e]&&this.events[e].length}_notifySubscriptionChange(e,t){var i=this.subscriptionNotifiers[e];i&&i.forEach(s=>{s(t);});}_dispatch(){var e=Array.from(arguments),t=e.shift(),i;return this.events[t]&&this.events[t].forEach((s,r)=>{let o=s.apply(this.table,e);r||(i=o);}),i}_debugDispatch(){var e=Array.from(arguments),t=e[0];return e[0]="ExternalEvent:"+e[0],this.debug===true||this.debug.includes(t),this._dispatch(...arguments)}},Pt=class{constructor(e){this.events={},this.subscriptionNotifiers={},this.dispatch=e?this._debugDispatch.bind(this):this._dispatch.bind(this),this.chain=e?this._debugChain.bind(this):this._chain.bind(this),this.confirm=e?this._debugConfirm.bind(this):this._confirm.bind(this),this.debug=e;}subscriptionChange(e,t){this.subscriptionNotifiers[e]||(this.subscriptionNotifiers[e]=[]),this.subscriptionNotifiers[e].push(t),this.subscribed(e)&&this._notifySubscriptionChange(e,true);}subscribe(e,t,i=1e4){this.events[e]||(this.events[e]=[]),this.events[e].push({callback:t,priority:i}),this.events[e].sort((s,r)=>s.priority-r.priority),this._notifySubscriptionChange(e,true);}unsubscribe(e,t){var i;if(this.events[e]){if(t)if(i=this.events[e].findIndex(s=>s.callback===t),i>-1)this.events[e].splice(i,1);else return}else return;this._notifySubscriptionChange(e,false);}subscribed(e){return this.events[e]&&this.events[e].length}_chain(e,t,i,s){var r=i;return Array.isArray(t)||(t=[t]),this.subscribed(e)?(this.events[e].forEach((o,a)=>{r=o.callback.apply(this,t.concat([r]));}),r):typeof s=="function"?s():s}_confirm(e,t){var i=false;return Array.isArray(t)||(t=[t]),this.subscribed(e)&&this.events[e].forEach((s,r)=>{s.callback.apply(this,t)&&(i=true);}),i}_notifySubscriptionChange(e,t){var i=this.subscriptionNotifiers[e];i&&i.forEach(s=>{s(t);});}_dispatch(){var e=Array.from(arguments),t=e.shift();this.events[t]&&this.events[t].forEach(i=>{i.callback.apply(this,e);});}_debugDispatch(){var e=Array.from(arguments),t=e[0];return e[0]="InternalEvent:"+t,this.debug===true||this.debug.includes(t),this._dispatch(...arguments)}_debugChain(){var e=Array.from(arguments),t=e[0];return e[0]="InternalEvent:"+t,this.debug===true||this.debug.includes(t),this._chain(...arguments)}_debugConfirm(){var e=Array.from(arguments),t=e[0];return e[0]="InternalEvent:"+t,this.debug===true||this.debug.includes(t),this._confirm(...arguments)}},Ot=class extends O{constructor(e){super(e);}_warnUser(){this.options("debugDeprecation");}check(e,t,i){var s="";return typeof this.options(e)!="undefined"?(s="Deprecated Setup Option - Use of the %c"+e+"%c option is now deprecated",t?(s=s+", Please use the %c"+t+"%c option instead",this._warnUser(s,"font-weight: bold;","font-weight: normal;","font-weight: bold;","font-weight: normal;"),i&&(this.table.options[t]=this.table.options[e])):this._warnUser(s,"font-weight: bold;","font-weight: normal;"),false):true}checkMsg(e,t){return typeof this.options(e)!="undefined"?(this._warnUser("%cDeprecated Setup Option - Use of the %c"+e+" %c option is now deprecated, "+t,"font-weight: normal;","font-weight: bold;","font-weight: normal;"),false):true}msg(e){this._warnUser(e);}},te=class n{static register(e){n.tables.push(e);}static deregister(e){var t=n.tables.indexOf(e);t>-1&&n.tables.splice(t,1);}static lookupTable(e,t){var i=[],s,r;if(typeof e=="string"){if(s=document.querySelectorAll(e),s.length)for(var o=0;o<s.length;o++)r=n.matchElement(s[o]),r&&i.push(r);}else typeof HTMLElement!="undefined"&&e instanceof HTMLElement||e instanceof ie?(r=n.matchElement(e),r&&i.push(r)):Array.isArray(e)&&e.forEach(function(a){i=i.concat(n.lookupTable(a));});return i}static matchElement(e){return n.tables.find(function(t){return e instanceof ie?t===e:t.element===e})}};te.tables=[];function Ns(n,e){e&&this.table.columnManager.renderer.reinitializeColumnWidths(n),this.table.options.responsiveLayout&&this.table.modExists("responsiveLayout",true)&&this.table.modules.responsiveLayout.update();}function ti(n,e){n.forEach(function(t){t.reinitializeWidth();}),this.table.options.responsiveLayout&&this.table.modExists("responsiveLayout",true)&&this.table.modules.responsiveLayout.update();}function Ws(n,e){var t=0,i=this.table.rowManager.element.clientWidth,s=0,r=false;n.forEach((o,a)=>{o.widthFixed||o.reinitializeWidth(),(this.table.options.responsiveLayout?o.modules.responsive.visible:o.visible)&&(r=o),o.visible&&(t+=o.getWidth());}),r?(s=i-t+r.getWidth(),this.table.options.responsiveLayout&&this.table.modExists("responsiveLayout",true)&&(r.setWidth(0),this.table.modules.responsiveLayout.update()),s>0?r.setWidth(s):r.reinitializeWidth()):this.table.options.responsiveLayout&&this.table.modExists("responsiveLayout",true)&&this.table.modules.responsiveLayout.update();}function js(n,e){var t=this.table.rowManager.element.getBoundingClientRect().width,i=0,s=0,r=0,o=0,a=[],l=[],h=0,u=0,d=0;function c(m){var p;return typeof m=="string"?m.indexOf("%")>-1?p=t/100*parseInt(m):p=parseInt(m):p=m,p}function f(m,p,v,b){var w=[],y=0,g=0,E=0,L=r,F=0,z=0,G=[];function $(k){return v*(k.column.definition.widthGrow||1)}function W(k){return c(k.width)-v*(k.column.definition.widthShrink||0)}return m.forEach(function(k,Vt){var Fe=b?W(k):$(k);k.column.minWidth>=Fe?w.push(k):k.column.maxWidth&&k.column.maxWidth<Fe?(k.width=k.column.maxWidth,p-=k.column.maxWidth,L-=b?k.column.definition.widthShrink||1:k.column.definition.widthGrow||1,L&&(v=Math.floor(p/L))):(G.push(k),z+=b?k.column.definition.widthShrink||1:k.column.definition.widthGrow||1);}),w.length?(w.forEach(function(k){y+=b?k.width-k.column.minWidth:k.column.minWidth,k.width=k.column.minWidth;}),g=p-y,E=z?Math.floor(g/z):g,F=f(G,g,E,b)):(F=z?p-Math.floor(p/z)*z:p,G.forEach(function(k){k.width=b?W(k):$(k);})),F}this.table.options.responsiveLayout&&this.table.modExists("responsiveLayout",true)&&this.table.modules.responsiveLayout.update(),this.table.rowManager.element.scrollHeight>this.table.rowManager.element.clientHeight&&(t-=this.table.rowManager.element.offsetWidth-this.table.rowManager.element.clientWidth),n.forEach(function(m){var p,v,b;m.visible&&(p=m.definition.width,v=parseInt(m.minWidth),p?(b=c(p),i+=b>v?b:v,m.definition.widthShrink&&(l.push({column:m,width:b>v?b:v}),h+=m.definition.widthShrink)):(a.push({column:m,width:0}),r+=m.definition.widthGrow||1));}),s=t-i,o=Math.floor(s/r),d=f(a,s,o,false),a.length&&d>0&&(a[a.length-1].width+=d),a.forEach(function(m){s-=m.width;}),u=Math.abs(d)+s,u>0&&h&&(d=f(l,u,Math.floor(u/h),true)),d&&l.length&&(l[l.length-1].width-=d),a.forEach(function(m){m.column.setWidth(m.width);}),l.forEach(function(m){m.column.setWidth(m.width);});}var Gs={fitData:Ns,fitDataFill:ti,fitDataTable:ti,fitDataStretch:Ws,fitColumns:js},Le=class n extends C{constructor(e){super(e,"layout"),this.mode=null,this.registerTableOption("layout","fitData"),this.registerTableOption("layoutColumnsOnNewData",false),this.registerColumnOption("widthGrow"),this.registerColumnOption("widthShrink");}initialize(){var e=this.table.options.layout;n.modes[e]?this.mode=e:this.mode="fitData",this.table.element.setAttribute("tabulator-layout",this.mode),this.subscribe("column-init",this.initializeColumn.bind(this));}initializeColumn(e){e.definition.widthGrow&&(e.definition.widthGrow=Number(e.definition.widthGrow)),e.definition.widthShrink&&(e.definition.widthShrink=Number(e.definition.widthShrink));}getMode(){return this.mode}layout(e){this.dispatch("layout-refreshing"),n.modes[this.mode].call(this,this.table.columnManager.columnsByIndex,e),this.dispatch("layout-refreshed");}};Le.moduleName="layout";Le.modes=Gs;var Us={default:{groups:{item:"item",items:"items"},columns:{},data:{loading:"Loading",error:"Error"},pagination:{page_size:"Page Size",page_title:"Show Page",first:"First",first_title:"First Page",last:"Last",last_title:"Last Page",prev:"Prev",prev_title:"Prev Page",next:"Next",next_title:"Next Page",all:"All",counter:{showing:"Showing",of:"of",rows:"rows",pages:"pages"}},headerFilters:{default:"filter column...",columns:{}}}},De=class n extends C{constructor(e){super(e),this.locale="default",this.lang=false,this.bindings={},this.langList={},this.registerTableOption("locale",false),this.registerTableOption("langs",{});}initialize(){this.langList=T.deepClone(n.langs),this.table.options.columnDefaults.headerFilterPlaceholder!==false&&this.setHeaderFilterPlaceholder(this.table.options.columnDefaults.headerFilterPlaceholder);for(let e in this.table.options.langs)this.installLang(e,this.table.options.langs[e]);this.setLocale(this.table.options.locale),this.registerTableFunction("setLocale",this.setLocale.bind(this)),this.registerTableFunction("getLocale",this.getLocale.bind(this)),this.registerTableFunction("getLang",this.getLang.bind(this));}setHeaderFilterPlaceholder(e){this.langList.default.headerFilters.default=e;}installLang(e,t){this.langList[e]?this._setLangProp(this.langList[e],t):this.langList[e]=t;}_setLangProp(e,t){for(let i in t)e[i]&&typeof e[i]=="object"?this._setLangProp(e[i],t[i]):e[i]=t[i];}setLocale(e){e=e||"default";function t(i,s){for(var r in i)typeof i[r]=="object"?(s[r]||(s[r]={}),t(i[r],s[r])):s[r]=i[r];}if(e===true&&navigator.language&&(e=navigator.language.toLowerCase()),e&&!this.langList[e]){let i=e.split("-")[0];this.langList[i]?e=i:e="default";}this.locale=e,this.lang=T.deepClone(this.langList.default||{}),e!="default"&&t(this.langList[e],this.lang),this.dispatchExternal("localized",this.locale,this.lang),this._executeBindings();}getLocale(e){return this.locale}getLang(e){return e?this.langList[e]:this.lang}getText(e,t){var i=t?e+"|"+t:e,s=i.split("|"),r=this._getLangElement(s,this.locale);return r||""}_getLangElement(e,t){var i=this.lang;return e.forEach(function(s){var r;i&&(r=i[s],typeof r!="undefined"?i=r:i=false);}),i}bind(e,t){this.bindings[e]||(this.bindings[e]=[]),this.bindings[e].push(t),t(this.getText(e),this.lang);}_executeBindings(){for(let e in this.bindings)this.bindings[e].forEach(t=>{t(this.getText(e),this.lang);});}};De.moduleName="localize";De.langs=Us;var at=class extends C{constructor(e){super(e);}initialize(){this.registerTableFunction("tableComms",this.receive.bind(this));}getConnections(e){var t=[],i;return i=te.lookupTable(e),i.forEach(s=>{this.table!==s&&t.push(s);}),t}send(e,t,i,s){var r=this.getConnections(e);r.forEach(o=>{o.tableComms(this.table.element,t,i,s);}),r.length;}receive(e,t,i,s){if(this.table.modExists(t))return this.table.modules[t].commsReceived(e,i,s)}};at.moduleName="comms";var Ys=Object.freeze({__proto__:null,LayoutModule:Le,LocalizeModule:De,CommsModule:at}),lt=class{constructor(e,t){this.bindStaticFunctionality(e),this.bindModules(e,Ys,true),t&&this.bindModules(e,t);}bindStaticFunctionality(e){e.moduleBindings={},e.extendModule=function(t,i,s){if(e.moduleBindings[t]){var r=e.moduleBindings[t][i];if(r&&typeof s=="object")for(let o in s)r[o]=s[o];}},e.registerModule=function(t){Array.isArray(t)||(t=[t]),t.forEach(i=>{e.registerModuleBinding(i);});},e.registerModuleBinding=function(t){e.moduleBindings[t.moduleName]=t;},e.findTable=function(t){var i=te.lookupTable(t,true);return Array.isArray(i)&&!i.length?false:i},e.prototype.bindModules=function(){var t=[],i=[],s=[];this.modules={};for(var r in e.moduleBindings){let o=e.moduleBindings[r],a=new o(this);this.modules[r]=a,o.prototype.moduleCore?this.modulesCore.push(a):o.moduleInitOrder?o.moduleInitOrder<0?t.push(a):i.push(a):s.push(a);}t.sort((o,a)=>o.moduleInitOrder>a.moduleInitOrder?1:-1),i.sort((o,a)=>o.moduleInitOrder>a.moduleInitOrder?1:-1),this.modulesRegular=t.concat(s.concat(i));};}bindModules(e,t,i){var s=Object.values(t);i&&s.forEach(r=>{r.prototype.moduleCore=true;}),e.registerModule(s);}},At=class extends O{constructor(e){super(e),this.element=this._createAlertElement(),this.msgElement=this._createMsgElement(),this.type=null,this.element.appendChild(this.msgElement);}_createAlertElement(){var e=document.createElement("div");return e.classList.add("tabulator-alert"),e}_createMsgElement(){var e=document.createElement("div");return e.classList.add("tabulator-alert-msg"),e.setAttribute("role","alert"),e}_typeClass(){return "tabulator-alert-state-"+this.type}alert(e,t="msg"){if(e){for(this.clear(),this.dispatch("alert-show",t),this.type=t;this.msgElement.firstChild;)this.msgElement.removeChild(this.msgElement.firstChild);this.msgElement.classList.add(this._typeClass()),typeof e=="function"&&(e=e()),e instanceof HTMLElement?this.msgElement.appendChild(e):this.msgElement.innerHTML=e,this.table.element.appendChild(this.element);}}clear(){this.dispatch("alert-hide",this.type),this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.msgElement.classList.remove(this._typeClass());}},ie=class n{constructor(e,t){this.options={},this.columnManager=null,this.rowManager=null,this.footerManager=null,this.alertManager=null,this.vdomHoz=null,this.externalEvents=null,this.eventBus=null,this.interactionMonitor=false,this.browser="",this.browserSlow=false,this.browserMobile=false,this.rtl=false,this.originalElement=null,this.componentFunctionBinder=new St(this),this.dataLoader=false,this.modules={},this.modulesCore=[],this.modulesRegular=[],this.deprecationAdvisor=new Ot(this),this.optionsList=new ot(this,"table constructor"),this.initialized=false,this.destroyed=false,this.initializeElement(e)&&(this.initializeCoreSystems(t),setTimeout(()=>{this._create();})),te.register(this);}initializeElement(e){return typeof HTMLElement!="undefined"&&e instanceof HTMLElement?(this.element=e,true):typeof e=="string"?(this.element=document.querySelector(e),!!this.element):false}initializeCoreSystems(e){this.columnManager=new kt(this),this.rowManager=new Lt(this),this.footerManager=new Dt(this),this.dataLoader=new Ft(this),this.alertManager=new At(this),this.bindModules(),this.options=this.optionsList.generate(n.defaultOptions,e),this._clearObjectPointers(),this._mapDeprecatedFunctionality(),this.externalEvents=new Ht(this,this.options,this.options.debugEventsExternal),this.eventBus=new Pt(this.options.debugEventsInternal),this.interactionMonitor=new zt(this),this.dataLoader.initialize(),this.footerManager.initialize();}_mapDeprecatedFunctionality(){}_clearSelection(){this.element.classList.add("tabulator-block-select"),window.getSelection?window.getSelection().empty?window.getSelection().empty():window.getSelection().removeAllRanges&&window.getSelection().removeAllRanges():document.selection&&document.selection.empty(),this.element.classList.remove("tabulator-block-select");}_create(){this.externalEvents.dispatch("tableBuilding"),this.eventBus.dispatch("table-building"),this._rtlCheck(),this._buildElement(),this._initializeTable(),this._loadInitialData(),this.initialized=true,this.externalEvents.dispatch("tableBuilt");}_rtlCheck(){var e=window.getComputedStyle(this.element);switch(this.options.textDirection){case "auto":if(e.direction!=="rtl")break;case "rtl":this.element.classList.add("tabulator-rtl"),this.rtl=true;break;case "ltr":this.element.classList.add("tabulator-ltr");default:this.rtl=false;}}_clearObjectPointers(){this.options.columns=this.options.columns.slice(0),Array.isArray(this.options.data)&&!this.options.reactiveData&&(this.options.data=this.options.data.slice(0));}_buildElement(){var e=this.element,t=this.options,i;if(e.tagName==="TABLE"){this.originalElement=this.element,i=document.createElement("div");var s=e.attributes;for(var r in s)typeof s[r]=="object"&&i.setAttribute(s[r].name,s[r].value);e.parentNode.replaceChild(i,e),this.element=e=i;}for(e.classList.add("tabulator"),e.setAttribute("role","grid");e.firstChild;)e.removeChild(e.firstChild);t.height&&(t.height=isNaN(t.height)?t.height:t.height+"px",e.style.height=t.height),t.minHeight!==false&&(t.minHeight=isNaN(t.minHeight)?t.minHeight:t.minHeight+"px",e.style.minHeight=t.minHeight),t.maxHeight!==false&&(t.maxHeight=isNaN(t.maxHeight)?t.maxHeight:t.maxHeight+"px",e.style.maxHeight=t.maxHeight);}_initializeTable(){var e=this.element,t=this.options;this.interactionMonitor.initialize(),this.columnManager.initialize(),this.rowManager.initialize(),this._detectBrowser(),this.modulesCore.forEach(i=>{i.initialize();}),e.appendChild(this.columnManager.getElement()),e.appendChild(this.rowManager.getElement()),t.footerElement&&this.footerManager.activate(),t.autoColumns&&t.data&&this.columnManager.generateColumnsFromRowData(this.options.data),this.modulesRegular.forEach(i=>{i.initialize();}),this.columnManager.setColumns(t.columns),this.eventBus.dispatch("table-built");}_loadInitialData(){this.dataLoader.load(this.options.data),this.columnManager.verticalAlignHeaders();}destroy(){var e=this.element;for(this.destroyed=true,te.deregister(this),this.eventBus.dispatch("table-destroy"),this.rowManager.destroy();e.firstChild;)e.removeChild(e.firstChild);e.classList.remove("tabulator"),this.externalEvents.dispatch("tableDestroyed");}_detectBrowser(){var e=navigator.userAgent||navigator.vendor||window.opera;e.indexOf("Trident")>-1?(this.browser="ie",this.browserSlow=true):e.indexOf("Edge")>-1?(this.browser="edge",this.browserSlow=true):e.indexOf("Firefox")>-1?(this.browser="firefox",this.browserSlow=false):e.indexOf("Mac OS")>-1?(this.browser="safari",this.browserSlow=false):(this.browser="other",this.browserSlow=false),this.browserMobile=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(e.slice(0,4));}initGuard(e,t){var i,s;return this.options.debugInitialization&&!this.initialized&&(e||(i=new Error().stack.split(`
16
- `),s=i[0]=="Error"?i[2]:i[1],s[0]==" "?e=s.trim().split(" ")[1].split(".")[1]:e=s.trim().split("@")[0])),this.initialized}blockRedraw(){this.initGuard(),this.eventBus.dispatch("redraw-blocking"),this.rowManager.blockRedraw(),this.columnManager.blockRedraw(),this.eventBus.dispatch("redraw-blocked");}restoreRedraw(){this.initGuard(),this.eventBus.dispatch("redraw-restoring"),this.rowManager.restoreRedraw(),this.columnManager.restoreRedraw(),this.eventBus.dispatch("redraw-restored");}setData(e,t,i){return this.initGuard(false,"To set initial data please use the 'data' property in the table constructor."),this.dataLoader.load(e,t,i,false)}clearData(){this.initGuard(),this.dataLoader.blockActiveLoad(),this.rowManager.clearData();}getData(e){return this.rowManager.getData(e)}getDataCount(e){return this.rowManager.getDataCount(e)}replaceData(e,t,i){return this.initGuard(),this.dataLoader.load(e,t,i,true,true)}updateData(e){var t=0;return this.initGuard(),new Promise((i,s)=>{this.dataLoader.blockActiveLoad(),typeof e=="string"&&(e=JSON.parse(e)),e&&e.length>0?e.forEach(r=>{var o=this.rowManager.findRow(r[this.options.index]);o?(t++,o.updateData(r).then(()=>{t--,t||i();}).catch(a=>{s("Update Error - Unable to update row",r,a);})):s("Update Error - Unable to find row",r);}):s("Update Error - No data provided");})}addData(e,t,i){return this.initGuard(),new Promise((s,r)=>{this.dataLoader.blockActiveLoad(),typeof e=="string"&&(e=JSON.parse(e)),e?this.rowManager.addRows(e,t,i).then(o=>{var a=[];o.forEach(function(l){a.push(l.getComponent());}),s(a);}):r("Update Error - No data provided");})}updateOrAddData(e){var t=[],i=0;return this.initGuard(),new Promise((s,r)=>{this.dataLoader.blockActiveLoad(),typeof e=="string"&&(e=JSON.parse(e)),e&&e.length>0?e.forEach(o=>{var a=this.rowManager.findRow(o[this.options.index]);i++,a?a.updateData(o).then(()=>{i--,t.push(a.getComponent()),i||s(t);}):this.rowManager.addRows(o).then(l=>{i--,t.push(l[0].getComponent()),i||s(t);});}):r("Update Error - No data provided");})}getRow(e){var t=this.rowManager.findRow(e);return t?t.getComponent():false}getRowFromPosition(e){var t=this.rowManager.getRowFromPosition(e);return t?t.getComponent():false}deleteRow(e){var t=[];this.initGuard(),Array.isArray(e)||(e=[e]);for(let i of e){let s=this.rowManager.findRow(i,true);if(s)t.push(s);else return Promise.reject("Delete Error - No matching row found")}return t.sort((i,s)=>this.rowManager.rows.indexOf(i)>this.rowManager.rows.indexOf(s)?1:-1),t.forEach(i=>{i.delete();}),this.rowManager.reRenderInPosition(),Promise.resolve()}addRow(e,t,i){return this.initGuard(),typeof e=="string"&&(e=JSON.parse(e)),this.rowManager.addRows(e,t,i,true).then(s=>s[0].getComponent())}updateOrAddRow(e,t){var i=this.rowManager.findRow(e);return this.initGuard(),typeof t=="string"&&(t=JSON.parse(t)),i?i.updateData(t).then(()=>i.getComponent()):this.rowManager.addRows(t).then(s=>s[0].getComponent())}updateRow(e,t){var i=this.rowManager.findRow(e);return this.initGuard(),typeof t=="string"&&(t=JSON.parse(t)),i?i.updateData(t).then(()=>Promise.resolve(i.getComponent())):Promise.reject("Update Error - No matching row found")}scrollToRow(e,t,i){var s=this.rowManager.findRow(e);return s?this.rowManager.scrollToRow(s,t,i):Promise.reject("Scroll Error - No matching row found")}moveRow(e,t,i){var s=this.rowManager.findRow(e);this.initGuard(),s&&s.moveToRow(t,i);}getRows(e){return this.rowManager.getComponents(e)}getRowPosition(e){var t=this.rowManager.findRow(e);return t?t.getPosition():false}setColumns(e){this.initGuard(false,"To set initial columns please use the 'columns' property in the table constructor"),this.columnManager.setColumns(e);}getColumns(e){return this.columnManager.getComponents(e)}getColumn(e){var t=this.columnManager.findColumn(e);return t?t.getComponent():false}getColumnDefinitions(){return this.columnManager.getDefinitionTree()}showColumn(e){var t=this.columnManager.findColumn(e);if(this.initGuard(),t)t.show();else return false}hideColumn(e){var t=this.columnManager.findColumn(e);if(this.initGuard(),t)t.hide();else return false}toggleColumn(e){var t=this.columnManager.findColumn(e);if(this.initGuard(),t)t.visible?t.hide():t.show();else return false}addColumn(e,t,i){var s=this.columnManager.findColumn(i);return this.initGuard(),this.columnManager.addColumn(e,t,s).then(r=>r.getComponent())}deleteColumn(e){var t=this.columnManager.findColumn(e);return this.initGuard(),t?t.delete():Promise.reject()}updateColumnDefinition(e,t){var i=this.columnManager.findColumn(e);return this.initGuard(),i?i.updateDefinition(t):Promise.reject()}moveColumn(e,t,i){var s=this.columnManager.findColumn(e),r=this.columnManager.findColumn(t);this.initGuard(),s&&r&&this.columnManager.moveColumn(s,r,i);}scrollToColumn(e,t,i){return new Promise((s,r)=>{var o=this.columnManager.findColumn(e);return o?this.columnManager.scrollToColumn(o,t,i):Promise.reject("Scroll Error - No matching column found")})}redraw(e){this.initGuard(),this.columnManager.redraw(e),this.rowManager.redraw(e);}setHeight(e){this.options.height=isNaN(e)?e:e+"px",this.element.style.height=this.options.height,this.rowManager.initializeRenderer(),this.rowManager.redraw(true);}on(e,t){this.externalEvents.subscribe(e,t);}off(e,t){this.externalEvents.unsubscribe(e,t);}dispatchEvent(){var e=Array.from(arguments);e.shift(),this.externalEvents.dispatch(...arguments);}alert(e,t){this.initGuard(),this.alertManager.alert(e,t);}clearAlert(){this.initGuard(),this.alertManager.clear();}modExists(e,t){return !!this.modules[e]}module(e){var t=this.modules[e];return t}};ie.defaultOptions=Vs;new lt(ie);var ze=class extends ie{};new lt(ze,Is);var $s=({cellElement:n,cell:e,actionHandler:t})=>{let {t:i}=useTranslation();e.getRow().getPosition();let r=n.getBoundingClientRect(),o=r.bottom+window.scrollY,a=r.left+window.scrollX;return jsx(Ks,{style:{position:"absolute",top:o+"px",left:a+"px",zIndex:2e3,minWidth:"150px"},children:jsx(Js,{children:jsxs(Xs,{onClick:()=>t(e),children:[jsx(N$1,{style:{fontSize:"1em",marginRight:"0.5em"}})," ",i("Delete")]})})})},ri=$s;var N=class n{static convertToVariables(e){let t={};for(let i in e)if(e.hasOwnProperty(i)&&(typeof e[i]=="string"||typeof e[i]=="number")){let s=Number(e[i]);isNaN(s)||(t[i]=s);}return t}static formulaHasFieldName(e,t){if(e.operands){for(let i of e.operands)if(typeof i=="string"&&i===t||typeof i=="object"&&n.formulaHasFieldName(i,t))return true}return false}static parseExpression(e){e=e.replace(/\s+/g,"");let t=/\(([^()]+)\)/;for(;t.test(e);)e=e.replace(t,(r,o)=>{let a=n.parseExpression(o.trim());return `@${JSON.stringify(a)}`});let s=n.tokenize(e).map(r=>r.startsWith("@")?JSON.parse(r.substring(1)):r);return n.parseTokens(s)}static tokenize(e){let t=[],i="",s=false,r=0;for(let o=0;o<e.length;o++){let a=e[o];if(a==="@"&&e[o+1]==="{"&&(i&&(t.push(i),i=""),s=true,r=0),s){i+=a,a==="{"?r++:a==="}"&&(r--,r===0&&(t.push(i),i="",s=false));continue}if("+-*/()".includes(a)){i&&(t.push(i),i=""),t.push(a);continue}i+=a;}return i&&t.push(i),t}static parseTokens(e){if(e.length===1){let a=e[0];if(typeof a=="string"){let l=parseFloat(a);return isNaN(l)?{operands:[a]}:{value:l}}if(typeof a=="object")return a}let t={"+":1,"-":1,"*":2,"/":2},i=1/0,s=-1;if(e.forEach((a,l)=>{if(typeof a=="string"&&a in t){let h=a;t[h]<=i&&(i=t[h],s=l);}}),s===-1)throw new Error(`Invalid expression: no operator found in tokens ${JSON.stringify(e)}`);let r=e.slice(0,s),o=e.slice(s+1);if(r.length===0||o.length===0)throw new Error(`Invalid expression: operator without operands in tokens ${JSON.stringify(e)}`);return {operator:e[s],operands:[n.parseTokens(r),n.parseTokens(o)]}}static evaluateFormula(e,t){if(e.value!==void 0)return e.value;let{operator:i,operands:s}=e;if(!i||!s||s.length!==2)throw new Error("Invalid parsed formula");let[r,o]=s.map(a=>{if(typeof a=="object"&&a.operands&&a.operands.length===1&&(a=a.operands[0]),typeof a=="string")return t[a]||0;if(typeof a=="number")return a;if(typeof a=="object")return n.evaluateFormula(a,t);throw new Error(`Unsupported operand type: ${JSON.stringify(a)}`)});switch(i){case "+":return r+o;case "-":return r-o;case "*":return r*o;case "/":return r/o;default:throw new Error(`Unsupported operator: ${i}`)}}static convertValuesToStrings(e){return e.map(t=>{let i={};for(let[s,r]of Object.entries(t))i[s]=r===void 0?"":String(r);return i})}static buildDependencyGraph(e){let t={};for(let i in e)if(Object.prototype.hasOwnProperty.call(e,i)){let s=e[i],r=[],o=a=>{a.forEach(l=>{typeof l=="string"?r.push(l):typeof l=="object"&&"operands"in l&&l.operands&&o(l.operands);});};s.operands&&o(s.operands),t[i]=r;}return t}static topologicalSort(e){let t=new Set,i=[],s=r=>{t.has(r)||(t.add(r),(e[r]||[]).forEach(s),i.push(r));};return Object.keys(e).forEach(s),i}};B(`.tabulator{background-color:#888;border:1px solid #999;font-size:14px;overflow:hidden;position:relative;text-align:left;transform:translateZ(0)}.tabulator[tabulator-layout=fitDataFill] .tabulator-tableholder .tabulator-table{min-width:100%}.tabulator[tabulator-layout=fitDataTable]{display:inline-block}.tabulator.tabulator-block-select,.tabulator.tabulator-ranges .tabulator-cell:not(.tabulator-editing){-webkit-user-select:none;user-select:none}.tabulator .tabulator-header{background-color:#e6e6e6;border-bottom:1px solid #999;box-sizing:border-box;color:#555;font-weight:700;outline:none;overflow:hidden;position:relative;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;white-space:nowrap;width:100%}.tabulator .tabulator-header.tabulator-header-hidden{display:none}.tabulator .tabulator-header .tabulator-header-contents{overflow:hidden;position:relative}.tabulator .tabulator-header .tabulator-header-contents .tabulator-headers{display:inline-block}.tabulator .tabulator-header .tabulator-col{background:#e6e6e6;border-right:1px solid #aaa;box-sizing:border-box;display:inline-flex;flex-direction:column;justify-content:flex-start;overflow:hidden;position:relative;text-align:left;vertical-align:bottom}.tabulator .tabulator-header .tabulator-col.tabulator-moving{background:#cdcdcd;border:1px solid #999;pointer-events:none;position:absolute}.tabulator .tabulator-header .tabulator-col.tabulator-range-highlight{background-color:#d6d6d6;color:#000}.tabulator .tabulator-header .tabulator-col.tabulator-range-selected{background-color:#3876ca;color:#fff}.tabulator .tabulator-header .tabulator-col .tabulator-col-content{box-sizing:border-box;padding:4px;position:relative}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-header-popup-button{padding:0 8px}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-header-popup-button:hover{cursor:pointer;opacity:.6}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title-holder{position:relative}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title{box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap;width:100%}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title.tabulator-col-title-wrap{text-overflow:clip;white-space:normal}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title .tabulator-title-editor{background:#fff;border:1px solid #999;box-sizing:border-box;padding:1px;width:100%}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title .tabulator-header-popup-button+.tabulator-title-editor{width:calc(100% - 22px)}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter{align-items:center;bottom:0;display:flex;position:absolute;right:4px;top:0}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-bottom:6px solid #bbb;border-left:6px solid transparent;border-right:6px solid transparent;height:0;width:0}.tabulator .tabulator-header .tabulator-col.tabulator-col-group .tabulator-col-group-cols{border-top:1px solid #aaa;display:flex;margin-right:-1px;overflow:hidden;position:relative}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter{box-sizing:border-box;margin-top:2px;position:relative;text-align:center;width:100%}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter textarea{height:auto!important}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter svg{margin-top:3px}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter input::-ms-clear{height:0;width:0}.tabulator .tabulator-header .tabulator-col.tabulator-sortable .tabulator-col-title{padding-right:25px}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable.tabulator-col-sorter-element:hover{background-color:#cdcdcd;cursor:pointer}}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical .tabulator-col-content .tabulator-col-title{align-items:center;display:flex;justify-content:center;text-orientation:mixed;writing-mode:vertical-rl}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-col-vertical-flip .tabulator-col-title{transform:rotate(180deg)}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable .tabulator-col-title{padding-right:0;padding-top:20px}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable.tabulator-col-vertical-flip .tabulator-col-title{padding-bottom:20px;padding-right:0}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable .tabulator-col-sorter{justify-content:center;inset:4px 0 auto}.tabulator .tabulator-header .tabulator-frozen{left:0;position:sticky;z-index:11}.tabulator .tabulator-header .tabulator-frozen.tabulator-frozen-left{border-right:2px solid #aaa}.tabulator .tabulator-header .tabulator-frozen.tabulator-frozen-right{border-left:2px solid #aaa}.tabulator .tabulator-header .tabulator-calcs-holder{background:#f3f3f3!important;border-bottom:1px solid #aaa;border-top:1px solid #aaa;box-sizing:border-box;display:inline-block}.tabulator .tabulator-header .tabulator-calcs-holder .tabulator-row{background:#f3f3f3!important}.tabulator .tabulator-header .tabulator-calcs-holder .tabulator-row .tabulator-col-resize-handle{display:none}.tabulator .tabulator-header .tabulator-frozen-rows-holder{display:inline-block}.tabulator .tabulator-header .tabulator-frozen-rows-holder:empty{display:none}.tabulator .tabulator-tableholder{-webkit-overflow-scrolling:touch;overflow:auto;position:relative;white-space:nowrap;width:100%}.tabulator .tabulator-tableholder:focus{outline:none}.tabulator .tabulator-tableholder .tabulator-placeholder{align-items:center;box-sizing:border-box;display:flex;justify-content:center;min-width:100%;width:100%}.tabulator .tabulator-tableholder .tabulator-placeholder[tabulator-render-mode=virtual]{min-height:100%}.tabulator .tabulator-tableholder .tabulator-placeholder .tabulator-placeholder-contents{color:#ccc;display:inline-block;font-size:20px;font-weight:700;padding:10px;text-align:center;white-space:normal}.tabulator .tabulator-tableholder .tabulator-table{background-color:#fff;color:#333;display:inline-block;overflow:visible;position:relative;white-space:nowrap}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs{background:#e2e2e2!important;font-weight:700}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs.tabulator-calcs-top{border-bottom:2px solid #aaa}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs.tabulator-calcs-bottom{border-top:2px solid #aaa}.tabulator .tabulator-tableholder .tabulator-range-overlay{inset:0;pointer-events:none;position:absolute;z-index:10}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range{border:1px solid #2975dd;box-sizing:border-box;position:absolute}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range.tabulator-range-active:after{background-color:#2975dd;border-radius:999px;bottom:-3px;content:"";height:6px;position:absolute;right:-3px;width:6px}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range-cell-active{border:2px solid #2975dd;box-sizing:border-box;position:absolute}.tabulator .tabulator-footer{background-color:#e6e6e6;border-top:1px solid #999;color:#555;font-weight:700;user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;white-space:nowrap}.tabulator .tabulator-footer .tabulator-footer-contents{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:5px 10px}.tabulator .tabulator-footer .tabulator-footer-contents:empty{display:none}.tabulator .tabulator-footer .tabulator-calcs-holder{background:#f3f3f3!important;border-bottom:1px solid #aaa;border-top:1px solid #aaa;box-sizing:border-box;overflow:hidden;text-align:left;width:100%}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row{background:#f3f3f3!important;display:inline-block}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row .tabulator-col-resize-handle{display:none}.tabulator .tabulator-footer .tabulator-calcs-holder:only-child{border-bottom:none;margin-bottom:-5px}.tabulator .tabulator-footer>*+.tabulator-page-counter{margin-left:10px}.tabulator .tabulator-footer .tabulator-page-counter{font-weight:400}.tabulator .tabulator-footer .tabulator-paginator{color:#555;flex:1;font-family:inherit;font-size:inherit;font-weight:inherit;text-align:right}.tabulator .tabulator-footer .tabulator-page-size{border:1px solid #aaa;border-radius:3px;display:inline-block;margin:0 5px;padding:2px 5px}.tabulator .tabulator-footer .tabulator-pages{margin:0 7px}.tabulator .tabulator-footer .tabulator-page{background:#fff3;border:1px solid #aaa;border-radius:3px;display:inline-block;margin:0 2px;padding:2px 5px}.tabulator .tabulator-footer .tabulator-page.active{color:#d00}.tabulator .tabulator-footer .tabulator-page:disabled{opacity:.5}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-footer .tabulator-page:not(disabled):hover{background:#0003;color:#fff;cursor:pointer}}.tabulator .tabulator-col-resize-handle{display:inline-block;margin-left:-3px;margin-right:-3px;position:relative;vertical-align:middle;width:6px;z-index:11}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-col-resize-handle:hover{cursor:ew-resize}}.tabulator .tabulator-col-resize-handle:last-of-type{margin-right:0;width:3px}.tabulator .tabulator-alert{align-items:center;background:#0006;display:flex;height:100%;left:0;position:absolute;text-align:center;top:0;width:100%;z-index:100}.tabulator .tabulator-alert .tabulator-alert-msg{background:#fff;border-radius:10px;display:inline-block;font-size:16px;font-weight:700;margin:0 auto;padding:10px 20px}.tabulator .tabulator-alert .tabulator-alert-msg.tabulator-alert-state-msg{border:4px solid #333;color:#000}.tabulator .tabulator-alert .tabulator-alert-msg.tabulator-alert-state-error{border:4px solid #d00;color:#590000}.tabulator-row{background-color:#fff;box-sizing:border-box;min-height:22px;position:relative}.tabulator-row.tabulator-row-even{background-color:#efefef}@media (hover:hover) and (pointer:fine){.tabulator-row.tabulator-selectable:hover{background-color:#bbb;cursor:pointer}}.tabulator-row.tabulator-selected{background-color:#9abcea}@media (hover:hover) and (pointer:fine){.tabulator-row.tabulator-selected:hover{background-color:#769bcc;cursor:pointer}}.tabulator-row.tabulator-row-moving{background:#fff;border:1px solid #000}.tabulator-row.tabulator-moving{border-bottom:1px solid #aaa;border-top:1px solid #aaa;pointer-events:none;position:absolute;z-index:15}.tabulator-row.tabulator-range-highlight .tabulator-cell.tabulator-range-row-header{background-color:#d6d6d6;color:#000}.tabulator-row.tabulator-range-highlight.tabulator-range-selected .tabulator-cell.tabulator-range-row-header,.tabulator-row.tabulator-range-selected .tabulator-cell.tabulator-range-row-header{background-color:#3876ca;color:#fff}.tabulator-row .tabulator-row-resize-handle{bottom:0;height:5px;left:0;position:absolute;right:0}.tabulator-row .tabulator-row-resize-handle.prev{bottom:auto;top:0}@media (hover:hover) and (pointer:fine){.tabulator-row .tabulator-row-resize-handle:hover{cursor:ns-resize}}.tabulator-row .tabulator-responsive-collapse{border-bottom:1px solid #aaa;border-top:1px solid #aaa;box-sizing:border-box;padding:5px}.tabulator-row .tabulator-responsive-collapse:empty{display:none}.tabulator-row .tabulator-responsive-collapse table{font-size:14px}.tabulator-row .tabulator-cell{border-right:1px solid #aaa;box-sizing:border-box;display:inline-block;outline:none;overflow:hidden;padding:4px;position:relative;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.tabulator-row .tabulator-cell.tabulator-frozen{background-color:inherit;display:inline-block;left:0;position:sticky;z-index:11}.tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-left{border-right:2px solid #aaa}.tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-right{border-left:2px solid #aaa}.tabulator-row .tabulator-cell.tabulator-editing{border:1px solid #1d68cd;outline:none;padding:0}.tabulator-row .tabulator-cell.tabulator-editing input,.tabulator-row .tabulator-cell.tabulator-editing select{background:transparent;border:1px;outline:none}.tabulator-row .tabulator-cell.tabulator-validation-fail{border:1px solid #d00}.tabulator-row .tabulator-cell.tabulator-validation-fail input,.tabulator-row .tabulator-cell.tabulator-validation-fail select{background:transparent;border:1px;color:#d00}.tabulator-row .tabulator-cell.tabulator-row-handle{align-items:center;display:inline-flex;justify-content:center;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none}.tabulator-row .tabulator-cell.tabulator-row-handle .tabulator-row-handle-box{width:80%}.tabulator-row .tabulator-cell.tabulator-row-handle .tabulator-row-handle-box .tabulator-row-handle-bar{background:#666;height:3px;margin-top:2px;width:100%}.tabulator-row .tabulator-cell.tabulator-range-selected:not(.tabulator-range-only-cell-selected):not(.tabulator-range-row-header){background-color:#9abcea}.tabulator-row .tabulator-cell .tabulator-data-tree-branch-empty{display:inline-block;width:7px}.tabulator-row .tabulator-cell .tabulator-data-tree-branch{border-bottom:2px solid #aaa;border-bottom-left-radius:1px;border-left:2px solid #aaa;display:inline-block;height:9px;margin-right:5px;margin-top:-9px;vertical-align:middle;width:7px}.tabulator-row .tabulator-cell .tabulator-data-tree-control{align-items:center;background:#0000001a;border:1px solid #333;border-radius:2px;display:inline-flex;height:11px;justify-content:center;margin-right:5px;overflow:hidden;vertical-align:middle;width:11px}@media (hover:hover) and (pointer:fine){.tabulator-row .tabulator-cell .tabulator-data-tree-control:hover{background:#0003;cursor:pointer}}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-collapse{background:transparent;display:inline-block;height:7px;position:relative;width:1px}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after{background:#333;content:"";height:1px;left:-3px;position:absolute;top:3px;width:7px}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand{background:#333;display:inline-block;height:7px;position:relative;width:1px}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{background:#333;content:"";height:1px;left:-3px;position:absolute;top:3px;width:7px}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle{align-items:center;background:#666;border-radius:20px;color:#fff;display:inline-flex;font-size:1.1em;font-weight:700;height:15px;justify-content:center;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;width:15px}@media (hover:hover) and (pointer:fine){.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle:hover{cursor:pointer;opacity:.7}}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle.open .tabulator-responsive-collapse-toggle-close{display:initial}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle.open .tabulator-responsive-collapse-toggle-open{display:none}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle svg{stroke:#fff}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle .tabulator-responsive-collapse-toggle-close{display:none}.tabulator-row .tabulator-cell .tabulator-traffic-light{border-radius:14px;display:inline-block;height:14px;width:14px}.tabulator-row.tabulator-group{background:#ccc;border-bottom:1px solid #999;border-right:1px solid #aaa;border-top:1px solid #999;box-sizing:border-box;font-weight:700;min-width:100%;padding:5px 5px 5px 10px}@media (hover:hover) and (pointer:fine){.tabulator-row.tabulator-group:hover{background-color:#0000001a;cursor:pointer}}.tabulator-row.tabulator-group.tabulator-group-visible .tabulator-arrow{border-bottom:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #666;margin-right:10px}.tabulator-row.tabulator-group.tabulator-group-level-1{padding-left:30px}.tabulator-row.tabulator-group.tabulator-group-level-2{padding-left:50px}.tabulator-row.tabulator-group.tabulator-group-level-3{padding-left:70px}.tabulator-row.tabulator-group.tabulator-group-level-4{padding-left:90px}.tabulator-row.tabulator-group.tabulator-group-level-5{padding-left:110px}.tabulator-row.tabulator-group .tabulator-group-toggle{display:inline-block}.tabulator-row.tabulator-group .tabulator-arrow{border-bottom:6px solid transparent;border-left:6px solid #666;border-right:0;border-top:6px solid transparent;display:inline-block;height:0;margin-right:16px;vertical-align:middle;width:0}.tabulator-row.tabulator-group span{color:#d00;margin-left:10px}.tabulator-popup-container{-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #aaa;box-shadow:0 0 5px #0003;box-sizing:border-box;display:inline-block;font-size:14px;overflow-y:auto;position:absolute;z-index:10000}.tabulator-popup{border-radius:3px;padding:5px}.tabulator-tooltip{border-radius:2px;box-shadow:none;font-size:12px;max-width:Min(500px,100%);padding:3px 5px;pointer-events:none}.tabulator-menu .tabulator-menu-item{box-sizing:border-box;padding:5px 10px;position:relative;-webkit-user-select:none;user-select:none}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-disabled{opacity:.5}@media (hover:hover) and (pointer:fine){.tabulator-menu .tabulator-menu-item:not(.tabulator-menu-item-disabled):hover{background:#efefef;cursor:pointer}}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-submenu{padding-right:25px}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-submenu:after{border-color:#aaa;border-style:solid;border-width:1px 1px 0 0;content:"";display:inline-block;height:7px;position:absolute;right:10px;top:calc(5px + .4em);transform:rotate(45deg);vertical-align:top;width:7px}.tabulator-menu .tabulator-menu-separator{border-top:1px solid #aaa}.tabulator-edit-list{-webkit-overflow-scrolling:touch;font-size:14px;max-height:200px;overflow-y:auto}.tabulator-edit-list .tabulator-edit-list-item{color:#333;outline:none;padding:4px}.tabulator-edit-list .tabulator-edit-list-item.active{background:#1d68cd;color:#fff}.tabulator-edit-list .tabulator-edit-list-item.active.focused{outline:1px solid hsla(0,0%,100%,.5)}.tabulator-edit-list .tabulator-edit-list-item.focused{outline:1px solid #1d68cd}@media (hover:hover) and (pointer:fine){.tabulator-edit-list .tabulator-edit-list-item:hover{background:#1d68cd;color:#fff;cursor:pointer}}.tabulator-edit-list .tabulator-edit-list-placeholder{color:#333;padding:4px;text-align:center}.tabulator-edit-list .tabulator-edit-list-group{border-bottom:1px solid #aaa;color:#333;font-weight:700;padding:6px 4px 4px}.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-2,.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-2{padding-left:12px}.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-3,.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-3{padding-left:20px}.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-4,.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-4{padding-left:28px}.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-5,.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-5{padding-left:36px}.tabulator.tabulator-ltr{direction:ltr}.tabulator.tabulator-rtl{direction:rtl;text-align:initial}.tabulator.tabulator-rtl .tabulator-header .tabulator-col{border-left:1px solid #aaa;border-right:initial;text-align:initial}.tabulator.tabulator-rtl .tabulator-header .tabulator-col.tabulator-col-group .tabulator-col-group-cols{margin-left:-1px;margin-right:0}.tabulator.tabulator-rtl .tabulator-header .tabulator-col.tabulator-sortable .tabulator-col-title{padding-left:25px;padding-right:0}.tabulator.tabulator-rtl .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter{left:8px;right:auto}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell{border-left:1px solid #aaa;border-right:initial}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell .tabulator-data-tree-branch{border-bottom-left-radius:0;border-bottom-right-radius:1px;border-left:initial;border-right:2px solid #aaa;margin-left:5px;margin-right:0}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell .tabulator-data-tree-control{margin-left:5px;margin-right:0}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-left{border-left:2px solid #aaa}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-right{border-right:2px solid #aaa}.tabulator.tabulator-rtl .tabulator-row .tabulator-col-resize-handle:last-of-type{margin-left:0;margin-right:-3px;width:3px}.tabulator.tabulator-rtl .tabulator-footer .tabulator-calcs-holder{text-align:initial}.tabulator-print-fullscreen{inset:0;position:absolute;z-index:10000}body.tabulator-print-fullscreen-hide>:not(.tabulator-print-fullscreen){display:none!important}.tabulator-print-table{border-collapse:collapse}.tabulator-print-table .tabulator-data-tree-branch{border-bottom:2px solid #aaa;border-bottom-left-radius:1px;border-left:2px solid #aaa;display:inline-block;height:9px;margin-right:5px;margin-top:-9px;vertical-align:middle;width:7px}.tabulator-print-table .tabulator-print-table-group{background:#ccc;border-bottom:1px solid #999;border-right:1px solid #aaa;border-top:1px solid #999;box-sizing:border-box;font-weight:700;min-width:100%;padding:5px 5px 5px 10px}@media (hover:hover) and (pointer:fine){.tabulator-print-table .tabulator-print-table-group:hover{background-color:#0000001a;cursor:pointer}}.tabulator-print-table .tabulator-print-table-group.tabulator-group-visible .tabulator-arrow{border-bottom:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #666;margin-right:10px}.tabulator-print-table .tabulator-print-table-group .tabulator-group-toggle{display:inline-block}.tabulator-print-table .tabulator-print-table-group .tabulator-arrow{border-bottom:6px solid transparent;border-left:6px solid #666;border-right:0;border-top:6px solid transparent;display:inline-block;height:0;margin-right:16px;vertical-align:middle;width:0}.tabulator-print-table .tabulator-print-table-group span{color:#d00;margin-left:10px}.tabulator-print-table .tabulator-data-tree-control{align-items:center;background:#0000001a;border:1px solid #333;border-radius:2px;display:inline-flex;height:11px;justify-content:center;margin-right:5px;overflow:hidden;vertical-align:middle;width:11px}@media (hover:hover) and (pointer:fine){.tabulator-print-table .tabulator-data-tree-control:hover{background:#0003;cursor:pointer}}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-collapse{background:transparent;display:inline-block;height:7px;position:relative;width:1px}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after{background:#333;content:"";height:1px;left:-3px;position:absolute;top:3px;width:7px}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand{background:#333;display:inline-block;height:7px;position:relative;width:1px}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{background:#333;content:"";height:1px;left:-3px;position:absolute;top:3px;width:7px}
17
- `);B(`.tabulator{border:1px solid #dee2e6;font-size:16px;overflow:hidden;position:relative;text-align:left;transform:translateZ(0)}.tabulator[tabulator-layout=fitDataFill] .tabulator-tableholder .tabulator-table{min-width:100%}.tabulator[tabulator-layout=fitDataTable]{display:inline-block}.tabulator.tabulator-block-select,.tabulator.tabulator-ranges .tabulator-cell:not(.tabulator-editing){-webkit-user-select:none;user-select:none}.tabulator .tabulator-header{background-color:#fff;border-bottom:1px solid #dee2e6;box-sizing:border-box;color:#555;font-weight:700;outline:none;overflow:hidden;position:relative;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;white-space:nowrap;width:100%}.tabulator .tabulator-header.tabulator-header-hidden{display:none}.tabulator .tabulator-header .tabulator-header-contents{overflow:hidden;position:relative}.tabulator .tabulator-header .tabulator-header-contents .tabulator-headers{display:inline-block}.tabulator .tabulator-header .tabulator-col{background:#fff;border-right:1px solid #aaa;box-sizing:border-box;display:inline-flex;flex-direction:column;justify-content:flex-start;overflow:hidden;position:relative;text-align:left;vertical-align:bottom}.tabulator .tabulator-header .tabulator-col.tabulator-moving{background:#e6e6e6;border:1px solid #dee2e6;pointer-events:none;position:absolute}.tabulator .tabulator-header .tabulator-col.tabulator-range-highlight{background-color:#d6d6d6;color:#000}.tabulator .tabulator-header .tabulator-col.tabulator-range-selected{background-color:#3876ca;color:#fff}.tabulator .tabulator-header .tabulator-col .tabulator-col-content{box-sizing:border-box;padding:4px;position:relative}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-header-popup-button{padding:0 8px}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-header-popup-button:hover{cursor:pointer;opacity:.6}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title-holder{position:relative}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title{box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap;width:100%}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title.tabulator-col-title-wrap{text-overflow:clip;white-space:normal}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title .tabulator-title-editor{background:#fff;border:1px solid #999;box-sizing:border-box;padding:1px;width:100%}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title .tabulator-header-popup-button+.tabulator-title-editor{width:calc(100% - 22px)}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter{align-items:center;bottom:0;display:flex;position:absolute;right:4px;top:0}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-bottom:6px solid #bbb;border-left:6px solid transparent;border-right:6px solid transparent;height:0;width:0}.tabulator .tabulator-header .tabulator-col.tabulator-col-group .tabulator-col-group-cols{border-top:1px solid #aaa;display:flex;margin-right:-1px;overflow:hidden;position:relative}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter{box-sizing:border-box;margin-top:2px;position:relative;text-align:center;width:100%}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter textarea{height:auto!important}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter svg{margin-top:3px}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter input::-ms-clear{height:0;width:0}.tabulator .tabulator-header .tabulator-col.tabulator-sortable .tabulator-col-title{padding-right:25px}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable.tabulator-col-sorter-element:hover{background-color:#e6e6e6;cursor:pointer}}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical .tabulator-col-content .tabulator-col-title{align-items:center;display:flex;justify-content:center;text-orientation:mixed;writing-mode:vertical-rl}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-col-vertical-flip .tabulator-col-title{transform:rotate(180deg)}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable .tabulator-col-title{padding-right:0;padding-top:20px}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable.tabulator-col-vertical-flip .tabulator-col-title{padding-bottom:20px;padding-right:0}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable .tabulator-col-sorter{justify-content:center;inset:4px 0 auto}.tabulator .tabulator-header .tabulator-frozen{left:0;position:sticky;z-index:11}.tabulator .tabulator-header .tabulator-frozen.tabulator-frozen-left{border-right:2px solid #dee2e6}.tabulator .tabulator-header .tabulator-frozen.tabulator-frozen-right{border-left:2px solid #dee2e6}.tabulator .tabulator-header .tabulator-calcs-holder{background:#fff!important;border-bottom:1px solid #aaa;border-top:1px solid #dee2e6;box-sizing:border-box;display:inline-block}.tabulator .tabulator-header .tabulator-calcs-holder .tabulator-row{background:#fff!important}.tabulator .tabulator-header .tabulator-calcs-holder .tabulator-row .tabulator-col-resize-handle{display:none}.tabulator .tabulator-header .tabulator-frozen-rows-holder{display:inline-block}.tabulator .tabulator-header .tabulator-frozen-rows-holder:empty{display:none}.tabulator .tabulator-tableholder{-webkit-overflow-scrolling:touch;overflow:auto;position:relative;white-space:nowrap;width:100%}.tabulator .tabulator-tableholder:focus{outline:none}.tabulator .tabulator-tableholder .tabulator-placeholder{align-items:center;box-sizing:border-box;display:flex;justify-content:center;min-width:100%;width:100%}.tabulator .tabulator-tableholder .tabulator-placeholder[tabulator-render-mode=virtual]{min-height:100%}.tabulator .tabulator-tableholder .tabulator-placeholder .tabulator-placeholder-contents{color:#ccc;display:inline-block;font-size:20px;font-weight:700;padding:10px;text-align:center;white-space:normal}.tabulator .tabulator-tableholder .tabulator-table{background-color:#fff;color:#333;display:inline-block;overflow:visible;position:relative;white-space:nowrap}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs{background:#dadfe4!important;font-weight:700}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs.tabulator-calcs-top{border-bottom:2px solid #dee2e6}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs.tabulator-calcs-bottom{border-top:2px solid #dee2e6}.tabulator .tabulator-tableholder .tabulator-range-overlay{inset:0;pointer-events:none;position:absolute;z-index:10}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range{border:1px solid #2975dd;box-sizing:border-box;position:absolute}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range.tabulator-range-active:after{background-color:#2975dd;border-radius:999px;bottom:-3px;content:"";height:6px;position:absolute;right:-3px;width:6px}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range-cell-active{border:2px solid #2975dd;box-sizing:border-box;position:absolute}.tabulator .tabulator-footer{background-color:#e6e6e6;border-top:1px solid #dee2e6;color:#555;font-weight:700;user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;white-space:nowrap}.tabulator .tabulator-footer .tabulator-footer-contents{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:5px 10px}.tabulator .tabulator-footer .tabulator-footer-contents:empty{display:none}.tabulator .tabulator-footer .tabulator-calcs-holder{background:#f3f3f3!important;border-bottom:1px solid #dee2e6;border-top:1px solid #dee2e6;box-sizing:border-box;overflow:hidden;text-align:left;width:100%}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row{background:#f3f3f3!important;display:inline-block}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row .tabulator-col-resize-handle{display:none}.tabulator .tabulator-footer .tabulator-calcs-holder:only-child{border-bottom:none;margin-bottom:-5px}.tabulator .tabulator-footer>*+.tabulator-page-counter{margin-left:10px}.tabulator .tabulator-footer .tabulator-page-counter{font-weight:400}.tabulator .tabulator-footer .tabulator-paginator{color:#555;flex:1;font-family:inherit;font-size:inherit;font-weight:inherit;text-align:right}.tabulator .tabulator-footer .tabulator-page-size{border:1px solid #dee2e6;border-radius:3px;display:inline-block;margin:0 5px;padding:2px 5px}.tabulator .tabulator-footer .tabulator-pages{margin:0 7px}.tabulator .tabulator-footer .tabulator-page{background:#fff3;border:1px solid #dee2e6;border-radius:3px;display:inline-block;margin:0 2px;padding:2px 5px}.tabulator .tabulator-footer .tabulator-page:disabled{opacity:.5}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-footer .tabulator-page:not(disabled):hover{background:#0003;color:#fff;cursor:pointer}}.tabulator .tabulator-col-resize-handle{display:inline-block;margin-left:-3px;margin-right:-3px;position:relative;vertical-align:middle;width:6px;z-index:11}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-col-resize-handle:hover{cursor:ew-resize}}.tabulator .tabulator-col-resize-handle:last-of-type{margin-right:0;width:3px}.tabulator .tabulator-alert{align-items:center;background:#0006;display:flex;height:100%;left:0;position:absolute;text-align:center;top:0;width:100%;z-index:100}.tabulator .tabulator-alert .tabulator-alert-msg{background:#fff;border-radius:10px;display:inline-block;font-size:16px;font-weight:700;margin:0 auto;padding:10px 20px}.tabulator .tabulator-alert .tabulator-alert-msg.tabulator-alert-state-msg{border:4px solid #333;color:#000}.tabulator .tabulator-alert .tabulator-alert-msg.tabulator-alert-state-error{border:4px solid #d00;color:#590000}.tabulator-row{background-color:#fff;box-sizing:border-box;min-height:24px;position:relative}.tabulator-row.tabulator-row-even{background-color:#e9ecef}@media (hover:hover) and (pointer:fine){.tabulator-row.tabulator-selectable:hover{background-color:#ced4da;cursor:pointer}}.tabulator-row.tabulator-selected{background-color:#9abcea}@media (hover:hover) and (pointer:fine){.tabulator-row.tabulator-selected:hover{background-color:#769bcc;cursor:pointer}}.tabulator-row.tabulator-row-moving{background:#fff;border:1px solid #000}.tabulator-row.tabulator-moving{border-bottom:1px solid #dee2e6;border-top:1px solid #dee2e6;pointer-events:none;position:absolute;z-index:15}.tabulator-row.tabulator-range-highlight .tabulator-cell.tabulator-range-row-header{background-color:#d6d6d6;color:#000}.tabulator-row.tabulator-range-highlight.tabulator-range-selected .tabulator-cell.tabulator-range-row-header,.tabulator-row.tabulator-range-selected .tabulator-cell.tabulator-range-row-header{background-color:#3876ca;color:#fff}.tabulator-row .tabulator-row-resize-handle{bottom:0;height:5px;left:0;position:absolute;right:0}.tabulator-row .tabulator-row-resize-handle.prev{bottom:auto;top:0}@media (hover:hover) and (pointer:fine){.tabulator-row .tabulator-row-resize-handle:hover{cursor:ns-resize}}.tabulator-row .tabulator-responsive-collapse{border-bottom:1px solid #dee2e6;border-top:1px solid #dee2e6;box-sizing:border-box;padding:5px}.tabulator-row .tabulator-responsive-collapse:empty{display:none}.tabulator-row .tabulator-responsive-collapse table{font-size:16px}.tabulator-row .tabulator-cell{border-right:1px solid #dee2e6;box-sizing:border-box;display:inline-block;outline:none;overflow:hidden;padding:4px;position:relative;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.tabulator-row .tabulator-cell.tabulator-frozen{background-color:inherit;display:inline-block;left:0;position:sticky;z-index:11}.tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-left{border-right:2px solid #dee2e6}.tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-right{border-left:2px solid #dee2e6}.tabulator-row .tabulator-cell.tabulator-editing{border:1px solid #1d68cd;outline:none;padding:0}.tabulator-row .tabulator-cell.tabulator-editing input,.tabulator-row .tabulator-cell.tabulator-editing select{background:transparent;border:1px;outline:none}.tabulator-row .tabulator-cell.tabulator-validation-fail{border:1px solid #d00}.tabulator-row .tabulator-cell.tabulator-validation-fail input,.tabulator-row .tabulator-cell.tabulator-validation-fail select{background:transparent;border:1px;color:#d00}.tabulator-row .tabulator-cell.tabulator-row-handle{align-items:center;display:inline-flex;justify-content:center;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none}.tabulator-row .tabulator-cell.tabulator-row-handle .tabulator-row-handle-box{width:80%}.tabulator-row .tabulator-cell.tabulator-row-handle .tabulator-row-handle-box .tabulator-row-handle-bar{background:#666;height:3px;margin-top:2px;width:100%}.tabulator-row .tabulator-cell.tabulator-range-selected:not(.tabulator-range-only-cell-selected):not(.tabulator-range-row-header){background-color:#9abcea}.tabulator-row .tabulator-cell .tabulator-data-tree-branch-empty{display:inline-block;width:7px}.tabulator-row .tabulator-cell .tabulator-data-tree-branch{border-bottom:2px solid #dee2e6;border-bottom-left-radius:1px;border-left:2px solid #dee2e6;display:inline-block;height:9px;margin-right:5px;margin-top:-9px;vertical-align:middle;width:7px}.tabulator-row .tabulator-cell .tabulator-data-tree-control{align-items:center;background:#0000001a;border:1px solid #333;border-radius:2px;display:inline-flex;height:11px;justify-content:center;margin-right:5px;overflow:hidden;vertical-align:middle;width:11px}@media (hover:hover) and (pointer:fine){.tabulator-row .tabulator-cell .tabulator-data-tree-control:hover{background:#0003;cursor:pointer}}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-collapse{background:transparent;display:inline-block;height:7px;position:relative;width:1px}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after{background:#333;content:"";height:1px;left:-3px;position:absolute;top:3px;width:7px}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand{background:#333;display:inline-block;height:7px;position:relative;width:1px}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{background:#333;content:"";height:1px;left:-3px;position:absolute;top:3px;width:7px}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle{align-items:center;background:#666;border-radius:20px;color:#fff;display:inline-flex;font-size:1.1em;font-weight:700;height:15px;justify-content:center;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;width:15px}@media (hover:hover) and (pointer:fine){.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle:hover{cursor:pointer;opacity:.7}}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle.open .tabulator-responsive-collapse-toggle-close{display:initial}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle.open .tabulator-responsive-collapse-toggle-open{display:none}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle svg{stroke:#fff}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle .tabulator-responsive-collapse-toggle-close{display:none}.tabulator-row .tabulator-cell .tabulator-traffic-light{border-radius:14px;display:inline-block;height:14px;width:14px}.tabulator-row.tabulator-group{background:#ccc;border-bottom:1px solid #999;border-right:1px solid #dee2e6;border-top:1px solid #999;box-sizing:border-box;font-weight:700;min-width:100%;padding:5px 5px 5px 10px}@media (hover:hover) and (pointer:fine){.tabulator-row.tabulator-group:hover{background-color:#0000001a;cursor:pointer}}.tabulator-row.tabulator-group.tabulator-group-visible .tabulator-arrow{border-bottom:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #666;margin-right:10px}.tabulator-row.tabulator-group.tabulator-group-level-1{padding-left:30px}.tabulator-row.tabulator-group.tabulator-group-level-2{padding-left:50px}.tabulator-row.tabulator-group.tabulator-group-level-3{padding-left:70px}.tabulator-row.tabulator-group.tabulator-group-level-4{padding-left:90px}.tabulator-row.tabulator-group.tabulator-group-level-5{padding-left:110px}.tabulator-row.tabulator-group .tabulator-group-toggle{display:inline-block}.tabulator-row.tabulator-group .tabulator-arrow{border-bottom:6px solid transparent;border-left:6px solid #666;border-right:0;border-top:6px solid transparent;display:inline-block;height:0;margin-right:16px;vertical-align:middle;width:0}.tabulator-row.tabulator-group span{color:#d00;margin-left:10px}.tabulator-popup-container{-webkit-overflow-scrolling:touch;border:1px solid #dee2e6;box-shadow:0 0 5px #0003;box-sizing:border-box;display:inline-block;font-size:16px;overflow-y:auto;position:absolute;z-index:10000}.tabulator-popup{border-radius:3px;padding:5px}.tabulator-tooltip{border-radius:2px;box-shadow:none;font-size:12px;max-width:Min(500px,100%);padding:3px 5px;pointer-events:none}.tabulator-menu .tabulator-menu-item{box-sizing:border-box;padding:5px 10px;position:relative;-webkit-user-select:none;user-select:none}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-disabled{opacity:.5}@media (hover:hover) and (pointer:fine){.tabulator-menu .tabulator-menu-item:not(.tabulator-menu-item-disabled):hover{background:#e9ecef;cursor:pointer}}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-submenu{padding-right:25px}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-submenu:after{border-color:#dee2e6;border-style:solid;border-width:1px 1px 0 0;content:"";display:inline-block;height:7px;position:absolute;right:10px;top:calc(5px + .4em);transform:rotate(45deg);vertical-align:top;width:7px}.tabulator-menu .tabulator-menu-separator{border-top:1px solid #dee2e6}.tabulator-edit-list{-webkit-overflow-scrolling:touch;font-size:16px;max-height:200px;overflow-y:auto}.tabulator-edit-list .tabulator-edit-list-item{color:#333;outline:none;padding:4px}.tabulator-edit-list .tabulator-edit-list-item.active{background:#1d68cd}.tabulator-edit-list .tabulator-edit-list-item.focused{outline:1px solid #1d68cd}@media (hover:hover) and (pointer:fine){.tabulator-edit-list .tabulator-edit-list-item:hover{background:#1d68cd;color:#fff;cursor:pointer}}.tabulator-edit-list .tabulator-edit-list-placeholder{color:#333;padding:4px;text-align:center}.tabulator-edit-list .tabulator-edit-list-group{border-bottom:1px solid #dee2e6;color:#333;font-weight:700;padding:6px 4px 4px}.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-2,.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-2{padding-left:12px}.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-3,.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-3{padding-left:20px}.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-4,.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-4{padding-left:28px}.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-5,.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-5{padding-left:36px}.tabulator.tabulator-ltr{direction:ltr}.tabulator.tabulator-rtl{direction:rtl;text-align:initial}.tabulator.tabulator-rtl .tabulator-header .tabulator-col{border-left:1px solid #aaa;border-right:initial}.tabulator.tabulator-rtl .tabulator-header .tabulator-col.tabulator-col-group .tabulator-col-group-cols{margin-left:-1px;margin-right:0}.tabulator.tabulator-rtl .tabulator-header .tabulator-col.tabulator-sortable .tabulator-col-title{padding-left:25px;padding-right:0}.tabulator.tabulator-rtl .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter{left:8px;right:auto}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell{border-left:1px solid #dee2e6;border-right:initial}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell .tabulator-data-tree-branch{border-bottom-left-radius:0;border-bottom-right-radius:1px;border-left:initial;border-right:2px solid #dee2e6;margin-left:5px;margin-right:0}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell .tabulator-data-tree-control{margin-left:5px;margin-right:0}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-left{border-left:2px solid #dee2e6}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-right{border-right:2px solid #dee2e6}.tabulator.tabulator-rtl .tabulator-row .tabulator-col-resize-handle:last-of-type{margin-left:0;margin-right:-3px;width:3px}.tabulator.tabulator-rtl .tabulator-footer .tabulator-calcs-holder{text-align:initial}.tabulator-print-fullscreen{inset:0;position:absolute;z-index:10000}body.tabulator-print-fullscreen-hide>:not(.tabulator-print-fullscreen){display:none!important}.tabulator-print-table{border-collapse:collapse}.tabulator-print-table .tabulator-data-tree-branch{border-bottom:2px solid #dee2e6;border-bottom-left-radius:1px;border-left:2px solid #dee2e6;display:inline-block;height:9px;margin-right:5px;margin-top:-9px;vertical-align:middle;width:7px}.tabulator-print-table .tabulator-print-table-group{background:#ccc;border-bottom:1px solid #999;border-right:1px solid #dee2e6;border-top:1px solid #999;box-sizing:border-box;font-weight:700;min-width:100%;padding:5px 5px 5px 10px}@media (hover:hover) and (pointer:fine){.tabulator-print-table .tabulator-print-table-group:hover{background-color:#0000001a;cursor:pointer}}.tabulator-print-table .tabulator-print-table-group.tabulator-group-visible .tabulator-arrow{border-bottom:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #666;margin-right:10px}.tabulator-print-table .tabulator-print-table-group .tabulator-group-toggle{display:inline-block}.tabulator-print-table .tabulator-print-table-group .tabulator-arrow{border-bottom:6px solid transparent;border-left:6px solid #666;border-right:0;border-top:6px solid transparent;display:inline-block;height:0;margin-right:16px;vertical-align:middle;width:0}.tabulator-print-table .tabulator-print-table-group span{color:#d00;margin-left:10px}.tabulator-print-table .tabulator-data-tree-control{align-items:center;background:#0000001a;border:1px solid #333;border-radius:2px;display:inline-flex;height:11px;justify-content:center;margin-right:5px;overflow:hidden;vertical-align:middle;width:11px}@media (hover:hover) and (pointer:fine){.tabulator-print-table .tabulator-data-tree-control:hover{background:#0003;cursor:pointer}}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-collapse{background:transparent;display:inline-block;height:7px;position:relative;width:1px}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after{background:#333;content:"";height:1px;left:-3px;position:absolute;top:3px;width:7px}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand{background:#333;display:inline-block;height:7px;position:relative;width:1px}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{background:#333;content:"";height:1px;left:-3px;position:absolute;top:3px;width:7px}.tabulator{background-color:#fff;border:none}.tabulator .tabulator-header{border-bottom:2px solid #dee2e6;border-top:1px solid #dee2e6;color:inherit}.tabulator .tabulator-header .tabulator-col{background-color:#fff;border-right:none}.tabulator .tabulator-header .tabulator-col .tabulator-col-content{padding:12px}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter{right:0}.tabulator .tabulator-header .tabulator-col.tabulator-col-group .tabulator-col-group-cols{border-top:1px solid #dee2e6}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter input{background-clip:padding-box;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;color:#495057;font-size:1rem;line-height:1.5;padding:.375rem .75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter input:focus{background-color:#fff;border:1px solid #1d68cd;color:#495057;outline:0}.tabulator .tabulator-header .tabulator-calcs-holder{border-bottom:1px solid #dee2e6;width:100%}.tabulator .tabulator-tableholder .tabulator-placeholder span{color:#000}.tabulator .tabulator-footer,.tabulator .tabulator-footer .tabulator-paginator,.tabulator .tabulator-tableholder .tabulator-table{color:inherit}.tabulator .tabulator-footer .tabulator-pages{margin:0}.tabulator .tabulator-footer .tabulator-page{margin:5px 0 0;padding:8px 12px}.tabulator .tabulator-footer .tabulator-page.active{background-color:#0d6efd;border-color:#0d6efd;color:#fff}.tabulator .tabulator-footer .tabulator-page:disabled{background:#fff;border-color:#dee2e6;color:#6c757d}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-footer .tabulator-page:not(.disabled):hover{background:#e9ecef;border-color:#dee2e6;color:#0a58ca}}.tabulator.table{background-color:#fff}.tabulator.table:not(.thead-light) .tabulator-header,.tabulator.table:not(.thead-light) .tabulator-header .tabulator-col{background-color:#fff;border-color:#dee2e6;color:#212529}.tabulator.table .tabulator-tableholder{color:#212529}.tabulator.table .tabulator-row{background-color:#fff;border-color:#dee2e6;color:#212529}@media (hover:hover) and (pointer:fine){.tabulator.table .tabulator-row:hover{background-color:#dee2e6}.tabulator.table .tabulator-row:hover .tabulator-cell{background-color:#ced4da}}.tabulator.table .tabulator-row.tabulator-selected{background-color:#9abcea}.tabulator.table .tabulator-footer{border-color:#dee2e6!important}.tabulator.table .tabulator-footer .tabulator-calcs-holder{background:#fff!important;border-color:#dee2e6!important}.tabulator.table .tabulator-footer .tabulator-calcs-holder .tabulator-row{background-color:#fff!important;border-color:#dee2e6!important;color:#212529!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.table,.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.table{background:#212529!important}.tabulator-row{border-bottom:1px solid #dee2e6;min-height:40px}.tabulator-row .tabulator-cell{border-right:none;padding:12px}.tabulator-row .tabulator-cell:last-of-type{border-right:none}.tabulator-row .tabulator-cell .tabulator-data-tree-control{border:1px solid #ccc}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after,.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand,.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{background:#ccc}.tabulator-row.tabulator-group{background:#fafafa}.tabulator-row.tabulator-group span{color:#666}.tabulator-edit-select-list{background:#fff}.tabulator-edit-select-list .tabulator-edit-select-list-item.active{color:#fff}.tabulator-edit-select-list .tabulator-edit-select-list-item.active.focused{outline:1px solid hsla(0,0%,100%,.5)}@media (hover:hover) and (pointer:fine){.tabulator-edit-select-list .tabulator-edit-select-list-item:hover{color:#fff}}.tabulator-edit-select-list .tabulator-edit-select-list-group,.tabulator-edit-select-list .tabulator-edit-select-list-notice{color:inherit}.tabulator.tabulator-rtl .tabulator-header .tabulator-col{border-left:initial;text-align:initial}.tabulator-print-table .tabulator-print-table-group{background:#fafafa}.tabulator-print-table .tabulator-print-table-group span{color:#666}.tabulator-print-table .tabulator-data-tree-control{color:inherit}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after,.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand,.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{background:#ccc}.tabulator-popup-container{background:#fff}.tabulator-edit-list .tabulator-edit-list-item.active{color:#fff}.tabulator-edit-list .tabulator-edit-list-item.active.focused{outline:1px solid hsla(0,0%,100%,.5)}@media (hover:hover) and (pointer:fine){.tabulator-edit-list .tabulator-edit-list-item:hover{color:#fff}}
18
- `);var nr=lr.renderToStaticMarkup(jsx(c,{}));if(typeof window!="undefined"&&window.ResizeObserver){let n=window.ResizeObserver;window.ResizeObserver=class extends n{constructor(e){let t;super((i,s)=>{cancelAnimationFrame(t),t=requestAnimationFrame(()=>e(i,s));});}};}var hr=memo(function({data:e,columns:t,options:i,events:s,className:r,style:o,onRef:a}){let l=useRef(null),h=useRef(null),u=useRef(true);return useEffect(()=>{if(!l.current)return;let d=new ze(l.current,{data:e,columns:t,...i});return s&&Object.entries(s).forEach(([c,f])=>{d.on(c,f);}),h.current=d,a==null||a({current:d}),()=>{a==null||a(null),h.current=null;try{d.destroy();}catch(c){}}},[]),useEffect(()=>{var d;if(u.current){u.current=false;return}(d=h.current)==null||d.setData(e);},[e]),jsx("div",{ref:l,className:r,style:o})}),ur=n=>{var t;if(!n.properties.folders)return null;var e=(t=n.context.params.folderData)==null?void 0:t.captions;return e==null||e.length===0?null:(e=e.slice(1),jsx("span",{style:{display:"flex",alignItems:"center"},children:e.map((i,s)=>jsxs("span",{style:{display:"inline-flex",alignItems:"center"},children:[i,s<e.length-1&&jsx(d,{style:{margin:"0 8px",fontSize:"0.6rem",color:"#666"}})]},s))}))},dr=(n,e,t,i,s,r,o,a)=>{let l=document.createElement("div"),h=null,u=n.getValue(),d=u?a$1(u):null,c=null,f=false,m=()=>{let g=null;if(f&&c!==null){if(c.trim()===""){i(),h&&h.unmount();return}if(g=a$1(c),!g.isValid()){let E=["DD.MM.YYYY","YYYY-MM-DD","MM/DD/YYYY","DD/MM/YYYY","M/D/YYYY","D/M/YYYY"];for(let L of E)if(g=a$1(c,L),g.isValid())break}(!g||!g.isValid())&&(g=d);}else g=d;g&&g.isValid()?(o.current=a,t(g.format("YYYY-MM-DD"))):u?t(u):i(),h&&h.unmount();},p=g=>{d=g;},v=g=>{d=g,f=false,m();},b=g=>{c=g.target.value,f=true;},y=jsx("div",{onMouseDown:g=>{g.stopPropagation();},children:jsx(LocalizationProvider,{dateAdapter:a$2,adapterLocale:r,children:jsx(DatePicker,{value:a$1(u),onAccept:v,onChange:p,slots:{actionBar:()=>null,textField:g=>jsx(hi,{...g,onChange:E=>{g.onChange&&g.onChange(E),b(E);},sx:{"& .MuiOutlinedInput-root":{fontSize:"13px",border:"none"},"& .MuiOutlinedInput-notchedOutline":{border:"none"},"& .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline":{border:"none"}}})}})})});return e(()=>{h||(h=Se.createRoot(l),h.render(y));}),l.addEventListener("blur",g=>{setTimeout(()=>{l.contains(document.activeElement)||m();},200);}),l.addEventListener("keydown",g=>{if(g.key==="Tab"||g.key==="Enter"){g.preventDefault();let E=l.querySelector('input[type="text"]');E&&f&&(c=E.value),m();}}),l},cr=(n,e,t,i,s,r,o,a)=>{let l=document.createElement("div"),h=null,u=n.getValue(),d=u?a$1(u):null,c=null,f=false,m=()=>{let g=null;if(f&&c!==null){if(c.trim()===""){i(),h&&h.unmount();return}if(g=a$1(c),!g.isValid()){let E=["DD.MM.YYYY HH:mm:ss","DD.MM.YYYY HH:mm","YYYY-MM-DD HH:mm:ss","YYYY-MM-DD HH:mm","YYYY-MM-DDTHH:mm:ss","MM/DD/YYYY HH:mm:ss","MM/DD/YYYY HH:mm","DD/MM/YYYY HH:mm:ss","DD/MM/YYYY HH:mm"];for(let L of E)if(g=a$1(c,L),g.isValid())break}if(!g||!g.isValid()){let E=["HH:mm:ss","HH:mm"];for(let L of E){let F=a$1(c,L,true);if(F.isValid()){g=(u?a$1(u):a$1()).hour(F.hour()).minute(F.minute()).second(F.second());break}}}(!g||!g.isValid())&&(g=d);}else g=d;g&&g.isValid()?(o.current=a,t(g.format("YYYY-MM-DDTHH:mm:ss"))):u?t(u):i(),h&&h.unmount();},p=g=>{d=g;},v=g=>{d=g,f=false,m();},b=g=>{c=g.target.value,f=true;},y=jsx("div",{onMouseDown:g=>{g.stopPropagation();},children:jsx(LocalizationProvider,{dateAdapter:a$2,adapterLocale:r,children:jsx(DateTimePicker,{value:u?a$1(u):null,onAccept:v,onChange:p,ampm:false,slots:{actionBar:()=>null,textField:g=>jsx(hi,{...g,onChange:E=>{g.onChange&&g.onChange(E),b(E);},sx:{"& .MuiOutlinedInput-root":{fontSize:"13px",border:"none"},"& .MuiOutlinedInput-notchedOutline":{border:"none"},"& .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline":{border:"none"}}})}})})});return e(()=>{h||(h=Se.createRoot(l),h.render(y));}),l.addEventListener("blur",g=>{setTimeout(()=>{l.contains(document.activeElement)||m();},200);}),l.addEventListener("keydown",g=>{if(g.key==="Tab"||g.key==="Enter"){g.preventDefault();let E=l.querySelector('input[type="text"]');E&&f&&(c=E.value),m();}}),l},fr=(n,e,t,i)=>{var o;if(!n.alloweditrow||n.readonly===true)return;let s=(o=e.item_columntype)!=null?o:"freetext";e.item_columntype||(e.item_isdate===true?s="date":e.item_isdatetime===true?s="datetime":e.item_ischeckbox===true?s="checkbox":e.item_isprice===true?s="price":s="freetext");return s==="datetime"?(a,l,h,u,d)=>cr(a,l,h,u,d,t.current,i,n.name):s==="date"?(a,l,h,u,d)=>dr(a,l,h,u,d,t.current,i,n.name):e.item_editor==="number"||s==="price"||s==="number"?"number":e.item_editor==="checkbox"||s==="checkbox"?"tickCross":"input"},pr=(n,e,t,i,s)=>{let r=n.getElement();r.style.backgroundColor="#f0f0f0",r.style.color="#555",r.style.pointerEvents="none";},ai=(n,e,t,i,s,r)=>{var m;let o=(p,v,b)=>{if(!(b==="price"))return `<div class="tabulator-text">${p||""}</div>`;let y=i.item_format==="fixed-locale",E=y&&i.item_fixedlocale||s.current||void 0,L=v!==void 0&&v[i.item_inputfield]?v[i.item_inputfield]:i.item_currency,F=i.item_format==="locale"?j(s.current):void 0,z=y?j(i.item_fixedlocale||""):void 0,G=String(L!=null?L:""),$=G&&G.trim()!==""?G.trim():F!=null?F:z;try{let W,k=i.item_currencydisplay||(y?"symbol":"");return $&&k!==""?W=new Intl.NumberFormat(E,{style:"currency",currency:$,currencyDisplay:k,minimumFractionDigits:2,maximumFractionDigits:2}).format(p||0):W=new Intl.NumberFormat(E,{style:"decimal",minimumFractionDigits:2,maximumFractionDigits:2}).format(p||0),`<div class="tabulator-text">${W}</div>`}catch(W){return `<div class="tabulator-text">${(p||0).toFixed(2)}</div>`}};if(!e.alloweditrow)return;let a=(m=i.item_columntype)!=null?m:"freetext";i.item_columntype||(i.item_isdate===true?a="date":i.item_isdatetime===true?a="datetime":i.item_ischeckbox===true?a="checkbox":i.item_isprice===true||i.item_format==="locale"||i.item_format==="fixed-locale"?a="price":a="freetext");let l=i.item_readonly||r==="totals",h=a==="price",u=a==="number",d=a==="date",c=a==="datetime",f=a==="checkbox";return l?p=>{pr(p,e,i,s.current);let v=p.getValue();return r==="totals"&&(!i.item_bottomcalc||v==="")?"":o(v,t,a)}:c?p=>gr(p,s.current)||"":d?p=>br(p,s.current)||"":f?"tickCross":h?p=>{let v=p.getValue();return o(v,t,a)}:u?p=>{let v=p.getValue();if(v==null||v==="")return '<div class="tabulator-text"></div>';let b=parseFloat(v);return isNaN(b)?`<div class="tabulator-text">${v}</div>`:`<div class="tabulator-text">${b.toLocaleString(s.current||void 0,{minimumFractionDigits:0,maximumFractionDigits:10})}</div>`}:p=>`<div class="tabulator-text">${p.getValue()||""}</div>`},br=(n,e)=>{let t=n.getValue();if(!t)return "";try{let i=a$1(t);return e&&b$1(e)?i.locale(e).format("L"):(e&&!b$1(e)&&a(e).catch(s=>{}),i.format("L"))}catch(i){return a$1(t).format("YYYY-MM-DD")}},gr=(n,e)=>{let t=n.getValue();if(!t)return "";try{let i=a$1(t);return e&&b$1(e)?i.locale(e).format("L LT"):(e&&!b$1(e)&&a(e).catch(s=>{}),i.format("L LT"))}catch(i){return a$1(t).format("YYYY-MM-DD HH:mm")}},mr=(n,e)=>{if(n.alloweditrow&&e.item_editor==="checkbox")return {allowEmpty:true,crossElement:false,tickElement:nr}},ui=withTranslation()(memo(function(e){var Nt;let{runFormEvent:t,viewPort:i}=b(),s=useRef(null),r=useRef(null),o=useRef(null),[a$1,l]=useState(false),[h,u]=useState([]),[d,c]=useState([]),[f,m$1]=useState([]),[p$1,v]=useState(0),{t:b$1,i18n:w}=useTranslation(),y=(Nt=w==null?void 0:w.language)==null?void 0:Nt.substring(0,2),g=useRef(y!=null?y:""),E=useLocation(),[L,F]=useState(false),z=useRef(e.context.formData||{});useEffect(()=>{y&&a(y).catch(R=>{});},[y]),useEffect(()=>{if(g.current=y!=null?y:"",s.current)try{s.current.redraw(!0);}catch(R){}},[y]),useEffect(()=>{let R=()=>{s.current&&!i.isMobileDevice&&s.current.redraw();};return window.addEventListener("resize",R),()=>{window.removeEventListener("resize",R);}},[]),useEffect(()=>{z.current=e.context.formData||{};let R=e.context.formData?e.context.formData[e.properties.name]:null;u(R?JSON.parse(R):[]);},[e.context.formData]),useEffect(()=>{var R;if(L&&s.current!=null){let H=(R=s.current)==null?void 0:R.getData();z.current&&(z.current[e.properties.name]=JSON.stringify(H)),F(false);}},[L]),useEffect(()=>((async()=>{var R,H;e.context.enableEventHandlers?await t({pluginCode:e.context.params.pluginCode,formCode:e.context.params.formCode,guid:e.context.params.guid,projectGuid:e.context.params.pGuid,pGuid:e.context.params.pGuid,widgetContext:JSON.stringify({referer:E.pathname,parentWidgetId:fi,hasParentForm:T$1.hasParentForm(),originator:(R=e.context.params)==null?void 0:R.originator,parent:e.context.params,folderData:(H=e.context.params)==null?void 0:H.folderData}),widgetEvent:U.onTableEditDataLoad,widgetName:e.properties.name.toLowerCase(),formData:e.context.formData}).then(_=>{if(_.meta.requestStatus==="fulfilled"){let D={..._.payload};if(Object.keys(D).length===0)return;if(!D.data){l(true);return}let S=D.data[e.properties.name];D.widgetData.length===0&&S!==void 0&&S!==null&&S.length>0?u(JSON.parse(S)):D.widgetData.length>0&&u(Object.values(D.widgetData)),l(true);}}):l(true);})(),()=>{if(s.current){try{typeof s.current.destroy=="function"&&s.current.destroy();}catch(R){}s.current=null;}}),[]);let G=R=>{var H,_;if(s.current){let D=R.getRow().getData()._id,B=((H=s.current)==null?void 0:H.getData()).filter(V=>V._id!==D);(_=s.current)==null||_.setData(B),F(true);}},$=(R,H)=>{if(W(e.properties))return;let _=document.querySelector(".menu-container");_&&_.remove();let D=document.createElement("div");D.className="menu-container",document.body.appendChild(D);let S=Se.createRoot(D);S.render(jsx(ri,{cellElement:R,cell:H,actionHandler:V=>{S.unmount(),D.remove(),document.removeEventListener("click",B),G(V);}}));let B=V=>{D.contains(V.target)||(S.unmount(),D.remove(),document.removeEventListener("click",B));};document.addEventListener("click",B);};useEffect(()=>{let R;(()=>{if(R=e.methodProvider.findWidgetItem(e.id),!R)return;let _=[];R.item.properties.datasource.columns&&(R.item.properties.datasource.columns||[]).map(x=>{_[x[1]]=x[0];});let D=[];(R.item._children||[]).map(({properties:x})=>{x.item_name.toString()!==""&&x.item_increment&&D.push(x.item_name);}),m$1(D);let S=[];S.push({title:"",field:"remove",headerHozAlign:"center",hozAlign:"center",vertAlign:"middle",width:"1",formatter:x=>{let I=document.createElement("div");return I.style.cursor="pointer",I.style.color="#C0C0C0",I.style.fontSize="0.9rem",I.style.textAlign="center",Se.createRoot(I).render(jsx(m,{})),I.addEventListener("click",se=>{se.stopPropagation();let re=x.getElement();$(re,x);}),I}});let B={},V={},U={},Wt=100,jt=false;R.item._children.forEach(({properties:x})=>{Wt+=parseInt(x.item_minsize,10)||0,x.item_bottomcalc&&(jt=true);}),v(Wt),(R.item._children||[]).map(({properties:x})=>{var I,ht;if(x.item_name.toString()!==""){let se=x.item_title.split("!!!"),re=se.length>1&&se[0]||null,ut=se.length>1?se[1]:x.item_title;x.item_formula!=null&&x.item_formula.trim()!==""&&(V[x.item_name]=x.item_formula,U[x.item_name]=N.parseExpression(V[x.item_name]));let Gt={cellEdited:Y=>{let fe=Y.getField();F(true);let dt=(J,Z)=>{let He=N.buildDependencyGraph(U),ct=N.topologicalSort(He);ct.forEach(Pe=>{let Ut=U[Pe];if(Ut){let gi=Z.getData(),mi=N.evaluateFormula(Ut,N.convertToVariables(gi));J!==Pe&&(Z.update({[Pe]:parseFloat(mi.toFixed(2)).toFixed(2)}));}});};for(let J in U)if(Object.prototype.hasOwnProperty.call(U,J)){let Z=U[J];if(Z&&typeof Z=="object"&&N.formulaHasFieldName(Z,fe)){let He=Y.getRow();if(He){let ct=Y.getRow().getData(),ft=N.evaluateFormula(Z,N.convertToVariables(ct));He.update({[J]:parseFloat(ft.toFixed(2)).toFixed(2)});}}}dt(fe,Y.getRow());},editor:fr(e.properties,x,g,o),editable:!e.properties.readonly&&!x.item_readonly,field:x.item_name,formatter:ai(s,e.properties,e.context.formData,x,g,"body"),formatterParams:mr(e.properties,x),title:ut,titleFormatter:x.item_displaytooltip?()=>{let Y=document.createElement("div");return Se.createRoot(Y).render(jsx(oi,{title:ut,arrow:true,children:jsx("span",{style:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",display:"block"},children:ut})})),Y}:void 0,cssClass:!e.properties.readonly&&!x.item_readonly?"tabulator-ellipsis":"tabulator-readonly",minWidth:parseInt(x.item_minsize,10)||void 0,headerHozAlign:(I=x.style.item_textalign)!=null?I:"center",hozAlign:(ht=x.style.item_ctextalign)!=null?ht:"center",vertAlign:"middle",bottomCalc:Y=>x.item_bottomcalc?Y.reduce((fe,dt)=>{let J=parseFloat(String(dt).replace(",","."));return fe+(isNaN(J)?0:J)},0):"",bottomCalcFormatter:jt?ai(s,e.properties,e.context.formData,x,g,"totals"):void 0,headerSort:x.item_enablesorting};re?(B[re]||(B[re]=[]),B[re].push(Gt)):S.push(Gt);}}),Object.entries(B).forEach(([x,I])=>{S.push({title:x,columns:I,cssClass:e.properties.readonly?"tabulator-readonly":"tabulator-ellipsis"});}),c(S),l(true);})();},[e.properties,e.context.params.guid]),useEffect(()=>{s.current&&(s.current.setColumns(d),s.current.redraw());},[d]);let W=R=>!!(R.readonly&&!R.ignorereadonly);function k(R){let H=_=>_.reduce((D,S)=>{var B,V;if(S.field&&(D[S.field]="",f.includes(S.field))){let U=(V=(B=s.current)==null?void 0:B.getDataCount())!=null?V:0;U!==void 0&&(D[S.field]=String(U+1));}return S.columns&&Array.isArray(S.columns)&&Object.assign(D,H(S.columns)),D},{});return {_id:nanoid(11),...H(R)}}let Vt=()=>jsx(oi,{title:b$1("Add New"),children:jsx("span",{children:jsx(or,{disabled:W(e.properties),color:"primary",style:{marginRight:"5px"},onClick:()=>{s.current&&s.current.addRow(k(d));},variant:"outlined",children:jsx(p,{})})})}),{hideaddbutton:Fe,folders:di,visible:ci}=e.properties,{tabId:fi}=e;if(!ci)return null;if(!a$1)return jsx(q,{text:"",size:40,textVariant:"body2",variant:void 0});let pi={minHeight:e.properties.height,movableRows:false,movableColumns:false,rowHeight:40,layout:"fitColumns"},bi=()=>{document.querySelectorAll(".tabulator-header-contents > br").forEach(_=>_.remove());document.querySelectorAll(".tabulator-footer");};return jsxs(Fragment,{children:[di&&jsx("div",{style:{paddingBottom:"0.8rem",fontSize:"0.85rem",color:"#666",marginLeft:"0.2rem"},children:ur(e)}),jsxs("div",{style:{padding:10,paddingBottom:0,overflowX:"auto"},ref:r,children:[jsx(rr,{sx:{paddingBottom:1,paddingTop:1,paddingRight:1},children:!Fe&&jsx(Vt,{})}),jsx(hr,{onRef:R=>{var H;return s.current=(H=R==null?void 0:R.current)!=null?H:null},data:h,columns:d,options:pi,events:{tableBuilt:bi},className:"tabulator",style:{marginBottom:0,minWidth:p$1+"px"}})]})]})}));ui.displayName="_Tabulator";var lo=ui;export{lo as TabulatorTable};