@limetech/lime-elements 39.0.1 → 39.0.3
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.
- package/CHANGELOG.md +14 -0
- package/dist/cjs/{checkbox.template-Bu9mvjbY.js → checkbox.template-VElWkDR9.js} +1 -1
- package/dist/cjs/{index-DYJkh2ZK.js → index-Ddjrlc-6.js} +1 -1
- package/dist/cjs/lime-elements.cjs.js +1 -1
- package/dist/cjs/limel-3d-hover-effect-glow.cjs.entry.js +1 -1
- package/dist/cjs/limel-action-bar-item_2.cjs.entry.js +1 -1
- package/dist/cjs/limel-action-bar_2.cjs.entry.js +1 -1
- package/dist/cjs/limel-ai-avatar.cjs.entry.js +1 -1
- package/dist/cjs/limel-badge.cjs.entry.js +1 -1
- package/dist/cjs/limel-banner.cjs.entry.js +1 -1
- package/dist/cjs/limel-breadcrumbs_7.cjs.entry.js +4 -4
- package/dist/cjs/limel-button-group.cjs.entry.js +1 -1
- package/dist/cjs/limel-button.cjs.entry.js +2 -2
- package/dist/cjs/limel-callout.cjs.entry.js +1 -1
- package/dist/cjs/limel-card.cjs.entry.js +1 -1
- package/dist/cjs/limel-chart.cjs.entry.js +2 -2
- package/dist/cjs/limel-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/limel-chip_2.cjs.entry.js +3 -3
- package/dist/cjs/limel-circular-progress.cjs.entry.js +2 -2
- package/dist/cjs/limel-code-editor.cjs.entry.js +2 -2
- package/dist/cjs/limel-collapsible-section.cjs.entry.js +2 -2
- package/dist/cjs/limel-color-picker-palette.cjs.entry.js +1 -1
- package/dist/cjs/limel-color-picker.cjs.entry.js +1 -1
- package/dist/cjs/limel-config.cjs.entry.js +1 -1
- package/dist/cjs/limel-date-picker.cjs.entry.js +1 -1
- package/dist/cjs/limel-dialog.cjs.entry.js +1 -1
- package/dist/cjs/limel-dock-button.cjs.entry.js +1 -1
- package/dist/cjs/limel-dock.cjs.entry.js +2 -2
- package/dist/cjs/limel-drag-handle.cjs.entry.js +1 -1
- package/dist/cjs/limel-dynamic-label.cjs.entry.js +1 -1
- package/dist/cjs/limel-file-dropzone_2.cjs.entry.js +1 -1
- package/dist/cjs/limel-file-viewer.cjs.entry.js +2 -2
- package/dist/cjs/limel-file.cjs.entry.js +1 -1
- package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +1 -1
- package/dist/cjs/limel-flex-container.cjs.entry.js +1 -1
- package/dist/cjs/limel-form.cjs.entry.js +2 -2
- package/dist/cjs/limel-grid.cjs.entry.js +1 -1
- package/dist/cjs/limel-header.cjs.entry.js +1 -1
- package/dist/cjs/limel-help-content.cjs.entry.js +1 -1
- package/dist/cjs/limel-help.cjs.entry.js +1 -1
- package/dist/cjs/limel-helper-line_2.cjs.entry.js +1 -1
- package/dist/cjs/limel-icon-button.cjs.entry.js +1 -1
- package/dist/cjs/limel-icon.cjs.entry.js +1 -1
- package/dist/cjs/limel-info-tile.cjs.entry.js +1 -1
- package/dist/cjs/limel-linear-progress.cjs.entry.js +1 -1
- package/dist/cjs/limel-list-item.cjs.entry.js +2 -2
- package/dist/cjs/limel-markdown.cjs.entry.js +2 -2
- package/dist/cjs/limel-menu-item-meta.cjs.entry.js +1 -1
- package/dist/cjs/limel-picker.cjs.entry.js +1 -1
- package/dist/cjs/limel-popover_2.cjs.entry.js +1 -1
- package/dist/cjs/limel-portal_3.cjs.entry.js +1 -1
- package/dist/cjs/limel-profile-picture.cjs.entry.js +1 -1
- package/dist/cjs/limel-progress-flow-item.cjs.entry.js +2 -2
- package/dist/cjs/limel-progress-flow.cjs.entry.js +2 -2
- package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +2 -2
- package/dist/cjs/limel-radio-button-group.cjs.entry.js +1 -1
- package/dist/cjs/limel-radio-button.cjs.entry.js +2 -2
- package/dist/cjs/limel-select.cjs.entry.js +2 -2
- package/dist/cjs/limel-shortcut.cjs.entry.js +1 -1
- package/dist/cjs/limel-slider.cjs.entry.js +2 -2
- package/dist/cjs/limel-snackbar.cjs.entry.js +2 -2
- package/dist/cjs/limel-split-button.cjs.entry.js +1 -1
- package/dist/cjs/limel-switch.cjs.entry.js +2 -2
- package/dist/cjs/limel-tab-bar.cjs.entry.js +2 -2
- package/dist/cjs/limel-tab-panel.cjs.entry.js +1 -1
- package/dist/cjs/limel-table.cjs.entry.js +2 -2
- package/dist/cjs/limel-text-editor.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{markdown-parser-DnhdKhpI.js → markdown-parser-_1bsy-5h.js} +4 -4
- package/dist/collection/components/button/button.css +34 -33
- package/dist/collection/components/chart/chart.css +120 -376
- package/dist/collection/components/chip/chip.css +68 -69
- package/dist/collection/components/chip-set/chip-set.css +29 -116
- package/dist/collection/components/circular-progress/circular-progress.css +193 -193
- package/dist/collection/components/code-editor/code-editor.css +350 -189
- package/dist/collection/components/collapsible-section/collapsible-section.css +125 -125
- package/dist/collection/components/dock/dock.css +60 -153
- package/dist/collection/components/file-viewer/file-viewer.css +80 -172
- package/dist/collection/components/form/form.css +77 -164
- package/dist/collection/components/input-field/input-field.css +75 -168
- package/dist/collection/components/list/list.css +59 -151
- package/dist/collection/components/markdown/markdown-parser.js +4 -4
- package/dist/collection/components/menu-list/menu-list.css +59 -151
- package/dist/collection/components/progress-flow/progress-flow-item/progress-flow-item.css +74 -80
- package/dist/collection/components/progress-flow/progress-flow.css +2 -0
- package/dist/collection/components/radio-button-group/radio-button.css +2 -2
- package/dist/collection/components/select/select.css +39 -132
- package/dist/collection/components/slider/slider.css +391 -403
- package/dist/collection/components/snackbar/snackbar.css +76 -75
- package/dist/collection/components/switch/switch.css +106 -106
- package/dist/collection/components/tab-bar/tab-bar.css +208 -203
- package/dist/collection/components/table/table.css +170 -462
- package/dist/collection/style/color-palette-primary.scss.bak +1 -1
- package/dist/collection/style/color-palette-ui.scss.bak +1 -1
- package/dist/collection/style/internal/fieldset.scss +2 -2
- package/dist/esm/{checkbox.template-CVMlWdZR.js → checkbox.template-BB2t2jwT.js} +1 -1
- package/dist/esm/{index-BudcI_o9.js → index-xvTBZcD2.js} +1 -1
- package/dist/esm/lime-elements.js +2 -2
- package/dist/esm/limel-3d-hover-effect-glow.entry.js +1 -1
- package/dist/esm/limel-action-bar-item_2.entry.js +1 -1
- package/dist/esm/limel-action-bar_2.entry.js +1 -1
- package/dist/esm/limel-ai-avatar.entry.js +1 -1
- package/dist/esm/limel-badge.entry.js +1 -1
- package/dist/esm/limel-banner.entry.js +1 -1
- package/dist/esm/limel-breadcrumbs_7.entry.js +4 -4
- package/dist/esm/limel-button-group.entry.js +1 -1
- package/dist/esm/limel-button.entry.js +2 -2
- package/dist/esm/limel-callout.entry.js +1 -1
- package/dist/esm/limel-card.entry.js +1 -1
- package/dist/esm/limel-chart.entry.js +2 -2
- package/dist/esm/limel-checkbox.entry.js +2 -2
- package/dist/esm/limel-chip_2.entry.js +3 -3
- package/dist/esm/limel-circular-progress.entry.js +2 -2
- package/dist/esm/limel-code-editor.entry.js +2 -2
- package/dist/esm/limel-collapsible-section.entry.js +2 -2
- package/dist/esm/limel-color-picker-palette.entry.js +1 -1
- package/dist/esm/limel-color-picker.entry.js +1 -1
- package/dist/esm/limel-config.entry.js +1 -1
- package/dist/esm/limel-date-picker.entry.js +1 -1
- package/dist/esm/limel-dialog.entry.js +1 -1
- package/dist/esm/limel-dock-button.entry.js +1 -1
- package/dist/esm/limel-dock.entry.js +2 -2
- package/dist/esm/limel-drag-handle.entry.js +1 -1
- package/dist/esm/limel-dynamic-label.entry.js +1 -1
- package/dist/esm/limel-file-dropzone_2.entry.js +1 -1
- package/dist/esm/limel-file-viewer.entry.js +2 -2
- package/dist/esm/limel-file.entry.js +1 -1
- package/dist/esm/limel-flatpickr-adapter.entry.js +1 -1
- package/dist/esm/limel-flex-container.entry.js +1 -1
- package/dist/esm/limel-form.entry.js +2 -2
- package/dist/esm/limel-grid.entry.js +1 -1
- package/dist/esm/limel-header.entry.js +1 -1
- package/dist/esm/limel-help-content.entry.js +1 -1
- package/dist/esm/limel-help.entry.js +1 -1
- package/dist/esm/limel-helper-line_2.entry.js +1 -1
- package/dist/esm/limel-icon-button.entry.js +1 -1
- package/dist/esm/limel-icon.entry.js +1 -1
- package/dist/esm/limel-info-tile.entry.js +1 -1
- package/dist/esm/limel-linear-progress.entry.js +1 -1
- package/dist/esm/limel-list-item.entry.js +2 -2
- package/dist/esm/limel-markdown.entry.js +2 -2
- package/dist/esm/limel-menu-item-meta.entry.js +1 -1
- package/dist/esm/limel-picker.entry.js +1 -1
- package/dist/esm/limel-popover_2.entry.js +1 -1
- package/dist/esm/limel-portal_3.entry.js +1 -1
- package/dist/esm/limel-profile-picture.entry.js +1 -1
- package/dist/esm/limel-progress-flow-item.entry.js +2 -2
- package/dist/esm/limel-progress-flow.entry.js +2 -2
- package/dist/esm/limel-prosemirror-adapter.entry.js +2 -2
- package/dist/esm/limel-radio-button-group.entry.js +1 -1
- package/dist/esm/limel-radio-button.entry.js +2 -2
- package/dist/esm/limel-select.entry.js +2 -2
- package/dist/esm/limel-shortcut.entry.js +1 -1
- package/dist/esm/limel-slider.entry.js +2 -2
- package/dist/esm/limel-snackbar.entry.js +2 -2
- package/dist/esm/limel-split-button.entry.js +1 -1
- package/dist/esm/limel-switch.entry.js +2 -2
- package/dist/esm/limel-tab-bar.entry.js +2 -2
- package/dist/esm/limel-tab-panel.entry.js +1 -1
- package/dist/esm/limel-table.entry.js +2 -2
- package/dist/esm/limel-text-editor.entry.js +1 -1
- package/dist/esm/loader.js +2 -2
- package/dist/esm/{markdown-parser-CoBLYNGa.js → markdown-parser-DkmQCwAi.js} +4 -4
- package/dist/lime-elements/lime-elements.css +2 -2
- package/dist/lime-elements/lime-elements.esm.js +1 -1
- package/dist/lime-elements/{p-f80d0b8b.entry.js → p-00859fac.entry.js} +1 -1
- package/dist/lime-elements/{p-6c51b3bd.entry.js → p-017dd326.entry.js} +1 -1
- package/dist/lime-elements/{p-a91b36d3.entry.js → p-045c6027.entry.js} +1 -1
- package/dist/lime-elements/{p-a0b6339c.entry.js → p-083b24bb.entry.js} +1 -1
- package/dist/lime-elements/{p-0d1c887c.entry.js → p-11f716f5.entry.js} +1 -1
- package/dist/lime-elements/{p-72489a91.entry.js → p-1e5b18cc.entry.js} +1 -1
- package/dist/lime-elements/{p-ce8be001.entry.js → p-23f7956e.entry.js} +1 -1
- package/dist/lime-elements/{p-7a47ecdc.entry.js → p-264f791d.entry.js} +1 -1
- package/dist/lime-elements/{p-690b9cf4.entry.js → p-2a5b259e.entry.js} +1 -1
- package/dist/lime-elements/{p-b857f209.entry.js → p-2c1538f0.entry.js} +1 -1
- package/dist/lime-elements/{p-48eb1ff2.entry.js → p-303d01e5.entry.js} +1 -1
- package/dist/lime-elements/{p-8850374d.entry.js → p-34ef71f2.entry.js} +1 -1
- package/dist/lime-elements/{p-3aa32860.entry.js → p-38fb97fe.entry.js} +1 -1
- package/dist/lime-elements/{p-ed20f52d.entry.js → p-3c933811.entry.js} +1 -1
- package/dist/lime-elements/{p-93c9b561.entry.js → p-4be18a57.entry.js} +1 -1
- package/dist/lime-elements/{p-94c76e12.entry.js → p-4beeec39.entry.js} +1 -1
- package/dist/lime-elements/{p-be4e99b4.entry.js → p-52bb74b9.entry.js} +1 -1
- package/dist/lime-elements/{p-70450a21.entry.js → p-52edfe86.entry.js} +1 -1
- package/dist/lime-elements/{p-846a1d26.entry.js → p-534fdf9b.entry.js} +1 -1
- package/dist/lime-elements/{p-6abc7ed8.entry.js → p-55596d9a.entry.js} +1 -1
- package/dist/lime-elements/{p-69fec8b9.entry.js → p-5d5f0a73.entry.js} +1 -1
- package/dist/lime-elements/{p-8c631f1e.entry.js → p-5ddeb498.entry.js} +1 -1
- package/dist/lime-elements/{p-7f50dd29.entry.js → p-6275668f.entry.js} +1 -1
- package/dist/lime-elements/{p-c127acfd.entry.js → p-6896d5c8.entry.js} +1 -1
- package/dist/lime-elements/{p-903c0e45.entry.js → p-68f49d6f.entry.js} +1 -1
- package/dist/lime-elements/p-693cbb67.entry.js +1 -0
- package/dist/lime-elements/{p-ea6204d1.entry.js → p-6951136b.entry.js} +1 -1
- package/dist/lime-elements/{p-a0ddf68a.entry.js → p-6aebcf60.entry.js} +1 -1
- package/dist/lime-elements/{p-638642a0.entry.js → p-6e3666e5.entry.js} +1 -1
- package/dist/lime-elements/{p-1f78b29b.entry.js → p-7457bc07.entry.js} +1 -1
- package/dist/lime-elements/{p-88519938.entry.js → p-7464e43d.entry.js} +1 -1
- package/dist/lime-elements/p-74fbf987.entry.js +1 -0
- package/dist/lime-elements/{p-ce82000d.entry.js → p-752df4bf.entry.js} +1 -1
- package/dist/lime-elements/p-7c37a99e.entry.js +1 -0
- package/dist/lime-elements/{p-8ba65d1b.entry.js → p-7d5bd4a2.entry.js} +1 -1
- package/dist/lime-elements/{p-df0892cd.entry.js → p-80d35f8f.entry.js} +1 -1
- package/dist/lime-elements/p-880b9683.entry.js +23 -0
- package/dist/lime-elements/{p-e50a1d0b.entry.js → p-88f503eb.entry.js} +1 -1
- package/dist/lime-elements/{p-99a9abf7.entry.js → p-8a2b2fac.entry.js} +1 -1
- package/dist/lime-elements/{p-9c80e222.entry.js → p-8db6b7d9.entry.js} +2 -2
- package/dist/lime-elements/{p-5028a09d.entry.js → p-927622ec.entry.js} +1 -1
- package/dist/lime-elements/{p-5054a30b.entry.js → p-9a8d6440.entry.js} +1 -1
- package/dist/lime-elements/{p-90688692.entry.js → p-9ea564fe.entry.js} +2 -2
- package/dist/lime-elements/{p-d22e07f0.entry.js → p-9ed578ec.entry.js} +1 -1
- package/dist/lime-elements/{p-ngNtOjhe.js → p-BlsZTyGA.js} +1 -1
- package/dist/lime-elements/{p-Db1TI5oK.js → p-Df0HAtSs.js} +1 -1
- package/dist/lime-elements/p-a6fae24d.entry.js +1 -0
- package/dist/lime-elements/{p-ddc25dd2.entry.js → p-abef62d7.entry.js} +1 -1
- package/dist/lime-elements/{p-e33c71b7.entry.js → p-aea52308.entry.js} +1 -1
- package/dist/lime-elements/{p-773a37c0.entry.js → p-bbaf35ce.entry.js} +1 -1
- package/dist/lime-elements/{p-e77059f2.entry.js → p-c118eac0.entry.js} +1 -1
- package/dist/lime-elements/{p-5cddb3df.entry.js → p-c9e934af.entry.js} +1 -1
- package/dist/lime-elements/{p-10900b3f.entry.js → p-cbb7d624.entry.js} +1 -1
- package/dist/lime-elements/p-d1fa6da3.entry.js +67 -0
- package/dist/lime-elements/{p-2b0cfd52.entry.js → p-d2123236.entry.js} +1 -1
- package/dist/lime-elements/p-d424688d.entry.js +1 -0
- package/dist/lime-elements/{p-1c97671b.entry.js → p-d6270e4a.entry.js} +1 -1
- package/dist/lime-elements/p-dd36d57b.entry.js +203 -0
- package/dist/lime-elements/p-e11c9b40.entry.js +1 -0
- package/dist/lime-elements/{p-23ef08cc.entry.js → p-e1656821.entry.js} +2 -2
- package/dist/lime-elements/p-e6d74062.entry.js +1 -0
- package/dist/lime-elements/{p-70ea6855.entry.js → p-ec42a4aa.entry.js} +1 -1
- package/dist/lime-elements/{p-2b1f729d.entry.js → p-f395fbe3.entry.js} +1 -1
- package/dist/lime-elements/{p-170fd367.entry.js → p-fc3209db.entry.js} +1 -1
- package/dist/lime-elements/p-feeae1e4.entry.js +1 -0
- package/dist/lime-elements/{p-BudcI_o9.js → p-xvTBZcD2.js} +1 -1
- package/dist/lime-elements/style/color-palette-primary.scss.bak +1 -1
- package/dist/lime-elements/style/color-palette-ui.scss.bak +1 -1
- package/dist/lime-elements/style/internal/fieldset.scss +2 -2
- package/package.json +1 -1
- package/dist/lime-elements/p-1691e794.entry.js +0 -1
- package/dist/lime-elements/p-1db54640.entry.js +0 -1
- package/dist/lime-elements/p-45304b5c.entry.js +0 -23
- package/dist/lime-elements/p-4ab87bae.entry.js +0 -1
- package/dist/lime-elements/p-7203e289.entry.js +0 -203
- package/dist/lime-elements/p-8408a45f.entry.js +0 -1
- package/dist/lime-elements/p-c18a8a9f.entry.js +0 -1
- package/dist/lime-elements/p-d73c300f.entry.js +0 -1
- package/dist/lime-elements/p-da63420d.entry.js +0 -67
- package/dist/lime-elements/p-de541d0f.entry.js +0 -1
- package/dist/lime-elements/p-e6e65d9d.entry.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as t,c as i,h as e,H as s,a as r}from"./p-BudcI_o9.js";import{h as o,c as a,a as h,d as n,e as l,b as u}from"./p-DMyO3At_.js";import{a as c}from"./p-ZcW3uvZL.js";import{b as d,a as b}from"./p-BgPHaiMH.js";import{i as p}from"./p-BJQylLSL.js";import{f as m,m as f,n as g,l as v,p as w,q as y}from"./p-DTNvx8HZ.js";import{g as x}from"./p-gWSB8lIW.js";import{n as k}from"./p-ooVD-6_a.js";import{_ as C}from"./p-C4zsCPOF.js";import{i as R}from"./p-DkL-aPMx.js";import{t as E}from"./p-6rJPElLH.js";import"./p-B8VKuhvH.js";import"./p-BOEi1C7r.js";import"./p-oiMYqRQ0.js";import"./p-CK4jS9_E.js";import"./p-Cs5T63LB.js";import"./p-f_1nwOC8.js";import"./p-efBXH4mj.js";import"./p-DtS35Df5.js";var z=Object.prototype.hasOwnProperty;function M(t){return d(t)?f(t,!0):function(t){if(!p(t))return function(t){var i=[];if(null!=t)for(var e in Object(t))i.push(e);return i}(t);var i=m(t),e=[];for(var s in t)("constructor"!=s||!i&&z.call(t,s))&&e.push(s);return e}(t)}var S=Object.getOwnPropertySymbols?function(t){for(var i=[];t;)v(i,w(t)),t=x(t);return i}:g,T=Object.prototype.hasOwnProperty;function D(t,i){return null!=t&&T.call(t,i)}function P(t,i,e){if(!p(t))return t;for(var s=-1,r=(i=a(i,t)).length,o=r-1,n=t;null!=n&&++s<r;){var l=h(i[s]),u=e;if("__proto__"===l||"constructor"===l||"prototype"===l)return t;if(s!=o){var d=n[l];void 0===(u=void 0)&&(u=p(d)?d:b(i[s+1])?[]:{})}c(n,l,u),n=n[l]}return t}function F(t,i){if(null==t)return{};var e=l(function(t){return y(t,M,S)}(t),(function(t){return[t]}));return i=u(i),function(t,i,e){for(var s=-1,r=i.length,o={};++s<r;){var h=i[s],l=n(t,h);e(l,h)&&P(o,a(h,t),l)}return o}(t,e,(function(t,e){return i(t,e[0])}))}class j{constructor(t){this.table=t}reloadData(t,i,e){return this.table.dataLoader.load(t,void 0,void 0,void 0,i,e)}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(t){return this.table.modules.layout.layout(t)}subscribe(){return this.table.eventBus.subscribe(...arguments)}unsubscribe(){return this.table.eventBus.unsubscribe(...arguments)}subscribed(t){return this.table.eventBus.subscribed(t)}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(t){return this.table.externalEvents.subscribed(t)}subscriptionChangeExternal(){return this.table.externalEvents.subscriptionChange(...arguments)}options(t){return this.table.options[t]}setOption(t,i){return void 0!==i&&(this.table.options[t]=i),this.table.options[t]}deprecationCheck(t,i,e){return this.table.deprecationAdvisor.check(t,i,e)}deprecationCheckMsg(t,i){return this.table.deprecationAdvisor.checkMsg(t,i)}deprecationMsg(t){return this.table.deprecationAdvisor.msg(t)}module(t){return this.table.module(t)}}class N{static elVisible(t){return!(t.offsetWidth<=0&&t.offsetHeight<=0)}static elOffset(t){var i=t.getBoundingClientRect();return{top:i.top+window.pageYOffset-document.documentElement.clientTop,left:i.left+window.pageXOffset-document.documentElement.clientLeft}}static retrieveNestedData(t,i,e){var s,r=t?i.split(t):[i],o=r.length;for(let t=0;t<o&&(s=e=e[r[t]],e);t++);return s}static deepClone(t,i,e=[]){var s={}.__proto__,r=[].__proto__;for(var o in i||(i=Object.assign(Array.isArray(t)?[]:{},t)),t){let a,h,n=t[o];null==n||"object"!=typeof n||n.__proto__!==s&&n.__proto__!==r||(a=e.findIndex((t=>t.subject===n)),a>-1?i[o]=e[a].copy:(h=Object.assign(Array.isArray(n)?[]:{},n),e.unshift({subject:n,copy:h}),i[o]=this.deepClone(n,h,e)))}return i}}let O=class t extends j{constructor(t,i,e){super(t),this.element=i,this.container=this._lookupContainer(),this.parent=e,this.reversedX=!1,this.childPopup=null,this.blurable=!1,this.blurCallback=null,this.blurEventsBound=!1,this.renderedCallback=null,this.visible=!1,this.hideable=!0,this.element.classList.add("tabulator-popup-container"),this.blurEvent=this.hide.bind(this,!1),this.escEvent=this._escapeCheck.bind(this),this.destroyBinding=this.tableDestroyed.bind(this),this.destroyed=!1}tableDestroyed(){this.destroyed=!0,this.hide(!0)}_lookupContainer(){var t=this.table.options.popupContainer;return"string"==typeof t?(t=document.querySelector(t))||console.warn("Menu Error - no container element found matching selector:",this.table.options.popupContainer,"(defaulting to document body)"):!0===t&&(t=this.table.element),t&&!this._checkContainerIsParent(t)&&(t=!1,console.warn("Menu Error - container element does not contain this table:",this.table.options.popupContainer,"(defaulting to document body)")),t||(t=document.body),t}_checkContainerIsParent(t,i=this.table.element){return t===i||!!i.parentNode&&this._checkContainerIsParent(t,i.parentNode)}renderCallback(t){this.renderedCallback=t}containerEventCoords(t){var i=!(t instanceof MouseEvent),e=i?t.touches[0].pageX:t.pageX,s=i?t.touches[0].pageY:t.pageY;if(this.container!==document.body){let t=N.elOffset(this.container);e-=t.left,s-=t.top}return{x:e,y:s}}elementPositionCoords(t,i="right"){var e,s,r,o=N.elOffset(t);switch(this.container!==document.body&&(e=N.elOffset(this.container),o.left-=e.left,o.top-=e.top),i){case"right":s=o.left+t.offsetWidth,r=o.top-1;break;case"bottom":s=o.left,r=o.top+t.offsetHeight;break;case"left":s=o.left,r=o.top-1;break;case"top":s=o.left,r=o.top;break;case"center":s=o.left+t.offsetWidth/2,r=o.top+t.offsetHeight/2}return{x:s,y:r,offset:o}}show(t,i){var e,s,r,o,a;return this.destroyed||this.table.destroyed||(t instanceof HTMLElement?(r=t,o=(a=this.elementPositionCoords(t,i)).offset,e=a.x,s=a.y):"number"==typeof t?(o={top:0,left:0},e=t,s=i):(e=(a=this.containerEventCoords(t)).x,s=a.y,this.reversedX=!1),this.element.style.top=s+"px",this.element.style.left=e+"px",this.container.appendChild(this.element),"function"==typeof this.renderedCallback&&this.renderedCallback(),this._fitToScreen(e,s,r,o,i),this.visible=!0,this.subscribe("table-destroy",this.destroyBinding),this.element.addEventListener("mousedown",(t=>{t.stopPropagation()}))),this}_fitToScreen(t,i,e,s,r){var o=this.container===document.body?document.documentElement.scrollTop:this.container.scrollTop;(t+this.element.offsetWidth>=this.container.offsetWidth||this.reversedX)&&(this.element.style.left="",this.element.style.right=e?this.container.offsetWidth-s.left+"px":this.container.offsetWidth-t+"px",this.reversedX=!0);let a=Math.max(this.container.offsetHeight,o?this.container.scrollHeight:0);i+this.element.offsetHeight>a&&(e?this.element.style.top="bottom"===r?parseInt(this.element.style.top)-this.element.offsetHeight-e.offsetHeight-1+"px":parseInt(this.element.style.top)-this.element.offsetHeight+e.offsetHeight+1+"px":this.element.style.height=a+"px")}isVisible(){return this.visible}hideOnBlur(t){return this.blurable=!0,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=!0)}),100),this.blurCallback=t),this}_escapeCheck(t){27==t.keyCode&&this.hide()}blockHide(){this.hideable=!1}restoreHide(){this.hideable=!0}hide(t=!1){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=!1),this.childPopup&&this.childPopup.hide(),this.parent&&(this.parent.childPopup=null),this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.visible=!1,this.blurCallback&&!t&&this.blurCallback(),this.unsubscribe("table-destroy",this.destroyBinding)),this}child(i){return this.childPopup&&this.childPopup.hide(),this.childPopup=new t(this.table,i,this),this.childPopup}};class H extends j{constructor(t,i){super(t),this._handler=null}initialize(){}registerTableOption(t,i){this.table.optionsList.register(t,i)}registerColumnOption(t,i){this.table.columnManager.optionsList.register(t,i)}registerTableFunction(t,i){void 0===this.table[t]?this.table[t]=(...e)=>(this.table.initGuard(t),i(...e)):console.warn("Unable to bind table function, name already in use",t)}registerComponentFunction(t,i,e){return this.table.componentFunctionBinder.bind(t,i,e)}registerDataHandler(t,i){this.table.rowManager.registerDataPipelineHandler(t,i),this._handler=t}registerDisplayHandler(t,i){this.table.rowManager.registerDisplayPipelineHandler(t,i),this._handler=t}displayRows(t){var i,e=this.table.rowManager.displayRows.length-1;if(this._handler&&(i=this.table.rowManager.displayPipeline.findIndex((t=>t.handler===this._handler)))>-1&&(e=i),t&&(e+=t),this._handler)return e>-1?this.table.rowManager.getDisplayRows(e):this.activeRows()}activeRows(){return this.table.rowManager.activeRows}refreshData(t,i){i||(i=this._handler),i&&this.table.rowManager.refreshActiveData(i,!1,t)}footerAppend(t){return this.table.footerManager.append(t)}footerPrepend(t){return this.table.footerManager.prepend(t)}footerRemove(t){return this.table.footerManager.remove(t)}popup(t,i){return new O(this.table,t,i)}alert(t,i){return this.table.alertManager.alert(t,i)}clearAlert(){return this.table.alertManager.clear()}}var _={rownum:function(t,i,e,s,r,o){return o.getPosition()}};class L extends H{static moduleName="accessor";static accessors=_;constructor(t){super(t),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(t){var i=!1,e={};this.allowedTypes.forEach((s=>{var r,o="accessor"+(s.charAt(0).toUpperCase()+s.slice(1));t.definition[o]&&(r=this.lookupAccessor(t.definition[o]))&&(i=!0,e[o]={accessor:r,params:t.definition[o+"Params"]||{}})})),i&&(t.modules.accessor=e)}lookupAccessor(t){var i=!1;switch(typeof t){case"string":L.accessors[t]?i=L.accessors[t]:console.warn("Accessor Error - No such accessor found, ignoring: ",t);break;case"function":i=t}return i}transformRow(t,i){var e="accessor"+(i.charAt(0).toUpperCase()+i.slice(1)),s=t.getComponent(),r=N.deepClone(t.data||{});return this.table.columnManager.traverse((function(t){var o,a,h,n;t.modules.accessor&&(a=t.modules.accessor[e]||t.modules.accessor.accessor||!1)&&"undefined"!=(o=t.getFieldValue(r))&&(n=t.getComponent(),h="function"==typeof a.params?a.params(o,r,i,n,s):a.params,t.setFieldValue(r,a.accessor(o,r,i,h,n,s)))})),r}}var A={method:"GET"};function I(t,i){var e=[];if(i=i||"",Array.isArray(t))t.forEach(((t,s)=>{e=e.concat(I(t,i?i+"["+s+"]":s))}));else if("object"==typeof t)for(var s in t)e=e.concat(I(t[s],i?i+"["+s+"]":s));else e.push({key:i,value:t});return e}function V(t){var i=I(t),e=[];return i.forEach((function(t){e.push(encodeURIComponent(t.key)+"="+encodeURIComponent(t.value))})),e.join("&")}function U(t,i,e){return t&&e&&Object.keys(e).length&&(i.method&&"get"!=i.method.toLowerCase()||(i.method="get",t+=(t.includes("?")?"&":"?")+V(e))),t}function B(t,i,e){var s;return new Promise(((r,o)=>{if(t=this.urlGenerator.call(this.table,t,i,e),"GET"!=i.method.toUpperCase())if(s="object"==typeof this.table.options.ajaxContentType?this.table.options.ajaxContentType:this.contentTypeFormatters[this.table.options.ajaxContentType]){for(var a in s.headers)i.headers||(i.headers={}),void 0===i.headers[a]&&(i.headers[a]=s.headers[a]);i.body=s.body.call(this,t,i,e)}else console.warn("Ajax Error - Invalid ajaxContentType value:",this.table.options.ajaxContentType);t?(void 0===i.headers&&(i.headers={}),void 0===i.headers.Accept&&(i.headers.Accept="application/json"),void 0===i.headers["X-Requested-With"]&&(i.headers["X-Requested-With"]="XMLHttpRequest"),void 0===i.mode&&(i.mode="cors"),"cors"==i.mode?(void 0===i.headers.Origin&&(i.headers.Origin=window.location.origin),void 0===i.credentials&&(i.credentials="same-origin")):void 0===i.credentials&&(i.credentials="include"),fetch(t,i).then((t=>{t.ok?t.json().then((t=>{r(t)})).catch((t=>{o(t),console.warn("Ajax Load Error - Invalid JSON returned",t)})):(console.error("Ajax Load Error - Connection Error: "+t.status,t.statusText),o(t))})).catch((t=>{console.error("Ajax Load Error - Connection Error: ",t),o(t)}))):(console.warn("Ajax Load Error - No URL Set"),r([]))}))}function G(t,i){var e=[];if(i=i||"",Array.isArray(t))t.forEach(((t,s)=>{e=e.concat(G(t,i?i+"["+s+"]":s))}));else if("object"==typeof t)for(var s in t)e=e.concat(G(t[s],i?i+"["+s+"]":s));else e.push({key:i,value:t});return e}var W={json:{headers:{"Content-Type":"application/json"},body:function(t,i,e){return JSON.stringify(e)}},form:{headers:{},body:function(t,i,e){var s=G(e),r=new FormData;return s.forEach((function(t){r.append(t.key,t.value)})),r}}};class J extends H{static moduleName="ajax";static defaultConfig=A;static defaultURLGenerator=U;static defaultLoaderPromise=B;static contentTypeFormatters=W;constructor(t){super(t),this.config={},this.url="",this.urlGenerator=!1,this.params=!1,this.loaderPromise=!1,this.registerTableOption("ajaxURL",!1),this.registerTableOption("ajaxURLGenerator",!1),this.registerTableOption("ajaxParams",{}),this.registerTableOption("ajaxConfig","get"),this.registerTableOption("ajaxContentType","form"),this.registerTableOption("ajaxRequestFunc",!1),this.registerTableOption("ajaxRequesting",(function(){})),this.registerTableOption("ajaxResponse",!1),this.contentTypeFormatters=J.contentTypeFormatters}initialize(){this.loaderPromise=this.table.options.ajaxRequestFunc||J.defaultLoaderPromise,this.urlGenerator=this.table.options.ajaxURLGenerator||J.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(t,i,e,s){var r=this.table.options.ajaxParams;return r&&("function"==typeof r&&(r=r.call(this.table)),s=Object.assign(Object.assign({},r),s)),s}requestDataCheck(t,i,e,s){return!((t||!this.url)&&"string"!=typeof t)}requestData(t,i,e,s,r){var o;return!r&&this.requestDataCheck(t)?(t&&this.setUrl(t),o=this.generateConfig(e),this.sendRequest(this.url,i,o)):r}setDefaultConfig(t={}){this.config=Object.assign({},J.defaultConfig),"string"==typeof t?this.config.method=t:Object.assign(this.config,t)}generateConfig(t={}){var i=Object.assign({},this.config);return"string"==typeof t?i.method=t:Object.assign(i,t),i}setUrl(t){this.url=t}getUrl(){return this.url}sendRequest(t,i,e){return!1!==this.table.options.ajaxRequesting.call(this.table,t,i)?this.loaderPromise(t,e,i).then((e=>(this.table.options.ajaxResponse&&(e=this.table.options.ajaxResponse.call(this.table,t,i,e)),e))):Promise.reject()}}var q={replace:function(t){return this.table.setData(t)},update:function(t){return this.table.updateOrAddData(t)},insert:function(t){return this.table.addData(t)}},Z={table:function(t){var i=[],e=!0,s=this.table.columnManager.columns,r=[],o=[];return(t=t.split("\n")).forEach((function(t){i.push(t.split("\t"))})),!(!i.length||1===i.length&&i[0].length<2)&&(i[0].forEach((function(t){var i=s.find((function(i){return t&&i.definition.title&&t.trim()&&i.definition.title.trim()===t.trim()}));i?r.push(i):e=!1})),e||(e=!0,r=[],i[0].forEach((function(t){var i=s.find((function(i){return t&&i.field&&t.trim()&&i.field.trim()===t.trim()}));i?r.push(i):e=!1})),e||(r=this.table.columnManager.columnsByIndex)),e&&i.shift(),i.forEach((function(t){var i={};t.forEach((function(t,e){r[e]&&(i[r[e].field]=t)})),o.push(i)})),o)}},K={keybindings:{bindings:{copyToClipboard:["ctrl + 67","meta + 67"]},actions:{copyToClipboard:function(){this.table.modules.edit.currentCell||this.table.modExists("clipboard",!0)&&this.table.modules.clipboard.copy(!1,!0)}}}};class $ extends H{static moduleName="clipboard";static moduleExtensions=K;static pasteActions=q;static pasteParsers=Z;constructor(t){super(t),this.mode=!0,this.pasteParser=function(){},this.pasteAction=function(){},this.customSelection=!1,this.rowRange=!1,this.blocked=!0,this.registerTableOption("clipboard",!1),this.registerTableOption("clipboardCopyStyled",!0),this.registerTableOption("clipboardCopyConfig",!1),this.registerTableOption("clipboardCopyFormatter",!1),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,!0!==this.mode&&"copy"!==this.mode||this.table.element.addEventListener("copy",(t=>{var i,e,s;this.blocked||(t.preventDefault(),this.customSelection?(i=this.customSelection,this.table.options.clipboardCopyFormatter&&(i=this.table.options.clipboardCopyFormatter("plain",i))):(s=this.table.modules.export.generateExportList(this.table.options.clipboardCopyConfig,this.table.options.clipboardCopyStyled,this.rowRange,"clipboard"),i=(e=this.table.modules.export.generateHTMLTable(s))?this.generatePlainContent(s):"",this.table.options.clipboardCopyFormatter&&(i=this.table.options.clipboardCopyFormatter("plain",i),e=this.table.options.clipboardCopyFormatter("html",e))),window.clipboardData&&window.clipboardData.setData?window.clipboardData.setData("Text",i):t.clipboardData&&t.clipboardData.setData?(t.clipboardData.setData("text/plain",i),e&&t.clipboardData.setData("text/html",e)):t.originalEvent&&t.originalEvent.clipboardData.setData&&(t.originalEvent.clipboardData.setData("text/plain",i),e&&t.originalEvent.clipboardData.setData("text/html",e)),this.dispatchExternal("clipboardCopied",i,e),this.reset())})),!0!==this.mode&&"paste"!==this.mode||this.table.element.addEventListener("paste",(t=>{this.paste(t)})),this.setPasteParser(this.table.options.clipboardPasteParser),this.setPasteAction(this.table.options.clipboardPasteAction),this.registerTableFunction("copyToClipboard",this.copy.bind(this))}reset(){this.blocked=!0,this.customSelection=!1}generatePlainContent(t){var i=[];return t.forEach((t=>{var e=[];t.columns.forEach((i=>{var s="";if(i)if("group"===t.type&&(i.value=i.component.getKey()),null===i.value)s="";else switch(typeof i.value){case"object":s=JSON.stringify(i.value);break;case"undefined":s="";break;default:s=i.value}e.push(s)})),i.push(e.join("\t"))})),i.join("\n")}copy(t,i){var e,s;this.blocked=!1,this.customSelection=!1,!0!==this.mode&&"copy"!==this.mode||(this.rowRange=t||this.table.options.clipboardCopyRowRange,void 0!==window.getSelection&&void 0!==document.createRange?((t=document.createRange()).selectNodeContents(this.table.element),(e=window.getSelection()).toString()&&i&&(this.customSelection=e.toString()),e.removeAllRanges(),e.addRange(t)):void 0!==document.selection&&void 0!==document.body.createTextRange&&((s=document.body.createTextRange()).moveToElementText(this.table.element),s.select()),document.execCommand("copy"),e&&e.removeAllRanges())}setPasteAction(t){switch(typeof t){case"string":this.pasteAction=$.pasteActions[t],this.pasteAction||console.warn("Clipboard Error - No such paste action found:",t);break;case"function":this.pasteAction=t}}setPasteParser(t){switch(typeof t){case"string":this.pasteParser=$.pasteParsers[t],this.pasteParser||console.warn("Clipboard Error - No such paste parser found:",t);break;case"function":this.pasteParser=t}}paste(t){var i,e,s;this.checkPasteOrigin(t)&&(i=this.getPasteData(t),(e=this.pasteParser.call(this,i))?(t.preventDefault(),this.table.modExists("mutator")&&(e=this.mutateData(e)),s=this.pasteAction.call(this,e),this.dispatchExternal("clipboardPasted",i,e,s)):this.dispatchExternal("clipboardPasteError",i))}mutateData(t){var i=[];return Array.isArray(t)?t.forEach((t=>{i.push(this.table.modules.mutator.transformRow(t,"clipboard"))})):i=t,i}checkPasteOrigin(t){var i=!0;return!this.confirm("clipboard-paste",[t])&&["DIV","SPAN"].includes(t.target.tagName)||(i=!1),i}getPasteData(t){var i;return window.clipboardData&&window.clipboardData.getData?i=window.clipboardData.getData("Text"):t.clipboardData&&t.clipboardData.getData?i=t.clipboardData.getData("text/plain"):t.originalEvent&&t.originalEvent.clipboardData.getData&&(i=t.originalEvent.clipboardData.getData("text/plain")),i}}class X{constructor(t){return this._row=t,new Proxy(this,{get:function(t,i){return void 0!==t[i]?t[i]:t._row.table.componentFunctionBinder.handle("row",t._row,i)}})}getData(t){return this._row.getData(t)}getElement(){return this._row.getElement()}getTable(){return this._row.table}getCells(){var t=[];return this._row.getCells().forEach((function(i){t.push(i.getComponent())})),t}getCell(t){var i=this._row.getCell(t);return!!i&&i.getComponent()}_getSelf(){return this._row}}class Y{constructor(t){return this._cell=t,new Proxy(this,{get:function(t,i){return void 0!==t[i]?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(t){return this._cell.row.getData(t)}getType(){return"cell"}getField(){return this._cell.column.getField()}getColumn(){return this._cell.column.getComponent()}setValue(t,i){void 0===i&&(i=!0),this._cell.setValue(t,i)}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}}class Q extends j{constructor(t,i){super(t.table),this.table=t.table,this.column=t,this.row=i,this.element=null,this.value=null,this.oldValue=null,this.modules={},this.height=null,this.width=null,this.minWidth=null,this.component=null,this.loaded=!1,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"),this.column.isRowHeader&&this.element.classList.add("tabulator-row-header")}_configureCell(){var t=this.element,i=this.column.getField();t.style.textAlign=this.column.hozAlign,this.column.vertAlign&&(t.style.display="inline-flex",t.style.alignItems={top:"flex-start",bottom:"flex-end",middle:"center"}[this.column.vertAlign]||"",this.column.hozAlign&&(t.style.justifyContent={left:"flex-start",right:"flex-end",center:"center"}[this.column.hozAlign]||"")),i&&t.setAttribute("tabulator-field",i),this.column.definition.cssClass&&this.column.definition.cssClass.split(" ").forEach((i=>{t.classList.add(i)})),this.dispatch("cell-init",this),this.column.visible||this.hide()}_generateContents(){var t;switch(typeof(t=this.chain("cell-format",this,null,(()=>this.element.innerHTML=this.value)))){case"object":if(t instanceof Node){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.element.appendChild(t)}else this.element.innerHTML="",null!=t&&console.warn("Format Error - Formatter has returned a type of object, the only valid formatter object return is an instance of Node, the formatter returned:",t);break;case"undefined":this.element.innerHTML="";break;default:this.element.innerHTML=t}}cellRendered(){this.dispatch("cell-rendered",this)}getElement(t){return this.loaded||(this.loaded=!0,t||this.layoutElement()),this.element}getValue(){return this.value}getOldValue(){return this.oldValue}setValue(t,i,e){this.setValueProcessData(t,i,e)&&(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(t,i,e){var s=!1;return(this.value!==t||e)&&(s=!0,i&&(t=this.chain("cell-value-changing",[this,t],null,t))),this.setValueActual(t),s&&this.dispatch("cell-value-changed",this),s}setValueActual(t){this.oldValue=this.value,this.value=t,this.dispatch("cell-value-save-before",this),this.column.setFieldValue(this.row.data,t),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=!1,this.column.deleteCell(this),this.row.deleteCell(this),this.calcs={}}getIndex(){return this.row.getCellIndex(this)}getComponent(){return this.component||(this.component=new Y(this)),this.component}}class tt{constructor(t){return this._column=t,this.type="ColumnComponent",new Proxy(this,{get:function(t,i){return void 0!==t[i]?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 t=[];return this._column.cells.forEach((function(i){t.push(i.getComponent())})),t}isVisible(){return this._column.visible}show(){this._column.isGroup?this._column.columns.forEach((function(t){t.show()})):this._column.show()}hide(){this._column.isGroup?this._column.columns.forEach((function(t){t.hide()})):this._column.hide()}toggle(){this._column.visible?this.hide():this.show()}delete(){return this._column.delete()}getSubColumns(){var t=[];return this._column.columns.length&&this._column.columns.forEach((function(i){t.push(i.getComponent())})),t}getParentColumn(){return this._column.getParentComponent()}_getSelf(){return this._column}scrollTo(t,i){return this._column.table.columnManager.scrollToColumn(this._column,t,i)}getTable(){return this._column.table}move(t,i){var e=this._column.table.columnManager.findColumn(t);e?this._column.table.columnManager.moveColumn(this._column,e,i):console.warn("Move Error - No matching column found:",e)}getNextColumn(){var t=this._column.nextColumn();return!!t&&t.getComponent()}getPrevColumn(){var t=this._column.prevColumn();return!!t&&t.getComponent()}updateDefinition(t){return this._column.updateDefinition(t)}getWidth(){return this._column.getWidth()}setWidth(t){var i;return i=!0===t?this._column.reinitializeWidth(!0):this._column.setWidth(t),this._column.table.columnManager.rerenderColumns(!0),i}}var it={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:!1,editableTitle:void 0};class et extends j{static defaultOptionList=it;constructor(t,i,e){super(i.table),this.definition=t,this.parent=i,this.type="column",this.columns=[],this.cells=[],this.isGroup=!1,this.isRowHeader=e,this.element=this.createElement(),this.contentElement=!1,this.titleHolderElement=!1,this.titleElement=!1,this.groupElement=this.createGroupElement(),this.hozAlign="",this.vertAlign="",this.field="",this.fieldStructure="",this.getFieldValue="",this.setFieldValue="",this.titleDownload=null,this.titleFormatterRendered=!1,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=!1,this.visible=!0,this.component=null,this.definition.columns?(this.isGroup=!0,this.definition.columns.forEach((t=>{var i=new et(t,this);this.attachColumn(i)})),this.checkColumnVisibility()):i.registerColumnField(this),this._initialize()}createElement(){var t=document.createElement("div");switch(t.classList.add("tabulator-col"),t.setAttribute("role","columnheader"),t.setAttribute("aria-sort","none"),this.isRowHeader&&t.classList.add("tabulator-row-header"),this.table.options.columnHeaderVertAlign){case"middle":t.style.justifyContent="center";break;case"bottom":t.style.justifyContent="flex-end"}return t}createGroupElement(){var t=document.createElement("div");return t.classList.add("tabulator-col-group-cols"),t}mapDefinitions(){var t=this.table.options.columnDefaults;if(t)for(let i in t)void 0===this.definition[i]&&(this.definition[i]=t[i]);this.definition=this.table.columnManager.optionsList.generate(et.defaultOptionList,this.definition)}checkDefinition(){Object.keys(this.definition).forEach((t=>{-1===et.defaultOptionList.indexOf(t)&&console.warn("Invalid column definition option in '"+(this.field||this.definition.title)+"' column:",t)}))}setField(t){this.field=t,this.fieldStructure=t?this.table.options.nestedFieldSeparator?t.split(this.table.options.nestedFieldSeparator):[t]:[],this.getFieldValue=this.fieldStructure.length>1?this._getNestedData:this._getFlatData,this.setFieldValue=this.fieldStructure.length>1?this._setNestedData:this._setFlatData}registerColumnPosition(t){this.parent.registerColumnPosition(t)}registerColumnField(t){this.parent.registerColumnField(t)}reRegisterPosition(){this.isGroup?this.columns.forEach((function(t){t.reRegisterPosition()})):this.registerColumnPosition(this)}_initialize(){for(var t=this.definition;this.element.firstChild;)this.element.removeChild(this.element.firstChild);t.headerVertical&&(this.element.classList.add("tabulator-col-vertical"),"flip"===t.headerVertical&&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 t=this.definition;this.dispatch("column-layout",this),void 0!==t.visible&&(t.visible?this.show(!0):this.hide(!0)),t.cssClass&&t.cssClass.split(" ").forEach((t=>{this.element.classList.add(t)})),t.field&&this.element.setAttribute("tabulator-field",t.field),this.setMinWidth(parseInt(t.minWidth)),t.maxInitialWidth&&(this.maxInitialWidth=parseInt(t.maxInitialWidth)),t.maxWidth&&this.setMaxWidth(parseInt(t.maxWidth)),this.reinitializeWidth(),this.hozAlign=this.definition.hozAlign,this.vertAlign=this.definition.vertAlign,this.titleElement.style.textAlign=this.definition.headerHozAlign}_buildColumnHeaderContent(){var t=document.createElement("div");return t.classList.add("tabulator-col-content"),this.titleHolderElement=document.createElement("div"),this.titleHolderElement.classList.add("tabulator-col-title-holder"),t.appendChild(this.titleHolderElement),this.titleElement=this._buildColumnHeaderTitle(),this.titleHolderElement.appendChild(this.titleElement),t}_buildColumnHeaderTitle(){var t=this.definition,i=document.createElement("div");if(i.classList.add("tabulator-col-title"),t.headerWordWrap&&i.classList.add("tabulator-col-title-wrap"),t.editableTitle){var e=document.createElement("input");e.classList.add("tabulator-title-editor"),e.addEventListener("click",(t=>{t.stopPropagation(),e.focus()})),e.addEventListener("mousedown",(t=>{t.stopPropagation()})),e.addEventListener("change",(()=>{t.title=e.value,this.dispatchExternal("columnTitleChanged",this.getComponent())})),i.appendChild(e),t.field?this.langBind("columns|"+t.field,(i=>{e.value=i||t.title||" "})):e.value=t.title||" "}else t.field?this.langBind("columns|"+t.field,(e=>{this._formatColumnHeaderTitle(i,e||t.title||" ")})):this._formatColumnHeaderTitle(i,t.title||" ");return i}_formatColumnHeaderTitle(t,i){var e=this.chain("column-format",[this,i,t],null,(()=>i));switch(typeof e){case"object":e instanceof Node?t.appendChild(e):(t.innerHTML="",console.warn("Format Error - Title formatter has returned a type of object, the only valid formatter object return is an instance of Node, the formatter returned:",e));break;case"undefined":t.innerHTML="";break;default:t.innerHTML=e}}_buildGroupHeader(){this.element.classList.add("tabulator-col-group"),this.element.setAttribute("role","columngroup"),this.element.setAttribute("aria-title",this.definition.title),this.definition.cssClass&&this.definition.cssClass.split(" ").forEach((t=>{this.element.classList.add(t)})),this.titleElement.style.textAlign=this.definition.headerHozAlign,this.element.appendChild(this.groupElement)}_getFlatData(t){return t[this.field]}_getNestedData(t){var i,e=t,s=this.fieldStructure,r=s.length;for(let t=0;t<r&&(i=e=e[s[t]],e);t++);return i}_setFlatData(t,i){this.field&&(t[this.field]=i)}_setNestedData(t,i){var e=t,s=this.fieldStructure,r=s.length;for(let t=0;t<r;t++)if(t==r-1)e[s[t]]=i;else{if(!e[s[t]]){if(void 0===i)break;e[s[t]]={}}e=e[s[t]]}}attachColumn(t){this.groupElement?(this.columns.push(t),this.groupElement.appendChild(t.getElement()),t.columnRendered()):console.warn("Column Warning - Column being attached to another column instead of column group")}verticalAlign(t,i){var e=this.parent.isGroup?this.parent.getGroupElement().clientHeight:i||this.parent.getHeadersElement().clientHeight;this.element.style.height=e+"px",this.dispatch("column-height",this,this.element.style.height),this.isGroup&&(this.groupElement.style.minHeight=e-this.contentElement.offsetHeight+"px"),this.columns.forEach((function(i){i.verticalAlign(t)}))}clearVerticalAlign(){this.element.style.paddingTop="",this.element.style.height="",this.element.style.minHeight="",this.groupElement.style.minHeight="",this.columns.forEach((function(t){t.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():this}getLastColumn(){return this.isGroup?!!this.columns.length&&this.columns[this.columns.length-1].getLastColumn():this}getColumns(t){var i=[];return t?this.columns.forEach((t=>{i.push(t),i=i.concat(t.getColumns(!0))})):i=this.columns,i}getCells(){return this.cells}getTopColumn(){return this.parent.isGroup?this.parent.getTopColumn():this}getDefinition(t){var i=[];return this.isGroup&&t&&(this.columns.forEach((function(t){i.push(t.getDefinition(!0))})),this.definition.columns=i),this.definition}checkColumnVisibility(){var t=!1;this.columns.forEach((function(i){i.visible&&(t=!0)})),t?(this.show(),this.dispatchExternal("columnVisibilityChanged",this.getComponent(),!1)):this.hide()}show(t,i){this.visible||(this.visible=!0,this.element.style.display="",this.parent.isGroup&&this.parent.checkColumnVisibility(),this.cells.forEach((function(t){t.show()})),this.isGroup||null!==this.width||this.reinitializeWidth(),this.table.columnManager.verticalAlignHeaders(),this.dispatch("column-show",this,i),t||this.dispatchExternal("columnVisibilityChanged",this.getComponent(),!0),this.parent.isGroup&&this.parent.matchChildWidths(),this.silent||this.table.columnManager.rerenderColumns())}hide(t,i){this.visible&&(this.visible=!1,this.element.style.display="none",this.table.columnManager.verticalAlignHeaders(),this.parent.isGroup&&this.parent.checkColumnVisibility(),this.cells.forEach((function(t){t.hide()})),this.dispatch("column-hide",this,i),t||this.dispatchExternal("columnVisibilityChanged",this.getComponent(),!1),this.parent.isGroup&&this.parent.matchChildWidths(),this.silent||this.table.columnManager.rerenderColumns())}matchChildWidths(){var t=0;this.contentElement&&this.columns.length&&(this.columns.forEach((function(i){i.visible&&(t+=i.getWidth())})),this.contentElement.style.maxWidth=t-1+"px",this.table.initialized&&(this.element.style.width=t+"px"),this.parent.isGroup&&this.parent.matchChildWidths())}removeChild(t){var i=this.columns.indexOf(t);i>-1&&this.columns.splice(i,1),this.columns.length||this.delete()}setWidth(t){this.widthFixed=!0,this.setWidthActual(t)}setWidthActual(t){isNaN(t)&&(t=Math.floor(this.table.element.clientWidth/100*parseInt(t))),t=Math.max(this.minWidth,t),this.maxWidth&&(t=Math.min(this.maxWidth,t)),this.width=t,this.widthStyled=t?t+"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),this.subscribedExternal("columnWidth")&&this.dispatchExternal("columnWidth",this.getComponent())}checkCellHeights(){var t=[];this.cells.forEach((function(i){i.row.heightInitialized&&(null!==i.row.getElement().offsetParent?(t.push(i.row),i.row.clearCellHeight()):i.row.heightInitialized=!1)})),t.forEach((function(t){t.calcHeight()})),t.forEach((function(t){t.setCellHeight()}))}getWidth(){var t=0;return this.isGroup?this.columns.forEach((function(i){i.visible&&(t+=i.getWidth())})):t=this.width,t}getLeftOffset(){var t=this.element.offsetLeft;return this.parent.isGroup&&(t+=this.parent.getLeftOffset()),t}getHeight(){return Math.ceil(this.element.getBoundingClientRect().height)}setMinWidth(t){this.maxWidth&&t>this.maxWidth&&(t=this.maxWidth,console.warn("the minWidth ("+t+"px) for column '"+this.field+"' cannot be bigger that its maxWidth ("+this.maxWidthStyled+")")),this.minWidth=t,this.minWidthStyled=t?t+"px":"",this.element.style.minWidth=this.minWidthStyled,this.cells.forEach((function(t){t.setMinWidth()}))}setMaxWidth(t){this.minWidth&&t<this.minWidth&&(t=this.minWidth,console.warn("the maxWidth ("+t+"px) for column '"+this.field+"' cannot be smaller that its minWidth ("+this.minWidthStyled+")")),this.maxWidth=t,this.maxWidthStyled=t?t+"px":"",this.element.style.maxWidth=this.maxWidthStyled,this.cells.forEach((function(t){t.setMaxWidth()}))}delete(){return new Promise((t=>{this.isGroup&&this.columns.forEach((function(t){t.delete()})),this.dispatch("column-delete",this);var i=this.cells.length;for(let t=0;t<i;t++)this.cells[0].delete();this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.element=!1,this.contentElement=!1,this.titleElement=!1,this.groupElement=!1,this.parent.isGroup&&this.parent.removeChild(this),this.table.columnManager.deregisterColumn(this),this.table.columnManager.rerenderColumns(!0),this.dispatch("column-deleted",this),t()}))}columnRendered(){this.titleFormatterRendered&&this.titleFormatterRendered(),this.dispatch("column-rendered",this)}generateCell(t){var i=new Q(this,t);return this.cells.push(i),i}nextColumn(){var t=this.table.columnManager.findColumnIndex(this);return t>-1&&this._nextVisibleColumn(t+1)}_nextVisibleColumn(t){var i=this.table.columnManager.getColumnByIndex(t);return!i||i.visible?i:this._nextVisibleColumn(t+1)}prevColumn(){var t=this.table.columnManager.findColumnIndex(this);return t>-1&&this._prevVisibleColumn(t-1)}_prevVisibleColumn(t){var i=this.table.columnManager.getColumnByIndex(t);return!i||i.visible?i:this._prevVisibleColumn(t-1)}reinitializeWidth(t){this.widthFixed=!1,void 0===this.definition.width||t||this.setWidth(this.definition.width),this.dispatch("column-width-fit-before",this),this.fitToData(t),this.dispatch("column-width-fit-after",this)}fitToData(t){if(!this.isGroup){this.widthFixed||(this.element.style.width="",this.cells.forEach((t=>{t.clearWidth()})));var i=this.element.offsetWidth;if((!this.width||!this.widthFixed)&&(this.cells.forEach((t=>{var e=t.getWidth();e>i&&(i=e)})),i)){var e=i+1;t?this.setWidth(e):(this.maxInitialWidth&&!t&&(e=Math.min(e,this.maxInitialWidth)),this.setWidthActual(e))}}}updateDefinition(t){var i;return this.isGroup||this.parent.isGroup?(console.error("Column Update Error - The updateDefinition function is only available on ungrouped columns"),Promise.reject("Column Update Error - The updateDefinition function is only available on columns, not column groups")):(i=Object.assign({},this.getDefinition()),i=Object.assign(i,t),this.table.columnManager.addColumn(i,!1,this).then((t=>(i.field==this.field&&(this.field=!1),this.delete().then((()=>t.getComponent()))))))}deleteCell(t){var i=this.cells.indexOf(t);i>-1&&this.cells.splice(i,1)}getComponent(){return this.component||(this.component=new tt(this)),this.component}getPosition(){return this.table.columnManager.getVisibleColumnsByIndex().indexOf(this)+1}getParentComponent(){return this.parent instanceof et&&this.parent.getComponent()}}class st{constructor(t){return this._row=t,new Proxy(this,{get:function(t,i){return void 0!==t[i]?t[i]:t._row.table.componentFunctionBinder.handle("row",t._row,i)}})}getData(t){return this._row.getData(t)}getElement(){return this._row.getElement()}getCells(){var t=[];return this._row.getCells().forEach((function(i){t.push(i.getComponent())})),t}getCell(t){var i=this._row.getCell(t);return!!i&&i.getComponent()}getIndex(){return this._row.getData("data")[this._row.table.options.index]}getPosition(){return this._row.getPosition()}watchPosition(t){return this._row.watchPosition(t)}delete(){return this._row.delete()}scrollTo(t,i){return this._row.table.rowManager.scrollToRow(this._row,t,i)}move(t,i){this._row.moveToRow(t,i)}update(t){return this._row.updateData(t)}normalizeHeight(){this._row.normalizeHeight(!0)}_getSelf(){return this._row}reformat(){return this._row.reinitialize()}getTable(){return this._row.table}getNextRow(){var t=this._row.nextRow();return t?t.getComponent():t}getPrevRow(){var t=this._row.prevRow();return t?t.getComponent():t}}class rt extends j{constructor(t,i,e="row"){super(i.table),this.parent=i,this.data={},this.type=e,this.element=!1,this.modules={},this.cells=[],this.height=0,this.heightStyled="",this.manualHeight=!1,this.outerHeight=0,this.initialized=!1,this.heightInitialized=!1,this.position=0,this.positionWatchers=[],this.component=null,this.created=!1,this.setData(t)}create(){this.created||(this.created=!0,this.generateElement())}createElement(){var t=document.createElement("div");t.classList.add("tabulator-row"),t.setAttribute("role","row"),this.element=t}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(t,i){if(this.create(),!this.initialized||t){for(this.deleteCells();this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.dispatch("row-layout-before",this),this.generateCells(),this.initialized=!0,this.table.columnManager.renderer.renderRowCells(this,i),t&&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,i)}rendered(){this.cells.forEach((t=>{t.cellRendered()}))}reinitializeHeight(){this.heightInitialized=!1,this.element&&null!==this.element.offsetParent&&this.normalizeHeight(!0)}deinitialize(){this.initialized=!1}deinitializeHeight(){this.heightInitialized=!1}reinitialize(t){this.initialized=!1,this.heightInitialized=!1,this.manualHeight||(this.height=0,this.heightStyled=""),this.element&&null!==this.element.offsetParent&&this.initialize(!0),this.dispatch("row-relayout",this)}calcHeight(t){var i=0,e=0;this.table.options.rowHeight?this.height=this.table.options.rowHeight:(e=this.calcMinHeight(),i=this.calcMaxHeight(),this.height=t?Math.max(i,e):this.manualHeight?this.height:Math.max(i,e)),this.heightStyled=this.height?this.height+"px":"",this.outerHeight=this.element.offsetHeight}calcMinHeight(){return this.table.options.resizableRows?this.element.clientHeight:0}calcMaxHeight(){var t=0;return this.cells.forEach((function(i){var e=i.getHeight();e>t&&(t=e)})),t}setCellHeight(){this.cells.forEach((function(t){t.setHeight()})),this.heightInitialized=!0}clearCellHeight(){this.cells.forEach((function(t){t.clearHeight()}))}normalizeHeight(t){t&&!this.table.options.rowHeight&&this.clearCellHeight(),this.calcHeight(t),this.setCellHeight()}setHeight(t,i){(this.height!=t||i)&&(this.manualHeight=!0,this.height=t,this.heightStyled=t?t+"px":"",this.setCellHeight(),this.outerHeight=this.element.offsetHeight,this.subscribedExternal("rowHeight")&&this.dispatchExternal("rowHeight",this.getComponent()))}getHeight(){return this.outerHeight}getWidth(){return this.element.offsetWidth}deleteCell(t){var i=this.cells.indexOf(t);i>-1&&this.cells.splice(i,1)}setData(t){this.data=this.chain("row-data-init-before",[this,t],void 0,t),this.dispatch("row-data-init-after",this)}updateData(t){var i,e=this.element&&N.elVisible(this.element),s={};return new Promise((r=>{"string"==typeof t&&(t=JSON.parse(t)),this.dispatch("row-data-save-before",this),this.subscribed("row-data-changing")&&(s=Object.assign(s,this.data),s=Object.assign(s,t)),i=this.chain("row-data-changing",[this,s,t],null,t);for(let t in i)this.data[t]=i[t];this.dispatch("row-data-save-after",this);for(let s in t)this.table.columnManager.getColumnsByFieldRoot(s).forEach((t=>{let s=this.getCell(t.getField());if(s){let r=t.getFieldValue(i);s.getValue()!==r&&(s.setValueProcessData(r),e&&s.cellRendered())}}));e?(this.normalizeHeight(!0),this.table.options.rowFormatter&&this.table.options.rowFormatter(this.getComponent())):(this.initialized=!1,this.height=0,this.heightStyled=""),this.dispatch("row-data-changed",this,e,t),this.dispatchExternal("rowUpdated",this.getComponent()),this.subscribedExternal("dataChanged")&&this.dispatchExternal("dataChanged",this.table.rowManager.getData()),r()}))}getData(t){return t?this.chain("row-data-retrieve",[this,t],null,this.data):this.data}getCell(t){return t=this.table.columnManager.findColumn(t),this.initialized||0!==this.cells.length||this.generateCells(),this.cells.find((function(i){return i.column===t}))}getCellIndex(t){return this.cells.findIndex((function(i){return i===t}))}findCell(t){return this.cells.find((i=>i.element===t))}getCells(){return this.initialized||0!==this.cells.length||this.generateCells(),this.cells}nextRow(){return this.table.rowManager.nextDisplayRow(this,!0)||!1}prevRow(){return this.table.rowManager.prevDisplayRow(this,!0)||!1}moveToRow(t,i){var e=this.table.rowManager.findRow(t);e?(this.table.rowManager.moveRowActual(this,e,!i),this.table.rowManager.refreshActiveData("display",!1,!0)):console.warn("Move Error - No matching row found:",t)}delete(){return this.dispatch("row-delete",this),this.deleteActual(),Promise.resolve()}deleteActual(t){this.detachModules(),this.table.rowManager.deleteRow(this,t),this.deleteCells(),this.initialized=!1,this.heightInitialized=!1,this.element=!1,this.dispatch("row-deleted",this)}detachModules(){this.dispatch("row-deleting",this)}deleteCells(){var t=this.cells.length;for(let i=0;i<t;i++)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=!1,this.modules={}}isDisplayed(){return this.table.rowManager.getDisplayRows().includes(this)}getPosition(){return!!this.isDisplayed()&&this.position}setPosition(t){t!=this.position&&(this.position=t,this.positionWatchers.forEach((t=>{t(this.position)})))}watchPosition(t){this.positionWatchers.push(t),t(this.position)}getGroup(){return this.modules.group||!1}getComponent(){return this.component||(this.component=new st(this)),this.component}}var ot={avg:function(t,i,e){var s=0,r=void 0!==e.precision?e.precision:2;return t.length&&(s=t.reduce((function(t,i){return Number(t)+Number(i)})),s/=t.length,s=!1!==r?s.toFixed(r):s),parseFloat(s).toString()},max:function(t,i,e){var s=null,r=void 0!==e.precision&&e.precision;return t.forEach((function(t){((t=Number(t))>s||null===s)&&(s=t)})),null!==s?!1!==r?s.toFixed(r):s:""},min:function(t,i,e){var s=null,r=void 0!==e.precision&&e.precision;return t.forEach((function(t){((t=Number(t))<s||null===s)&&(s=t)})),null!==s?!1!==r?s.toFixed(r):s:""},sum:function(t,i,e){var s=0,r=void 0!==e.precision&&e.precision;return t.length&&t.forEach((function(t){t=Number(t),s+=isNaN(t)?0:Number(t)})),!1!==r?s.toFixed(r):s},concat:function(t){var i=0;return t.length&&(i=t.reduce((function(t,i){return String(t)+String(i)}))),i},count:function(t){var i=0;return t.length&&t.forEach((function(t){t&&i++})),i},unique:function(t){return t.filter(((i,e)=>(t||0===i)&&t.indexOf(i)===e)).length}};class at extends H{static moduleName="columnCalcs";static calculations=ot;constructor(t){super(t),this.topCalcs=[],this.botCalcs=[],this.genColumn=!1,this.topElement=this.createElement(),this.botElement=this.createElement(),this.topRow=!1,this.botRow=!1,this.topInitialized=!1,this.botInitialized=!1,this.blocked=!1,this.recalcAfterBlock=!1,this.registerTableOption("columnCalcs",!0),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 t=document.createElement("div");return t.classList.add("tabulator-calcs-holder"),t}initialize(){this.genColumn=new et({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(t){this.recalc(this.table.rowManager.activeRows),t&&this.redraw()}blockRedraw(){this.blocked=!0,this.recalcAfterBlock=!1}restoreRedraw(){this.blocked=!1,this.recalcAfterBlock&&(this.recalcAfterBlock=!1,this.recalcActiveRowsRefresh())}userRecalc(){this.recalc(this.table.rowManager.activeRows)}blockCheck(){return this.blocked&&(this.recalcAfterBlock=!0),this.blocked}visibleRows(t,i){return this.topRow&&i.unshift(this.topRow),this.botRow&&i.push(this.botRow),i}rowsUpdated(t){this.table.options.groupBy?this.recalcRowGroup(t):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(t){(t.column.definition.topCalc||t.column.definition.bottomCalc)&&(this.table.options.groupBy?("table"!=this.table.options.columnCalcs&&"both"!=this.table.options.columnCalcs||this.recalcActiveRows(),"table"!=this.table.options.columnCalcs&&this.recalcRowGroup(t.row)):this.recalcActiveRows())}initializeColumnCheck(t){(t.definition.topCalc||t.definition.bottomCalc)&&this.initializeColumn(t)}initializeColumn(t){var i=t.definition,e={topCalcParams:i.topCalcParams||{},botCalcParams:i.bottomCalcParams||{}};if(i.topCalc){switch(typeof i.topCalc){case"string":at.calculations[i.topCalc]?e.topCalc=at.calculations[i.topCalc]:console.warn("Column Calc Error - No such calculation found, ignoring: ",i.topCalc);break;case"function":e.topCalc=i.topCalc}e.topCalc&&(t.modules.columnCalcs=e,this.topCalcs.push(t),"group"!=this.table.options.columnCalcs&&this.initializeTopRow())}if(i.bottomCalc){switch(typeof i.bottomCalc){case"string":at.calculations[i.bottomCalc]?e.botCalc=at.calculations[i.bottomCalc]:console.warn("Column Calc Error - No such calculation found, ignoring: ",i.bottomCalc);break;case"function":e.botCalc=i.bottomCalc}e.botCalc&&(t.modules.columnCalcs=e,this.botCalcs.push(t),"group"!=this.table.options.columnCalcs&&this.initializeBottomRow())}}registerColumnField(){}removeCalcs(){var t=!1;this.topInitialized&&(this.topInitialized=!1,this.topElement.parentNode.removeChild(this.topElement),t=!0),this.botInitialized&&(this.botInitialized=!1,this.footerRemove(this.botElement),t=!0),t&&this.table.rowManager.adjustTableSize()}reinitializeCalcs(){this.topCalcs.length&&this.initializeTopRow(),this.botCalcs.length&&this.initializeBottomRow()}initializeTopRow(){var t=document.createDocumentFragment();this.topInitialized||(t.appendChild(document.createElement("br")),t.appendChild(this.topElement),this.table.columnManager.getContentsElement().insertBefore(t,this.table.columnManager.headersElement.nextSibling),this.topInitialized=!0)}initializeBottomRow(){this.botInitialized||(this.footerPrepend(this.botElement),this.botInitialized=!0)}scrollHorizontal(t){this.botInitialized&&this.botRow&&(this.botElement.scrollLeft=t)}recalc(t){var i,e;if(!this.blockCheck()&&(this.topInitialized||this.botInitialized)){if(i=this.rowsToData(t),this.topInitialized){for(this.topRow&&this.topRow.deleteCells(),e=this.generateRow("top",i),this.topRow=e;this.topElement.firstChild;)this.topElement.removeChild(this.topElement.firstChild);this.topElement.appendChild(e.getElement()),e.initialize(!0)}if(this.botInitialized){for(this.botRow&&this.botRow.deleteCells(),e=this.generateRow("bottom",i),this.botRow=e;this.botElement.firstChild;)this.botElement.removeChild(this.botElement.firstChild);this.botElement.appendChild(e.getElement()),e.initialize(!0)}this.table.rowManager.adjustTableSize(),this.table.modExists("frozenColumns")&&this.table.modules.frozenColumns.layout()}}recalcRowGroup(t){this.recalcGroup(this.table.modules.groupRows.getRowGroup(t))}recalcAll(){(this.topCalcs.length||this.botCalcs.length)&&("group"!==this.table.options.columnCalcs&&this.recalcActiveRows(),this.table.options.groupBy&&"table"!==this.table.options.columnCalcs&&this.table.modules.groupRows.getChildGroups().forEach((t=>{this.recalcGroup(t)})))}recalcGroup(t){var i,e;this.blockCheck()||t&&t.calcs&&(t.calcs.bottom&&(i=this.rowsToData(t.rows),e=this.generateRowData("bottom",i),t.calcs.bottom.updateData(e),t.calcs.bottom.reinitialize()),t.calcs.top&&(i=this.rowsToData(t.rows),e=this.generateRowData("top",i),t.calcs.top.updateData(e),t.calcs.top.reinitialize()))}generateTopRow(t){return this.generateRow("top",this.rowsToData(t))}generateBottomRow(t){return this.generateRow("bottom",this.rowsToData(t))}rowsToData(t){var i=[],e=this.table.options.dataTree&&this.table.options.dataTreeChildColumnCalcs,s=this.table.modules.dataTree;return t.forEach((t=>{i.push(t.getData()),e&&t.modules.dataTree?.open&&this.rowsToData(s.getFilteredTreeChildren(t)).forEach((()=>{i.push(t)}))})),i}generateRow(t,i){var e,s=this.generateRowData(t,i);return this.table.modExists("mutator")&&this.table.modules.mutator.disable(),e=new rt(s,this,"calc"),this.table.modExists("mutator")&&this.table.modules.mutator.enable(),e.getElement().classList.add("tabulator-calcs","tabulator-calcs-"+t),e.component=!1,e.getComponent=()=>(e.component||(e.component=new X(e)),e.component),e.generateCells=()=>{var i=[];this.table.columnManager.columnsByIndex.forEach((s=>{this.genColumn.setField(s.getField()),this.genColumn.hozAlign=s.hozAlign,this.genColumn.modules.format=s.definition[t+"CalcFormatter"]&&this.table.modExists("format")?{formatter:this.table.modules.format.lookupFormatter(s.definition[t+"CalcFormatter"]),params:s.definition[t+"CalcFormatterParams"]||{}}:{formatter:this.table.modules.format.lookupFormatter("plaintext"),params:{}},this.genColumn.definition.cssClass=s.definition.cssClass;var r=new Q(this.genColumn,e);r.getElement(),r.column=s,r.setWidth(),s.cells.push(r),i.push(r),s.visible||r.hide()})),e.cells=i},e}generateRowData(t,i){var e,s,r={},o="top"==t?"topCalc":"botCalc";return("top"==t?this.topCalcs:this.botCalcs).forEach((function(t){var a=[];t.modules.columnCalcs&&t.modules.columnCalcs[o]&&(i.forEach((function(i){a.push(t.getFieldValue(i))})),e="function"==typeof t.modules.columnCalcs[s=o+"Params"]?t.modules.columnCalcs[s](a,i):t.modules.columnCalcs[s],t.setFieldValue(r,t.modules.columnCalcs[o](a,i,e)))})),r}hasTopCalcs(){return!!this.topCalcs.length}hasBottomCalcs(){return!!this.botCalcs.length}redraw(){this.topRow&&this.topRow.normalizeHeight(!0),this.botRow&&this.botRow.normalizeHeight(!0)}getResults(){var t={};return this.table.options.groupBy&&this.table.modExists("groupRows")?this.table.modules.groupRows.getGroups(!0).forEach((i=>{t[i.getKey()]=this.getGroupResults(i)})):t={top:this.topRow?this.topRow.getData():{},bottom:this.botRow?this.botRow.getData():{}},t}getGroupResults(t){var i=t._getSelf(),e=t.getSubGroups(),s={};return e.forEach((t=>{s[t.getKey()]=this.getGroupResults(t)})),{top:i.calcs.top?i.calcs.top.getData():{},bottom:i.calcs.bottom?i.calcs.bottom.getData():{},groups:s}}adjustForScrollbar(t){this.botRow&&(this.table.rtl?this.botElement.style.paddingLeft=t+"px":this.botElement.style.paddingRight=t+"px")}}var ht={csv:function(t,i={},e){var s=i.delimiter?i.delimiter:",",r=[],o=[];t.forEach((t=>{var i=[];switch(t.type){case"group":console.warn("Download Warning - CSV downloader cannot process row groups");break;case"calc":console.warn("Download Warning - CSV downloader cannot process column calculations");break;case"header":t.columns.forEach(((t,i)=>{t&&1===t.depth&&(o[i]=null==t.value?"":'"'+String(t.value).split('"').join('""')+'"')}));break;case"row":t.columns.forEach((t=>{if(t){switch(typeof t.value){case"object":t.value=null!==t.value?JSON.stringify(t.value):"";break;case"undefined":t.value=""}i.push('"'+String(t.value).split('"').join('""')+'"')}})),r.push(i.join(s))}})),o.length&&r.unshift(o.join(s)),r=r.join("\n"),i.bom&&(r="\ufeff"+r),e(r,"text/csv")},json:function(t,i,e){var s=[];t.forEach((t=>{var i={};switch(t.type){case"header":break;case"group":console.warn("Download Warning - JSON downloader cannot process row groups");break;case"calc":console.warn("Download Warning - JSON downloader cannot process column calculations");break;case"row":t.columns.forEach((t=>{t&&(i[t.component.getTitleDownload()||t.component.getField()]=t.value)})),s.push(i)}})),e(s=JSON.stringify(s,null,"\t"),"application/json")},jsonLines:function(t,i,e){const s=[];t.forEach((t=>{const i={};switch(t.type){case"header":break;case"group":console.warn("Download Warning - JSON downloader cannot process row groups");break;case"calc":console.warn("Download Warning - JSON downloader cannot process column calculations");break;case"row":t.columns.forEach((t=>{t&&(i[t.component.getTitleDownload()||t.component.getField()]=t.value)})),s.push(JSON.stringify(i))}})),e(s.join("\n"),"application/x-ndjson")},pdf:function(t,i={},e){var s,r,o=[],a=[],h={},n=i.rowGroupStyles||{fontStyle:"bold",fontSize:12,cellPadding:6,fillColor:220},l=i.rowCalcStyles||{fontStyle:"bold",fontSize:10,cellPadding:4,fillColor:232},u=i.jsPDF||{},c=i.title?i.title:"";function d(t,i){var e=[];return t.columns.forEach((t=>{var s;if(t){switch(typeof t.value){case"object":t.value=null!==t.value?JSON.stringify(t.value):"";break;case"undefined":t.value=""}s={content:t.value,colSpan:t.width,rowSpan:t.height},i&&(s.styles=i),e.push(s)}})),e}u.orientation||(u.orientation=i.orientation||"landscape"),u.unit||(u.unit="pt"),t.forEach((t=>{switch(t.type){case"header":o.push(d(t));break;case"group":a.push(d(t,n));break;case"calc":a.push(d(t,l));break;case"row":a.push(d(t))}})),s=this.dependencyRegistry.lookup("jspdf","jsPDF"),r=new s(u),i.autoTable&&(h="function"==typeof i.autoTable?i.autoTable(r)||{}:i.autoTable),c&&(h.didDrawPage=function(){r.text(c,40,30)}),h.head=o,h.body=a,r.autoTable(h),i.documentProcessing&&i.documentProcessing(r),e(r.output("arraybuffer"),"application/pdf")},xlsx:function(t,i,e){var s=i.sheetName||"Sheet1",r=this.dependencyRegistry.lookup("XLSX"),o=r.utils.book_new(),a=new j(this),h=i.writeOptions||{bookType:"xlsx",bookSST:!0,compression:!("compress"in i)||i.compress};function n(){var i=[],e=[],s={},o={s:{c:0,r:0},e:{c:t[0]?t[0].columns.reduce(((t,i)=>t+(i&&i.width?i.width:1)),0):0,r:t.length}};return t.forEach(((t,s)=>{var r=[];t.columns.forEach((function(t,i){t?(r.push(t.value instanceof Date||"object"!=typeof t.value?t.value:JSON.stringify(t.value)),(t.width>1||t.height>-1)&&(t.height>1||t.width>1)&&e.push({s:{r:s,c:i},e:{r:s+t.height-1,c:i+t.width-1}})):r.push("")})),i.push(r)})),r.utils.sheet_add_aoa(s,i),s["!ref"]=r.utils.encode_range(o),e.length&&(s["!merges"]=e),s}if(h.type="binary",o.SheetNames=[],o.Sheets={},i.sheetOnly)e(n());else{if(i.sheets)for(var l in i.sheets)!0===i.sheets[l]?(o.SheetNames.push(l),o.Sheets[l]=n()):(o.SheetNames.push(l),a.commsSend(i.sheets[l],"download","intercept",{type:"xlsx",options:{sheetOnly:!0},active:this.active,intercept:function(t){o.Sheets[l]=t}}));else o.SheetNames.push(s),o.Sheets[s]=n();i.documentProcessing&&(o=i.documentProcessing(o)),e(function(t){for(var i=new ArrayBuffer(t.length),e=new Uint8Array(i),s=0;s!=t.length;++s)e[s]=255&t.charCodeAt(s);return i}(r.write(o,h)),"application/octet-stream")}},html:function(t,i,e){this.modExists("export",!0)&&e(this.modules.export.generateHTMLTable(t),"text/html")}};class nt extends H{static moduleName="download";static downloaders=ht;constructor(t){super(t),this.registerTableOption("downloadEncoder",(function(t,i){return new Blob([t],{type:i})})),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(){}downloadToTab(t,i,e,s){this.download(t,i,e,s,!0)}download(t,i,e,s,r){var o=!1;if("function"==typeof t?o=t:nt.downloaders[t]?o=nt.downloaders[t]:console.warn("Download Error - No such download type found: ",t),o){var a=this.generateExportList(s);o.call(this.table,a,e||{},function(e,s){r?!0===r?this.triggerDownload(e,s,t,i,!0):r(e):this.triggerDownload(e,s,t,i)}.bind(this))}}generateExportList(t){var i=this.table.modules.export.generateExportList(this.table.options.downloadConfig,!1,t||this.table.options.downloadRowRange,"download"),e=this.table.options.groupHeaderDownload;return e&&!Array.isArray(e)&&(e=[e]),i.forEach((t=>{var i;"group"===t.type&&(i=t.columns[0],e&&e[t.indent]&&(i.value=e[t.indent](i.value,t.component._group.getRowCount(),t.component._group.getData(),t.component)))})),i}triggerDownload(t,i,e,s,r){var o=document.createElement("a"),a=this.table.options.downloadEncoder(t,i);a&&(r?window.open(window.URL.createObjectURL(a)):(s=s||"Tabulator."+("function"==typeof e?"txt":e),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(t,i,e){"intercept"===i&&this.download(e.type,"",e.options,e.active,e.intercept)}}function lt(t,i){var e=i.mask,s=void 0!==i.maskLetterChar?i.maskLetterChar:"A",r=void 0!==i.maskNumberChar?i.maskNumberChar:"9",o=void 0!==i.maskWildcardChar?i.maskWildcardChar:"*";function a(i){var h=e[i];void 0!==h&&h!==o&&h!==s&&h!==r&&(t.value=t.value+""+h,a(i+1))}t.addEventListener("keydown",(i=>{var a=t.value.length,h=i.key;if(i.keyCode>46&&!i.ctrlKey&&!i.metaKey){if(a>=e.length)return i.preventDefault(),i.stopPropagation(),!1;switch(e[a]){case s:if(h.toUpperCase()==h.toLowerCase())return i.preventDefault(),i.stopPropagation(),!1;break;case r:if(isNaN(h))return i.preventDefault(),i.stopPropagation(),!1;break;case o:break;default:if(h!==e[a])return i.preventDefault(),i.stopPropagation(),!1}}})),t.addEventListener("keyup",(e=>{e.keyCode>46&&i.maskAutoFill&&a(t.value.length)})),t.placeholder||(t.placeholder=e),i.maskAutoFill&&a(t.value.length)}let ut=class{constructor(t,i,e,s,r,o){this.edit=t,this.table=t.table,this.cell=i,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="header"===i.getType(),this.filterTimeout=null,this.filtered=!1,this.typing=!1,this.values=[],this.popup=null,this.listIteration=0,this.lastAction="",this.filterTerm="",this.blurable=!0,this.actions={success:s,cancel:r},this._deprecatedOptionsCheck(),this._initializeValue(),e(this._onRendered.bind(this))}_deprecatedOptionsCheck(){}_initializeValue(){var t=this.cell.getValue();void 0===t&&void 0!==this.params.defaultValue&&(t=this.params.defaultValue),this.initialValues=this.params.multiselect?t:[t],this.isFilter&&(this.input.value=this.initialValues?this.initialValues.join(","):"",this.headerFilterInitialListGen())}_onRendered(){var t=this.cell.getElement();function i(t){t.stopPropagation()}this.isFilter||(this.input.style.height="100%",this.input.focus({preventScroll:!0})),t.addEventListener("click",i),setTimeout((()=>{t.removeEventListener("click",i)}),1e3),this.input.addEventListener("mousedown",this._preventPopupBlur.bind(this))}_createListElement(){var t=document.createElement("div");return t.classList.add("tabulator-edit-list"),t.addEventListener("mousedown",this._preventBlur.bind(this)),t.addEventListener("keydown",this._inputKeyDown.bind(this)),t}_setListWidth(){var t=this.isFilter?this.input:this.cell.getElement();this.listEl.style.minWidth=t.offsetWidth+"px",this.params.maxWidth&&(this.listEl.style.maxWidth=!0===this.params.maxWidth?t.offsetWidth+"px":"number"==typeof this.params.maxWidth?this.params.maxWidth+"px":this.params.maxWidth)}_createInputElement(){var t=this.params.elementAttributes,i=document.createElement("input");if(i.setAttribute("type",this.params.clearable?"search":"text"),i.style.padding="4px",i.style.width="100%",i.style.boxSizing="border-box",this.params.autocomplete||(i.style.cursor="default",i.style.caretColor="transparent"),t&&"object"==typeof t)for(let e in t)"+"==e.charAt(0)?(e=e.slice(1),i.setAttribute(e,i.getAttribute(e)+t["+"+e])):i.setAttribute(e,t[e]);return this.params.mask&<(i,this.params),this._bindInputEvents(i),i}_initializeParams(t){var i,e=["values","valuesURL","valuesLookup"];return(t=Object.assign({},t)).verticalNavigation=t.verticalNavigation||"editor",t.placeholderLoading=void 0===t.placeholderLoading?"Searching ...":t.placeholderLoading,t.placeholderEmpty=void 0===t.placeholderEmpty?"No Results Found":t.placeholderEmpty,t.filterDelay=void 0===t.filterDelay?300:t.filterDelay,t.emptyValue=Object.keys(t).includes("emptyValue")?t.emptyValue:"",(i=Object.keys(t).filter((t=>e.includes(t))).length)?i>1&&console.warn("list editor config error - only one of the values, valuesURL, or valuesLookup options can be set on the same editor"):console.warn("list editor config error - either the values, valuesURL, or valuesLookup option must be set"),t.autocomplete?t.multiselect&&(t.multiselect=!1,console.warn("list editor config error - multiselect option is not available when autocomplete is enabled")):(t.freetext&&(t.freetext=!1,console.warn("list editor config error - freetext option is only available when autocomplete is enabled")),t.filterFunc&&(t.filterFunc=!1,console.warn("list editor config error - filterFunc option is only available when autocomplete is enabled")),t.filterRemote&&(t.filterRemote=!1,console.warn("list editor config error - filterRemote option is only available when autocomplete is enabled")),t.mask&&(t.mask=!1,console.warn("list editor config error - mask option is only available when autocomplete is enabled")),t.allowEmpty&&(t.allowEmpty=!1,console.warn("list editor config error - allowEmpty option is only available when autocomplete is enabled")),t.listOnEmpty&&(t.listOnEmpty=!1,console.warn("list editor config error - listOnEmpty option is only available when autocomplete is enabled"))),t.filterRemote&&"function"!=typeof t.valuesLookup&&!t.valuesURL&&(t.filterRemote=!1,console.warn("list editor config error - filterRemote option should only be used when values list is populated from a remote source")),t}_bindInputEvents(t){t.addEventListener("focus",this._inputFocus.bind(this)),t.addEventListener("click",this._inputClick.bind(this)),t.addEventListener("blur",this._inputBlur.bind(this)),t.addEventListener("keydown",this._inputKeyDown.bind(this)),t.addEventListener("search",this._inputSearch.bind(this)),this.params.autocomplete&&t.addEventListener("keyup",this._inputKeyUp.bind(this))}_inputFocus(t){this.rebuildOptionsList()}_filter(){this.params.filterRemote?(clearTimeout(this.filterTimeout),this.filterTimeout=setTimeout((()=>{this.rebuildOptionsList()}),this.params.filterDelay)):this._filterList()}_inputClick(t){t.stopPropagation()}_inputBlur(t){this.blurable&&(this.popup?this.popup.hide():this._resolveValue(!0))}_inputSearch(){this._clearChoices()}_inputKeyDown(t){switch(t.keyCode){case 38:this._keyUp(t);break;case 40:this._keyDown(t);break;case 37:case 39:this._keySide(t);break;case 13:this._keyEnter();break;case 27:this._keyEsc();break;case 36:case 35:this._keyHomeEnd(t);break;case 9:this._keyTab(t);break;default:this._keySelectLetter(t)}}_inputKeyUp(t){switch(t.keyCode){case 38:case 37:case 39:case 40:case 13:case 27:break;default:this._keyAutoCompLetter(t)}}_preventPopupBlur(){this.popup&&this.popup.blockHide(),setTimeout((()=>{this.popup&&this.popup.restoreHide()}),10)}_preventBlur(){this.blurable=!1,setTimeout((()=>{this.blurable=!0}),10)}_keyTab(t){this.params.autocomplete&&"typing"===this.lastAction?this._resolveValue(!0):this.focusedItem&&this._chooseItem(this.focusedItem,!0)}_keyUp(t){var i=this.displayItems.indexOf(this.focusedItem);("editor"==this.params.verticalNavigation||"hybrid"==this.params.verticalNavigation&&i)&&(t.stopImmediatePropagation(),t.stopPropagation(),t.preventDefault(),i>0&&this._focusItem(this.displayItems[i-1]))}_keyDown(t){var i=this.displayItems.indexOf(this.focusedItem);("editor"==this.params.verticalNavigation||"hybrid"==this.params.verticalNavigation&&i<this.displayItems.length-1)&&(t.stopImmediatePropagation(),t.stopPropagation(),t.preventDefault(),i<this.displayItems.length-1&&this._focusItem(-1==i?this.displayItems[0]:this.displayItems[i+1]))}_keySide(t){this.params.autocomplete||(t.stopImmediatePropagation(),t.stopPropagation(),t.preventDefault())}_keyEnter(t){this.params.autocomplete&&"typing"===this.lastAction?this._resolveValue(!0):this.focusedItem&&this._chooseItem(this.focusedItem)}_keyEsc(t){this._cancel()}_keyHomeEnd(t){this.params.autocomplete&&t.stopImmediatePropagation()}_keySelectLetter(t){this.params.autocomplete||(t.preventDefault(),t.keyCode>=38&&t.keyCode<=90&&this._scrollToValue(t.keyCode))}_keyAutoCompLetter(t){this._filter(),this.lastAction="typing",this.typing=!0}_scrollToValue(t){clearTimeout(this.filterTimeout);var i=String.fromCharCode(t).toLowerCase();this.filterTerm+=i.toLowerCase();var e=this.displayItems.find((t=>void 0!==t.label&&t.label.toLowerCase().startsWith(this.filterTerm)));e&&this._focusItem(e),this.filterTimeout=setTimeout((()=>{this.filterTerm=""}),800)}_focusItem(t){this.lastAction="focus",this.focusedItem&&this.focusedItem.element&&this.focusedItem.element.classList.remove("focused"),this.focusedItem=t,t&&t.element&&(t.element.classList.add("focused"),t.element.scrollIntoView({behavior:"smooth",block:"nearest",inline:"start"}))}headerFilterInitialListGen(){this._generateOptions(!0)}rebuildOptionsList(){this._generateOptions().then(this._sortOptions.bind(this)).then(this._buildList.bind(this)).then(this._showList.bind(this)).catch((t=>{Number.isInteger(t)||console.error("List generation error",t)}))}_filterList(){this._buildList(this._filterOptions()),this._showList()}_generateOptions(t){var i=[],e=++this.listIteration;return this.filtered=!1,this.params.values?i=this.params.values:this.params.valuesURL?i=this._ajaxRequest(this.params.valuesURL,this.input.value):"function"==typeof this.params.valuesLookup?i=this.params.valuesLookup(this.cell,this.input.value):this.params.valuesLookup&&(i=this._uniqueColumnValues(this.params.valuesLookupField)),i instanceof Promise?(t||this._addPlaceholder(this.params.placeholderLoading),i.then().then((t=>this.listIteration===e?this._parseList(t):Promise.reject(e)))):Promise.resolve(this._parseList(i))}_addPlaceholder(t){var i=document.createElement("div");"function"==typeof t&&(t=t(this.cell.getComponent(),this.listEl)),t&&(this._clearList(),t instanceof HTMLElement?i=t:(i.classList.add("tabulator-edit-list-placeholder"),i.innerHTML=t),this.listEl.appendChild(i),this._showList())}_ajaxRequest(t,i){return t=U(t,{},this.params.filterRemote?{term:i}:{}),fetch(t).then((t=>t.ok?t.json().catch((t=>(console.warn("List Ajax Load Error - Invalid JSON returned",t),Promise.reject(t)))):(console.error("List Ajax Load Error - Connection Error: "+t.status,t.statusText),Promise.reject(t)))).catch((t=>(console.error("List Ajax Load Error - Connection Error: ",t),Promise.reject(t))))}_uniqueColumnValues(t){var i,e={},s=this.table.getData(this.params.valuesLookup);return(i=t?this.table.columnManager.getColumnByField(t):this.cell.getColumn()._getSelf())?s.forEach((t=>{var s=i.getFieldValue(t);this._emptyValueCheck(s)||(this.params.multiselect&&Array.isArray(s)?s.forEach((t=>{this._emptyValueCheck(t)||(e[t]=!0)})):e[s]=!0)})):(console.warn("unable to find matching column to create select lookup list:",t),e=[]),Object.keys(e)}_emptyValueCheck(t){return null==t||""===t}_parseList(t){var i=[];return Array.isArray(t)||(t=Object.entries(t).map((([t,i])=>({label:i,value:t})))),t.forEach((t=>{"object"!=typeof t&&(t={label:t,value:t}),this._parseListItem(t,i,0)})),!this.currentItems.length&&this.params.freetext&&(this.input.value=this.initialValues,this.typing=!0,this.lastAction="typing"),this.data=i,i}_parseListItem(t,i,e){var s={};t.options?s=this._parseListGroup(t,e+1):(s={label:t.label,value:t.value,itemParams:t.itemParams,elementAttributes:t.elementAttributes,element:!1,selected:!1,visible:!0,level:e,original:t},this.initialValues&&this.initialValues.indexOf(t.value)>-1&&this._chooseItem(s,!0)),i.push(s)}_parseListGroup(t,i){var e={label:t.label,group:!0,itemParams:t.itemParams,elementAttributes:t.elementAttributes,element:!1,visible:!0,level:i,options:[],original:t};return t.options.forEach((t=>{this._parseListItem(t,e.options,i)})),e}_sortOptions(t){var i;return this.params.sort&&(i="function"==typeof this.params.sort?this.params.sort:this._defaultSortFunction.bind(this),this._sortGroup(i,t)),t}_sortGroup(t,i){i.sort(((i,e)=>t(i.label,e.label,i.value,e.value,i.original,e.original))),i.forEach((i=>{i.group&&this._sortGroup(t,i.options)}))}_defaultSortFunction(t,i){var e,s,r,o,a,h=0,n=/(\d+)|(\D+)/g,l=/\d/,u=0;if("desc"===this.params.sort&&([t,i]=[i,t]),t||0===t){if(i||0===i){if(isFinite(t)&&isFinite(i))return t-i;if((e=String(t).toLowerCase())===(s=String(i).toLowerCase()))return 0;if(!l.test(e)||!l.test(s))return e>s?1:-1;for(e=e.match(n),s=s.match(n),a=e.length>s.length?s.length:e.length;h<a;)if((r=e[h])!==(o=s[h++]))return isFinite(r)&&isFinite(o)?("0"===r.charAt(0)&&(r="."+r),"0"===o.charAt(0)&&(o="."+o),r-o):r>o?1:-1;return e.length>s.length}u=1}else u=i||0===i?-1:0;return u}_filterOptions(){var t=this.params.filterFunc||this._defaultFilterFunc,i=this.input.value;return i?(this.filtered=!0,this.data.forEach((e=>{this._filterItem(t,i,e)}))):this.filtered=!1,this.data}_filterItem(t,i,e){var s=!1;return e.group?(e.options.forEach((e=>{this._filterItem(t,i,e)&&(s=!0)})),e.visible=s):e.visible=t(i,e.label,e.value,e.original),e.visible}_defaultFilterFunc(t,i,e,s){return t=String(t).toLowerCase(),null!=i&&(String(i).toLowerCase().indexOf(t)>-1||String(e).toLowerCase().indexOf(t)>-1)}_clearList(){for(;this.listEl.firstChild;)this.listEl.removeChild(this.listEl.firstChild);this.displayItems=[]}_buildList(t){this._clearList(),t.forEach((t=>{this._buildItem(t)})),this.displayItems.length||this._addPlaceholder(this.params.placeholderEmpty)}_buildItem(t){var i,e=t.element;if(!this.filtered||t.visible){if(!e){if((e=document.createElement("div")).tabIndex=0,(i=this.params.itemFormatter?this.params.itemFormatter(t.label,t.value,t.original,e):t.label)instanceof HTMLElement?e.appendChild(i):e.innerHTML=i,e.classList.add(t.group?"tabulator-edit-list-group":"tabulator-edit-list-item"),e.classList.add("tabulator-edit-list-group-level-"+t.level),t.elementAttributes&&"object"==typeof t.elementAttributes)for(let i in t.elementAttributes)"+"==i.charAt(0)?(i=i.slice(1),e.setAttribute(i,this.input.getAttribute(i)+t.elementAttributes["+"+i])):e.setAttribute(i,t.elementAttributes[i]);e.addEventListener("click",t.group?this._groupClick.bind(this,t):this._itemClick.bind(this,t)),e.addEventListener("mousedown",this._preventBlur.bind(this)),t.element=e}this._styleItem(t),this.listEl.appendChild(e),t.group?t.options.forEach((t=>{this._buildItem(t)})):this.displayItems.push(t)}}_showList(){var t=this.popup&&this.popup.isVisible();if(this.input.parentNode){if(this.params.autocomplete&&""===this.input.value&&!this.params.listOnEmpty)return void(this.popup&&this.popup.hide(!0));this._setListWidth(),this.popup||(this.popup=this.edit.popup(this.listEl)),this.popup.show(this.cell.getElement(),"bottom"),t||setTimeout((()=>{this.popup.hideOnBlur(this._resolveValue.bind(this,!0))}),10)}}_styleItem(t){t&&t.element&&(t.selected?t.element.classList.add("active"):t.element.classList.remove("active"))}_itemClick(t,i){i.stopPropagation(),this._chooseItem(t)}_groupClick(t,i){i.stopPropagation()}_cancel(){this.popup.hide(!0),this.actions.cancel()}_clearChoices(){this.typing=!0,this.currentItems.forEach((t=>{t.selected=!1,this._styleItem(t)})),this.currentItems=[],this.focusedItem=null}_chooseItem(t,i){var e;this.typing=!1,this.params.multiselect?((e=this.currentItems.indexOf(t))>-1?(this.currentItems.splice(e,1),t.selected=!1):(this.currentItems.push(t),t.selected=!0),this.input.value=this.currentItems.map((t=>t.label)).join(","),this._styleItem(t)):(this.currentItems=[t],t.selected=!0,this.input.value=t.label,this._styleItem(t),i||this._resolveValue()),this._focusItem(t)}_resolveValue(t){var i,e;if(this.popup&&this.popup.hide(!0),this.params.multiselect)i=this.currentItems.map((t=>t.value));else if(t&&this.params.autocomplete&&this.typing){if(!(this.params.freetext||this.params.allowEmpty&&""===this.input.value))return void this.actions.cancel();i=this.input.value}else i=this.currentItems[0]?this.currentItems[0].value:null==(e=Array.isArray(this.initialValues)?this.initialValues[0]:this.initialValues)||""===e?e:this.params.emptyValue;""===i&&(i=this.params.emptyValue),this.actions.success(i),this.isFilter&&(this.initialValues=i&&!Array.isArray(i)?[i]:i,this.currentItems=[])}};var ct={input:function(t,i,e,s,r){var o=t.getValue(),a=document.createElement("input");if(a.setAttribute("type",r.search?"search":"text"),a.style.padding="4px",a.style.width="100%",a.style.boxSizing="border-box",r.elementAttributes&&"object"==typeof r.elementAttributes)for(let t in r.elementAttributes)"+"==t.charAt(0)?(t=t.slice(1),a.setAttribute(t,a.getAttribute(t)+r.elementAttributes["+"+t])):a.setAttribute(t,r.elementAttributes[t]);function h(){null==o&&""!==a.value||a.value!==o?e(a.value)&&(o=a.value):s()}return a.value=void 0!==o?o:"",i((function(){"cell"===t.getType()&&(a.focus({preventScroll:!0}),a.style.height="100%",r.selectContents&&a.select())})),a.addEventListener("change",h),a.addEventListener("blur",h),a.addEventListener("keydown",(function(t){switch(t.keyCode){case 13:h();break;case 27:s();break;case 35:case 36:t.stopPropagation()}})),r.mask&<(a,r),a},textarea:function(t,i,e,s,r){var o=t.getValue(),a=r.verticalNavigation||"hybrid",h=String(null!=o?o:""),n=document.createElement("textarea"),l=0;if(n.style.display="block",n.style.padding="2px",n.style.height="100%",n.style.width="100%",n.style.boxSizing="border-box",n.style.whiteSpace="pre-wrap",n.style.resize="none",r.elementAttributes&&"object"==typeof r.elementAttributes)for(let t in r.elementAttributes)"+"==t.charAt(0)?(t=t.slice(1),n.setAttribute(t,n.getAttribute(t)+r.elementAttributes["+"+t])):n.setAttribute(t,r.elementAttributes[t]);function u(){null==o&&""!==n.value||n.value!==o?(e(n.value)&&(o=n.value),setTimeout((function(){t.getRow().normalizeHeight()}),300)):s()}return n.value=h,i((function(){"cell"===t.getType()&&(n.focus({preventScroll:!0}),n.style.height="100%",n.style.height=n.scrollHeight+"px",t.getRow().normalizeHeight(),r.selectContents&&n.select())})),n.addEventListener("change",u),n.addEventListener("blur",u),n.addEventListener("keyup",(function(){n.style.height="";var i=n.scrollHeight;n.style.height=i+"px",i!=l&&(l=i,t.getRow().normalizeHeight())})),n.addEventListener("keydown",(function(t){switch(t.keyCode){case 13:t.shiftKey&&r.shiftEnterSubmit&&u();break;case 27:s();break;case 38:("editor"==a||"hybrid"==a&&n.selectionStart)&&(t.stopImmediatePropagation(),t.stopPropagation());break;case 40:("editor"==a||"hybrid"==a&&n.selectionStart!==n.value.length)&&(t.stopImmediatePropagation(),t.stopPropagation());break;case 35:case 36:t.stopPropagation()}})),r.mask&<(n,r),n},number:function(t,i,e,s,r){var o=t.getValue(),a=r.verticalNavigation||"editor",h=document.createElement("input");if(h.setAttribute("type","number"),void 0!==r.max&&h.setAttribute("max",r.max),void 0!==r.min&&h.setAttribute("min",r.min),void 0!==r.step&&h.setAttribute("step",r.step),h.style.padding="4px",h.style.width="100%",h.style.boxSizing="border-box",r.elementAttributes&&"object"==typeof r.elementAttributes)for(let t in r.elementAttributes)"+"==t.charAt(0)?(t=t.slice(1),h.setAttribute(t,h.getAttribute(t)+r.elementAttributes["+"+t])):h.setAttribute(t,r.elementAttributes[t]);h.value=o;var n=function(){l()};function l(){var t=h.value;isNaN(t)||""===t||(t=Number(t)),t!==o?e(t)&&(o=t):s()}return i((function(){"cell"===t.getType()&&(h.removeEventListener("blur",n),h.focus({preventScroll:!0}),h.style.height="100%",h.addEventListener("blur",n),r.selectContents&&h.select())})),h.addEventListener("keydown",(function(t){switch(t.keyCode){case 13:l();break;case 27:s();break;case 38:case 40:"editor"==a&&(t.stopImmediatePropagation(),t.stopPropagation());break;case 35:case 36:t.stopPropagation()}})),r.mask&<(h,r),h},range:function(t,i,e,s,r){var o=t.getValue(),a=document.createElement("input");if(a.setAttribute("type","range"),void 0!==r.max&&a.setAttribute("max",r.max),void 0!==r.min&&a.setAttribute("min",r.min),void 0!==r.step&&a.setAttribute("step",r.step),a.style.padding="4px",a.style.width="100%",a.style.boxSizing="border-box",r.elementAttributes&&"object"==typeof r.elementAttributes)for(let t in r.elementAttributes)"+"==t.charAt(0)?(t=t.slice(1),a.setAttribute(t,a.getAttribute(t)+r.elementAttributes["+"+t])):a.setAttribute(t,r.elementAttributes[t]);function h(){var t=a.value;isNaN(t)||""===t||(t=Number(t)),t!=o?e(t)&&(o=t):s()}return a.value=o,i((function(){"cell"===t.getType()&&(a.focus({preventScroll:!0}),a.style.height="100%")})),a.addEventListener("blur",(function(){h()})),a.addEventListener("keydown",(function(t){switch(t.keyCode){case 13:h();break;case 27:s()}})),a},date:function(t,i,e,s,r){var o=r.format,a=r.verticalNavigation||"editor",h=o?window.DateTime||luxon.DateTime:null,n=t.getValue(),l=document.createElement("input");function u(t){return(h.isDateTime(t)?t:"iso"===o?h.fromISO(String(t)):h.fromFormat(String(t),o)).toFormat("yyyy-MM-dd")}if(l.type="date",l.style.padding="4px",l.style.width="100%",l.style.boxSizing="border-box",r.max&&l.setAttribute("max",o?u(r.max):r.max),r.min&&l.setAttribute("min",o?u(r.min):r.min),r.elementAttributes&&"object"==typeof r.elementAttributes)for(let t in r.elementAttributes)"+"==t.charAt(0)?(t=t.slice(1),l.setAttribute(t,l.getAttribute(t)+r.elementAttributes["+"+t])):l.setAttribute(t,r.elementAttributes[t]);function c(){var t,i=l.value;if(null==n&&""!==i||i!==n){if(i&&o)switch(t=h.fromFormat(String(i),"yyyy-MM-dd"),o){case!0:i=t;break;case"iso":i=t.toISO();break;default:i=t.toFormat(o)}e(i)&&(n=l.value)}else s()}return n=void 0!==n?n:"",o&&(h?n=u(n):console.error("Editor Error - 'date' editor 'format' param is dependant on luxon.js")),l.value=n,i((function(){"cell"===t.getType()&&(l.focus({preventScroll:!0}),l.style.height="100%",r.selectContents&&l.select())})),l.addEventListener("blur",(function(t){(t.relatedTarget||t.rangeParent||t.explicitOriginalTarget!==l)&&c()})),l.addEventListener("keydown",(function(t){switch(t.keyCode){case 13:c();break;case 27:s();break;case 35:case 36:t.stopPropagation();break;case 38:case 40:"editor"==a&&(t.stopImmediatePropagation(),t.stopPropagation())}})),l},time:function(t,i,e,s,r){var o,a=r.format,h=r.verticalNavigation||"editor",n=a?window.DateTime||luxon.DateTime:null,l=t.getValue(),u=document.createElement("input");if(u.type="time",u.style.padding="4px",u.style.width="100%",u.style.boxSizing="border-box",r.elementAttributes&&"object"==typeof r.elementAttributes)for(let t in r.elementAttributes)"+"==t.charAt(0)?(t=t.slice(1),u.setAttribute(t,u.getAttribute(t)+r.elementAttributes["+"+t])):u.setAttribute(t,r.elementAttributes[t]);function c(){var t,i=u.value;if(null==l&&""!==i||i!==l){if(i&&a)switch(t=n.fromFormat(String(i),"hh:mm"),a){case!0:i=t;break;case"iso":i=t.toISO();break;default:i=t.toFormat(a)}e(i)&&(l=u.value)}else s()}return l=void 0!==l?l:"",a&&(n?(o=n.isDateTime(l)?l:"iso"===a?n.fromISO(String(l)):n.fromFormat(String(l),a),l=o.toFormat("HH:mm")):console.error("Editor Error - 'date' editor 'format' param is dependant on luxon.js")),u.value=l,i((function(){"cell"==t.getType()&&(u.focus({preventScroll:!0}),u.style.height="100%",r.selectContents&&u.select())})),u.addEventListener("blur",(function(t){(t.relatedTarget||t.rangeParent||t.explicitOriginalTarget!==u)&&c()})),u.addEventListener("keydown",(function(t){switch(t.keyCode){case 13:c();break;case 27:s();break;case 35:case 36:t.stopPropagation();break;case 38:case 40:"editor"==h&&(t.stopImmediatePropagation(),t.stopPropagation())}})),u},datetime:function(t,i,e,s,r){var o,a=r.format,h=r.verticalNavigation||"editor",n=a?this.table.dependencyRegistry.lookup(["luxon","DateTime"],"DateTime"):null,l=t.getValue(),u=document.createElement("input");if(u.type="datetime-local",u.style.padding="4px",u.style.width="100%",u.style.boxSizing="border-box",r.elementAttributes&&"object"==typeof r.elementAttributes)for(let t in r.elementAttributes)"+"==t.charAt(0)?(t=t.slice(1),u.setAttribute(t,u.getAttribute(t)+r.elementAttributes["+"+t])):u.setAttribute(t,r.elementAttributes[t]);function c(){var t,i=u.value;if(null==l&&""!==i||i!==l){if(i&&a)switch(t=n.fromISO(String(i)),a){case!0:i=t;break;case"iso":i=t.toISO();break;default:i=t.toFormat(a)}e(i)&&(l=u.value)}else s()}return l=void 0!==l?l:"",a&&(n?(o=n.isDateTime(l)?l:"iso"===a?n.fromISO(String(l)):n.fromFormat(String(l),a),l=o.toFormat("yyyy-MM-dd")+"T"+o.toFormat("HH:mm")):console.error("Editor Error - 'date' editor 'format' param is dependant on luxon.js")),u.value=l,i((function(){"cell"===t.getType()&&(u.focus({preventScroll:!0}),u.style.height="100%",r.selectContents&&u.select())})),u.addEventListener("blur",(function(t){(t.relatedTarget||t.rangeParent||t.explicitOriginalTarget!==u)&&c()})),u.addEventListener("keydown",(function(t){switch(t.keyCode){case 13:c();break;case 27:s();break;case 35:case 36:t.stopPropagation();break;case 38:case 40:"editor"==h&&(t.stopImmediatePropagation(),t.stopPropagation())}})),u},list:function(t,i,e,s,r){return new ut(this,t,i,e,s,r).input},star:function(t,i,e,s,r){var o=this,a=t.getElement(),h=t.getValue(),n=a.getElementsByTagName("svg").length||5,l=a.getElementsByTagName("svg")[0]?a.getElementsByTagName("svg")[0].getAttribute("width"):14,u=[],c=document.createElement("div"),d=document.createElementNS("http://www.w3.org/2000/svg","svg");function b(t){u.forEach((function(i,e){e<t?("ie"==o.table.browser?i.setAttribute("class","tabulator-star-active"):i.classList.replace("tabulator-star-inactive","tabulator-star-active"),i.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 "/>'):("ie"==o.table.browser?i.setAttribute("class","tabulator-star-inactive"):i.classList.replace("tabulator-star-active","tabulator-star-inactive"),i.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 p(t){var i=document.createElement("span"),s=d.cloneNode(!0);u.push(s),i.addEventListener("mouseenter",(function(i){i.stopPropagation(),i.stopImmediatePropagation(),b(t)})),i.addEventListener("mousemove",(function(t){t.stopPropagation(),t.stopImmediatePropagation()})),i.addEventListener("click",(function(i){i.stopPropagation(),i.stopImmediatePropagation(),e(t),a.blur()})),i.appendChild(s),c.appendChild(i)}function m(t){h=t,b(t)}if(a.style.whiteSpace="nowrap",a.style.overflow="hidden",a.style.textOverflow="ellipsis",c.style.verticalAlign="middle",c.style.display="inline-block",c.style.padding="4px",d.setAttribute("width",l),d.setAttribute("height",l),d.setAttribute("viewBox","0 0 512 512"),d.setAttribute("xml:space","preserve"),d.style.padding="0 1px",r.elementAttributes&&"object"==typeof r.elementAttributes)for(let t in r.elementAttributes)"+"==t.charAt(0)?(t=t.slice(1),c.setAttribute(t,c.getAttribute(t)+r.elementAttributes["+"+t])):c.setAttribute(t,r.elementAttributes[t]);for(var f=1;f<=n;f++)p(f);return b(h=Math.min(parseInt(h),n)),c.addEventListener("mousemove",(function(){b(0)})),c.addEventListener("click",(function(){e(0)})),a.addEventListener("blur",(function(){s()})),a.addEventListener("keydown",(function(t){switch(t.keyCode){case 39:m(h+1);break;case 37:m(h-1);break;case 13:e(h);break;case 27:s()}})),c},progress:function(t,i,e,s,r){var o,a,h=t.getElement(),n=void 0===r.max?h.getElementsByTagName("div")[0]&&h.getElementsByTagName("div")[0].getAttribute("max")||100:r.max,l=void 0===r.min?h.getElementsByTagName("div")[0]&&h.getElementsByTagName("div")[0].getAttribute("min")||0:r.min,u=(n-l)/100,c=t.getValue()||0,d=document.createElement("div"),b=document.createElement("div");function p(){var t=window.getComputedStyle(h,null),i=u*Math.round(b.offsetWidth/((h.clientWidth-parseInt(t.getPropertyValue("padding-left"))-parseInt(t.getPropertyValue("padding-right")))/100))+l;e(i),h.setAttribute("aria-valuenow",i),h.setAttribute("aria-label",c)}if(d.style.position="absolute",d.style.right="0",d.style.top="0",d.style.bottom="0",d.style.width="5px",d.classList.add("tabulator-progress-handle"),b.style.display="inline-block",b.style.position="relative",b.style.height="100%",b.style.backgroundColor="#488CE9",b.style.maxWidth="100%",b.style.minWidth="0%",r.elementAttributes&&"object"==typeof r.elementAttributes)for(let t in r.elementAttributes)"+"==t.charAt(0)?(t=t.slice(1),b.setAttribute(t,b.getAttribute(t)+r.elementAttributes["+"+t])):b.setAttribute(t,r.elementAttributes[t]);return h.style.padding="4px 4px",c=Math.min(parseFloat(c),n),c=Math.max(parseFloat(c),l),c=Math.round((c-l)/u),b.style.width=c+"%",h.setAttribute("aria-valuemin",l),h.setAttribute("aria-valuemax",n),b.appendChild(d),d.addEventListener("mousedown",(function(t){o=t.screenX,a=b.offsetWidth})),d.addEventListener("mouseover",(function(){d.style.cursor="ew-resize"})),h.addEventListener("mousemove",(function(t){o&&(b.style.width=a+t.screenX-o+"px")})),h.addEventListener("mouseup",(function(t){o&&(t.stopPropagation(),t.stopImmediatePropagation(),o=!1,a=!1,p())})),h.addEventListener("keydown",(function(t){switch(t.keyCode){case 39:t.preventDefault(),b.style.width=b.clientWidth+h.clientWidth/100+"px";break;case 37:t.preventDefault(),b.style.width=b.clientWidth-h.clientWidth/100+"px";break;case 9:case 13:p();break;case 27:s()}})),h.addEventListener("blur",(function(){s()})),b},tickCross:function(t,i,e,s,r){var o=t.getValue(),a=document.createElement("input"),h=r.tristate,n=void 0===r.indeterminateValue?null:r.indeterminateValue,l=!1,u=Object.keys(r).includes("trueValue"),c=Object.keys(r).includes("falseValue");if(a.setAttribute("type","checkbox"),a.style.marginTop="5px",a.style.boxSizing="border-box",r.elementAttributes&&"object"==typeof r.elementAttributes)for(let t in r.elementAttributes)"+"==t.charAt(0)?(t=t.slice(1),a.setAttribute(t,a.getAttribute(t)+r.elementAttributes["+"+t])):a.setAttribute(t,r.elementAttributes[t]);function d(t){var i=a.checked;return u&&i?i=r.trueValue:c&&!i&&(i=r.falseValue),h?t?l?n:i:a.checked&&!l?(a.checked=!1,a.indeterminate=!0,l=!0,n):(l=!1,i):i}return a.value=o,!h||void 0!==o&&o!==n&&""!==o||(l=!0,a.indeterminate=!0),"firefox"!=this.table.browser&&"safari"!=this.table.browser&&i((function(){"cell"===t.getType()&&a.focus({preventScroll:!0})})),a.checked=u?o===r.trueValue:!0===o||"true"===o||"True"===o||1===o,a.addEventListener("change",(function(){e(d())})),a.addEventListener("blur",(function(){e(d(!0))})),a.addEventListener("keydown",(function(t){13==t.keyCode&&e(d()),27==t.keyCode&&s()})),a},adaptable:function(t,i,e,s,r){var o,a,h=t._getSelf().column;return o=r.editorLookup?r.editorLookup(t):function(t){var i=t.getValue(),e="input";switch(typeof i){case"number":e="number";break;case"boolean":e="tickCross";break;case"string":i.includes("\n")&&(e="textarea")}return e}(t),r.paramsLookup&&(a="function"==typeof r.paramsLookup?r.paramsLookup(o,t):r.paramsLookup[o]),this.table.modules.edit.lookupEditor(o,h).call(this,t,i,e,s,a||{})}};class dt extends H{static moduleName="edit";static editors=ct;constructor(t){super(t),this.currentCell=!1,this.mouseClick=!1,this.recursionBlock=!1,this.invalidEdit=!1,this.editedCells=[],this.convertEmptyValues=!1,this.editors=dt.editors,this.registerTableOption("editTriggerEvent","focus"),this.registerTableOption("editorEmptyValue"),this.registerTableOption("editorEmptyValueFunc",this.emptyValueCheck.bind(this)),this.registerColumnOption("editable"),this.registerColumnOption("editor"),this.registerColumnOption("editorParams"),this.registerColumnOption("editorEmptyValue"),this.registerColumnOption("editorEmptyValueFunc"),this.registerColumnOption("cellEditing"),this.registerColumnOption("cellEdited"),this.registerColumnOption("cellEditCancelled"),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)),Object.keys(this.table.options).includes("editorEmptyValue")&&(this.convertEmptyValues=!0)}pasteBlocker(t){if(this.currentCell)return!0}keybindingNavigateNext(t){var i=this.currentCell,e=this.options("tabEndNewRow");i&&(this.navigateNext(i,t)||e&&(i.getElement().firstChild.blur(),this.invalidEdit||(e=this.table.addRow(!0===e?{}:"function"==typeof e?e(i.row.getComponent()):Object.assign({},e))).then((()=>{setTimeout((()=>{i.getComponent().navigateNext()}))}))))}cellIsEdited(t){return!!t.modules.edit&&t.modules.edit.edited}cellCancelEdit(t){t===this.currentCell?this.table.modules.edit.cancelEdit():console.warn("Cancel Editor Error - This cell is not currently being edited ")}updateCellClass(t){this.allowEdit(t)?t.getElement().classList.add("tabulator-editable"):t.getElement().classList.remove("tabulator-editable")}clearCellEdited(t){t||(t=this.table.modules.edit.getEditedCells()),Array.isArray(t)||(t=[t]),t.forEach((t=>{this.table.modules.edit.clearEdited(t._getSelf())}))}navigatePrev(t=this.currentCell,i){var e,s;if(t){if(i&&i.preventDefault(),e=this.navigateLeft())return!0;if((s=this.table.rowManager.prevDisplayRow(t.row,!0))&&(e=this.findPrevEditableCell(s,s.cells.length)))return e.getComponent().edit(),!0}return!1}navigateNext(t=this.currentCell,i){var e,s;if(t){if(i&&i.preventDefault(),e=this.navigateRight())return!0;if((s=this.table.rowManager.nextDisplayRow(t.row,!0))&&(e=this.findNextEditableCell(s,-1)))return e.getComponent().edit(),!0}return!1}navigateLeft(t=this.currentCell,i){var e,s;return!!(t&&(i&&i.preventDefault(),e=t.getIndex(),s=this.findPrevEditableCell(t.row,e)))&&(s.getComponent().edit(),!0)}navigateRight(t=this.currentCell,i){var e,s;return!!(t&&(i&&i.preventDefault(),e=t.getIndex(),s=this.findNextEditableCell(t.row,e)))&&(s.getComponent().edit(),!0)}navigateUp(t=this.currentCell,i){var e,s;return!!(t&&(i&&i.preventDefault(),e=t.getIndex(),s=this.table.rowManager.prevDisplayRow(t.row,!0)))&&(s.cells[e].getComponent().edit(),!0)}navigateDown(t=this.currentCell,i){var e,s;return!!(t&&(i&&i.preventDefault(),e=t.getIndex(),s=this.table.rowManager.nextDisplayRow(t.row,!0)))&&(s.cells[e].getComponent().edit(),!0)}findNextEditableCell(t,i){var e=!1;if(i<t.cells.length-1)for(var s=i+1;s<t.cells.length;s++){let i=t.cells[s];if(i.column.modules.edit&&N.elVisible(i.getElement())&&this.allowEdit(i)){e=i;break}}return e}findPrevEditableCell(t,i){var e=!1;if(i>0)for(var s=i-1;s>=0;s--){let i=t.cells[s];if(i.column.modules.edit&&N.elVisible(i.getElement())&&this.allowEdit(i)){e=i;break}}return e}initializeColumnCheck(t){void 0!==t.definition.editor&&this.initializeColumn(t)}columnDeleteCheck(t){this.currentCell&&this.currentCell.column===t&&this.cancelEdit()}rowDeleteCheck(t){this.currentCell&&this.currentCell.row===t&&this.cancelEdit()}rowEditableCheck(t){t.getCells().forEach((t=>{t.column.modules.edit&&"function"==typeof t.column.modules.edit.check&&this.updateCellClass(t)}))}initializeColumn(t){var i=Object.keys(t.definition).includes("editorEmptyValue"),e={editor:!1,blocked:!1,check:t.definition.editable,params:t.definition.editorParams||{},convertEmptyValues:i,editorEmptyValue:t.definition.editorEmptyValue,editorEmptyValueFunc:t.definition.editorEmptyValueFunc};e.editor=this.lookupEditor(t.definition.editor,t),e.editor&&(t.modules.edit=e)}lookupEditor(t,i){var e;switch(typeof t){case"string":this.editors[t]?e=this.editors[t]:console.warn("Editor Error - No such editor found: ",t);break;case"function":e=t;break;case"boolean":!0===t&&("function"!=typeof i.definition.formatter?e=this.editors[i.definition.formatter]?this.editors[i.definition.formatter]:this.editors.input:console.warn("Editor Error - Cannot auto lookup editor for a custom formatter: ",i.definition.formatter))}return e}getCurrentCell(){return!!this.currentCell&&this.currentCell.getComponent()}clearEditor(t){var i,e=this.currentCell;if(this.invalidEdit=!1,e){for(this.currentCell=!1,i=e.getElement(),this.dispatch("edit-editor-clear",e,t),i.classList.remove("tabulator-editing");i.firstChild;)i.removeChild(i.firstChild);e.row.getElement().classList.remove("tabulator-editing"),e.table.element.classList.remove("tabulator-editing")}}cancelEdit(){if(this.currentCell){var t=this.currentCell,i=this.currentCell.getComponent();this.clearEditor(!0),t.setValueActual(t.getValue()),t.cellRendered(),("textarea"==t.column.definition.editor||t.column.definition.variableHeight)&&t.row.normalizeHeight(!0),t.column.definition.cellEditCancelled&&t.column.definition.cellEditCancelled.call(this.table,i),this.dispatch("edit-cancelled",t),this.dispatchExternal("cellEditCancelled",i)}}bindEditor(t){if(t.column.modules.edit){var i=this,e=t.getElement(!0);this.updateCellClass(t),e.setAttribute("tabindex",0),e.addEventListener("mousedown",(function(t){2===t.button?t.preventDefault():i.mouseClick=!0})),"dblclick"===this.options("editTriggerEvent")&&e.addEventListener("dblclick",(function(s){e.classList.contains("tabulator-editing")||(e.focus({preventScroll:!0}),i.edit(t,s,!1))})),"focus"!==this.options("editTriggerEvent")&&"click"!==this.options("editTriggerEvent")||e.addEventListener("click",(function(s){e.classList.contains("tabulator-editing")||(e.focus({preventScroll:!0}),i.edit(t,s,!1))})),"focus"===this.options("editTriggerEvent")&&e.addEventListener("focus",(function(e){i.recursionBlock||i.edit(t,e,!1)}))}}focusCellNoEvent(t,i){this.recursionBlock=!0,i&&"ie"===this.table.browser||t.getElement().focus({preventScroll:!0}),this.recursionBlock=!1}editCell(t,i){this.focusCellNoEvent(t),this.edit(t,!1,i)}focusScrollAdjust(t){if("virtual"==this.table.rowManager.getRenderMode()){var i=this.table.rowManager.element.scrollTop,e=this.table.rowManager.element.clientHeight+this.table.rowManager.element.scrollTop,s=t.row.getElement();s.offsetTop<i?this.table.rowManager.element.scrollTop-=i-s.offsetTop:s.offsetTop+s.offsetHeight>e&&(this.table.rowManager.element.scrollTop+=s.offsetTop+s.offsetHeight-e);var r=this.table.rowManager.element.scrollLeft,o=this.table.rowManager.element.clientWidth+this.table.rowManager.element.scrollLeft,a=t.getElement();this.table.modExists("frozenColumns")&&(r+=parseInt(this.table.modules.frozenColumns.leftMargin||0),o-=parseInt(this.table.modules.frozenColumns.rightMargin||0)),"virtual"===this.table.options.renderHorizontal&&(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(t){var i=!!t.column.modules.edit;if(t.column.modules.edit)switch(typeof t.column.modules.edit.check){case"function":t.row.initialized&&(i=t.column.modules.edit.check(t.getComponent()));break;case"string":i=!!t.row.data[t.column.modules.edit.check];break;case"boolean":i=t.column.modules.edit.check}return i}edit(t,i,e){var s,r,o,a=this,h=function(){},n=t.getElement(),l=!1;if(!this.currentCell){if(t.column.modules.edit.blocked)return this.mouseClick=!1,this.blur(n),!1;if(i&&i.stopPropagation(),this.allowEdit(t)||e){if(a.cancelEdit(),a.currentCell=t,this.focusScrollAdjust(t),r=t.getComponent(),this.mouseClick&&(this.mouseClick=!1,t.column.definition.cellClick&&t.column.definition.cellClick.call(this.table,i,r)),t.column.definition.cellEditing&&t.column.definition.cellEditing.call(this.table,r),this.dispatch("cell-editing",t),this.dispatchExternal("cellEditing",r),o="function"==typeof t.column.modules.edit.params?t.column.modules.edit.params(r):t.column.modules.edit.params,s=t.column.modules.edit.editor.call(a,r,(function(t){h=t}),(function(i){if(a.currentCell===t&&!l){var e=a.chain("edit-success",[t,i],!0,!0);return!0===e||"highlight"===a.table.options.validationMode?(l=!0,a.clearEditor(),t.modules.edit||(t.modules.edit={}),t.modules.edit.edited=!0,-1==a.editedCells.indexOf(t)&&a.editedCells.push(t),i=a.transformEmptyValues(i,t),t.setValue(i,!0),!0===e):(l=!0,a.invalidEdit=!0,a.focusCellNoEvent(t,!0),h(),setTimeout((()=>{l=!1}),10),!1)}}),(function(){a.currentCell!==t||l||a.cancelEdit()}),o),!this.currentCell||!1===s)return this.blur(n),!1;if(!(s instanceof Node))return console.warn("Edit Error - Editor should return an instance of Node, the editor returned:",s),this.blur(n),!1;for(n.classList.add("tabulator-editing"),t.row.getElement().classList.add("tabulator-editing"),t.table.element.classList.add("tabulator-editing");n.firstChild;)n.removeChild(n.firstChild);n.appendChild(s),h();for(var u=n.children,c=0;c<u.length;c++)u[c].addEventListener("click",(function(t){t.stopPropagation()}));return!0}return this.mouseClick=!1,this.blur(n),!1}this.invalidEdit||this.currentCell===t||this.cancelEdit()}emptyValueCheck(t){return""===t||null==t}transformEmptyValues(t,i){var e,s=i.column.modules.edit;return(s.convertEmptyValues||this.convertEmptyValues)&&(e=s.editorEmptyValueFunc||this.options("editorEmptyValueFunc"))&&e(t)&&(t=s.convertEmptyValues?s.editorEmptyValue:this.options("editorEmptyValue")),t}blur(t){this.confirm("edit-blur",[t])||t.blur()}getEditedCells(){var t=[];return this.editedCells.forEach((i=>{t.push(i.getComponent())})),t}clearEdited(t){var i;t.modules.edit&&t.modules.edit.edited&&(t.modules.edit.edited=!1,this.dispatch("edit-edited-clear",t)),(i=this.editedCells.indexOf(t))>-1&&this.editedCells.splice(i,1)}}class bt{constructor(t,i,e,s){this.type=t,this.columns=i,this.component=e||!1,this.indent=s||0}}class pt{constructor(t,i,e,s,r){this.value=t,this.component=i||!1,this.width=e,this.height=s,this.depth=r}}var mt={},ft={visible:function(){return this.rowManager.getVisibleRows(!1,!0)},all:function(){return this.rowManager.rows},selected:function(){return this.modules.selectRow.selectedRows},active:function(){return this.options.pagination?this.rowManager.getDisplayRows(this.rowManager.displayRows.length-2):this.rowManager.getDisplayRows()}};class gt extends H{static moduleName="export";static columnLookups=mt;static rowLookups=ft;constructor(t){super(t),this.config={},this.cloneTableStyle=!0,this.colVisProp="",this.colVisPropAttach="",this.registerTableOption("htmlOutputConfig",!1),this.registerColumnOption("htmlOutput"),this.registerColumnOption("titleHtmlOutput")}initialize(){this.registerTableFunction("getHtml",this.getHtml.bind(this))}generateExportList(t,i,e,s){var r,o,a,h;return this.cloneTableStyle=i,this.config=t||{},this.colVisProp=s,this.colVisPropAttach=this.colVisProp.charAt(0).toUpperCase()+this.colVisProp.slice(1),(h=gt.columnLookups[e])&&(a=(a=h.call(this.table)).filter((t=>this.columnVisCheck(t)))),r=!1!==this.config.columnHeaders?this.headersToExportRows(this.generateColumnGroupHeaders(a)):[],a&&(a=a.map((t=>t.getComponent()))),o=this.bodyToExportRows(this.rowLookup(e),a),r.concat(o)}generateTable(t,i,e,s){var r=this.generateExportList(t,i,e,s);return this.generateTableElement(r)}rowLookup(t){var i=[];return"function"==typeof t?t.call(this.table).forEach((t=>{(t=this.table.rowManager.findRow(t))&&i.push(t)})):i=(gt.rowLookups[t]||gt.rowLookups.active).call(this.table),Object.assign([],i)}generateColumnGroupHeaders(t){var i=[];return t||(t=!1!==this.config.columnGroups?this.table.columnManager.columns:this.table.columnManager.columnsByIndex),t.forEach((t=>{var e=this.processColumnGroup(t);e&&i.push(e)})),i}processColumnGroup(t){var i=t.columns,e=0,s={title:t.definition["title"+this.colVisPropAttach]||t.definition.title,column:t,depth:1};if(i.length){if(s.subGroups=[],s.width=0,i.forEach((t=>{var i=this.processColumnGroup(t);i&&(s.width+=i.width,s.subGroups.push(i),i.depth>e&&(e=i.depth))})),s.depth+=e,!s.width)return!1}else{if(!this.columnVisCheck(t))return!1;s.width=1}return s}columnVisCheck(t){var i=t.definition[this.colVisProp];return(!1!==this.config.rowHeaders||!t.isRowHeader)&&("function"==typeof i&&(i=i.call(this.table,t.getComponent())),!1===i||!0===i?i:t.visible&&t.field)}headersToExportRows(t){var i=[],e=0,s=[];function r(t,s){var o=e-s;if(void 0===i[s]&&(i[s]=[]),t.height=t.subGroups?1:o-t.depth+1,i[s].push(t),t.height>1)for(let e=1;e<t.height;e++)void 0===i[s+e]&&(i[s+e]=[]),i[s+e].push(!1);if(t.width>1)for(let e=1;e<t.width;e++)i[s].push(!1);t.subGroups&&t.subGroups.forEach((function(t){r(t,s+1)}))}return t.forEach((function(t){t.depth>e&&(e=t.depth)})),t.forEach((function(t){r(t,0)})),i.forEach((t=>{var i=[];t.forEach((t=>{i.push(t?new pt(void 0===t.title?"":t.title,t.column.getComponent(),t.width,t.height,t.depth):null)})),s.push(new bt("header",i))})),s}bodyToExportRows(t,i=[]){var e=[];return 0===i.length&&this.table.columnManager.columnsByIndex.forEach((t=>{this.columnVisCheck(t)&&i.push(t.getComponent())})),!1!==this.config.columnCalcs&&this.table.modExists("columnCalcs")&&(this.table.modules.columnCalcs.topInitialized&&t.unshift(this.table.modules.columnCalcs.topRow),this.table.modules.columnCalcs.botInitialized&&t.push(this.table.modules.columnCalcs.botRow)),(t=t.filter((t=>{switch(t.type){case"group":return!1!==this.config.rowGroups;case"calc":return!1!==this.config.columnCalcs;case"row":return!(this.table.options.dataTree&&!1===this.config.dataTree&&t.modules.dataTree.parent)}return!0}))).forEach((t=>{var s=t.getData(this.colVisProp),r=[],o=0;switch(t.type){case"group":o=t.level,r.push(new pt(t.key,t.getComponent(),i.length,1));break;case"calc":case"row":i.forEach((t=>{r.push(new pt(t._column.getFieldValue(s),t,1,1))})),this.table.options.dataTree&&!1!==this.config.dataTree&&(o=t.modules.dataTree.index)}e.push(new bt(t.type,r,t.getComponent(),o))})),e}generateTableElement(t){var i=document.createElement("table"),e=document.createElement("thead"),s=document.createElement("tbody"),r=this.lookupTableStyles(),o=this.table.options["rowFormatter"+this.colVisPropAttach],a={};return a.rowFormatter=null!==o?o:this.table.options.rowFormatter,this.table.options.dataTree&&!1!==this.config.dataTree&&this.table.modExists("columnCalcs")&&(a.treeElementField=this.table.modules.dataTree.elementField),a.groupHeader=this.table.options["groupHeader"+this.colVisPropAttach],a.groupHeader&&!Array.isArray(a.groupHeader)&&(a.groupHeader=[a.groupHeader]),i.classList.add("tabulator-print-table"),this.mapElementStyles(this.table.columnManager.getHeadersElement(),e,["border-top","border-left","border-right","border-bottom","background-color","color","font-weight","font-family","font-size"]),t.length>1e3&&console.warn("It may take a long time to render an HTML table with more than 1000 rows"),t.forEach(((t,i)=>{let o;switch(t.type){case"header":e.appendChild(this.generateHeaderElement(t,a,r));break;case"group":s.appendChild(this.generateGroupElement(t,a,r));break;case"calc":s.appendChild(this.generateCalcElement(t,a,r));break;case"row":o=this.generateRowElement(t,a,r),this.mapElementStyles(i%2&&r.evenRow?r.evenRow:r.oddRow,o,["border-top","border-left","border-right","border-bottom","color","font-weight","font-family","font-size","background-color"]),s.appendChild(o)}})),e.innerHTML&&i.appendChild(e),i.appendChild(s),this.mapElementStyles(this.table.element,i,["border-top","border-left","border-right","border-bottom"]),i}lookupTableStyles(){var t={};return this.cloneTableStyle&&window.getComputedStyle&&(t.oddRow=this.table.element.querySelector(".tabulator-row-odd:not(.tabulator-group):not(.tabulator-calcs)"),t.evenRow=this.table.element.querySelector(".tabulator-row-even:not(.tabulator-group):not(.tabulator-calcs)"),t.calcRow=this.table.element.querySelector(".tabulator-row.tabulator-calcs"),t.firstRow=this.table.element.querySelector(".tabulator-row:not(.tabulator-group):not(.tabulator-calcs)"),t.firstGroup=this.table.element.getElementsByClassName("tabulator-group")[0],t.firstRow&&(t.styleCells=t.firstRow.getElementsByClassName("tabulator-cell"),t.styleRowHeader=t.firstRow.getElementsByClassName("tabulator-row-header")[0],t.firstCell=t.styleCells[0],t.lastCell=t.styleCells[t.styleCells.length-1])),t}generateHeaderElement(t,i,e){var s=document.createElement("tr");return t.columns.forEach((t=>{if(t){var i=document.createElement("th"),e=t.component._column.definition.cssClass?t.component._column.definition.cssClass.split(" "):[];i.colSpan=t.width,i.rowSpan=t.height,i.innerHTML=t.value,this.cloneTableStyle&&(i.style.boxSizing="border-box"),e.forEach((function(t){i.classList.add(t)})),this.mapElementStyles(t.component.getElement(),i,["text-align","border-left","border-right","background-color","color","font-weight","font-family","font-size"]),this.mapElementStyles(t.component._column.contentElement,i,["padding-top","padding-left","padding-right","padding-bottom"]),t.component._column.visible?this.mapElementStyles(t.component.getElement(),i,["width"]):t.component._column.definition.width&&(i.style.width=t.component._column.definition.width+"px"),this.mapElementStyles(t.component._column.parent&&t.component._column.parent.isGroup?t.component._column.parent.groupElement:t.component.getElement(),i,["border-top"]),this.mapElementStyles(t.component._column.isGroup?t.component.getElement():this.table.columnManager.getElement(),i,["border-bottom"]),s.appendChild(i)}})),s}generateGroupElement(t,i,e){var s=document.createElement("tr"),r=document.createElement("td"),o=t.columns[0];return s.classList.add("tabulator-print-table-row"),i.groupHeader&&i.groupHeader[t.indent]?o.value=i.groupHeader[t.indent](o.value,t.component._group.getRowCount(),t.component._group.getData(),t.component):!1!==i.groupHeader&&(o.value=t.component._group.generator(o.value,t.component._group.getRowCount(),t.component._group.getData(),t.component)),r.colSpan=o.width,r.innerHTML=o.value,s.classList.add("tabulator-print-table-group"),s.classList.add("tabulator-group-level-"+t.indent),o.component.isVisible()&&s.classList.add("tabulator-group-visible"),this.mapElementStyles(e.firstGroup,s,["border-top","border-left","border-right","border-bottom","color","font-weight","font-family","font-size","background-color"]),this.mapElementStyles(e.firstGroup,r,["padding-top","padding-left","padding-right","padding-bottom"]),s.appendChild(r),s}generateCalcElement(t,i,e){var s=this.generateRowElement(t,i,e);return s.classList.add("tabulator-print-table-calcs"),this.mapElementStyles(e.calcRow,s,["border-top","border-left","border-right","border-bottom","color","font-weight","font-family","font-size","background-color"]),s}generateRowElement(t,i,e){var s=document.createElement("tr");return s.classList.add("tabulator-print-table-row"),t.columns.forEach(((r,o)=>{if(r){var a,h,n=document.createElement("td"),l=r.component._column,u=this.table,c=u.columnManager.findColumnIndex(l),d=r.value,b={modules:{},getValue:function(){return d},getField:function(){return l.definition.field},getElement:function(){return n},getType:function(){return"cell"},getColumn:function(){return l.getComponent()},getData:function(){return t.component.getData()},getRow:function(){return t.component},getTable:function(){return u},getComponent:function(){return b},column:l};if((l.definition.cssClass?l.definition.cssClass.split(" "):[]).forEach((function(t){n.classList.add(t)})),this.table.modExists("format")&&!1!==this.config.formatCells)d=this.table.modules.format.formatExportValue(b,this.colVisProp);else switch(typeof d){case"object":d=null!==d?JSON.stringify(d):"";break;case"undefined":d=""}d instanceof Node?n.appendChild(d):n.innerHTML=d,h=["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.isRowHeader?(a=e.styleRowHeader,h.push("background-color")):a=e.styleCells&&e.styleCells[c]?e.styleCells[c]:e.firstCell,a&&(this.mapElementStyles(a,n,h),l.definition.align&&(n.style.textAlign=l.definition.align)),this.table.options.dataTree&&!1!==this.config.dataTree&&(i.treeElementField&&i.treeElementField==l.field||!i.treeElementField&&0==o)&&(t.component._row.modules.dataTree.controlEl&&n.insertBefore(t.component._row.modules.dataTree.controlEl.cloneNode(!0),n.firstChild),t.component._row.modules.dataTree.branchEl&&n.insertBefore(t.component._row.modules.dataTree.branchEl.cloneNode(!0),n.firstChild)),s.appendChild(n),b.modules.format&&b.modules.format.renderedCallback&&b.modules.format.renderedCallback()}})),i.rowFormatter&&"row"===t.type&&!1!==this.config.formatCells&&(Object.assign(t.component).getElement=function(){return s},i.rowFormatter(t.component)),s}generateHTMLTable(t){var i=document.createElement("div");return i.appendChild(this.generateTableElement(t)),i.innerHTML}getHtml(t,i,e,s){var r=this.generateExportList(e||this.table.options.htmlOutputConfig,i,t,s||"htmlOutput");return this.generateHTMLTable(r)}mapElementStyles(t,i,e){if(this.cloneTableStyle&&t&&i){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(t);e.forEach((function(t){i.style[s[t]]||(i.style[s[t]]=r.getPropertyValue(t))}))}}}}var vt={"=":function(t,i){return i==t},"<":function(t,i){return i<t},"<=":function(t,i){return i<=t},">":function(t,i){return i>t},">=":function(t,i){return i>=t},"!=":function(t,i){return i!=t},regex:function(t,i){return"string"==typeof t&&(t=new RegExp(t)),t.test(i)},like:function(t,i){return null==t?i===t:null!=i&&String(i).toLowerCase().indexOf(t.toLowerCase())>-1},keywords:function(t,i,e,s){var r=t.toLowerCase().split(void 0===s.separator?" ":s.separator),o=String(null==i?"":i).toLowerCase(),a=[];return r.forEach((t=>{o.includes(t)&&a.push(!0)})),s.matchAll?a.length===r.length:!!a.length},starts:function(t,i){return null==t?i===t:null!=i&&String(i).toLowerCase().startsWith(t.toLowerCase())},ends:function(t,i){return null==t?i===t:null!=i&&String(i).toLowerCase().endsWith(t.toLowerCase())},in:function(t,i){return Array.isArray(t)?!t.length||t.indexOf(i)>-1:(console.warn("Filter Error - filter value is not an array:",t),!1)}};class wt extends H{static moduleName="filter";static filters=vt;constructor(t){super(t),this.filterList=[],this.headerFilters={},this.headerFilterColumns=[],this.prevHeaderFilterChangeCheck="",this.prevHeaderFilterChangeCheck="{}",this.changed=!1,this.tableInitialized=!1,this.registerTableOption("filterMode","local"),this.registerTableOption("initialFilter",!1),this.registerTableOption("initialHeaderFilter",!1),this.registerTableOption("headerFilterLiveFilterDelay",300),this.registerTableOption("placeholderHeaderFilter",!1),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)),"remote"===this.table.options.filterMode&&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((t=>{var i=this.table.columnManager.findColumn(t.field);if(!i)return console.warn("Column Filter Error - No matching column found:",t.field),!1;this.setHeaderFilterValue(i,t.value)})),this.tableInitialized=!0}remoteFilterParams(t,i,e,s){return s.filter=this.getFilters(!0,!0),s}generatePlaceholder(t){if(this.table.options.placeholderHeaderFilter&&Object.keys(this.headerFilters).length)return this.table.options.placeholderHeaderFilter}userSetFilter(t,i,e,s){this.setFilter(t,i,e,s),this.refreshFilter()}userRefreshFilter(){this.refreshFilter()}userAddFilter(t,i,e,s){this.addFilter(t,i,e,s),this.refreshFilter()}userSetHeaderFilterFocus(t){var i=this.table.columnManager.findColumn(t);if(!i)return console.warn("Column Filter Focus Error - No matching column found:",t),!1;this.setHeaderFilterFocus(i)}userGetHeaderFilterValue(t){var i=this.table.columnManager.findColumn(t);if(i)return this.getHeaderFilterValue(i);console.warn("Column Filter Error - No matching column found:",t)}userSetHeaderFilterValue(t,i){var e=this.table.columnManager.findColumn(t);if(!e)return console.warn("Column Filter Error - No matching column found:",t),!1;this.setHeaderFilterValue(e,i)}userRemoveFilter(t,i,e){this.removeFilter(t,i,e),this.refreshFilter()}userClearFilter(t){this.clearFilter(t),this.refreshFilter()}userClearHeaderFilter(){this.clearHeaderFilter(),this.refreshFilter()}searchRows(t,i,e){return this.search("rows",t,i,e)}searchData(t,i,e){return this.search("data",t,i,e)}initializeColumnHeaderFilter(t){t.definition.headerFilter&&this.initializeColumn(t)}initializeColumn(t,i){var e=this,s=t.getField();t.modules.filter={success:function(i){var r,o="input"==t.modules.filter.tagType&&"text"==t.modules.filter.attrType||"textarea"==t.modules.filter.tagType?"partial":"match",a="",h="";if(void 0===t.modules.filter.prevSuccess||t.modules.filter.prevSuccess!==i){if(t.modules.filter.prevSuccess=i,t.modules.filter.emptyFunc(i))delete e.headerFilters[s];else{switch(t.modules.filter.value=i,typeof t.definition.headerFilterFunc){case"string":wt.filters[t.definition.headerFilterFunc]?(a=t.definition.headerFilterFunc,r=function(e){var s=t.definition.headerFilterFuncParams||{},r=t.getFieldValue(e);return s="function"==typeof s?s(i,r,e):s,wt.filters[t.definition.headerFilterFunc](i,r,e,s)}):console.warn("Header Filter Error - Matching filter function not found: ",t.definition.headerFilterFunc);break;case"function":a=r=function(e){var s=t.definition.headerFilterFuncParams||{},r=t.getFieldValue(e);return s="function"==typeof s?s(i,r,e):s,t.definition.headerFilterFunc(i,r,e,s)}}r||("partial"===o?(r=function(e){var s=t.getFieldValue(e);return null!=s&&String(s).toLowerCase().indexOf(String(i).toLowerCase())>-1},a="like"):(r=function(e){return t.getFieldValue(e)==i},a="=")),e.headerFilters[s]={value:i,func:r,type:a}}t.modules.filter.value=i,h=JSON.stringify(e.headerFilters),e.prevHeaderFilterChangeCheck!==h&&(e.prevHeaderFilterChangeCheck=h,e.trackChanges(),e.refreshFilter())}return!0},attrType:!1,tagType:!1,emptyFunc:!1},this.generateHeaderFilterElement(t)}generateHeaderFilterElement(t,i,e){var s,r,o,a,h,n,l,u,c=this,d=t.modules.filter.success,b=t.getField();if(t.modules.filter.value=i,t.modules.filter.headerElement&&t.modules.filter.headerElement.parentNode&&t.contentElement.removeChild(t.modules.filter.headerElement.parentNode),b){switch(t.modules.filter.emptyFunc=t.definition.headerFilterEmptyCheck||function(t){return!t&&0!==t},(s=document.createElement("div")).classList.add("tabulator-header-filter"),typeof t.definition.headerFilter){case"string":c.table.modules.edit.editors[t.definition.headerFilter]?(r=c.table.modules.edit.editors[t.definition.headerFilter],"tick"!==t.definition.headerFilter&&"tickCross"!==t.definition.headerFilter||t.definition.headerFilterEmptyCheck||(t.modules.filter.emptyFunc=function(t){return!0!==t&&!1!==t})):console.warn("Filter Error - Cannot build header filter, No such editor found: ",t.definition.editor);break;case"function":r=t.definition.headerFilter;break;case"boolean":t.modules.edit&&t.modules.edit.editor?r=t.modules.edit.editor:t.definition.formatter&&c.table.modules.edit.editors[t.definition.formatter]?(r=c.table.modules.edit.editors[t.definition.formatter],"tick"!==t.definition.formatter&&"tickCross"!==t.definition.formatter||t.definition.headerFilterEmptyCheck||(t.modules.filter.emptyFunc=function(t){return!0!==t&&!1!==t})):r=c.table.modules.edit.editors.input}if(r){if(a={getValue:function(){return void 0!==i?i:""},getField:function(){return t.definition.field},getElement:function(){return s},getColumn:function(){return t.getComponent()},getTable:()=>this.table,getType:()=>"header",getRow:function(){return{normalizeHeight:function(){}}}},l="function"==typeof(l=t.definition.headerFilterParams||{})?l.call(c.table,a):l,!(o=r.call(this.table.modules.edit,a,(function(t){u=t}),d,(function(){}),l)))return void console.warn("Filter Error - Cannot add filter to "+b+" column, editor returned a value of false");if(!(o instanceof Node))return void console.warn("Filter Error - Cannot add filter to "+b+" column, editor should return an instance of Node, the editor returned:",o);c.langBind("headerFilters|columns|"+t.definition.field,(function(i){o.setAttribute("placeholder",void 0!==i&&i?i:t.definition.headerFilterPlaceholder||c.langText("headerFilters|default"))})),o.addEventListener("click",(function(t){t.stopPropagation(),o.focus()})),o.addEventListener("focus",(()=>{var t=this.table.columnManager.contentsElement.scrollLeft;t!==this.table.rowManager.element.scrollLeft&&(this.table.rowManager.scrollHorizontal(t),this.table.columnManager.scrollHorizontal(t))})),h=!1,n=function(){h&&clearTimeout(h),h=setTimeout((function(){d(o.value)}),c.table.options.headerFilterLiveFilterDelay)},t.modules.filter.headerElement=o,t.modules.filter.attrType=o.hasAttribute("type")?o.getAttribute("type").toLowerCase():"",t.modules.filter.tagType=o.tagName.toLowerCase(),!1!==t.definition.headerFilterLiveFilter&&("autocomplete"!==t.definition.headerFilter&&"tickCross"!==t.definition.headerFilter&&("autocomplete"!==t.definition.editor&&"tickCross"!==t.definition.editor||!0!==t.definition.headerFilter)&&(o.addEventListener("keyup",n),o.addEventListener("search",n),"number"==t.modules.filter.attrType&&o.addEventListener("change",(function(){d(o.value)})),"text"==t.modules.filter.attrType&&"ie"!==this.table.browser&&o.setAttribute("type","search")),"input"!=t.modules.filter.tagType&&"select"!=t.modules.filter.tagType&&"textarea"!=t.modules.filter.tagType||o.addEventListener("mousedown",(function(t){t.stopPropagation()}))),s.appendChild(o),t.contentElement.appendChild(s),e||c.headerFilterColumns.push(t),u&&u()}}else console.warn("Filter Error - Cannot add header filter, column has no field set:",t.definition.title)}hideHeaderFilterElements(){this.headerFilterColumns.forEach((function(t){t.modules.filter&&t.modules.filter.headerElement&&(t.modules.filter.headerElement.style.display="none")}))}showHeaderFilterElements(){this.headerFilterColumns.forEach((function(t){t.modules.filter&&t.modules.filter.headerElement&&(t.modules.filter.headerElement.style.display="")}))}setHeaderFilterFocus(t){t.modules.filter&&t.modules.filter.headerElement?t.modules.filter.headerElement.focus():console.warn("Column Filter Focus Error - No header filter set on column:",t.getField())}getHeaderFilterValue(t){if(t.modules.filter&&t.modules.filter.headerElement)return t.modules.filter.value;console.warn("Column Filter Error - No header filter set on column:",t.getField())}setHeaderFilterValue(t,i){t&&(t.modules.filter&&t.modules.filter.headerElement?(this.generateHeaderFilterElement(t,i,!0),t.modules.filter.success(i)):console.warn("Column Filter Error - No header filter set on column:",t.getField()))}reloadHeaderFilter(t){t&&(t.modules.filter&&t.modules.filter.headerElement?this.generateHeaderFilterElement(t,t.modules.filter.value,!0):console.warn("Column Filter Error - No header filter set on column:",t.getField()))}refreshFilter(){this.tableInitialized&&("remote"===this.table.options.filterMode?this.reloadData(null,!1,!1):this.refreshData(!0))}trackChanges(){this.changed=!0,this.dispatch("filter-changed")}hasChanged(){var t=this.changed;return this.changed=!1,t}setFilter(t,i,e,s){this.filterList=[],Array.isArray(t)||(t=[{field:t,type:i,value:e,params:s}]),this.addFilter(t)}addFilter(t,i,e,s){var r=!1;Array.isArray(t)||(t=[{field:t,type:i,value:e,params:s}]),t.forEach((t=>{(t=this.findFilter(t))&&(this.filterList.push(t),r=!0)})),r&&this.trackChanges()}findFilter(t){var i;if(Array.isArray(t))return this.findSubFilters(t);var e=!1;return"function"==typeof t.field?e=function(i){return t.field(i,t.type||{})}:wt.filters[t.type]?e=(i=this.table.columnManager.getColumnByField(t.field))?function(e){return wt.filters[t.type](t.value,i.getFieldValue(e),e,t.params||{})}:function(i){return wt.filters[t.type](t.value,i[t.field],i,t.params||{})}:console.warn("Filter Error - No such filter type found, ignoring: ",t.type),t.func=e,!!t.func&&t}findSubFilters(t){var i=[];return t.forEach((t=>{(t=this.findFilter(t))&&i.push(t)})),!!i.length&&i}getFilters(t,i){var e=[];return t&&(e=this.getHeaderFilters()),i&&e.forEach((function(t){"function"==typeof t.type&&(t.type="function")})),e.concat(this.filtersToArray(this.filterList,i))}filtersToArray(t,i){var e=[];return t.forEach((t=>{var s;Array.isArray(t)?e.push(this.filtersToArray(t,i)):(s={field:t.field,type:t.type,value:t.value},i&&"function"==typeof s.type&&(s.type="function"),e.push(s))})),e}getHeaderFilters(){var t=[];for(var i in this.headerFilters)t.push({field:i,type:this.headerFilters[i].type,value:this.headerFilters[i].value});return t}removeFilter(t,i,e){Array.isArray(t)||(t=[{field:t,type:i,value:e}]),t.forEach((t=>{var i;(i=this.filterList.findIndex("object"==typeof t.field?i=>t===i:i=>t.field===i.field&&t.type===i.type&&t.value===i.value))>-1?this.filterList.splice(i,1):console.warn("Filter Error - No matching filter type found, ignoring: ",t.type)})),this.trackChanges()}clearFilter(t){this.filterList=[],t&&this.clearHeaderFilter(),this.trackChanges()}clearHeaderFilter(){this.headerFilters={},this.prevHeaderFilterChangeCheck="{}",this.headerFilterColumns.forEach((t=>{void 0!==t.modules.filter.value&&delete t.modules.filter.value,t.modules.filter.prevSuccess=void 0,this.reloadHeaderFilter(t)})),this.trackChanges()}search(t,i,e,s){var r=[],o=[];return Array.isArray(i)||(i=[{field:i,type:e,value:s}]),i.forEach((t=>{(t=this.findFilter(t))&&o.push(t)})),this.table.rowManager.rows.forEach((i=>{var e=!0;o.forEach((t=>{this.filterRecurse(t,i.getData())||(e=!1)})),e&&r.push("data"===t?i.getData("data"):i.getComponent())})),r}filter(t,i){var e=[],s=[];return this.subscribedExternal("dataFiltering")&&this.dispatchExternal("dataFiltering",this.getFilters(!0)),"remote"!==this.table.options.filterMode&&(this.filterList.length||Object.keys(this.headerFilters).length)?t.forEach((t=>{this.filterRow(t)&&e.push(t)})):e=t.slice(0),this.subscribedExternal("dataFiltered")&&(e.forEach((t=>{s.push(t.getComponent())})),this.dispatchExternal("dataFiltered",this.getFilters(!0),s)),e}filterRow(t,i){var e=!0,s=t.getData();for(var r in this.filterList.forEach((t=>{this.filterRecurse(t,s)||(e=!1)})),this.headerFilters)this.headerFilters[r].func(s)||(e=!1);return e}filterRecurse(t,i){var e=!1;return Array.isArray(t)?t.forEach((t=>{this.filterRecurse(t,i)&&(e=!0)})):e=t.func(i),e}}var yt={plaintext:function(t){return this.emptyToSpace(this.sanitizeHTML(t.getValue()))},html:function(t){return t.getValue()},textarea:function(t){return t.getElement().style.whiteSpace="pre-wrap",this.emptyToSpace(this.sanitizeHTML(t.getValue()))},money:function(t,i){var e,s,r,o,a,h=parseFloat(t.getValue()),n="",l=i.decimal||".",u=i.thousand||",",c=i.negativeSign||"-",d=i.symbol||"",b=!!i.symbolAfter,p=void 0!==i.precision?i.precision:2;if(isNaN(h))return this.emptyToSpace(this.sanitizeHTML(t.getValue()));if(h<0&&(h=Math.abs(h),n=c),e=!1!==p?h.toFixed(p):h,s=(e=String(e).split("."))[0],r=e.length>1?l+e[1]:"",!1!==i.thousand)for(o=/(\d+)(\d{3})/;o.test(s);)s=s.replace(o,"$1"+u+"$2");return a=s+r,!0===n?(a="("+a+")",b?a+d:d+a):b?n+a+d:n+d+a},link:function(t,i){var e,s=t.getValue(),r=i.urlPrefix||"",o=i.download,a=s,h=document.createElement("a");if(i.labelField&&(e=t.getData(),a=function t(i,e){var s=e[i.shift()];return i.length&&"object"==typeof s?t(i,s):s}(i.labelField.split(this.table.options.nestedFieldSeparator),e)),i.label)switch(typeof i.label){case"string":a=i.label;break;case"function":a=i.label(t)}if(a){if(i.urlField&&(e=t.getData(),s=N.retrieveNestedData(this.table.options.nestedFieldSeparator,i.urlField,e)),i.url)switch(typeof i.url){case"string":s=i.url;break;case"function":s=i.url(t)}return h.setAttribute("href",r+s),i.target&&h.setAttribute("target",i.target),i.download&&(o="function"==typeof o?o(t):!0===o?"":o,h.setAttribute("download",o)),h.innerHTML=this.emptyToSpace(this.sanitizeHTML(a)),h}return" "},image:function(t,i){var e=document.createElement("img"),s=t.getValue();switch(i.urlPrefix&&(s=i.urlPrefix+t.getValue()),i.urlSuffix&&(s+=i.urlSuffix),e.setAttribute("src",s),typeof i.height){case"number":e.style.height=i.height+"px";break;case"string":e.style.height=i.height}switch(typeof i.width){case"number":e.style.width=i.width+"px";break;case"string":e.style.width=i.width}return e.addEventListener("load",(function(){t.getRow().normalizeHeight()})),e},tickCross:function(t,i){var e=t.getValue(),s=t.getElement(),r=i.allowEmpty,o=i.allowTruthy,a=Object.keys(i).includes("trueValue"),h=void 0!==i.tickElement?i.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>',n=void 0!==i.crossElement?i.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&&e===i.trueValue||!a&&(o&&e||!0===e||"true"===e||"True"===e||1===e||"1"===e)?(s.setAttribute("aria-checked",!0),h||""):!r||"null"!==e&&""!==e&&null!=e?(s.setAttribute("aria-checked",!1),n||""):(s.setAttribute("aria-checked","mixed"),"")},datetime:function(t,i){var e,s=this.table.dependencyRegistry.lookup(["luxon","DateTime"],"DateTime"),r=i.inputFormat||"yyyy-MM-dd HH:mm:ss",o=i.outputFormat||"dd/MM/yyyy HH:mm:ss",a=void 0!==i.invalidPlaceholder?i.invalidPlaceholder:"",h=t.getValue();if(void 0!==s)return(e=s.isDateTime(h)?h:"iso"===r?s.fromISO(String(h)):s.fromFormat(String(h),r)).isValid?(i.timezone&&(e=e.setZone(i.timezone)),e.toFormat(o)):!0!==a&&h?"function"==typeof a?a(h):a:h;console.error("Format Error - 'datetime' formatter is dependant on luxon.js")},datetimediff:function(t,i){var e,s=this.table.dependencyRegistry.lookup(["luxon","DateTime"],"DateTime"),r=i.inputFormat||"yyyy-MM-dd HH:mm:ss",o=void 0!==i.invalidPlaceholder?i.invalidPlaceholder:"",a=void 0!==i.suffix&&i.suffix,h=void 0!==i.unit?i.unit:"days",n=void 0!==i.humanize&&i.humanize,l=void 0!==i.date?i.date:s.now(),u=t.getValue();if(void 0!==s)return(e=s.isDateTime(u)?u:"iso"===r?s.fromISO(String(u)):s.fromFormat(String(u),r)).isValid?n?e.diff(l,h).toHuman()+(a?" "+a:""):parseInt(e.diff(l,h)[h])+(a?" "+a:""):!0===o?u:"function"==typeof o?o(u):o;console.error("Format Error - 'datetimediff' formatter is dependant on luxon.js")},lookup:function(t,i){var e=t.getValue();return void 0===i[e]?(console.warn("Missing display value for "+e),e):i[e]},star:function(t,i){var e=t.getValue(),s=t.getElement(),r=i&&i.stars?i.stars:5,o=document.createElement("span"),a=document.createElementNS("http://www.w3.org/2000/svg","svg");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",e=e&&!isNaN(e)?parseInt(e):0,e=Math.max(0,Math.min(e,r));for(var h=1;h<=r;h++){var n=a.cloneNode(!0);n.innerHTML=h<=e?'<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 "/>':'<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.appendChild(n)}return s.style.whiteSpace="nowrap",s.style.overflow="hidden",s.style.textOverflow="ellipsis",s.setAttribute("aria-label",e),o},traffic:function(t,i){var e,s=this.sanitizeHTML(t.getValue())||0,r=document.createElement("span"),o=i&&i.max?i.max:100,a=i&&i.min?i.min:0,h=i&&void 0!==i.color?i.color:["red","orange","green"],n="#666666";if(!isNaN(s)&&void 0!==t.getValue()){switch(r.classList.add("tabulator-traffic-light"),e=parseFloat(s)<=o?parseFloat(s):o,e=parseFloat(e)>=a?parseFloat(e):a,e=Math.round((e-a)/((o-a)/100)),typeof h){case"string":n=h;break;case"function":n=h(s);break;case"object":if(Array.isArray(h)){var l=Math.floor(e/(100/h.length));l=Math.min(l,h.length-1),n=h[l=Math.max(l,0)];break}}return r.style.backgroundColor=n,r}},progress:function(t,i={},e){var s,r,o,a,h=this.sanitizeHTML(t.getValue())||0,n=t.getElement(),l=i.max?i.max:100,u=i.min?i.min:0,c=i.legendAlign?i.legendAlign:"center";switch(s=parseFloat(h)<=l?parseFloat(h):l,s=parseFloat(s)>=u?parseFloat(s):u,s=Math.round((s-u)/((l-u)/100)),typeof i.color){case"string":r=i.color;break;case"function":r=i.color(h);break;case"object":if(Array.isArray(i.color)){let t=Math.floor(s/(100/i.color.length));t=Math.min(t,i.color.length-1),t=Math.max(t,0),r=i.color[t];break}default:r="#2DC214"}switch(typeof i.legend){case"string":o=i.legend;break;case"function":o=i.legend(h);break;case"boolean":o=h;break;default:o=!1}switch(typeof i.legendColor){case"string":a=i.legendColor;break;case"function":a=i.legendColor(h);break;case"object":if(Array.isArray(i.legendColor)){let t=Math.floor(s/(100/i.legendColor.length));t=Math.min(t,i.legendColor.length-1),t=Math.max(t,0),a=i.legendColor[t]}break;default:a="#000"}n.style.minWidth="30px",n.style.position="relative",n.setAttribute("aria-label",s);var d=document.createElement("div");d.style.display="inline-block",d.style.width=s+"%",d.style.backgroundColor=r,d.style.height="100%",d.setAttribute("data-max",l),d.setAttribute("data-min",u);var b=document.createElement("div");if(b.style.position="relative",b.style.width="100%",b.style.height="100%",o){var p=document.createElement("div");p.style.position="absolute",p.style.top=0,p.style.left=0,p.style.textAlign=c,p.style.width="100%",p.style.color=a,p.innerHTML=o}return e((function(){if(!(t instanceof Y)){var i=document.createElement("div");i.style.position="absolute",i.style.top="4px",i.style.bottom="4px",i.style.left="4px",i.style.right="4px",n.appendChild(i),n=i}n.appendChild(b),b.appendChild(d),o&&b.appendChild(p)})),""},color:function(t){return t.getElement().style.backgroundColor=this.sanitizeHTML(t.getValue()),""},buttonTick:function(){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>'},buttonCross:function(){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>'},toggle:function(t,i){var e,s,r=t.getValue(),o=i.size||15,a=o+"px",h=!i.hasOwnProperty("onValue")||i.onValue,n=!!i.hasOwnProperty("offValue")&&i.offValue,l=i.onTruthy?r:r===h;return(e=document.createElement("div")).classList.add("tabulator-toggle"),l?(e.classList.add("tabulator-toggle-on"),e.style.flexDirection="row-reverse",i.onColor&&(e.style.background=i.onColor)):i.offColor&&(e.style.background=i.offColor),e.style.width=2.5*o+"px",e.style.borderRadius=a,i.clickable&&e.addEventListener("click",(()=>{t.setValue(l?n:h)})),(s=document.createElement("div")).classList.add("tabulator-toggle-switch"),s.style.height=a,s.style.width=a,s.style.borderRadius=a,e.appendChild(s),e},rownum:function(t,i){var e=document.createElement("span"),s=t.getRow(),r=t.getTable();return s.watchPosition((t=>{i.relativeToPage&&(t+=r.modules.page.getPageSize()*(r.modules.page.getPage()-1)),e.innerText=t})),e},handle:function(t){return t.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>"},adaptable:function(t,i,e){var s,r;return s=i.formatterLookup?i.formatterLookup(t):function(t){var i=t.getValue(),e="plaintext";switch(typeof i){case"boolean":e="tickCross";break;case"string":i.includes("\n")&&(e="textarea")}return e}(t),i.paramsLookup&&(r="function"==typeof i.paramsLookup?i.paramsLookup(s,t):i.paramsLookup[s]),this.table.modules.format.lookupFormatter(s).call(this,t,r||{},e)},array:function(t,i){var e,s=i.delimiter||",",r=t.getValue(),o=this.table;return i.valueMap&&(e="string"==typeof i.valueMap?function(t){return t.map((t=>N.retrieveNestedData(o.options.nestedFieldSeparator,i.valueMap,t)))}:i.valueMap),Array.isArray(r)?(e&&(r=e(r)),r.join(s)):r},json:function(t,i){var e=i.indent||"\t",s=void 0===i.multiline||i.multiline,r=i.replacer||null,o=t.getValue();return s&&(t.getElement().style.whiteSpace="pre-wrap"),JSON.stringify(o,r,e)}};class xt extends H{static moduleName="format";static formatters=yt;constructor(t){super(t),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(t){t.modules.format=this.lookupTypeFormatter(t,""),void 0!==t.definition.formatterPrint&&(t.modules.format.print=this.lookupTypeFormatter(t,"Print")),void 0!==t.definition.formatterClipboard&&(t.modules.format.clipboard=this.lookupTypeFormatter(t,"Clipboard")),void 0!==t.definition.formatterHtmlOutput&&(t.modules.format.htmlOutput=this.lookupTypeFormatter(t,"HtmlOutput"))}lookupTypeFormatter(t,i){var e={params:t.definition["formatter"+i+"Params"]||{}};return e.formatter=this.lookupFormatter(t.definition["formatter"+i]),e}lookupFormatter(t){var i;switch(typeof t){case"string":xt.formatters[t]?i=xt.formatters[t]:(console.warn("Formatter Error - No such formatter found: ",t),i=xt.formatters.plaintext);break;case"function":i=t;break;default:i=xt.formatters.plaintext}return i}cellRendered(t){t.modules.format&&t.modules.format.renderedCallback&&!t.modules.format.rendered&&(t.modules.format.renderedCallback(),t.modules.format.rendered=!0)}formatHeader(t,i,e){var s,r,o,a;return t.definition.titleFormatter?(s=this.lookupFormatter(t.definition.titleFormatter),o=i=>{t.titleFormatterRendered=i},a={getValue:function(){return i},getElement:function(){return e},getType:function(){return"header"},getColumn:function(){return t.getComponent()},getTable:()=>this.table},r="function"==typeof(r=t.definition.titleFormatterParams||{})?r():r,s.call(this,a,r,o)):i}formatValue(t){var i=t.getComponent(),e="function"==typeof t.column.modules.format.params?t.column.modules.format.params(i):t.column.modules.format.params;return t.column.modules.format.formatter.call(this,i,e,(function(i){t.modules.format||(t.modules.format={}),t.modules.format.renderedCallback=i,t.modules.format.rendered=!1}))}formatExportValue(t,i){var e,s=t.column.modules.format[i];if(s){function r(i){t.modules.format||(t.modules.format={}),t.modules.format.renderedCallback=i,t.modules.format.rendered=!1}return e="function"==typeof s.params?s.params(t.getComponent()):s.params,s.formatter.call(this,t.getComponent(),e,r)}return this.formatValue(t)}sanitizeHTML(t){if(t){var i={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="};return String(t).replace(/[&<>"'`=/]/g,(function(t){return i[t]}))}return t}emptyToSpace(t){return null==t||""===t?" ":t}}class kt{constructor(t){return this._group=t,this.type="GroupComponent",new Proxy(this,{get:function(t,i){return void 0!==t[i]?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(!0)}getSubGroups(){return this._group.getSubGroups(!0)}getParentGroup(){return!!this._group.parent&&this._group.parent.getComponent()}isVisible(){return this._group.visible}show(){this._group.show()}hide(){this._group.hide()}toggle(){this._group.toggleVisibility()}scrollTo(t,i){return this._group.groupManager.table.rowManager.scrollToRow(this._group,t,i)}_getSelf(){return this._group}getTable(){return this._group.groupManager.table}}class Ct{constructor(t,i,e,s,r,o,a){this.groupManager=t,this.parent=i,this.key=s,this.level=e,this.field=r,this.hasSubGroups=e<t.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=!1,this.elementContents=!1,this.height=0,this.outerHeight=0,this.initialized=!1,this.calcs={},this.initialized=!1,this.modules={},this.arrowElement=!1,this.visible=a?a.visible:void 0!==t.startOpen[e]?t.startOpen[e]:t.startOpen[0],this.component=null,this.createElements(),this.addBindings(),this.createValueGroups()}wipe(t){t||(this.groupList.length?this.groupList.forEach((function(t){t.wipe()})):this.rows.forEach((t=>{t.modules&&delete t.modules.group}))),this.element=!1,this.arrowElement=!1,this.elementContents=!1}createElements(){var t=document.createElement("div");t.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(t),!1!==this.groupManager.table.options.movableRows&&this.groupManager.table.modExists("moveRow")&&this.groupManager.table.modules.moveRow.initializeGroupHeader(this)}createValueGroups(){var t=this.level+1;this.groupManager.allowedValues&&this.groupManager.allowedValues[t]&&this.groupManager.allowedValues[t].forEach((i=>{this._createGroup(i,t)}))}addBindings(){this.groupManager.table.options.groupToggleElement&&("arrow"==this.groupManager.table.options.groupToggleElement?this.arrowElement:this.element).addEventListener("click",(t=>{"arrow"===this.groupManager.table.options.groupToggleElement&&(t.stopPropagation(),t.stopImmediatePropagation()),setTimeout((()=>{this.toggleVisibility()}))}))}_createGroup(t,i){var e=i+"_"+t,s=new Ct(this.groupManager,this,i,t,this.groupManager.groupIDLookups[i].field,this.groupManager.headerGenerator[i]||this.groupManager.headerGenerator[0],!!this.old&&this.old.groups[e]);this.groups[e]=s,this.groupList.push(s)}_addRowToGroup(t){var i=this.level+1;if(this.hasSubGroups){var e=this.groupManager.groupIDLookups[i].func(t.getData()),s=i+"_"+e;this.groupManager.allowedValues&&this.groupManager.allowedValues[i]?this.groups[s]&&this.groups[s].addRow(t):(this.groups[s]||this._createGroup(e,i),this.groups[s].addRow(t))}}_addRow(t){this.rows.push(t),t.modules.group=this}insertRow(t,i,e){var s=this.conformRowData({});t.updateData(s);var r=this.rows.indexOf(i);r>-1?this.rows.splice(e?r+1:r,0,t):e?this.rows.push(t):this.rows.unshift(t),t.modules.group=this,this.groupManager.table.modExists("columnCalcs")&&"table"!=this.groupManager.table.options.columnCalcs&&this.groupManager.table.modules.columnCalcs.recalcGroup(this),this.groupManager.updateGroupRows(!0)}scrollHeader(t){this.arrowElement&&(this.arrowElement.style.marginLeft=t,this.groupList.forEach((function(i){i.scrollHeader(t)})))}getRowIndex(t){}conformRowData(t){return this.field?t[this.field]=this.key:console.warn("Data Conforming Error - Cannot conform row data to match new group as groupBy is a function"),this.parent&&(t=this.parent.conformRowData(t)),t}removeRow(t){var i=this.rows.indexOf(t),e=t.getElement();i>-1&&this.rows.splice(i,1),this.groupManager.table.options.groupValues||this.rows.length?(e.parentNode&&e.parentNode.removeChild(e),this.groupManager.blockRedraw||(this.generateGroupHeaderContents(),this.groupManager.table.modExists("columnCalcs")&&"table"!=this.groupManager.table.options.columnCalcs&&this.groupManager.table.modules.columnCalcs.recalcGroup(this))):(this.parent?this.parent.removeGroup(this):this.groupManager.removeGroup(this),this.groupManager.updateGroupRows(!0))}removeGroup(t){var i,e=t.level+"_"+t.key;this.groups[e]&&(delete this.groups[e],(i=this.groupList.indexOf(t))>-1&&this.groupList.splice(i,1),this.groupList.length||(this.parent?this.parent.removeGroup(this):this.groupManager.removeGroup(this)))}getHeadersAndRows(){var t=[];return t.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(i){t=t.concat(i.getHeadersAndRows())})):("table"!=this.groupManager.table.options.columnCalcs&&this.groupManager.table.modExists("columnCalcs")&&this.groupManager.table.modules.columnCalcs.hasTopCalcs()&&(this.calcs.top=this.groupManager.table.modules.columnCalcs.generateTopRow(this.rows),t.push(this.calcs.top)),t=t.concat(this.rows),"table"!=this.groupManager.table.options.columnCalcs&&this.groupManager.table.modExists("columnCalcs")&&this.groupManager.table.modules.columnCalcs.hasBottomCalcs()&&(this.calcs.bottom=this.groupManager.table.modules.columnCalcs.generateBottomRow(this.rows),t.push(this.calcs.bottom))):this.groupList.length||"table"==this.groupManager.table.options.columnCalcs||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),t.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),t.push(this.calcs.bottom))),t}getData(t,i){var e=[];return this._visSet(),(!t||t&&this.visible)&&this.rows.forEach((t=>{e.push(t.getData(i||"data"))})),e}getRowCount(){var t=0;return this.groupList.length?this.groupList.forEach((i=>{t+=i.getRowCount()})):t=this.rows.length,t}toggleVisibility(){this.visible?this.hide():this.show()}hide(){this.visible=!1,"basic"!=this.groupManager.table.rowManager.getRenderMode()||this.groupManager.table.options.pagination||(this.element.classList.remove("tabulator-group-visible"),this.groupList.length?this.groupList.forEach((t=>{t.getHeadersAndRows().forEach((t=>{t.detachElement()}))})):this.rows.forEach((t=>{var i=t.getElement();i.parentNode.removeChild(i)}))),this.groupManager.updateGroupRows(!0),this.groupManager.table.externalEvents.dispatch("groupVisibilityChanged",this.getComponent(),!1)}show(){if(this.visible=!0,"basic"!=this.groupManager.table.rowManager.getRenderMode()||this.groupManager.table.options.pagination)this.groupManager.updateGroupRows(!0);else{this.element.classList.add("tabulator-group-visible");var t=this.generateElement();this.groupList.length?this.groupList.forEach((i=>{i.getHeadersAndRows().forEach((i=>{var e=i.getElement();t.parentNode.insertBefore(e,t.nextSibling),i.initialize(),t=e}))})):this.rows.forEach((i=>{var e=i.getElement();t.parentNode.insertBefore(e,t.nextSibling),i.initialize(),t=e})),this.groupManager.updateGroupRows(!0)}this.groupManager.table.externalEvents.dispatch("groupVisibilityChanged",this.getComponent(),!0)}_visSet(){var t=[];"function"==typeof this.visible&&(this.rows.forEach((function(i){t.push(i.getData())})),this.visible=this.visible(this.key,this.getRowCount(),t,this.getComponent()))}getRowGroup(t){var i=!1;return this.groupList.length?this.groupList.forEach((function(e){var s=e.getRowGroup(t);s&&(i=s)})):this.rows.find((function(i){return i===t}))&&(i=this),i}getSubGroups(t){var i=[];return this.groupList.forEach((function(e){i.push(t?e.getComponent():e)})),i}getRows(t,i){var e=[];return i&&this.groupList.length?this.groupList.forEach((s=>{e=e.concat(s.getRows(t,i))})):this.rows.forEach((function(i){e.push(t?i.getComponent():i)})),e}generateGroupHeaderContents(){var t=[];for(this.getRows(!1,!0).forEach((function(i){t.push(i.getData())})),this.elementContents=this.generator(this.key,this.getRowCount(),t,this.getComponent());this.element.firstChild;)this.element.removeChild(this.element.firstChild);"string"==typeof this.elementContents?this.element.innerHTML=this.elementContents:this.element.appendChild(this.elementContents),this.element.insertBefore(this.arrowElement,this.element.firstChild)}getPath(t=[]){return t.unshift(this.key),this.parent&&this.parent.getPath(t),t}getElement(){return this.elementContents?this.element:this.generateElement()}generateElement(){this.addBindings=!1,this._visSet(),this.visible?this.element.classList.add("tabulator-group-visible"):this.element.classList.remove("tabulator-group-visible");for(var t=0;t<this.element.childNodes.length;++t)this.element.childNodes[t].parentNode.removeChild(this.element.childNodes[t]);return this.generateGroupHeaderContents(),this.element}detachElement(){this.element&&this.element.parentNode&&this.element.parentNode.removeChild(this.element)}normalizeHeight(){this.setHeight(this.element.clientHeight)}initialize(t){this.initialized&&!t||(this.normalizeHeight(),this.initialized=!0)}reinitialize(){this.initialized=!1,this.height=0,N.elVisible(this.element)&&this.initialize(!0)}setHeight(t){this.height!=t&&(this.height=t,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 kt(this)),this.component}}var Rt={cellEdit:function(t){t.component.setValueProcessData(t.data.oldValue),t.component.cellRendered()},rowAdd:function(t){t.component.deleteActual(),this.table.rowManager.checkPlaceholder()},rowDelete:function(t){var i=this.table.rowManager.addRowActual(t.data.data,t.data.pos,t.data.index);this.table.options.groupBy&&this.table.modExists("groupRows")&&this.table.modules.groupRows.updateGroupRows(!0),this._rebindRow(t.component,i),this.table.rowManager.checkPlaceholder()},rowMove:function(t){var i=t.data.posFrom-t.data.posTo>0;this.table.rowManager.moveRowActual(t.component,this.table.rowManager.getRowFromPosition(t.data.posFrom),i),this.table.rowManager.regenerateRowPositions(),this.table.rowManager.reRenderInPosition()}},Et={cellEdit:function(t){t.component.setValueProcessData(t.data.newValue),t.component.cellRendered()},rowAdd:function(t){var i=this.table.rowManager.addRowActual(t.data.data,t.data.pos,t.data.index);this.table.options.groupBy&&this.table.modExists("groupRows")&&this.table.modules.groupRows.updateGroupRows(!0),this._rebindRow(t.component,i),this.table.rowManager.checkPlaceholder()},rowDelete:function(t){t.component.deleteActual(),this.table.rowManager.checkPlaceholder()},rowMove:function(t){this.table.rowManager.moveRowActual(t.component,this.table.rowManager.getRowFromPosition(t.data.posTo),t.data.after),this.table.rowManager.regenerateRowPositions(),this.table.rowManager.reRenderInPosition()}},zt={keybindings:{bindings:{undo:["ctrl + 90","meta + 90"],redo:["ctrl + 89","meta + 89"]},actions:{undo:function(t){this.table.options.history&&this.table.modExists("history")&&this.table.modExists("edit")&&(this.table.modules.edit.currentCell||(t.preventDefault(),this.table.modules.history.undo()))},redo:function(t){this.table.options.history&&this.table.modExists("history")&&this.table.modExists("edit")&&(this.table.modules.edit.currentCell||(t.preventDefault(),this.table.modules.history.redo()))}}}};class Mt extends H{static moduleName="history";static moduleExtensions=zt;static undoers=Rt;static redoers=Et;constructor(t){super(t),this.history=[],this.index=-1,this.registerTableOption("history",!1)}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(t,i,e){this.action("rowMove",t,{posFrom:t.getPosition(),posTo:i.getPosition(),to:i,after:e})}rowAdded(t,i,e,s){this.action("rowAdd",t,{data:i,pos:e,index:s})}rowDeleted(t){var i,e;this.table.options.groupBy?(i=(e=t.getComponent().getGroup()._getSelf().rows).indexOf(t))&&(i=e[i-1]):(i=t.table.rowManager.getRowIndex(t))&&(i=t.table.rowManager.rows[i-1]),this.action("rowDelete",t,{data:t.getData(),pos:!i,index:i})}cellUpdated(t){this.action("cellEdit",t,{oldValue:t.oldValue,newValue:t.value})}clear(){this.history=[],this.index=-1}action(t,i,e){this.history=this.history.slice(0,this.index+1),this.history.push({type:t,component:i,data:e}),this.index++}getHistoryUndoSize(){return this.index+1}getHistoryRedoSize(){return this.history.length-(this.index+1)}clearComponentHistory(t){var i=this.history.findIndex((function(i){return i.component===t}));i>-1&&(this.history.splice(i,1),i<=this.index&&this.index--,this.clearComponentHistory(t))}undo(){if(this.index>-1){let t=this.history[this.index];return Mt.undoers[t.type].call(this,t),this.index--,this.dispatchExternal("historyUndo",t.type,t.component.getComponent(),t.data),!0}return console.warn(this.options("history")?"History Undo Error - No more history to undo":"History module not enabled"),!1}redo(){if(this.history.length-1>this.index){this.index++;let t=this.history[this.index];return Mt.redoers[t.type].call(this,t),this.dispatchExternal("historyRedo",t.type,t.component.getComponent(),t.data),!0}return console.warn(this.options("history")?"History Redo Error - No more history to redo":"History module not enabled"),!1}_rebindRow(t,i){this.history.forEach((function(e){if(e.component instanceof rt)e.component===t&&(e.component=i);else if(e.component instanceof Q&&e.component.row===t){var s=e.component.column.getField();s&&(e.component=i.getCell(s))}}))}}var St={csv:function(t){var i=[],e=0,s=0,r=!1;for(let o=0;o<t.length;o++){let a=t[o],h=t[o+1];i[e]||(i[e]=[]),i[e][s]||(i[e][s]=""),'"'==a&&r&&'"'==h?(i[e][s]+=a,o++):'"'!=a?","!=a||r?"\r"!=a||"\n"!=h||r?"\r"!=a&&"\n"!=a||r?i[e][s]+=a:(s=0,e++):(s=0,e++,o++):s++:r=!r}return i},json:function(t){try{return JSON.parse(t)}catch(t){return console.warn("JSON Import Error - File contents is invalid JSON",t),Promise.reject()}},array:function(t){return t},xlsx:function(t){var i=this.dependencyRegistry.lookup("XLSX"),e=i.read(t);return i.utils.sheet_to_json(e.Sheets[e.SheetNames[0]],{header:1})}};class Tt extends H{static moduleName="import";static importers=St;constructor(t){super(t),this.registerTableOption("importFormat"),this.registerTableOption("importReader","text"),this.registerTableOption("importHeaderTransform"),this.registerTableOption("importValueTransform"),this.registerTableOption("importDataValidator"),this.registerTableOption("importFileValidator")}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(t){return this.table.options.importFormat&&("string"==typeof t||Array.isArray(t)&&t.length&&Array.isArray(t))}loadData(t,i,e,s,r){return this.importData(this.lookupImporter(),t).then(this.structureData.bind(this)).catch((t=>(console.error("Import Error:",t||"Unable to import data"),Promise.reject(t))))}lookupImporter(t){var i;return t||(t=this.table.options.importFormat),(i="string"==typeof t?Tt.importers[t]:t)||console.error("Import Error - Importer not found:",t),i}importFromFile(t,i,e){var s=this.lookupImporter(t);if(s)return this.pickFile(i,e).then(this.importData.bind(this,s)).then(this.structureData.bind(this)).then(this.mutateData.bind(this)).then(this.validateData.bind(this)).then(this.setData.bind(this)).catch((t=>(this.dispatch("import-error",t),this.dispatchExternal("importError",t),console.error("Import Error:",t||"Unable to import file"),this.table.dataLoader.alertError(),setTimeout((()=>{this.table.dataLoader.clearAlert()}),3e3),Promise.reject(t))))}pickFile(t,i){return new Promise(((e,s)=>{var r=document.createElement("input");r.type="file",r.accept=t,r.addEventListener("change",(()=>{var t=r.files[0],o=new FileReader,a=this.validateFile(t);if(!0===a){switch(this.dispatch("import-importing",r.files),this.dispatchExternal("importImporting",r.files),i||this.table.options.importReader){case"buffer":o.readAsArrayBuffer(t);break;case"binary":o.readAsBinaryString(t);break;case"url":o.readAsDataURL(t);break;default:o.readAsText(t)}o.onload=()=>{e(o.result)},o.onerror=t=>{console.warn("File Load Error - Unable to read file"),s(t)}}else s(a)})),this.dispatch("import-choose"),this.dispatchExternal("importChoose"),r.click()}))}importData(t,i){var e;return this.table.dataLoader.alertLoader(),new Promise(((s,r)=>{setTimeout((()=>{(e=t.call(this.table,i))instanceof Promise||e?s(e):r()}),10)}))}structureData(t){return Array.isArray(t)&&t.length&&Array.isArray(t[0])?this.table.options.autoColumns?this.structureArrayToObject(t):this.structureArrayToColumns(t):t}mutateData(t){var i=[];return Array.isArray(t)?t.forEach((t=>{i.push(this.table.modules.mutator.transformRow(t,"import"))})):i=t,i}transformHeader(t){var i=[];return this.table.options.importHeaderTransform?(t.forEach((e=>{i.push(this.table.options.importHeaderTransform.call(this.table,e,t))})),i):t}transformData(t){var i=[];return this.table.options.importValueTransform?(t.forEach((e=>{i.push(this.table.options.importValueTransform.call(this.table,e,t))})),i):t}structureArrayToObject(t){var i=this.transformHeader(t.shift());return t.map((t=>{var e={};return t=this.transformData(t),i.forEach(((i,s)=>{e[i]=t[s]})),e}))}structureArrayToColumns(t){var i=[],e=this.transformHeader(t[0]),s=this.table.getColumns();return s[0]&&e[0]&&s[0].getDefinition().title===e[0]&&t.shift(),t.forEach((t=>{var e={};(t=this.transformData(t)).forEach(((t,i)=>{var r=s[i];r&&(e[r.getField()]=t)})),i.push(e)})),i}validateFile(t){return!this.table.options.importFileValidator||this.table.options.importFileValidator.call(this.table,t)}validateData(t){var i;return this.table.options.importDataValidator?!0===(i=this.table.options.importDataValidator.call(this.table,t))?t:Promise.reject(i):t}setData(t){return this.dispatch("import-imported",t),this.dispatchExternal("importImported",t),this.table.dataLoader.clearAlert(),this.table.setData(t)}}var Dt={navPrev:"shift + 9",navNext:9,navUp:38,navDown:40,navLeft:37,navRight:39,scrollPageUp:33,scrollPageDown:34,scrollToStart:36,scrollToEnd:35},Pt={keyBlock:function(t){t.stopPropagation(),t.preventDefault()},scrollPageUp:function(t){var i=this.table.rowManager,e=i.scrollTop-i.element.clientHeight;t.preventDefault(),i.displayRowsCount&&(e>=0?i.element.scrollTop=e:i.scrollToRow(i.getDisplayRows()[0])),this.table.element.focus()},scrollPageDown:function(t){var i=this.table.rowManager,e=i.scrollTop+i.element.clientHeight,s=i.element.scrollHeight;t.preventDefault(),i.displayRowsCount&&(e<=s?i.element.scrollTop=e:i.scrollToRow(i.getDisplayRows()[i.displayRowsCount-1])),this.table.element.focus()},scrollToStart:function(t){var i=this.table.rowManager;t.preventDefault(),i.displayRowsCount&&i.scrollToRow(i.getDisplayRows()[0]),this.table.element.focus()},scrollToEnd:function(t){var i=this.table.rowManager;t.preventDefault(),i.displayRowsCount&&i.scrollToRow(i.getDisplayRows()[i.displayRowsCount-1]),this.table.element.focus()},navPrev:function(t){this.dispatch("keybinding-nav-prev",t)},navNext:function(t){this.dispatch("keybinding-nav-next",t)},navLeft:function(t){this.dispatch("keybinding-nav-left",t)},navRight:function(t){this.dispatch("keybinding-nav-right",t)},navUp:function(t){this.dispatch("keybinding-nav-up",t)},navDown:function(t){this.dispatch("keybinding-nav-down",t)}};class Ft extends H{static moduleName="keybindings";static bindings=Dt;static actions=Pt;constructor(t){super(t),this.watchKeys=null,this.pressedKeys=null,this.keyupBinding=!1,this.keydownBinding=!1,this.registerTableOption("keybindings",{}),this.registerTableOption("tabEndNewRow",!1)}initialize(){var t=this.table.options.keybindings,i={};this.watchKeys={},this.pressedKeys=[],!1!==t&&(Object.assign(i,Ft.bindings),Object.assign(i,t),this.mapBindings(i),this.bindEvents()),this.subscribe("table-destroy",this.clearBindings.bind(this))}mapBindings(t){for(let i in t)Ft.actions[i]?t[i]&&("object"!=typeof t[i]&&(t[i]=[t[i]]),t[i].forEach((t=>{(Array.isArray(t)?t:[t]).forEach((t=>{this.mapBinding(i,t)}))}))):console.warn("Key Binding Error - no such action:",i)}mapBinding(t,i){var e={action:Ft.actions[t],keys:[],ctrl:!1,shift:!1,meta:!1};i.toString().toLowerCase().split(" ").join("").split("+").forEach((t=>{switch(t){case"ctrl":e.ctrl=!0;break;case"shift":e.shift=!0;break;case"meta":e.meta=!0;break;default:t=isNaN(t)?t.toUpperCase().charCodeAt(0):parseInt(t),e.keys.push(t),this.watchKeys[t]||(this.watchKeys[t]=[]),this.watchKeys[t].push(e)}}))}bindEvents(){var t=this;this.keyupBinding=function(i){var e=i.keyCode,s=t.watchKeys[e];s&&(t.pressedKeys.push(e),s.forEach((function(e){t.checkBinding(i,e)})))},this.keydownBinding=function(i){var e=i.keyCode;if(t.watchKeys[e]){var s=t.pressedKeys.indexOf(e);s>-1&&t.pressedKeys.splice(s,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(t,i){var e=!0;return t.ctrlKey==i.ctrl&&t.shiftKey==i.shift&&t.metaKey==i.meta&&(i.keys.forEach((t=>{-1==this.pressedKeys.indexOf(t)&&(e=!1)})),e&&i.action.call(this,t),!0)}}var jt={delete:function(t){t.delete()}},Nt={insert:function(t,i){return this.table.addRow(t.getData(),void 0,i),!0},add:function(t){return this.table.addRow(t.getData()),!0},update:function(t,i){return!!i&&(i.update(t.getData()),!0)},replace:function(t,i){return!!i&&(this.table.addRow(t.getData(),void 0,i),i.delete(),!0)}};class Ot extends H{static moduleName="moveRow";static senders=jt;static receivers=Nt;constructor(t){super(t),this.placeholderElement=this.createPlaceholderElement(),this.hoverElement=!1,this.checkTimeout=!1,this.checkPeriod=150,this.moving=!1,this.toRow=!1,this.toRowAfter=!1,this.hasHandle=!1,this.startY=0,this.startX=0,this.moveHover=this.moveHover.bind(this),this.endMove=this.endMove.bind(this),this.tableRowDropEvent=!1,this.touchMove=!1,this.connection=!1,this.connectionSelectorsTables=!1,this.connectionSelectorsElements=!1,this.connectionElements=[],this.connections=[],this.connectedTable=!1,this.connectedRow=!1,this.registerTableOption("movableRows",!1),this.registerTableOption("movableRowsConnectedTables",!1),this.registerTableOption("movableRowsConnectedElements",!1),this.registerTableOption("movableRowsSender",!1),this.registerTableOption("movableRowsReceiver","insert"),this.registerColumnOption("rowHandle")}createPlaceholderElement(){var t=document.createElement("div");return t.classList.add("tabulator-row"),t.classList.add("tabulator-row-placeholder"),t}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(t){var i=this,e={};e.mouseup=function(e){i.tableRowDrop(e,t)}.bind(i),e.mousemove=function(e){var s;e.pageY-N.elOffset(t.element).top+i.table.rowManager.element.scrollTop>t.getHeight()/2?i.toRow===t&&i.toRowAfter||((s=t.getElement()).parentNode.insertBefore(i.placeholderElement,s.nextSibling),i.moveRow(t,!0)):(i.toRow!==t||i.toRowAfter)&&(s=t.getElement()).previousSibling&&(s.parentNode.insertBefore(i.placeholderElement,s),i.moveRow(t,!1))}.bind(i),t.modules.moveRow=e}initializeRow(t){var i,e=this,s={};s.mouseup=function(i){e.tableRowDrop(i,t)}.bind(e),s.mousemove=function(i){var s=t.getElement();i.pageY-N.elOffset(s).top+e.table.rowManager.element.scrollTop>t.getHeight()/2?e.toRow===t&&e.toRowAfter||(s.parentNode.insertBefore(e.placeholderElement,s.nextSibling),e.moveRow(t,!0)):(e.toRow!==t||e.toRowAfter)&&(s.parentNode.insertBefore(e.placeholderElement,s),e.moveRow(t,!1))}.bind(e),this.hasHandle||((i=t.getElement()).addEventListener("mousedown",(function(i){1===i.which&&(e.checkTimeout=setTimeout((function(){e.startMove(i,t)}),e.checkPeriod))})),i.addEventListener("mouseup",(function(t){1===t.which&&e.checkTimeout&&clearTimeout(e.checkTimeout)})),this.bindTouchEvents(t,t.getElement())),t.modules.moveRow=s}initializeColumn(t){t.definition.rowHandle&&!1!==this.table.options.movableRows&&(this.hasHandle=!0)}initializeCell(t){if(t.column.definition.rowHandle&&!1!==this.table.options.movableRows){var i=this,e=t.getElement(!0);e.addEventListener("mousedown",(function(e){1===e.which&&(i.checkTimeout=setTimeout((function(){i.startMove(e,t.row)}),i.checkPeriod))})),e.addEventListener("mouseup",(function(t){1===t.which&&i.checkTimeout&&clearTimeout(i.checkTimeout)})),this.bindTouchEvents(t.row,e)}}bindTouchEvents(t,i){var e,s,r,o,a,h,n=!1;i.addEventListener("touchstart",(i=>{this.checkTimeout=setTimeout((()=>{this.touchMove=!0,e=t.nextRow(),r=e?e.getHeight()/2:0,s=t.prevRow(),o=s?s.getHeight()/2:0,a=0,h=0,n=!1,this.startMove(i,t)}),this.checkPeriod)}),{passive:!0}),i.addEventListener("touchmove",(i=>{var l,u;this.moving&&(i.preventDefault(),this.moveHover(i),n||(n=i.touches[0].pageY),(l=i.touches[0].pageY-n)>0?e&&l-a>r&&(u=e)!==t&&(n=i.touches[0].pageY,u.getElement().parentNode.insertBefore(this.placeholderElement,u.getElement().nextSibling),this.moveRow(u,!0)):s&&-l-h>o&&(u=s)!==t&&(n=i.touches[0].pageY,u.getElement().parentNode.insertBefore(this.placeholderElement,u.getElement()),this.moveRow(u,!1)),u&&(e=u.nextRow(),a=r,r=e?e.getHeight()/2:0,s=u.prevRow(),h=o,o=s?s.getHeight()/2:0))})),i.addEventListener("touchend",(t=>{this.checkTimeout&&clearTimeout(this.checkTimeout),this.moving&&(this.endMove(t),this.touchMove=!1)}))}_bindMouseMove(){this.table.rowManager.getDisplayRows().forEach((t=>{("row"===t.type||"group"===t.type)&&t.modules.moveRow&&t.modules.moveRow.mousemove&&t.getElement().addEventListener("mousemove",t.modules.moveRow.mousemove)}))}_unbindMouseMove(){this.table.rowManager.getDisplayRows().forEach((t=>{("row"===t.type||"group"===t.type)&&t.modules.moveRow&&t.modules.moveRow.mousemove&&t.getElement().removeEventListener("mousemove",t.modules.moveRow.mousemove)}))}startMove(t,i){var e=i.getElement();this.setStartPosition(t,i),this.moving=i,this.table.element.classList.add("tabulator-block-select"),this.placeholderElement.style.width=i.getWidth()+"px",this.placeholderElement.style.height=i.getHeight()+"px",this.connection?(this.table.element.classList.add("tabulator-movingrow-sending"),this.connectToTables(i)):(e.parentNode.insertBefore(this.placeholderElement,e),e.parentNode.removeChild(e)),this.hoverElement=e.cloneNode(!0),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",i.getComponent()),this.moveHover(t)}setStartPosition(t,i){var e,s,r=this.touchMove?t.touches[0].pageX:t.pageX,o=this.touchMove?t.touches[0].pageY:t.pageY;e=i.getElement(),this.connection?(s=e.getBoundingClientRect(),this.startX=s.left-r+window.pageXOffset,this.startY=s.top-o+window.pageYOffset):this.startY=o-e.getBoundingClientRect().top}endMove(t){t&&1!==t.which&&!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=!1,this.toRow=!1,this.toRowAfter=!1,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(t,i){this.toRow=t,this.toRowAfter=i}moveHover(t){this.connection?this.moveHoverConnections.call(this,t):this.moveHoverTable.call(this,t)}moveHoverTable(t){var i=this.table.rowManager.getElement(),e=i.scrollTop,s=(this.touchMove?t.touches[0].pageY:t.pageY)-i.getBoundingClientRect().top+e;this.hoverElement.style.top=Math.min(s-this.startY,this.table.rowManager.element.scrollHeight-this.hoverElement.offsetHeight)+"px"}moveHoverConnections(t){this.hoverElement.style.left=this.startX+(this.touchMove?t.touches[0].pageX:t.pageX)+"px",this.hoverElement.style.top=this.startY+(this.touchMove?t.touches[0].pageY:t.pageY)+"px"}elementRowDrop(t,i,e){this.dispatchExternal("movableRowsElementDrop",t,i,!!e&&e.getComponent())}connectToTables(t){var i;this.connectionSelectorsTables&&(i=this.commsConnections(this.connectionSelectorsTables),this.dispatchExternal("movableRowsSendingStart",i),this.commsSend(this.connectionSelectorsTables,"moveRow","connect",{row:t})),this.connectionSelectorsElements&&(this.connectionElements=[],Array.isArray(this.connectionSelectorsElements)||(this.connectionSelectorsElements=[this.connectionSelectorsElements]),this.connectionSelectorsElements.forEach((t=>{"string"==typeof t?this.connectionElements=this.connectionElements.concat(Array.prototype.slice.call(document.querySelectorAll(t))):this.connectionElements.push(t)})),this.connectionElements.forEach((t=>{var i=i=>{this.elementRowDrop(i,t,this.moving)};t.addEventListener("mouseup",i),t.tabulatorElementDropEvent=i,t.classList.add("tabulator-movingrow-receiving")})))}disconnectFromTables(){var t;this.connectionSelectorsTables&&(t=this.commsConnections(this.connectionSelectorsTables),this.dispatchExternal("movableRowsSendingStop",t),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(t,i){return this.connectedTable?(console.warn("Move Row Error - Table cannot accept connection, already connected to table:",this.connectedTable),!1):(this.connectedTable=t,this.connectedRow=i,this.table.element.classList.add("tabulator-movingrow-receiving"),this.table.rowManager.getDisplayRows().forEach((t=>{"row"===t.type&&t.modules.moveRow&&t.modules.moveRow.mouseup&&t.getElement().addEventListener("mouseup",t.modules.moveRow.mouseup)})),this.tableRowDropEvent=this.tableRowDrop.bind(this),this.table.element.addEventListener("mouseup",this.tableRowDropEvent),this.dispatchExternal("movableRowsReceivingStart",i,t),!0)}disconnect(t){t===this.connectedTable?(this.connectedTable=!1,this.connectedRow=!1,this.table.element.classList.remove("tabulator-movingrow-receiving"),this.table.rowManager.getDisplayRows().forEach((t=>{"row"===t.type&&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",t)):console.warn("Move Row Error - trying to disconnect from non connected table")}dropComplete(t,i,e){var s=!1;if(e){switch(typeof this.table.options.movableRowsSender){case"string":s=Ot.senders[this.table.options.movableRowsSender];break;case"function":s=this.table.options.movableRowsSender}s?s.call(this,this.moving?this.moving.getComponent():void 0,i?i.getComponent():void 0,t):this.table.options.movableRowsSender&&console.warn("Mover Row Error - no matching sender found:",this.table.options.movableRowsSender),this.dispatchExternal("movableRowsSent",this.moving.getComponent(),i?i.getComponent():void 0,t)}else this.dispatchExternal("movableRowsSentFailed",this.moving.getComponent(),i?i.getComponent():void 0,t);this.endMove()}tableRowDrop(t,i){var e=!1,s=!1;switch(t.stopImmediatePropagation(),typeof this.table.options.movableRowsReceiver){case"string":e=Ot.receivers[this.table.options.movableRowsReceiver];break;case"function":e=this.table.options.movableRowsReceiver}e?s=e.call(this,this.connectedRow.getComponent(),i?i.getComponent():void 0,this.connectedTable):console.warn("Mover Row Error - no matching receiver found:",this.table.options.movableRowsReceiver),this.dispatchExternal(s?"movableRowsReceived":"movableRowsReceivedFailed",this.connectedRow.getComponent(),i?i.getComponent():void 0,this.connectedTable),this.commsSend(this.connectedTable,"moveRow","dropcomplete",{row:i,success:s})}commsReceived(t,i,e){switch(i){case"connect":return this.connect(t,e.row);case"disconnect":return this.disconnect(t);case"dropcomplete":return this.dropComplete(t,e.row,e.success)}}}var Ht={};class _t extends H{static moduleName="mutator";static mutators=Ht;constructor(t){super(t),this.allowedTypes=["","data","edit","clipboard","import"],this.enabled=!0,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("mutatorImport"),this.registerColumnOption("mutatorImportParams"),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(t,i,e){return this.transformRow(i,"data",e)}initializeColumn(t){var i=!1,e={};this.allowedTypes.forEach((s=>{var r,o="mutator"+(s.charAt(0).toUpperCase()+s.slice(1));t.definition[o]&&(r=this.lookupMutator(t.definition[o]))&&(i=!0,e[o]={mutator:r,params:t.definition[o+"Params"]||{}})})),i&&(t.modules.mutate=e)}lookupMutator(t){var i=!1;switch(typeof t){case"string":_t.mutators[t]?i=_t.mutators[t]:console.warn("Mutator Error - No such mutator found, ignoring: ",t);break;case"function":i=t}return i}transformRow(t,i,e){var s,r="mutator"+(i.charAt(0).toUpperCase()+i.slice(1));return this.enabled&&this.table.columnManager.traverse((o=>{var a,h,n;o.modules.mutate&&(a=o.modules.mutate[r]||o.modules.mutate.mutator||!1)&&(s=o.getFieldValue(void 0!==e?e:t),("data"==i&&!e||void 0!==s)&&(n=o.getComponent(),h="function"==typeof a.params?a.params(s,t,i,n):a.params,o.setFieldValue(t,a.mutator(s,t,i,h,n))))})),t}transformCell(t,i){if(t.column.modules.mutate){var e=t.column.modules.mutate.mutatorEdit||t.column.modules.mutate.mutator||!1,s={};if(e)return s=Object.assign(s,t.row.getData()),t.column.setFieldValue(s,i),e.mutator(i,s,"edit",e.params,t.getComponent())}return i}mutateLink(t){var i=t.column.definition.mutateLink;i&&(Array.isArray(i)||(i=[i]),i.forEach((i=>{var e=t.row.getCell(i);e&&e.setValue(e.getValue(),!0,!0)})))}enable(){this.enabled=!0}disable(){this.enabled=!1}}var Lt={rows:function(t,i,e,s){var r=document.createElement("span"),o=document.createElement("span"),a=document.createElement("span"),h=document.createElement("span"),n=document.createElement("span"),l=document.createElement("span");return this.table.modules.localize.langBind("pagination|counter|showing",(t=>{o.innerHTML=t})),this.table.modules.localize.langBind("pagination|counter|of",(t=>{h.innerHTML=t})),this.table.modules.localize.langBind("pagination|counter|rows",(t=>{l.innerHTML=t})),s?(a.innerHTML=" "+i+"-"+Math.min(i+t-1,s)+" ",n.innerHTML=" "+s+" ",r.appendChild(o),r.appendChild(a),r.appendChild(h),r.appendChild(n),r.appendChild(l)):(a.innerHTML=" 0 ",r.appendChild(o),r.appendChild(a),r.appendChild(l)),r},pages:function(t,i,e,s,r){var o=document.createElement("span"),a=document.createElement("span"),h=document.createElement("span"),n=document.createElement("span"),l=document.createElement("span"),u=document.createElement("span");return this.table.modules.localize.langBind("pagination|counter|showing",(t=>{a.innerHTML=t})),h.innerHTML=" "+e+" ",this.table.modules.localize.langBind("pagination|counter|of",(t=>{n.innerHTML=t})),l.innerHTML=" "+r+" ",this.table.modules.localize.langBind("pagination|counter|pages",(t=>{u.innerHTML=t})),o.appendChild(a),o.appendChild(h),o.appendChild(n),o.appendChild(l),o.appendChild(u),o}};class At extends H{static moduleName="page";static pageCounters=Lt;constructor(t){super(t),this.mode="local",this.progressiveLoad=!1,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=!0,this.dataChanging=!1,this.pageSizes=[],this.registerTableOption("pagination",!1),this.registerTableOption("paginationMode","local"),this.registerTableOption("paginationSize",!1),this.registerTableOption("paginationInitialPage",1),this.registerTableOption("paginationCounter",!1),this.registerTableOption("paginationCounterElement",!1),this.registerTableOption("paginationButtonCount",5),this.registerTableOption("paginationSizeSelector",!1),this.registerTableOption("paginationElement",!1),this.registerTableOption("paginationAddRow","page"),this.registerTableOption("paginationOutOfRange",!1),this.registerTableOption("progressiveLoad",!1),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)),"page"==this.table.options.paginationAddRow&&this.subscribe("row-adding-position",this.rowAddingPosition.bind(this)),"remote"===this.table.options.paginationMode&&(this.subscribe("data-params",this.remotePageParams.bind(this)),this.subscribe("data-loaded",this._parseRemoteData.bind(this))),this.table.options.progressiveLoad&&console.error("Progressive Load Error - Pagination and progressive load cannot be used at the same time"),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),"scroll"===this.table.options.progressiveLoad&&this.subscribe("scroll-vertical",this.scrollVertical.bind(this)))}rowAddingPosition(t,i){var e,s=this.table.rowManager,r=s.getDisplayRows();return i?r.length?e=r[0]:s.activeRows.length&&(e=s.activeRows[s.activeRows.length-1],i=!1):r.length&&(e=r[r.length-1],i=!(r.length<this.size)),{index:e,top:i}}calculatePageSizes(){var t,i;this.table.options.paginationSize?this.size=this.table.options.paginationSize:((t=document.createElement("div")).classList.add("tabulator-row"),t.style.visibility="hidden",(i=document.createElement("div")).classList.add("tabulator-cell"),i.innerHTML="Page Row Test",t.appendChild(i),this.table.rowManager.getTableElement().appendChild(t),this.size=Math.floor(this.table.rowManager.getElement().clientHeight/t.offsetHeight),this.table.rowManager.getTableElement().removeChild(t)),this.dispatchExternal("pageSizeChanged",this.size),this.generatePageSizeSelectList()}initialLoadComplete(){this.initialLoad=!1}remotePageParams(t,i,e,s){return this.initialLoad||(this.progressiveLoad&&!e||!this.progressiveLoad&&!this.dataChanging)&&this.reset(!0),s.page=this.page,this.size&&(s.size=this.size),s}userSetPageToRow(t){return this.table.options.pagination&&(t=this.table.rowManager.findRow(t))?this.setPageToRow(t):Promise.reject()}userSetPageSize(t){return!!this.table.options.pagination&&(this.setPageSize(t),this.setPage(1))}scrollVertical(t,i){var e;i||this.table.dataLoader.loading||(e=this.table.rowManager.getElement()).scrollHeight-e.clientHeight-t<(this.table.options.progressiveLoadScrollMargin||2*e.clientHeight)&&this.nextPage().catch((()=>{}))}restOnRenderBefore(t,i){return i||"local"===this.mode&&this.reset(),t}rowsUpdated(){this.refreshData(!0,"all")}createElements(){var t;this.element=document.createElement("span"),this.element.classList.add("tabulator-paginator"),this.pagesElement=document.createElement("span"),this.pagesElement.classList.add("tabulator-pages"),(t=document.createElement("button")).classList.add("tabulator-page"),t.setAttribute("type","button"),t.setAttribute("role","button"),t.setAttribute("aria-label",""),t.setAttribute("title",""),this.firstBut=t.cloneNode(!0),this.firstBut.setAttribute("data-page","first"),this.prevBut=t.cloneNode(!0),this.prevBut.setAttribute("data-page","prev"),this.nextBut=t.cloneNode(!0),this.nextBut.setAttribute("data-page","next"),this.lastBut=t.cloneNode(!0),this.lastBut.setAttribute("data-page","last"),this.table.options.paginationSizeSelector&&(this.pageSizeSelect=document.createElement("select"),this.pageSizeSelect.classList.add("tabulator-page-size"))}generatePageSizeSelectList(){var t=[];if(this.pageSizeSelect){if(Array.isArray(this.table.options.paginationSizeSelector))this.pageSizes=t=this.table.options.paginationSizeSelector,-1==this.pageSizes.indexOf(this.size)&&t.unshift(this.size);else if(-1==this.pageSizes.indexOf(this.size)){t=[];for(let i=1;i<5;i++)t.push(this.size*i);this.pageSizes=t}else t=this.pageSizes;for(;this.pageSizeSelect.firstChild;)this.pageSizeSelect.removeChild(this.pageSizeSelect.firstChild);t.forEach((t=>{var i=document.createElement("option");i.value=t,!0===t?this.langBind("pagination|all",(function(t){i.innerHTML=t})):i.innerHTML=t,this.pageSizeSelect.appendChild(i)})),this.pageSizeSelect.value=this.size}}initializePageCounter(){var t=this.table.options.paginationCounter,i=null;t&&((i="function"==typeof t?t:At.pageCounters[t])?(this.pageCounter=i,this.pageCounterElement=document.createElement("span"),this.pageCounterElement.classList.add("tabulator-page-counter")):console.warn("Pagination Error - No such page counter found: ",t))}initializePaginator(t){var i,e;t||(this.langBind("pagination|first",(t=>{this.firstBut.innerHTML=t})),this.langBind("pagination|first_title",(t=>{this.firstBut.setAttribute("aria-label",t),this.firstBut.setAttribute("title",t)})),this.langBind("pagination|prev",(t=>{this.prevBut.innerHTML=t})),this.langBind("pagination|prev_title",(t=>{this.prevBut.setAttribute("aria-label",t),this.prevBut.setAttribute("title",t)})),this.langBind("pagination|next",(t=>{this.nextBut.innerHTML=t})),this.langBind("pagination|next_title",(t=>{this.nextBut.setAttribute("aria-label",t),this.nextBut.setAttribute("title",t)})),this.langBind("pagination|last",(t=>{this.lastBut.innerHTML=t})),this.langBind("pagination|last_title",(t=>{this.lastBut.setAttribute("aria-label",t),this.lastBut.setAttribute("title",t)})),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&&(i=document.createElement("label"),this.langBind("pagination|page_size",(t=>{this.pageSizeSelect.setAttribute("aria-label",t),this.pageSizeSelect.setAttribute("title",t),i.innerHTML=t})),this.element.appendChild(i),this.element.appendChild(this.pageSizeSelect),this.pageSizeSelect.addEventListener("change",(()=>{this.setPageSize("true"==this.pageSizeSelect.value||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):"string"==typeof this.table.options.paginationCounterElement&&((e=document.querySelector(this.table.options.paginationCounterElement))?e.appendChild(this.pageCounterElement):console.warn("Pagination Error - Unable to find element matching paginationCounterElement selector:",this.table.options.paginationCounterElement)):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(t){this.initializePaginator(!0),this.mode="progressive_"+t,this.progressiveLoad=!0}trackChanges(){this.dispatch("page-changed")}setMaxRows(t){this.max=t?!0===this.size?1:Math.ceil(t/this.size):1,this.page>this.max&&(this.page=this.max)}reset(t){this.initialLoad||("local"==this.mode||t)&&(this.page=1,this.trackChanges())}setMaxPage(t){t=parseInt(t),this.max=t||1,this.page>this.max&&(this.page=this.max,this.trigger())}setPage(t){switch(t){case"first":return this.setPage(1);case"prev":return this.previousPage();case"next":return this.nextPage();case"last":return this.setPage(this.max)}return(t=parseInt(t))>0&&t<=this.max||"local"!==this.mode?(this.page=t,this.trackChanges(),this.trigger()):(console.warn("Pagination Error - Requested page is out of range of 1 - "+this.max+":",t),Promise.reject())}setPageToRow(t){var i=this.displayRows(-1).indexOf(t);if(i>-1){var e=!0===this.size?1:Math.ceil((i+1)/this.size);return this.setPage(e)}return console.warn("Pagination Error - Requested row is not visible"),Promise.reject()}setPageSize(t){!0!==t&&(t=parseInt(t)),t>0&&(this.size=t,this.dispatchExternal("pageSizeChanged",t)),this.pageSizeSelect&&this.generatePageSizeSelectList(),this.trackChanges()}_setPageCounter(t,i,e){var s;if(this.pageCounter)switch("remote"===this.mode&&(i=this.size,e=(this.page-1)*this.size+1,t=this.remoteRowCountEstimate),typeof(s=this.pageCounter.call(this,i,e,this.page,t,this.max))){case"object":if(s instanceof Node){for(;this.pageCounterElement.firstChild;)this.pageCounterElement.removeChild(this.pageCounterElement.firstChild);this.pageCounterElement.appendChild(s)}else this.pageCounterElement.innerHTML="",null!=s&&console.warn("Page Counter Error - Page Counter has returned a type of object, the only valid page counter object return is an instance of Node, the page counter returned:",s);break;case"undefined":this.pageCounterElement.innerHTML="";break;default:this.pageCounterElement.innerHTML=s}}_setPageButtons(){let t=Math.floor((this.count-1)/2),i=Math.ceil((this.count-1)/2),e=this.max-this.page+t+1<this.count?this.max-this.count+1:Math.max(this.page-t,1),s=this.page<=i?Math.min(this.count,this.max):Math.min(this.page+i,this.max);for(;this.pagesElement.firstChild;)this.pagesElement.removeChild(this.pagesElement.firstChild);1==this.page?(this.firstBut.disabled=!0,this.prevBut.disabled=!0):(this.firstBut.disabled=!1,this.prevBut.disabled=!1),this.page==this.max?(this.lastBut.disabled=!0,this.nextBut.disabled=!0):(this.lastBut.disabled=!1,this.nextBut.disabled=!1);for(let t=e;t<=s;t++)t>0&&t<=this.max&&this.pagesElement.appendChild(this._generatePageButton(t));this.footerRedraw()}_generatePageButton(t){var i=document.createElement("button");return i.classList.add("tabulator-page"),t==this.page&&i.classList.add("active"),i.setAttribute("type","button"),i.setAttribute("role","button"),this.langBind("pagination|page_title",(e=>{i.setAttribute("aria-label",e+" "+t),i.setAttribute("title",e+" "+t)})),i.setAttribute("data-page",t),i.textContent=t,i.addEventListener("click",(()=>{this.setPage(t)})),i}previousPage(){return this.page>1?(this.page--,this.trackChanges(),this.trigger()):(console.warn("Pagination Error - Previous page would be less than page 1:",0),Promise.reject())}nextPage(){return this.page<this.max?(this.page++,this.trackChanges(),this.trigger()):(this.progressiveLoad||console.warn("Pagination Error - Next page would be greater than maximum page of "+this.max+":",this.max+1),Promise.reject())}getPage(){return this.page}getPageMax(){return this.max}getPageSize(t){return this.size}getMode(){return this.mode}getRows(t){var i,e,s,r,o=0,a=t.filter((t=>"row"===t.type));if("local"==this.mode){i=[],this.setMaxRows(t.length),!0===this.size?(e=0,s=t.length):s=(e=this.size*(this.page-1))+parseInt(this.size),this._setPageButtons();for(let a=e;a<s;a++){let e=t[a];e&&(i.push(e),"row"===e.type&&(r||(r=e),o++))}return this._setPageCounter(a.length,o,r?a.indexOf(r)+1:0),i}return this._setPageButtons(),this._setPageCounter(a.length),t.slice(0)}trigger(){var t;switch(this.mode){case"local":return t=this.table.rowManager.scrollLeft,this.refreshData(),this.table.rowManager.scrollHorizontal(t),this.dispatchExternal("pageLoaded",this.getPage()),Promise.resolve();case"remote":return this.dataChanging=!0,this.reloadData(null).finally((()=>{this.dataChanging=!1}));case"progressive_load":case"progressive_scroll":return this.reloadData(null,!0);default:return console.warn("Pagination Error - no such pagination mode:",this.mode),Promise.reject()}}_parseRemoteData(t){var i;if(void 0===t.last_page&&console.warn("Remote Pagination Error - Server response missing '"+(this.options("dataReceiveParams").last_page||"last_page")+"' property"),t.data){if(this.max=parseInt(t.last_page)||1,this.remoteRowCountEstimate=void 0!==t.last_row?t.last_row:t.last_page*this.size-(this.page==t.last_page?this.size-t.data.length:0),this.progressiveLoad){switch(this.mode){case"progressive_load":1==this.page?this.table.rowManager.setData(t.data,!1,1==this.page):this.table.rowManager.addRows(t.data),this.page<this.max&&setTimeout((()=>{this.nextPage()}),this.table.options.progressiveLoadDelay);break;case"progressive_scroll":t=1===this.page?t.data:this.table.rowManager.getData().concat(t.data),this.table.rowManager.setData(t,1!==this.page,1==this.page),this.table.rowManager.element.scrollHeight<=this.table.rowManager.element.clientHeight+(this.table.options.progressiveLoadScrollMargin||2*this.table.rowManager.element.clientHeight)&&this.page<this.max&&setTimeout((()=>{this.nextPage()}))}return!1}if(this.page>this.max&&(console.warn("Remote Pagination Error - Server returned last page value lower than the current page"),i=this.options("paginationOutOfRange")))return this.setPage("function"==typeof i?i.call(this,this.page,this.max):i);this.dispatchExternal("pageLoaded",this.getPage())}else console.warn("Remote Pagination Error - Server response missing '"+(this.options("dataReceiveParams").data||"data")+"' property");return t.data}footerRedraw(){var t=this.table.footerManager.containerElement;Math.ceil(t.clientWidth)-t.scrollWidth<0?this.pagesElement.style.display="none":(this.pagesElement.style.display="",Math.ceil(t.clientWidth)-t.scrollWidth<0&&(this.pagesElement.style.display="none"))}}var It={local:function(t,i){var e=localStorage.getItem(t+"-"+i);return!!e&&JSON.parse(e)},cookie:function(t,i){var e,s,r=document.cookie,o=t+"-"+i,a=r.indexOf(o+"=");return a>-1&&((e=(r=r.slice(a)).indexOf(";"))>-1&&(r=r.slice(0,e)),s=r.replace(o+"=","")),!!s&&JSON.parse(s)}},Vt={local:function(t,i,e){localStorage.setItem(t+"-"+i,JSON.stringify(e))},cookie:function(t,i,e){var s=new Date;s.setDate(s.getDate()+1e4),document.cookie=t+"-"+i+"="+JSON.stringify(e)+"; expires="+s.toUTCString()}};class Ut extends H{static moduleName="persistence";static moduleInitOrder=-10;static readers=It;static writers=Vt;constructor(t){super(t),this.mode="",this.id="",this.defWatcherBlock=!1,this.config={},this.readFunc=!1,this.writeFunc=!1,this.registerTableOption("persistence",!1),this.registerTableOption("persistenceID",""),this.registerTableOption("persistenceMode",!0),this.registerTableOption("persistenceReaderFunc",!1),this.registerTableOption("persistenceWriterFunc",!1)}localStorageTest(){var t="_tabulator_test";try{return window.localStorage.setItem(t,t),window.localStorage.removeItem(t),!0}catch(t){return!1}}initialize(){if(this.table.options.persistence){var t,i=this.table.options.persistenceMode,e=this.table.options.persistenceID;this.mode=!0!==i?i:this.localStorageTest()?"local":"cookie",this.table.options.persistenceReaderFunc?"function"==typeof this.table.options.persistenceReaderFunc?this.readFunc=this.table.options.persistenceReaderFunc:Ut.readers[this.table.options.persistenceReaderFunc]?this.readFunc=Ut.readers[this.table.options.persistenceReaderFunc]:console.warn("Persistence Read Error - invalid reader set",this.table.options.persistenceReaderFunc):Ut.readers[this.mode]?this.readFunc=Ut.readers[this.mode]:console.warn("Persistence Read Error - invalid reader set",this.mode),this.table.options.persistenceWriterFunc?"function"==typeof this.table.options.persistenceWriterFunc?this.writeFunc=this.table.options.persistenceWriterFunc:Ut.writers[this.table.options.persistenceWriterFunc]?this.writeFunc=Ut.writers[this.table.options.persistenceWriterFunc]:console.warn("Persistence Write Error - invalid reader set",this.table.options.persistenceWriterFunc):Ut.writers[this.mode]?this.writeFunc=Ut.writers[this.mode]:console.warn("Persistence Write Error - invalid writer set",this.mode),this.id="tabulator-"+(e||this.table.element.getAttribute("id")||""),this.config={sort:!0===this.table.options.persistence||this.table.options.persistence.sort,filter:!0===this.table.options.persistence||this.table.options.persistence.filter,headerFilter:!0===this.table.options.persistence||this.table.options.persistence.headerFilter,group:!0===this.table.options.persistence||this.table.options.persistence.group,page:!0===this.table.options.persistence||this.table.options.persistence.page,columns:!0===this.table.options.persistence?["title","width","visible"]:this.table.options.persistence.columns},this.config.page&&(t=this.retrieveData("page"))&&(void 0===t.paginationSize||!0!==this.config.page&&!this.config.page.size||(this.table.options.paginationSize=t.paginationSize),void 0===t.paginationInitialPage||!0!==this.config.page&&!this.config.page.page||(this.table.options.paginationInitialPage=t.paginationInitialPage)),this.config.group&&(t=this.retrieveData("group"))&&(void 0===t.groupBy||!0!==this.config.group&&!this.config.group.groupBy||(this.table.options.groupBy=t.groupBy),void 0===t.groupStartOpen||!0!==this.config.group&&!this.config.group.groupStartOpen||(this.table.options.groupStartOpen=t.groupStartOpen),void 0===t.groupHeader||!0!==this.config.group&&!this.config.group.groupHeader||(this.table.options.groupHeader=t.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(t){this.config[t]&&this.save(t)}tableBuilt(){var t,i,e;this.config.sort&&0==!(t=this.load("sort"))&&(this.table.options.initialSort=t),this.config.filter&&0==!(i=this.load("filter"))&&(this.table.options.initialFilter=i),this.config.headerFilter&&0==!(e=this.load("headerFilter"))&&(this.table.options.initialHeaderFilter=e)}tableRedraw(t){t&&this.config.columns&&this.save("columns")}getColumnLayout(){return this.parseColumns(this.table.columnManager.getColumns())}setColumnLayout(t){return this.table.columnManager.setColumns(this.mergeDefinition(this.table.options.columns,t,!0)),!0}initializeColumn(t){var i;this.config.columns&&(this.defWatcherBlock=!0,i=t.getDefinition(),(!0===this.config.columns?Object.keys(i):this.config.columns).forEach((t=>{var e=Object.getOwnPropertyDescriptor(i,t),s=i[t];e&&Object.defineProperty(i,t,{set:t=>{s=t,this.defWatcherBlock||this.save("columns"),e.set&&e.set(t)},get:()=>(e.get&&e.get(),s)})})),this.defWatcherBlock=!1)}load(t,i){var e=this.retrieveData(t);return i&&(e=e?this.mergeDefinition(i,e):i),e}retrieveData(t){return!!this.readFunc&&this.readFunc(this.id,t)}mergeDefinition(t,i,e){var s=[];return(i=i||[]).forEach((i=>{var r,o=this._findColumn(t,i);o&&(e?r=Object.keys(i):!0===this.config.columns||null==this.config.columns?(r=Object.keys(o)).push("width"):r=this.config.columns,r.forEach((t=>{"columns"!==t&&void 0!==i[t]&&(o[t]=i[t])})),o.columns&&(o.columns=this.mergeDefinition(o.columns,i.columns)),s.push(o))})),t.forEach(((t,e)=>{this._findColumn(i,t)||(s.length>e?s.splice(e,0,t):s.push(t))})),s}_findColumn(t,i){var e=i.columns?"group":i.field?"field":"object";return t.find((function(t){switch(e){case"group":return t.title===i.title&&t.columns.length===i.columns.length;case"field":return t.field===i.field;case"object":return t===i}}))}save(t){var i={};switch(t){case"columns":i=this.parseColumns(this.table.columnManager.getColumns());break;case"filter":i=this.table.modules.filter.getFilters();break;case"headerFilter":i=this.table.modules.filter.getHeaderFilters();break;case"sort":i=this.validateSorters(this.table.modules.sort.getSort());break;case"group":i=this.getGroupConfig();break;case"page":i=this.getPageConfig()}this.writeFunc&&this.writeFunc(this.id,t,i)}validateSorters(t){return t.forEach((function(t){t.column=t.field,delete t.field})),t}getGroupConfig(){var t={};return this.config.group&&((!0===this.config.group||this.config.group.groupBy)&&(t.groupBy=this.table.options.groupBy),(!0===this.config.group||this.config.group.groupStartOpen)&&(t.groupStartOpen=this.table.options.groupStartOpen),(!0===this.config.group||this.config.group.groupHeader)&&(t.groupHeader=this.table.options.groupHeader)),t}getPageConfig(){var t={};return this.config.page&&((!0===this.config.page||this.config.page.size)&&(t.paginationSize=this.table.modules.page.getPageSize()),(!0===this.config.page||this.config.page.page)&&(t.paginationInitialPage=this.table.modules.page.getPage())),t}parseColumns(t){var i=[],e=["headerContextMenu","headerMenu","contextMenu","clickMenu"];return t.forEach((t=>{var s,r={},o=t.getDefinition();t.isGroup?(r.title=o.title,r.columns=this.parseColumns(t.getColumns())):(r.field=t.getField(),!0===this.config.columns||null==this.config.columns?((s=Object.keys(o)).push("width"),s.push("visible")):s=this.config.columns,s.forEach((i=>{switch(i){case"width":r.width=t.getWidth();break;case"visible":r.visible=t.visible;break;default:"function"!=typeof o[i]&&-1===e.indexOf(i)&&(r[i]=o[i])}}))),i.push(r)})),i}}var Bt={format:{formatters:{responsiveCollapse:function(t){var i=document.createElement("div"),e=t.getRow()._row.modules.responsiveLayout;function s(t){var s=e.element;e.open=t,s&&(e.open?(i.classList.add("open"),s.style.display=""):(i.classList.remove("open"),s.style.display="none"))}return i.classList.add("tabulator-responsive-collapse-toggle"),i.innerHTML='<svg class=\'tabulator-responsive-collapse-toggle-open\' viewbox="0 0 24 24">\n <line x1="7" y1="12" x2="17" y2="12" fill="none" stroke-width="3" stroke-linecap="round" />\n <line y1="7" x1="12" y2="17" x2="12" fill="none" stroke-width="3" stroke-linecap="round" />\n</svg>\n\n<svg class=\'tabulator-responsive-collapse-toggle-close\' viewbox="0 0 24 24">\n <line x1="7" y1="12" x2="17" y2="12" fill="none" stroke-width="3" stroke-linecap="round" />\n</svg>',t.getElement().classList.add("tabulator-row-handle"),i.addEventListener("click",(function(i){i.stopImmediatePropagation(),s(!e.open),t.getTable().rowManager.adjustTableSize()})),s(e.open),i}}}},Gt={format:{formatters:{rowSelection:function(t,i){var e=document.createElement("input"),s=!1;if(e.type="checkbox",e.setAttribute("aria-label","Select Row"),this.table.modExists("selectRow",!0))if(e.addEventListener("click",(t=>{t.stopPropagation()})),"function"==typeof t.getRow){var r=t.getRow();r instanceof st?(e.addEventListener("change",(()=>{"click"===this.table.options.selectableRowsRangeMode&&s?s=!1:r.toggleSelect()})),"click"===this.table.options.selectableRowsRangeMode&&e.addEventListener("click",(t=>{s=!0,this.table.modules.selectRow.handleComplexRowClick(r._row,t)})),e.checked=r.isSelected&&r.isSelected(),this.table.modules.selectRow.registerRowSelectCheckbox(r,e)):e=""}else e.addEventListener("change",(()=>{this.table.modules.selectRow.selectedRows.length?this.table.deselectRow():this.table.selectRow(i.rowRange)})),this.table.modules.selectRow.registerHeaderSelectCheckbox(e);return e}}}};class Wt{constructor(t){return this._range=t,new Proxy(this,{get:function(t,i){return void 0!==t[i]?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(!0,!0)}getStructuredCells(){return this._range.getStructuredCells()}getRows(){return this._range.getRows().map((t=>t.getComponent()))}getColumns(){return this._range.getColumns().map((t=>t.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(t,i){this._range.destroyedGuard("setBounds")&&this._range.setBounds(t?t._cell:t,i?i._cell:i)}setStartBound(t){this._range.destroyedGuard("setStartBound")&&(this._range.setEndBound(t?t._cell:t),this._range.rangeManager.layoutElement())}setEndBound(t){this._range.destroyedGuard("setEndBound")&&(this._range.setEndBound(t?t._cell:t),this._range.rangeManager.layoutElement())}clearValues(){this._range.destroyedGuard("clearValues")&&this._range.clearValues()}remove(){this._range.destroyedGuard("remove")&&this._range.destroy(!0)}}class Jt extends j{constructor(t,i,e,s){super(t),this.rangeManager=i,this.element=null,this.initialized=!1,this.initializing={start:!1,end:!1},this.destroyed=!1,this.top=0,this.bottom=0,this.left=0,this.right=0,this.table=t,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(e,s)}))}initElement(){this.element=document.createElement("div"),this.element.classList.add("tabulator-range")}initBounds(t,i){this._updateMinMax(),t&&this.setBounds(t,i||t)}setStart(t,i){this.start.row===t&&this.start.col===i||(this.start.row=t,this.start.col=i,this.initializing.start=!0,this._updateMinMax())}setEnd(t,i){this.end.row===t&&this.end.col===i||(this.end.row=t,this.end.col=i,this.initializing.end=!0,this._updateMinMax())}setBounds(t,i,e){t&&this.setStartBound(t),this.setEndBound(i||t),this.rangeManager.layoutElement(e)}setStartBound(t){var i,e;"column"===t.type?this.rangeManager.columnSelection&&this.setStart(0,t.getPosition()-1):(i=t.row.position-1,e=t.column.getPosition()-1,this.setStart(i,t.column===this.rangeManager.rowHeader?1:e))}setEndBound(t){var i,e,s,r=this._getTableRows().length;"column"===t.type?this.rangeManager.columnSelection&&("column"===this.rangeManager.selecting?this.setEnd(r-1,t.getPosition()-1):"cell"===this.rangeManager.selecting&&this.setEnd(0,t.getPosition()-1)):(i=t.row.position-1,e=t.column.getPosition()-1,s=t.column===this.rangeManager.rowHeader,"row"===this.rangeManager.selecting?this.setEnd(i,this._getTableColumns().length-1):"row"!==this.rangeManager.selecting&&s?this.setEnd(i,0):this.setEnd("column"===this.rangeManager.selecting?r-1:i,e))}_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=!0,this.dispatchExternal("rangeAdded",this.getComponent()))}_getTableColumns(){return this.table.columnManager.getVisibleColumnsByIndex()}_getTableRows(){return this.table.rowManager.getDisplayRows().filter((t=>"row"===t.type))}layout(){var t,i,e,s,r,o,a,h,n,l,u=this.table.rowManager.renderer.vDomTop,c=this.table.rowManager.renderer.vDomBottom,d=this.table.columnManager.renderer.leftCol,b=this.table.columnManager.renderer.rightCol;"virtual"===this.table.options.renderHorizontal&&this.rangeManager.rowHeader&&(b+=1),null==u&&(u=0),null==c&&(c=1/0),null==d&&(d=0),null==b&&(b=1/0),this.overlaps(d,u,b,c)&&(t=Math.max(this.top,u),i=Math.min(this.bottom,c),e=Math.max(this.left,d),s=Math.min(this.right,b),r=this.rangeManager.getCell(t,e),o=this.rangeManager.getCell(i,s),a=r.getElement(),h=o.getElement(),n=r.row.getElement(),l=o.row.getElement(),this.element.classList.add("tabulator-range-active"),this.table.rtl?(this.element.style.right=n.offsetWidth-a.offsetLeft-a.offsetWidth+"px",this.element.style.width=a.offsetLeft+a.offsetWidth-h.offsetLeft+"px"):(this.element.style.left=n.offsetLeft+a.offsetLeft+"px",this.element.style.width=h.offsetLeft+h.offsetWidth-a.offsetLeft+"px"),this.element.style.top=n.offsetTop+"px",this.element.style.height=l.offsetTop+l.offsetHeight-n.offsetTop+"px")}atTopLeft(t){return t.row.position-1===this.top&&t.column.getPosition()-1===this.left}atBottomRight(t){return t.row.position-1===this.bottom&&t.column.getPosition()-1===this.right}occupies(t){return this.occupiesRow(t.row)&&this.occupiesColumn(t.column)}occupiesRow(t){return this.top<=t.position-1&&t.position-1<=this.bottom}occupiesColumn(t){return this.left<=t.getPosition()-1&&t.getPosition()-1<=this.right}overlaps(t,i,e,s){return!(this.left>e||t>this.right||this.top>s||i>this.bottom)}getData(){var t=[],i=this.getRows(),e=this.getColumns();return i.forEach((i=>{var s=i.getData(),r={};e.forEach((t=>{r[t.field]=s[t.field]})),t.push(r)})),t}getCells(t,i){var e=[],s=this.getRows(),r=this.getColumns();return t?e=s.map((t=>{var e=[];return t.getCells().forEach((t=>{r.includes(t.column)&&e.push(i?t.getComponent():t)})),e})):s.forEach((t=>{t.getCells().forEach((t=>{r.includes(t.column)&&e.push(i?t.getComponent():t)}))})),e}getStructuredCells(){return this.getCells(!0,!0)}getRows(){return this._getTableRows().slice(this.top,this.bottom+1)}getColumns(){return this._getTableColumns().slice(this.left,this.right+1)}clearValues(){var t=this.getCells(),i=this.table.options.selectableRangeClearCellsValue;this.table.blockRedraw(),t.forEach((t=>{t.setValue(i)})),this.table.restoreRedraw()}getBounds(t){var i=this.getCells(!1,t),e={start:null,end:null};return i.length?(e.start=i[0],e.end=i[i.length-1]):console.warn("No bounds defined on range"),e}getComponent(){return this.component||(this.component=new Wt(this)),this.component}destroy(t){this.destroyed=!0,this.element.remove(),t&&this.rangeManager.rangeRemoved(this),this.initialized&&this.dispatchExternal("rangeRemoved",this.getComponent())}destroyedGuard(t){return this.destroyed&&console.warn("You cannot call the "+t+" function on a destroyed range"),!this.destroyed}}var qt={keybindings:{bindings:{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"]},actions:{rangeJumpLeft:function(t){this.dispatch("keybinding-nav-range",t,"left",!0,!1)},rangeJumpRight:function(t){this.dispatch("keybinding-nav-range",t,"right",!0,!1)},rangeJumpUp:function(t){this.dispatch("keybinding-nav-range",t,"up",!0,!1)},rangeJumpDown:function(t){this.dispatch("keybinding-nav-range",t,"down",!0,!1)},rangeExpandLeft:function(t){this.dispatch("keybinding-nav-range",t,"left",!1,!0)},rangeExpandRight:function(t){this.dispatch("keybinding-nav-range",t,"right",!1,!0)},rangeExpandUp:function(t){this.dispatch("keybinding-nav-range",t,"up",!1,!0)},rangeExpandDown:function(t){this.dispatch("keybinding-nav-range",t,"down",!1,!0)},rangeExpandJumpLeft:function(t){this.dispatch("keybinding-nav-range",t,"left",!0,!0)},rangeExpandJumpRight:function(t){this.dispatch("keybinding-nav-range",t,"right",!0,!0)},rangeExpandJumpUp:function(t){this.dispatch("keybinding-nav-range",t,"up",!0,!0)},rangeExpandJumpDown:function(t){this.dispatch("keybinding-nav-range",t,"down",!0,!0)}}},clipboard:{pasteActions:{range:function(t){var i,e,s,r,o,a=[],h=this.table.modules.selectRange.activeRange,n=!1;return o=t.length,h&&((i=h.getBounds()).start===i.end&&(n=!0),(e=i.start)&&(s=(a=this.table.rowManager.activeRows.slice()).indexOf(e.row),r=n?t.length:a.indexOf(i.end.row)-s+1,s>-1&&(this.table.blockRedraw(),(a=a.slice(s,s+r)).forEach(((i,e)=>{i.updateData(t[e%o])})),this.table.restoreRedraw()))),a}},pasteParsers:{range:function(t){var i,e,s,r,o,a=[],h=[],n=this.table.modules.selectRange.activeRange,l=!1;return!!(n&&((i=n.getBounds()).start===i.end&&(l=!0),(e=i.start)&&((t=t.split("\n")).forEach((function(t){a.push(t.split("\t"))})),a.length&&(o=(r=this.table.columnManager.getVisibleColumnsByIndex()).indexOf(e.column))>-1)))&&(s=l?a[0].length:r.indexOf(i.end.column)-o+1,r=r.slice(o,o+s),a.forEach((t=>{var i={},e=t.length;r.forEach((function(s,r){i[s.field]=t[r%e]})),h.push(i)})),h)}}},export:{columnLookups:{range:function(){var t=this.modules.selectRange.selectedColumns();return this.columnManager.rowHeader&&t.unshift(this.columnManager.rowHeader),t}},rowLookups:{range:function(){return this.modules.selectRange.selectedRows()}}}};function Zt(t,i,e,s,r,o,a){var h=this.table.dependencyRegistry.lookup(["luxon","DateTime"],"DateTime"),n=a.format||"dd/MM/yyyy HH:mm:ss",l=a.alignEmptyValues,u=0;if(void 0!==h){if(h.isDateTime(t)||(t="iso"===n?h.fromISO(String(t)):h.fromFormat(String(t),n)),h.isDateTime(i)||(i="iso"===n?h.fromISO(String(i)):h.fromFormat(String(i),n)),t.isValid){if(i.isValid)return t-i;u=1}else u=i.isValid?-1:0;return("top"===l&&"desc"===o||"bottom"===l&&"asc"===o)&&(u*=-1),u}console.error("Sort Error - 'datetime' sorter is dependant on luxon.js")}var Kt={number:function(t,i,e,s,r,o,a){var h=a.alignEmptyValues,n=a.decimalSeparator,l=a.thousandSeparator,u=0;if(t=String(t),i=String(i),l&&(t=t.split(l).join(""),i=i.split(l).join("")),n&&(t=t.split(n).join("."),i=i.split(n).join(".")),t=parseFloat(t),i=parseFloat(i),isNaN(t))u=isNaN(i)?0:-1;else{if(!isNaN(i))return t-i;u=1}return("top"===h&&"desc"===o||"bottom"===h&&"asc"===o)&&(u*=-1),u},string:function(t,i,e,s,r,o,a){var h,n=a.alignEmptyValues,l=0;if(t){if(i){switch(typeof a.locale){case"boolean":a.locale&&(h=this.langLocale());break;case"string":h=a.locale}return String(t).toLowerCase().localeCompare(String(i).toLowerCase(),h)}l=1}else l=i?-1:0;return("top"===n&&"desc"===o||"bottom"===n&&"asc"===o)&&(l*=-1),l},date:function(t,i,e,s,r,o,a){return a.format||(a.format="dd/MM/yyyy"),Zt.call(this,t,i,e,s,r,o,a)},time:function(t,i,e,s,r,o,a){return a.format||(a.format="HH:mm"),Zt.call(this,t,i,e,s,r,o,a)},datetime:Zt,boolean:function(t,i){return(!0===t||"true"===t||"True"===t||1===t?1:0)-(!0===i||"true"===i||"True"===i||1===i?1:0)},array:function(t,i,e,s,r,o,a){var h,n=a.type||"length",l=a.alignEmptyValues,u=0,c=this.table;function d(t){var i;switch(h&&(t=h(t)),n){case"length":i=t.length;break;case"sum":i=t.reduce((function(t,i){return t+i}));break;case"max":i=Math.max.apply(null,t);break;case"min":i=Math.min.apply(null,t);break;case"avg":i=t.reduce((function(t,i){return t+i}))/t.length;break;case"string":i=t.join("")}return i}if(a.valueMap&&(h="string"==typeof a.valueMap?function(t){return t.map((t=>N.retrieveNestedData(c.options.nestedFieldSeparator,a.valueMap,t)))}:a.valueMap),Array.isArray(t)){if(Array.isArray(i))return"string"===n?String(d(t)).toLowerCase().localeCompare(String(d(i)).toLowerCase()):d(i)-d(t);u=1}else u=Array.isArray(i)?-1:0;return("top"===l&&"desc"===o||"bottom"===l&&"asc"===o)&&(u*=-1),u},exists:function(t,i){return(void 0===t?0:1)-(void 0===i?0:1)},alphanum:function(t,i,e,s,r,o,a){var h,n,l,u,c,d=0,b=/(\d+)|(\D+)/g,p=/\d/,m=a.alignEmptyValues,f=0;if(t||0===t){if(i||0===i){if(isFinite(t)&&isFinite(i))return t-i;if((h=String(t).toLowerCase())===(n=String(i).toLowerCase()))return 0;if(!p.test(h)||!p.test(n))return h>n?1:-1;for(h=h.match(b),n=n.match(b),c=h.length>n.length?n.length:h.length;d<c;)if((l=h[d])!==(u=n[d++]))return isFinite(l)&&isFinite(u)?("0"===l.charAt(0)&&(l="."+l),"0"===u.charAt(0)&&(u="."+u),l-u):l>u?1:-1;return h.length>n.length}f=1}else f=i||0===i?-1:0;return("top"===m&&"desc"===o||"bottom"===m&&"asc"===o)&&(f*=-1),f}};class $t extends H{static moduleName="sort";static sorters=Kt;constructor(t){super(t),this.sortList=[],this.changed=!1,this.registerTableOption("sortMode","local"),this.registerTableOption("initialSort",!1),this.registerTableOption("columnHeaderSortMulti",!0),this.registerTableOption("sortOrderReverse",!1),this.registerTableOption("headerSortElement","<div class='tabulator-arrow'></div>"),this.registerTableOption("headerSortClickElement","header"),this.registerColumnOption("sorter"),this.registerColumnOption("sorterParams"),this.registerColumnOption("headerSort",!0),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)),"remote"===this.table.options.sortMode&&this.subscribe("data-params",this.remoteSortParams.bind(this))}tableBuilt(){this.table.options.initialSort&&this.setSort(this.table.options.initialSort)}remoteSortParams(t,i,e,s){var r=this.getSort();return r.forEach((t=>{delete t.column})),s.sort=r,s}userSetSort(t,i){this.setSort(t,i),this.refreshSort()}clearSort(){this.clear(),this.refreshSort()}initializeColumn(t){var i,e,s=!1;switch(typeof t.definition.sorter){case"string":$t.sorters[t.definition.sorter]?s=$t.sorters[t.definition.sorter]:console.warn("Sort Error - No such sorter found: ",t.definition.sorter);break;case"function":s=t.definition.sorter}if(t.modules.sort={sorter:s,dir:"none",params:t.definition.sorterParams||{},startingDir:t.definition.headerSortStartingDir||"asc",tristate:t.definition.headerSortTristate},!1!==t.definition.headerSort){switch((i=t.getElement()).classList.add("tabulator-sortable"),(e=document.createElement("div")).classList.add("tabulator-col-sorter"),"icon"===this.table.options.headerSortClickElement?e.classList.add("tabulator-col-sorter-element"):i.classList.add("tabulator-col-sorter-element"),this.table.options.headerSortElement){case"function":break;case"object":e.appendChild(this.table.options.headerSortElement);break;default:e.innerHTML=this.table.options.headerSortElement}t.titleHolderElement.appendChild(e),t.modules.sort.element=e,this.setColumnHeaderSortIcon(t,"none"),"icon"===this.table.options.headerSortClickElement&&e.addEventListener("mousedown",(t=>{t.stopPropagation()})),("icon"===this.table.options.headerSortClickElement?e:i).addEventListener("click",(i=>{var e="",s=[],r=!1;if(t.modules.sort){if(t.modules.sort.tristate)e="none"==t.modules.sort.dir?t.modules.sort.startingDir:t.modules.sort.dir==t.modules.sort.startingDir?"asc"==t.modules.sort.dir?"desc":"asc":"none";else switch(t.modules.sort.dir){case"asc":e="desc";break;case"desc":e="asc";break;default:e=t.modules.sort.startingDir}this.table.options.columnHeaderSortMulti&&(i.shiftKey||i.ctrlKey)?(r=(s=this.getSort()).findIndex((i=>i.field===t.getField())),r>-1?(s[r].dir=e,r=s.splice(r,1)[0],"none"!=e&&s.push(r)):"none"!=e&&s.push({column:t,dir:e}),this.setSort(s)):"none"==e?this.clear():this.setSort(t,e),this.refreshSort()}}))}}refreshSort(){"remote"===this.table.options.sortMode?this.reloadData(null,!1,!1):this.refreshData(!0)}hasChanged(){var t=this.changed;return this.changed=!1,t}getSort(){var t=[];return this.sortList.forEach((function(i){i.column&&t.push({column:i.column.getComponent(),field:i.column.getField(),dir:i.dir})})),t}setSort(t,i){var e=this,s=[];Array.isArray(t)||(t=[{column:t,dir:i}]),t.forEach((function(t){var i;(i=e.table.columnManager.findColumn(t.column))?(t.column=i,s.push(t),e.changed=!0):console.warn("Sort Warning - Sort field does not exist and is being ignored: ",t.column)})),e.sortList=s,this.dispatch("sort-changed")}clear(){this.setSort([])}findSorter(t){var i,e=this.table.rowManager.activeRows[0],s="string";if(e&&(e=e.getData(),t.getField()))switch(typeof(i=t.getFieldValue(e))){case"undefined":s="string";break;case"boolean":s="boolean";break;default:isNaN(i)||""===i?i.match(/((^[0-9]+[a-z]+)|(^[a-z]+[0-9]+))+$/i)&&(s="alphanum"):s="number"}return $t.sorters[s]}sort(t,i){var e=this,s=this.table.options.sortOrderReverse?e.sortList.slice().reverse():e.sortList,r=[],o=[];return this.subscribedExternal("dataSorting")&&this.dispatchExternal("dataSorting",e.getSort()),i||e.clearColumnHeaders(),"remote"!==this.table.options.sortMode?(s.forEach((function(t){var s;t.column&&((s=t.column.modules.sort)&&(s.sorter||(s.sorter=e.findSorter(t.column)),t.params="function"==typeof s.params?s.params(t.column.getComponent(),t.dir):s.params,r.push(t)),i||e.setColumnHeader(t.column,t.dir))})),r.length&&e._sortItems(t,r)):i||s.forEach((function(t){e.setColumnHeader(t.column,t.dir)})),this.subscribedExternal("dataSorted")&&(t.forEach((t=>{o.push(t.getComponent())})),this.dispatchExternal("dataSorted",e.getSort(),o)),t}clearColumnHeaders(){this.table.columnManager.getRealColumns().forEach((t=>{t.modules.sort&&(t.modules.sort.dir="none",t.getElement().setAttribute("aria-sort","none"),this.setColumnHeaderSortIcon(t,"none"))}))}setColumnHeader(t,i){t.modules.sort.dir=i,t.getElement().setAttribute("aria-sort","asc"===i?"ascending":"descending"),this.setColumnHeaderSortIcon(t,i)}setColumnHeaderSortIcon(t,i){var e,s=t.modules.sort.element;if(t.definition.headerSort&&"function"==typeof this.table.options.headerSortElement){for(;s.firstChild;)s.removeChild(s.firstChild);"object"==typeof(e=this.table.options.headerSortElement.call(this.table,t.getComponent(),i))?s.appendChild(e):s.innerHTML=e}}_sortItems(t,i){var e=i.length-1;t.sort(((t,s)=>{for(var r,o=e;o>=0;o--){let e=i[o];if(0!==(r=this._sortRow(t,s,e.column,e.dir,e.params)))break}return r}))}_sortRow(t,i,e,s,r){var o,a,h="asc"==s?t:i,n="asc"==s?i:t;return t=void 0!==(t=e.getFieldValue(h.getData()))?t:"",i=void 0!==(i=e.getFieldValue(n.getData()))?i:"",o=h.getComponent(),a=n.getComponent(),e.modules.sort.sorter.call(this,t,i,o,a,e.getComponent(),s,r)}}class Xt{constructor(t,i){this.columnCount=t,this.rowCount=i,this.columnString=[],this.columns=[],this.rows=[]}genColumns(t){var i=Math.max(this.columnCount,Math.max(...t.map((t=>t.length))));this.columnString=[],this.columns=[];for(let t=1;t<=i;t++)this.incrementChar(this.columnString.length-1),this.columns.push(this.columnString.join(""));return this.columns}genRows(t){var i=Math.max(this.rowCount,t.length);this.rows=[];for(let t=1;t<=i;t++)this.rows.push(t);return this.rows}incrementChar(t){let i=this.columnString[t];i?"Z"!==i?this.columnString[t]=String.fromCharCode(this.columnString[t].charCodeAt(0)+1):(this.columnString[t]="A",t?this.incrementChar(t-1):this.columnString.push("A")):this.columnString.push("A")}setRowCount(t){this.rowCount=t}setColumnCount(t){this.columnCount=t}}class Yt{constructor(t){return this._sheet=t,new Proxy(this,{get:function(t,i){return void 0!==t[i]?t[i]:t._sheet.table.componentFunctionBinder.handle("sheet",t._sheet,i)}})}getTitle(){return this._sheet.title}getKey(){return this._sheet.key}getDefinition(){return this._sheet.getDefinition()}getData(){return this._sheet.getData()}setData(t){return this._sheet.setData(t)}clear(){return this._sheet.clear()}remove(){return this._sheet.remove()}active(){return this._sheet.active()}setTitle(t){return this._sheet.setTitle(t)}setRows(t){return this._sheet.setRows(t)}setColumns(t){return this._sheet.setColumns(t)}}class Qt extends j{constructor(t,i){super(t.table),this.spreadsheetManager=t,this.definition=i,this.title=this.definition.title||"",this.key=this.definition.key||this.definition.title,this.rowCount=this.definition.rows,this.columnCount=this.definition.columns,this.data=this.definition.data||[],this.element=null,this.isActive=!1,this.grid=new Xt(this.columnCount,this.rowCount),this.defaultColumnDefinition={width:100,headerHozAlign:"center",headerSort:!1},this.columnDefinition=Object.assign(this.defaultColumnDefinition,this.options("spreadsheetColumnDefinition")),this.columnDefs=[],this.rowDefs=[],this.columnFields=[],this.columns=[],this.rows=[],this.scrollTop=null,this.scrollLeft=null,this.initialize(),this.dispatchExternal("sheetAdded",this.getComponent())}initialize(){this.initializeElement(),this.initializeColumns(),this.initializeRows()}reinitialize(){this.initializeColumns(),this.initializeRows()}initializeElement(){this.element=document.createElement("div"),this.element.classList.add("tabulator-spreadsheet-tab"),this.element.innerText=this.title,this.element.addEventListener("click",(()=>{this.spreadsheetManager.loadSheet(this)}))}initializeColumns(){this.grid.setColumnCount(this.columnCount),this.columnFields=this.grid.genColumns(this.data),this.columnDefs=[],this.columnFields.forEach((t=>{var i=Object.assign({},this.columnDefinition);i.field=t,i.title=t,this.columnDefs.push(i)}))}initializeRows(){var t;this.grid.setRowCount(this.rowCount),t=this.grid.genRows(this.data),this.rowDefs=[],t.forEach(((t,i)=>{var e={_id:t},s=this.data[i];s&&s.forEach(((t,i)=>{var s=this.columnFields[i];s&&(e[s]=t)})),this.rowDefs.push(e)}))}unload(){this.isActive=!1,this.scrollTop=this.table.rowManager.scrollTop,this.scrollLeft=this.table.rowManager.scrollLeft,this.data=this.getData(!0),this.element.classList.remove("tabulator-spreadsheet-tab-active")}load(){var t=!this.isActive;this.isActive=!0,this.table.blockRedraw(),this.table.setData([]),this.table.setColumns(this.columnDefs),this.table.setData(this.rowDefs),this.table.restoreRedraw(),t&&null!==this.scrollTop&&(this.table.rowManager.element.scrollLeft=this.scrollLeft,this.table.rowManager.element.scrollTop=this.scrollTop),this.element.classList.add("tabulator-spreadsheet-tab-active"),this.dispatchExternal("sheetLoaded",this.getComponent())}getComponent(){return new Yt(this)}getDefinition(){return{title:this.title,key:this.key,rows:this.rowCount,columns:this.columnCount,data:this.getData()}}getData(t){var i,e,s,r=[];return this.rowDefs.forEach((t=>{var i=[];this.columnFields.forEach((e=>{i.push(t[e])})),r.push(i)})),t||this.options("spreadsheetOutputFull")||(i=r.map((t=>t.findLastIndex((t=>void 0!==t))+1)),e=Math.max(...i),s=i.findLastIndex((t=>t>0))+1,r=(r=r.slice(0,s)).map((t=>t.slice(0,e)))),r}setData(t){this.data=t,this.reinitialize(),this.dispatchExternal("sheetUpdated",this.getComponent()),this.isActive&&this.load()}clear(){this.setData([])}setTitle(t){this.title=t,this.element.innerText=t,this.dispatchExternal("sheetUpdated",this.getComponent())}setRows(t){this.rowCount=t,this.initializeRows(),this.dispatchExternal("sheetUpdated",this.getComponent()),this.isActive&&this.load()}setColumns(t){this.columnCount=t,this.reinitialize(),this.dispatchExternal("sheetUpdated",this.getComponent()),this.isActive&&this.load()}remove(){this.spreadsheetManager.removeSheet(this)}destroy(){this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.dispatchExternal("sheetRemoved",this.getComponent())}active(){this.spreadsheetManager.loadSheet(this)}}var ti={integer:function(t,i){return""===i||null==i||(i=Number(i),!isNaN(i)&&isFinite(i)&&Math.floor(i)===i)},float:function(t,i){return""===i||null==i||(i=Number(i),!isNaN(i)&&isFinite(i)&&i%1!=0)},numeric:function(t,i){return""===i||null==i||!isNaN(i)},string:function(t,i){return""===i||null==i||isNaN(i)},alphanumeric:function(t,i){return""===i||null==i||new RegExp(/^[a-z0-9]+$/i).test(i)},max:function(t,i,e){return""===i||null==i||parseFloat(i)<=e},min:function(t,i,e){return""===i||null==i||parseFloat(i)>=e},starts:function(t,i,e){return""===i||null==i||String(i).toLowerCase().startsWith(String(e).toLowerCase())},ends:function(t,i,e){return""===i||null==i||String(i).toLowerCase().endsWith(String(e).toLowerCase())},minLength:function(t,i,e){return""===i||null==i||String(i).length>=e},maxLength:function(t,i,e){return""===i||null==i||String(i).length<=e},in:function(t,i,e){return""===i||null==i||("string"==typeof e&&(e=e.split("|")),e.indexOf(i)>-1)},regex:function(t,i,e){return""===i||null==i||new RegExp(e).test(i)},unique:function(t,i){if(""===i||null==i)return!0;var e=!0,s=t.getData(),r=t.getColumn()._getSelf();return this.table.rowManager.rows.forEach((function(t){var o=t.getData();o!==s&&i==r.getFieldValue(o)&&(e=!1)})),e},required:function(t,i){return""!==i&&null!=i}};class ii extends H{static moduleName="validate";static validators=ti;constructor(t){super(t),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(t,i,e){var s="manual"===this.table.options.validationMode||this.validate(t.column.modules.validate,t,i);return!0!==s&&setTimeout((()=>{t.getElement().classList.add("tabulator-validation-fail"),this.dispatchExternal("validationFailed",t.getComponent(),i,s)})),s}editorClear(t,i){i&&t.column.modules.validate&&this.cellValidate(t),t.getElement().classList.remove("tabulator-validation-fail")}editedClear(t){t.modules.validate&&(t.modules.validate.invalid=!1)}cellIsValid(t){return t.modules.validate&&t.modules.validate.invalid||!0}cellValidate(t){return this.validate(t.column.modules.validate,t,t.getValue())}columnValidate(t){var i=[];return t.cells.forEach((t=>{!0!==this.cellValidate(t)&&i.push(t.getComponent())})),!i.length||i}rowValidate(t){var i=[];return t.cells.forEach((t=>{!0!==this.cellValidate(t)&&i.push(t.getComponent())})),!i.length||i}userClearCellValidation(t){t||(t=this.getInvalidCells()),Array.isArray(t)||(t=[t]),t.forEach((t=>{this.clearValidation(t._getSelf())}))}userValidate(t){var i=[];return this.table.rowManager.rows.forEach((t=>{var e=(t=t.getComponent()).validate();!0!==e&&(i=i.concat(e))})),!i.length||i}initializeColumnCheck(t){void 0!==t.definition.validator&&this.initializeColumn(t)}initializeColumn(t){var i,e=this,s=[];t.definition.validator&&(Array.isArray(t.definition.validator)?t.definition.validator.forEach((t=>{(i=e._extractValidator(t))&&s.push(i)})):(i=this._extractValidator(t.definition.validator))&&s.push(i),t.modules.validate=!!s.length&&s)}_extractValidator(t){var i,e,s;switch(typeof t){case"string":return(s=t.indexOf(":"))>-1?(i=t.substring(0,s),e=t.substring(s+1)):i=t,this._buildValidator(i,e);case"function":return this._buildValidator(t);case"object":return this._buildValidator(t.type,t.parameters)}}_buildValidator(t,i){var e="function"==typeof t?t:ii.validators[t];return e?{type:"function"==typeof t?"function":t,func:e,params:i}:(console.warn("Validator Setup Error - No matching validator found:",t),!1)}validate(t,i,e){var s=this,r=[],o=this.invalidCells.indexOf(i);return t&&t.forEach((t=>{t.func.call(s,i.getComponent(),e,t.params)||r.push({type:t.type,parameters:t.params})})),i.modules.validate||(i.modules.validate={}),r.length?(i.modules.validate.invalid=r,"manual"!==this.table.options.validationMode&&i.getElement().classList.add("tabulator-validation-fail"),-1==o&&this.invalidCells.push(i)):(i.modules.validate.invalid=!1,i.getElement().classList.remove("tabulator-validation-fail"),o>-1&&this.invalidCells.splice(o,1)),!r.length||r}getInvalidCells(){var t=[];return this.invalidCells.forEach((i=>{t.push(i.getComponent())})),t}clearValidation(t){var i;t.modules.validate&&t.modules.validate.invalid&&(t.getElement().classList.remove("tabulator-validation-fail"),t.modules.validate.invalid=!1,(i=this.invalidCells.indexOf(t))>-1&&this.invalidCells.splice(i,1))}}var ei=Object.freeze({__proto__:null,AccessorModule:L,AjaxModule:J,ClipboardModule:$,ColumnCalcsModule:at,DataTreeModule:class extends H{static moduleName="dataTree";constructor(t){super(t),this.indent=10,this.field="",this.collapseEl=null,this.expandEl=null,this.branchEl=null,this.elementField=!1,this.startOpen=function(){},this.registerTableOption("dataTree",!1),this.registerTableOption("dataTreeFilter",!0),this.registerTableOption("dataTreeSort",!0),this.registerTableOption("dataTreeElementColumn",!1),this.registerTableOption("dataTreeBranchElement",!0),this.registerTableOption("dataTreeChildIndent",9),this.registerTableOption("dataTreeChildField","_children"),this.registerTableOption("dataTreeCollapseElement",!1),this.registerTableOption("dataTreeExpandElement",!1),this.registerTableOption("dataTreeStartExpanded",!1),this.registerTableOption("dataTreeChildColumnCalcs",!1),this.registerTableOption("dataTreeSelectPropagate",!1),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 t=null,i=this.table.options;switch(this.field=i.dataTreeChildField,this.indent=i.dataTreeChildIndent,this.options("movableRows")&&console.warn("The movableRows option is not available with dataTree enabled, moving of child rows could result in unpredictable behavior"),i.dataTreeBranchElement?!0===i.dataTreeBranchElement?(this.branchEl=document.createElement("div"),this.branchEl.classList.add("tabulator-data-tree-branch")):"string"==typeof i.dataTreeBranchElement?((t=document.createElement("div")).innerHTML=i.dataTreeBranchElement,this.branchEl=t.firstChild):this.branchEl=i.dataTreeBranchElement:(this.branchEl=document.createElement("div"),this.branchEl.classList.add("tabulator-data-tree-branch-empty")),i.dataTreeCollapseElement?"string"==typeof i.dataTreeCollapseElement?((t=document.createElement("div")).innerHTML=i.dataTreeCollapseElement,this.collapseEl=t.firstChild):this.collapseEl=i.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>"),i.dataTreeExpandElement?"string"==typeof i.dataTreeExpandElement?((t=document.createElement("div")).innerHTML=i.dataTreeExpandElement,this.expandEl=t.firstChild):this.expandEl=i.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 i.dataTreeStartExpanded){case"boolean":this.startOpen=function(){return i.dataTreeStartExpanded};break;case"function":this.startOpen=i.dataTreeStartExpanded;break;default:this.startOpen=function(t,e){return i.dataTreeStartExpanded[e]}}this.subscribe("row-init",this.initializeRow.bind(this)),this.subscribe("row-layout-after",this.layoutRow.bind(this)),this.subscribe("row-deleting",this.rowDeleting.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(t){t&&this.table.rowManager.getRows().forEach((t=>{this.reinitializeRowChildren(t)}))}initializeElementField(){var t=this.table.columnManager.getFirstVisibleColumn();this.elementField=this.table.options.dataTreeElementColumn||!!t&&t.field}getRowChildren(t){return this.getTreeChildren(t,!0)}columnMoving(){var t=[];return this.table.rowManager.rows.forEach((i=>{t=t.concat(this.getTreeChildren(i,!1,!0))})),t}rowDataChanged(t,i,e){this.redrawNeeded(e)&&(this.initializeRow(t),i&&(this.layoutRow(t),this.refreshData(!0)))}cellValueChanged(t){t.column.getField()===this.elementField&&this.layoutRow(t.row)}initializeRow(t){var i=t.getData()[this.field],e=Array.isArray(i),s=e||!e&&"object"==typeof i&&null!==i;!s&&t.modules.dataTree&&t.modules.dataTree.branchEl&&t.modules.dataTree.branchEl.parentNode.removeChild(t.modules.dataTree.branchEl),!s&&t.modules.dataTree&&t.modules.dataTree.controlEl&&t.modules.dataTree.controlEl.parentNode.removeChild(t.modules.dataTree.controlEl),t.modules.dataTree={index:t.modules.dataTree?t.modules.dataTree.index:0,open:!!s&&(t.modules.dataTree?t.modules.dataTree.open:this.startOpen(t.getComponent(),0)),controlEl:!(!t.modules.dataTree||!s)&&t.modules.dataTree.controlEl,branchEl:!(!t.modules.dataTree||!s)&&t.modules.dataTree.branchEl,parent:!!t.modules.dataTree&&t.modules.dataTree.parent,children:s}}reinitializeRowChildren(t){this.getTreeChildren(t,!1,!0).forEach((function(t){t.reinitialize(!0)}))}layoutRow(t){var i=(this.elementField?t.getCell(this.elementField):t.getCells()[0]).getElement(),e=t.modules.dataTree;e.branchEl&&(e.branchEl.parentNode&&e.branchEl.parentNode.removeChild(e.branchEl),e.branchEl=!1),e.controlEl&&(e.controlEl.parentNode&&e.controlEl.parentNode.removeChild(e.controlEl),e.controlEl=!1),this.generateControlElement(t,i),t.getElement().classList.add("tabulator-tree-level-"+e.index),e.index&&(this.branchEl?(e.branchEl=this.branchEl.cloneNode(!0),i.insertBefore(e.branchEl,i.firstChild),this.table.rtl?e.branchEl.style.marginRight=(e.branchEl.offsetWidth+e.branchEl.style.marginLeft)*(e.index-1)+e.index*this.indent+"px":e.branchEl.style.marginLeft=(e.branchEl.offsetWidth+e.branchEl.style.marginRight)*(e.index-1)+e.index*this.indent+"px"):this.table.rtl?i.style.paddingRight=parseInt(window.getComputedStyle(i,null).getPropertyValue("padding-right"))+e.index*this.indent+"px":i.style.paddingLeft=parseInt(window.getComputedStyle(i,null).getPropertyValue("padding-left"))+e.index*this.indent+"px")}generateControlElement(t,i){var e=t.modules.dataTree,s=e.controlEl;i=i||t.getCells()[0].getElement(),!1!==e.children&&(e.open?(e.controlEl=this.collapseEl.cloneNode(!0),e.controlEl.addEventListener("click",(i=>{i.stopPropagation(),this.collapseRow(t)}))):(e.controlEl=this.expandEl.cloneNode(!0),e.controlEl.addEventListener("click",(i=>{i.stopPropagation(),this.expandRow(t)}))),e.controlEl.addEventListener("mousedown",(t=>{t.stopPropagation()})),s&&s.parentNode===i?s.parentNode.replaceChild(e.controlEl,s):i.insertBefore(e.controlEl,i.firstChild))}getRows(t){var i=[];return t.forEach((t=>{var e;i.push(t),t instanceof rt&&(t.create(),(e=t.modules.dataTree).index||!1===e.children||this.getChildren(t,!1,!0).forEach((t=>{t.create(),i.push(t)})))})),i}getChildren(t,i,e){var s=t.modules.dataTree,r=[],o=[];return!1!==s.children&&(s.open||i)&&(Array.isArray(s.children)||(s.children=this.generateChildren(t)),r=this.table.modExists("filter")&&this.table.options.dataTreeFilter?this.table.modules.filter.filter(s.children):s.children,this.table.modExists("sort")&&this.table.options.dataTreeSort&&this.table.modules.sort.sort(r,e),r.forEach((t=>{o.push(t),this.getChildren(t,!1,!0).forEach((t=>{o.push(t)}))}))),o}generateChildren(t){var i=[],e=t.getData()[this.field];return Array.isArray(e)||(e=[e]),e.forEach((e=>{var s=new rt(e||{},this.table.rowManager);s.create(),s.modules.dataTree.index=t.modules.dataTree.index+1,s.modules.dataTree.parent=t,s.modules.dataTree.children&&(s.modules.dataTree.open=this.startOpen(s.getComponent(),s.modules.dataTree.index)),i.push(s)})),i}expandRow(t,i){var e=t.modules.dataTree;!1!==e.children&&(e.open=!0,t.reinitialize(),this.refreshData(!0),this.dispatchExternal("dataTreeRowExpanded",t.getComponent(),t.modules.dataTree.index))}collapseRow(t){var i=t.modules.dataTree;!1!==i.children&&(i.open=!1,t.reinitialize(),this.refreshData(!0),this.dispatchExternal("dataTreeRowCollapsed",t.getComponent(),t.modules.dataTree.index))}toggleRow(t){var i=t.modules.dataTree;!1!==i.children&&(i.open?this.collapseRow(t):this.expandRow(t))}isRowExpanded(t){return t.modules.dataTree.open}getTreeParent(t){return!!t.modules.dataTree.parent&&t.modules.dataTree.parent.getComponent()}getTreeParentRoot(t){return t.modules.dataTree&&t.modules.dataTree.parent?this.getTreeParentRoot(t.modules.dataTree.parent):t}getFilteredTreeChildren(t){var i=t.modules.dataTree,e=[];return i.children&&(Array.isArray(i.children)||(i.children=this.generateChildren(t)),(this.table.modExists("filter")&&this.table.options.dataTreeFilter?this.table.modules.filter.filter(i.children):i.children).forEach((t=>{t instanceof rt&&e.push(t)}))),e}rowDeleting(t){var i=t.modules.dataTree;i&&i.children&&Array.isArray(i.children)&&i.children.forEach((t=>{t instanceof rt&&t.wipe()}))}rowDelete(t){var i,e=t.modules.dataTree.parent;e&&(!1!==(i=this.findChildIndex(t,e))&&e.data[this.field].splice(i,1),e.data[this.field].length||delete e.data[this.field],this.initializeRow(e),this.layoutRow(e)),this.refreshData(!0)}addTreeChildRow(t,i,e,s){var r=!1;"string"==typeof i&&(i=JSON.parse(i)),Array.isArray(t.data[this.field])||(t.data[this.field]=[],t.modules.dataTree.open=this.startOpen(t.getComponent(),t.modules.dataTree.index)),void 0!==s&&!1!==(r=this.findChildIndex(s,t))&&t.data[this.field].splice(e?r:r+1,0,i),!1===r&&(e?t.data[this.field].unshift(i):t.data[this.field].push(i)),this.initializeRow(t),this.layoutRow(t),this.refreshData(!0)}findChildIndex(t,i){var e=!1;return"object"==typeof t?t instanceof rt?e=t.data:t instanceof st?e=t._getSelf().data:"undefined"!=typeof HTMLElement&&t instanceof HTMLElement?i.modules.dataTree&&(e=i.modules.dataTree.children.find((i=>i instanceof rt&&i.element===t)))&&(e=e.data):null===t&&(e=!1):e=void 0!==t&&i.data[this.field].find((i=>i.data[this.table.options.index]==t)),e&&(Array.isArray(i.data[this.field])&&(e=i.data[this.field].indexOf(e)),-1==e&&(e=!1)),e}getTreeChildren(t,i,e){var s=t.modules.dataTree,r=[];return s&&s.children&&(Array.isArray(s.children)||(s.children=this.generateChildren(t)),s.children.forEach((t=>{t instanceof rt&&(r.push(i?t.getComponent():t),e&&this.getTreeChildren(t,i,e).forEach((t=>{r.push(t)})))}))),r}getChildField(){return this.field}redrawNeeded(t){return!!this.field&&void 0!==t[this.field]||!!this.elementField&&void 0!==t[this.elementField]}},DownloadModule:nt,EditModule:dt,ExportModule:gt,FilterModule:wt,FormatModule:xt,FrozenColumnsModule:class extends H{static moduleName="frozenColumns";constructor(t){super(t),this.leftColumns=[],this.rightColumns=[],this.initializationMode="left",this.active=!1,this.blocked=!0,this.registerColumnOption("frozen")}reset(){this.initializationMode="left",this.leftColumns=[],this.rightColumns=[],this.active=!1}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=!0}unblockLayout(){this.blocked=!1}layoutCell(t){this.layoutElement(t.element,t.column)}reinitializeColumns(){this.reset(),this.table.columnManager.columnsByIndex.forEach((t=>{this.initializeColumn(t)})),this.layout()}initializeColumn(t){var i={margin:0,edge:!1};t.isGroup||(this.frozenCheck(t)?(i.position=this.initializationMode,"left"==this.initializationMode?this.leftColumns.push(t):this.rightColumns.unshift(t),this.active=!0,t.modules.frozen=i):this.initializationMode="right")}frozenCheck(t){return t.parent.isGroup&&t.definition.frozen&&console.warn("Frozen Column Error - Parent column group must be frozen, not individual columns or sub column groups"),t.parent.isGroup?this.frozenCheck(t.parent):t.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(t){t.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(t){var i=[],e=0,s=0;this.leftColumns.forEach(((s,r)=>{if(s.modules.frozen.marginValue=e,s.modules.frozen.margin=s.modules.frozen.marginValue+"px",s.visible&&(e+=s.getWidth()),s.modules.frozen.edge=r==this.leftColumns.length-1,s.parent.isGroup){var o=this.getColGroupParentElement(s);i.includes(o)||(this.layoutElement(o,s),i.push(o)),o.classList.toggle("tabulator-frozen-left",s.modules.frozen.edge&&"left"===s.modules.frozen.position),o.classList.toggle("tabulator-frozen-right",s.modules.frozen.edge&&"right"===s.modules.frozen.position)}else this.layoutElement(s.getElement(),s);t&&s.cells.forEach((t=>{this.layoutElement(t.getElement(!0),s)}))})),this.rightColumns.forEach(((i,e)=>{i.modules.frozen.marginValue=s,i.modules.frozen.margin=i.modules.frozen.marginValue+"px",i.visible&&(s+=i.getWidth()),i.modules.frozen.edge=e==this.rightColumns.length-1,this.layoutElement(i.parent.isGroup?this.getColGroupParentElement(i):i.getElement(),i),t&&i.cells.forEach((t=>{this.layoutElement(t.getElement(!0),i)}))}))}getColGroupParentElement(t){return t.parent.isGroup?this.getColGroupParentElement(t.parent):t.getElement()}layout(){this.active&&!this.blocked&&(this.layoutColumnPosition(),this.reinitializeRows(),this.layoutCalcRows())}reinitializeRows(){var t=this.table.rowManager.getVisibleRows(!0);this.table.rowManager.getRows().filter((i=>!t.includes(i))).forEach((t=>{t.deinitialize()})),t.forEach((t=>{"row"===t.type&&this.layoutRow(t)}))}layoutRow(t){"fitDataFill"===this.table.options.layout&&this.rightColumns.length&&(this.table.rowManager.getTableElement().style.minWidth="calc(100% - "+this.rightMargin+")"),this.leftColumns.forEach((i=>{var e=t.getCell(i);e&&this.layoutElement(e.getElement(!0),i)})),this.rightColumns.forEach((i=>{var e=t.getCell(i);e&&this.layoutElement(e.getElement(!0),i)}))}layoutElement(t,i){i.modules.frozen&&t&&(t.style.position="sticky",t.style[this.table.rtl?"left"===i.modules.frozen.position?"right":"left":i.modules.frozen.position]=i.modules.frozen.margin,t.classList.add("tabulator-frozen"),t.classList.toggle("tabulator-frozen-left",i.modules.frozen.edge&&"left"===i.modules.frozen.position),t.classList.toggle("tabulator-frozen-right",i.modules.frozen.edge&&"right"===i.modules.frozen.position))}adjustForScrollbar(t){this.rightColumns.length&&(this.table.columnManager.getContentsElement().style.width="calc(100% - "+t+"px)")}getFrozenColumns(){return this.leftColumns.concat(this.rightColumns)}_calcSpace(t,i){var e=0;for(let s=0;s<i;s++)t[s].visible&&(e+=t[s].getWidth());return e}},FrozenRowsModule:class extends H{static moduleName="frozenRows";constructor(t){super(t),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",!1)}initialize(){var t=document.createDocumentFragment();this.rows=[],this.topElement.classList.add("tabulator-frozen-rows-holder"),t.appendChild(document.createElement("br")),t.appendChild(this.topElement),this.table.columnManager.getContentsElement().insertBefore(t,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((t=>{this.initializeRow(t)}))}initializeRow(t){var i=this.table.options.frozenRows,e=typeof i;"number"===e?t.getPosition()&&t.getPosition()+this.rows.length<=i&&this.freezeRow(t):"function"===e?i.call(this.table,t.getComponent())&&this.freezeRow(t):Array.isArray(i)&&i.includes(t.data[this.options("frozenRowsField")])&&this.freezeRow(t)}isRowFrozen(t){return this.rows.indexOf(t)>-1}isFrozen(){return!!this.rows.length}visibleRows(t,i){return this.rows.forEach((t=>{i.push(t)})),i}getRows(t){var i=t.slice(0);return this.rows.forEach((function(t){var e=i.indexOf(t);e>-1&&i.splice(e,1)})),i}freezeRow(t){t.modules.frozen?console.warn("Freeze Error - Row is already frozen"):(t.modules.frozen=!0,this.topElement.appendChild(t.getElement()),t.initialize(),t.normalizeHeight(),this.rows.push(t),this.refreshData(!1,"display"),this.table.rowManager.adjustTableSize(),this.styleRows())}unfreezeRow(t){t.modules.frozen?(t.modules.frozen=!1,this.detachRow(t),this.table.rowManager.adjustTableSize(),this.refreshData(!1,"display"),this.rows.length&&this.styleRows()):console.warn("Freeze Error - Row is already unfrozen")}detachRow(t){var i=this.rows.indexOf(t);if(i>-1){var e=t.getElement();e.parentNode&&e.parentNode.removeChild(e),this.rows.splice(i,1)}}styleRows(t){this.rows.forEach(((t,i)=>{this.table.rowManager.styleRow(t,i)}))}},GroupRowsModule:class extends H{static moduleName="groupRows";constructor(t){super(t),this.groupIDLookups=!1,this.startOpen=[function(){return!1}],this.headerGenerator=[function(){return""}],this.groupList=[],this.allowedValues=!1,this.groups={},this.displayHandler=this.getRows.bind(this),this.blockRedraw=!1,this.registerTableOption("groupBy",!1),this.registerTableOption("groupStartOpen",!0),this.registerTableOption("groupValues",!1),this.registerTableOption("groupUpdateOnCellEdit",!1),this.registerTableOption("groupHeader",!1),this.registerTableOption("groupHeaderPrint",null),this.registerTableOption("groupHeaderClipboard",null),this.registerTableOption("groupHeaderHtmlOutput",null),this.registerTableOption("groupHeaderDownload",null),this.registerTableOption("groupToggleElement","arrow"),this.registerTableOption("groupClosedShowCalcs",!1),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=!0)}_blockRedrawing(){this.blockRedraw=!0}_restore_redrawing(){this.blockRedraw=!1}configureGroupSetup(){if(this.table.options.groupBy){var t=this.table.options.groupBy,i=this.table.options.groupStartOpen,e=this.table.options.groupHeader;this.allowedValues=this.table.options.groupValues,Array.isArray(t)&&Array.isArray(e)&&t.length>e.length&&console.warn("Error creating group headers, groupHeader array is shorter than groupBy array"),this.headerGenerator=[function(){return""}],this.startOpen=[function(){return!1}],this.langBind("groups|item",((t,i)=>{this.headerGenerator[0]=(e,s)=>(void 0===e?"":e)+"<span>("+s+" "+(1===s?t:i.groups.items)+")</span>"})),this.groupIDLookups=[],t?this.table.modExists("columnCalcs")&&"table"!=this.table.options.columnCalcs&&"both"!=this.table.options.columnCalcs&&this.table.modules.columnCalcs.removeCalcs():this.table.modExists("columnCalcs")&&"group"!=this.table.options.columnCalcs&&this.table.columnManager.getRealColumns().forEach((t=>{t.definition.topCalc&&this.table.modules.columnCalcs.initializeTopRow(),t.definition.bottomCalc&&this.table.modules.columnCalcs.initializeBottomRow()})),Array.isArray(t)||(t=[t]),t.forEach(((t,i)=>{var e,s;e="function"==typeof t?t:(s=this.table.columnManager.getColumnByField(t))?function(t){return s.getFieldValue(t)}:function(i){return i[t]},this.groupIDLookups.push({field:"function"!=typeof t&&t,func:e,values:!!this.allowedValues&&this.allowedValues[i]})})),i&&(Array.isArray(i)||(i=[i]),i.forEach((()=>{})),this.startOpen=i),e&&(this.headerGenerator=Array.isArray(e)?e:[e])}else this.groupList=[],this.groups={}}rowSample(t,i){if(this.table.options.groupBy){var e=this.getGroups(!1)[0];i.push(e.getRows(!1)[0])}return i}virtualRenderFill(){var t=this.table.rowManager.tableElement,i=this.table.rowManager.getVisibleRows();if(!this.table.options.groupBy)return i;i=i.filter((t=>"group"!==t.type)),t.style.minWidth=i.length?"":this.table.columnManager.getWidth()+"px"}rowAddingIndex(t,i,e){if(this.table.options.groupBy){this.assignRowToGroup(t);var s=t.modules.group.rows;return s.length>1&&(!i||i&&-1==s.indexOf(i)?e?s[0]!==t&&this.table.rowManager.moveRowInArray(t.modules.group.rows,t,i=s[0],!e):s[s.length-1]!==t&&this.table.rowManager.moveRowInArray(t.modules.group.rows,t,i=s[s.length-1],!e):this.table.rowManager.moveRowInArray(t.modules.group.rows,t,i,!e)),i}}trackChanges(){this.dispatch("group-changed")}setGroupBy(t){this.table.options.groupBy=t,this.initialized||this.initialize(),this.configureGroupSetup(),!t&&this.table.modExists("columnCalcs")&&!0===this.table.options.columnCalcs&&this.table.modules.columnCalcs.reinitializeCalcs(),this.refreshData(),this.trackChanges()}setGroupValues(t){this.table.options.groupValues=t,this.configureGroupSetup(),this.refreshData(),this.trackChanges()}setGroupStartOpen(t){this.table.options.groupStartOpen=t,this.configureGroupSetup(),this.table.options.groupBy?(this.refreshData(),this.trackChanges()):console.warn("Grouping Update - cant refresh view, no groups have been set")}setGroupHeader(t){this.table.options.groupHeader=t,this.configureGroupSetup(),this.table.options.groupBy?(this.refreshData(),this.trackChanges()):console.warn("Grouping Update - cant refresh view, no groups have been set")}userGetGroups(t){return this.getGroups(!0)}userGetGroupedData(){return this.table.options.groupBy?this.getGroupedData():this.getData()}rowGetGroup(t){return!!t.modules.group&&t.modules.group.getComponent()}rowMoving(t,i,e){if(this.table.options.groupBy){!e&&i instanceof Ct&&(i=this.table.rowManager.prevDisplayRow(t)||i);var s=i instanceof Ct?i:i.modules.group,r=t instanceof Ct?t:t.modules.group;s===r?this.table.rowManager.moveRowInArray(s.rows,t,i,e):(r&&r.removeRow(t),s.insertRow(t,i,e))}}rowDeleting(t){this.table.options.groupBy&&t.modules.group&&t.modules.group.removeRow(t)}rowsUpdated(t){this.table.options.groupBy&&this.updateGroupRows(!0)}cellUpdated(t){this.table.options.groupBy&&this.reassignRowToGroup(t.row)}getRows(t){return this.table.options.groupBy&&this.groupIDLookups.length?(this.dispatchExternal("dataGrouping"),this.generateGroups(t),this.subscribedExternal("dataGrouped")&&this.dispatchExternal("dataGrouped",this.getGroups(!0)),this.updateGroupRows()):t.slice(0)}getGroups(t){var i=[];return this.groupList.forEach((function(e){i.push(t?e.getComponent():e)})),i}getChildGroups(t){var i=[];return t||(t=this),t.groupList.forEach((t=>{t.groupList.length?i=i.concat(this.getChildGroups(t)):i.push(t)})),i}wipe(){this.table.options.groupBy&&(this.groupList.forEach((function(t){t.wipe()})),this.groupList=[],this.groups={})}pullGroupListData(t){var i=[];return t.forEach((t=>{var e={level:0,rowCount:0,headerContent:""},s=[];t.hasSubGroups?(s=this.pullGroupListData(t.groupList),e.level=t.level,e.rowCount=s.length-t.groupList.length,e.headerContent=t.generator(t.key,e.rowCount,t.rows,t),i.push(e),i=i.concat(s)):(e.level=t.level,e.headerContent=t.generator(t.key,t.rows.length,t.rows,t),e.rowCount=t.getRows().length,i.push(e),t.getRows().forEach((t=>{i.push(t.getData("data"))})))})),i}getGroupedData(){return this.pullGroupListData(this.groupList)}getRowGroup(t){var i=!1;return this.options("dataTree")&&(t=this.table.modules.dataTree.getTreeParentRoot(t)),this.groupList.forEach((e=>{var s=e.getRowGroup(t);s&&(i=s)})),i}countGroups(){return this.groupList.length}generateGroups(t){var i=this.groups;this.groups={},this.groupList=[],this.allowedValues&&this.allowedValues[0]?(this.allowedValues[0].forEach((t=>{this.createGroup(t,0,i)})),t.forEach((t=>{this.assignRowToExistingGroup(t,i)}))):t.forEach((t=>{this.assignRowToGroup(t,i)})),Object.values(i).forEach((t=>{t.wipe(!0)}))}createGroup(t,i,e){var s,r=i+"_"+t;s=new Ct(this,!1,i,t,this.groupIDLookups[0].field,this.headerGenerator[0],(e=e||[])[r]),this.groups[r]=s,this.groupList.push(s)}assignRowToExistingGroup(t,i){var e="0_"+this.groupIDLookups[0].func(t.getData());this.groups[e]&&this.groups[e].addRow(t)}assignRowToGroup(t,i){var e=this.groupIDLookups[0].func(t.getData()),s=!this.groups["0_"+e];return s&&this.createGroup(e,0,i),this.groups["0_"+e].addRow(t),!s}reassignRowToGroup(t){if("row"===t.type){var i=t.modules.group,e=i.getPath(),s=this.getExpectedPath(t);e.length==s.length&&e.every(((t,i)=>t===s[i]))||(i.removeRow(t),this.assignRowToGroup(t,this.groups),this.refreshData(!0))}}getExpectedPath(t){var i=[],e=t.getData();return this.groupIDLookups.forEach((t=>{i.push(t.func(e))})),i}updateGroupRows(t){var i=[];return this.blockRedraw||(this.groupList.forEach((t=>{i=i.concat(t.getHeadersAndRows())})),t&&this.refreshData(!0)),i}scrollHeaders(t){this.table.options.groupBy&&("virtual"===this.table.options.renderHorizontal&&(t-=this.table.columnManager.renderer.vDomPadLeft),t+="px",this.groupList.forEach((i=>{i.scrollHeader(t)})))}removeGroup(t){var i,e=t.level+"_"+t.key;this.groups[e]&&(delete this.groups[e],(i=this.groupList.indexOf(t))>-1&&this.groupList.splice(i,1))}checkBasicModeGroupHeaderWidth(){var t=this.table.rowManager.tableElement,i=!0;this.table.rowManager.getDisplayRows().forEach(((e,s)=>{this.table.rowManager.styleRow(e,s),t.appendChild(e.getElement()),e.initialize(!0),"group"!==e.type&&(i=!1)})),t.style.minWidth=i?this.table.columnManager.getWidth()+"px":""}},HistoryModule:Mt,HtmlTableImportModule:class extends H{static moduleName="htmlTableImport";constructor(t){super(t),this.fieldIndex=[],this.hasIndex=!1}initialize(){this.tableElementCheck()}tableElementCheck(){this.table.originalElement&&"TABLE"===this.table.originalElement.tagName&&(this.table.originalElement.childNodes.length?this.parseTable():console.warn("Unable to parse data from empty table tag, Tabulator should be initialized on a div tag unless importing data from a table element."))}parseTable(){var t=this.table.originalElement,i=this.table.options,e=t.getElementsByTagName("th"),s=t.getElementsByTagName("tbody")[0],r=[];this.hasIndex=!1,this.dispatchExternal("htmlImporting"),s=s?s.getElementsByTagName("tr"):[],this._extractOptions(t,i),e.length?this._extractHeaders(e,s):this._generateBlankHeaders(e,s);for(var o=0;o<s.length;o++){var a=s[o].getElementsByTagName("td"),h={};this.hasIndex||(h[i.index]=o);for(var n=0;n<a.length;n++)void 0!==this.fieldIndex[n]&&(h[this.fieldIndex[n]]=a[n].innerHTML);r.push(h)}i.data=r,this.dispatchExternal("htmlImported")}_extractOptions(t,i,e){var s=t.attributes,r=Object.keys(e||i),o={};for(var a in r.forEach((t=>{o[t.toLowerCase()]=t})),s){var h,n=s[a];n&&"object"==typeof n&&n.name&&0===n.name.indexOf("tabulator-")&&(h=n.name.replace("tabulator-",""),void 0!==o[h]&&(i[o[h]]=this._attribValue(n.value)))}}_attribValue(t){return"true"===t||"false"!==t&&t}_findCol(t){return this.table.options.columns.find((i=>i.title===t))||!1}_extractHeaders(t,i){for(var e=0;e<t.length;e++){var s,r=t[e],o=!1,a=this._findCol(r.textContent);a?o=!0:a={title:r.textContent.trim()},a.field||(a.field=r.textContent.trim().toLowerCase().replaceAll(" ","_")),(s=r.getAttribute("width"))&&!a.width&&(a.width=s),this._extractOptions(r,a,this.table.columnManager.optionsList.registeredDefaults),this.fieldIndex[e]=a.field,a.field==this.table.options.index&&(this.hasIndex=!0),o||this.table.options.columns.push(a)}}_generateBlankHeaders(t,i){for(var e=0;e<t.length;e++){var s=t[e],r={title:"",field:"col"+e};this.fieldIndex[e]=r.field;var o=s.getAttribute("width");o&&(r.width=o),this.table.options.columns.push(r)}}},ImportModule:Tt,InteractionModule:class extends H{static moduleName="interaction";constructor(t){super(t),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(){Object.values(this.touchWatchers).forEach((t=>{for(let i in t)t[i]=null}))}cellContentsSelectionFixer(t,i){var e;if(!this.table.modExists("edit")||this.table.modules.edit.currentCell!==i){t.preventDefault();try{document.selection?((e=document.body.createTextRange()).moveToElementText(i.getElement()),e.select()):window.getSelection&&((e=document.createRange()).selectNode(i.getElement()),window.getSelection().removeAllRanges(),window.getSelection().addRange(e))}catch(t){}}}initializeExternalEvents(){for(let t in this.eventMap)this.subscriptionChangeExternal(t,this.subscriptionChanged.bind(this,t))}subscriptionChanged(t,i){i?this.subscribers[t]||(this.eventMap[t].includes("-")?(this.subscribers[t]=this.handle.bind(this,t),this.subscribe(this.eventMap[t],this.subscribers[t])):this.subscribeTouchEvents(t)):this.eventMap[t].includes("-")?!this.subscribers[t]||this.columnSubscribers[t]||this.subscribedExternal(t)||(this.unsubscribe(this.eventMap[t],this.subscribers[t]),delete this.subscribers[t]):this.unsubscribeTouchEvents(t)}subscribeTouchEvents(t){var i=this.eventMap[t];this.touchSubscribers[i+"-touchstart"]||(this.touchSubscribers[i+"-touchstart"]=this.handleTouch.bind(this,i,"start"),this.touchSubscribers[i+"-touchend"]=this.handleTouch.bind(this,i,"end"),this.subscribe(i+"-touchstart",this.touchSubscribers[i+"-touchstart"]),this.subscribe(i+"-touchend",this.touchSubscribers[i+"-touchend"])),this.subscribers[t]=!0}unsubscribeTouchEvents(t){var i=!0,e=this.eventMap[t];if(this.subscribers[t]&&!this.subscribedExternal(t)){delete this.subscribers[t];for(let t in this.eventMap)this.eventMap[t]===e&&this.subscribers[t]&&(i=!1);i&&(this.unsubscribe(e+"-touchstart",this.touchSubscribers[e+"-touchstart"]),this.unsubscribe(e+"-touchend",this.touchSubscribers[e+"-touchend"]),delete this.touchSubscribers[e+"-touchstart"],delete this.touchSubscribers[e+"-touchend"])}}initializeColumn(t){var i=t.definition;for(let e in this.eventMap)i[e]&&(this.subscriptionChanged(e,!0),this.columnSubscribers[e]||(this.columnSubscribers[e]=[]),this.columnSubscribers[e].push(t))}handle(t,i,e){this.dispatchEvent(t,i,e)}handleTouch(t,i,e,s){var r=this.touchWatchers[t];switch("column"===t&&(t="header"),i){case"start":r.tap=!0,clearTimeout(r.tapHold),r.tapHold=setTimeout((()=>{clearTimeout(r.tapHold),r.tapHold=null,r.tap=null,clearTimeout(r.tapDbl),r.tapDbl=null,this.dispatchEvent(t+"TapHold",e,s)}),1e3);break;case"end":r.tap&&(r.tap=null,this.dispatchEvent(t+"Tap",e,s)),r.tapDbl?(clearTimeout(r.tapDbl),r.tapDbl=null,this.dispatchEvent(t+"DblTap",e,s)):r.tapDbl=setTimeout((()=>{clearTimeout(r.tapDbl),r.tapDbl=null}),300),clearTimeout(r.tapHold),r.tapHold=null}}dispatchEvent(t,i,e){var s,r=e.getComponent();this.columnSubscribers[t]&&(e instanceof Q?s=e.column.definition[t]:e instanceof et&&(s=e.definition[t]),s&&s(i,r)),this.dispatchExternal(t,i,r)}},KeybindingsModule:Ft,MenuModule:class extends H{static moduleName="menu";constructor(t){super(t),this.menuContainer=null,this.nestedMenuBlock=!1,this.currentComponent=null,this.rootPopup=null,this.columnSubscribers={},this.registerTableOption("rowContextMenu",!1),this.registerTableOption("rowClickMenu",!1),this.registerTableOption("rowDblClickMenu",!1),this.registerTableOption("groupContextMenu",!1),this.registerTableOption("groupClickMenu",!1),this.registerTableOption("groupDblClickMenu",!1),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(){}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(t){var i=t.definition;i.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"))),i.headerClickMenu&&!this.columnSubscribers.headerClickMenu&&(this.columnSubscribers.headerClickMenu=this.loadMenuTableColumnEvent.bind(this,"headerClickMenu"),this.subscribe("column-click",this.columnSubscribers.headerClickMenu)),i.headerDblClickMenu&&!this.columnSubscribers.headerDblClickMenu&&(this.columnSubscribers.headerDblClickMenu=this.loadMenuTableColumnEvent.bind(this,"headerDblClickMenu"),this.subscribe("column-dblclick",this.columnSubscribers.headerDblClickMenu)),i.headerMenu&&this.initializeColumnHeaderMenu(t),i.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"))),i.clickMenu&&!this.columnSubscribers.clickMenu&&(this.columnSubscribers.clickMenu=this.loadMenuTableCellEvent.bind(this,"clickMenu"),this.subscribe("cell-click",this.columnSubscribers.clickMenu)),i.dblClickMenu&&!this.columnSubscribers.dblClickMenu&&(this.columnSubscribers.dblClickMenu=this.loadMenuTableCellEvent.bind(this,"dblClickMenu"),this.subscribe("cell-dblclick",this.columnSubscribers.dblClickMenu))}initializeColumnHeaderMenu(t){var i,e=t.definition.headerMenuIcon;(i=document.createElement("span")).classList.add("tabulator-header-popup-button"),e?("function"==typeof e&&(e=e(t.getComponent())),e instanceof HTMLElement?i.appendChild(e):i.innerHTML=e):i.innerHTML="⋮",i.addEventListener("click",(i=>{i.stopPropagation(),i.preventDefault(),this.loadMenuEvent(t.definition.headerMenu,i,t)})),t.titleElement.insertBefore(i,t.titleElement.firstChild)}loadMenuTableCellEvent(t,i,e){e._cell&&(e=e._cell),e.column.definition[t]&&this.loadMenuEvent(e.column.definition[t],i,e)}loadMenuTableColumnEvent(t,i,e){e._column&&(e=e._column),e.definition[t]&&this.loadMenuEvent(e.definition[t],i,e)}loadMenuEvent(t,i,e){e._group?e=e._group:e._row&&(e=e._row),t="function"==typeof t?t.call(this.table,i,e.getComponent()):t,this.loadMenu(i,e,t)}loadMenu(t,i,e,s,r){var o,a=!(t instanceof MouseEvent),h=document.createElement("div");if(h.classList.add("tabulator-menu"),a||t.preventDefault(),e&&e.length){if(s)o=r.child(h);else{if(this.nestedMenuBlock){if(this.rootPopup)return}else this.nestedMenuBlock=setTimeout((()=>{this.nestedMenuBlock=!1}),100);this.rootPopup&&this.rootPopup.hide(),this.rootPopup=o=this.popup(h)}e.forEach((t=>{var e=document.createElement("div"),s=t.label,r=t.disabled;t.separator?e.classList.add("tabulator-menu-separator"):(e.classList.add("tabulator-menu-item"),"function"==typeof s&&(s=s.call(this.table,i.getComponent())),s instanceof Node?e.appendChild(s):e.innerHTML=s,"function"==typeof r&&(r=r.call(this.table,i.getComponent())),r?(e.classList.add("tabulator-menu-item-disabled"),e.addEventListener("click",(t=>{t.stopPropagation()}))):t.menu&&t.menu.length?e.addEventListener("click",(s=>{s.stopPropagation(),this.loadMenu(s,i,t.menu,e,o)})):t.action&&e.addEventListener("click",(e=>{t.action(e,i.getComponent())})),t.menu&&t.menu.length&&e.classList.add("tabulator-menu-item-submenu")),h.appendChild(e)})),h.addEventListener("click",(()=>{this.rootPopup&&this.rootPopup.hide()})),o.show(s||t),o===this.rootPopup&&(this.rootPopup.hideOnBlur((()=>{this.rootPopup=null,this.currentComponent&&(this.dispatch("menu-closed",e,o),this.dispatchExternal("menuClosed",this.currentComponent.getComponent()),this.currentComponent=null)})),this.currentComponent=i,this.dispatch("menu-opened",e,o),this.dispatchExternal("menuOpened",i.getComponent()))}}},MoveColumnsModule:class extends H{static moduleName="moveColumn";constructor(t){super(t),this.placeholderElement=this.createPlaceholderElement(),this.hoverElement=!1,this.checkTimeout=!1,this.checkPeriod=250,this.moving=!1,this.toCol=!1,this.toColAfter=!1,this.startX=0,this.autoScrollMargin=40,this.autoScrollStep=5,this.autoScrollTimeout=!1,this.touchMove=!1,this.moveHover=this.moveHover.bind(this),this.endMove=this.endMove.bind(this),this.registerTableOption("movableColumns",!1)}createPlaceholderElement(){var t=document.createElement("div");return t.classList.add("tabulator-col"),t.classList.add("tabulator-col-placeholder"),t}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(t){var i,e=this,s={};t.modules.frozen||t.isGroup||t.isRowHeader||(i=t.getElement(),s.mousemove=function(s){t.parent===e.moving.parent&&((e.touchMove?s.touches[0].pageX:s.pageX)-N.elOffset(i).left+e.table.columnManager.contentsElement.scrollLeft>t.getWidth()/2?e.toCol===t&&e.toColAfter||(i.parentNode.insertBefore(e.placeholderElement,i.nextSibling),e.moveColumn(t,!0)):(e.toCol!==t||e.toColAfter)&&(i.parentNode.insertBefore(e.placeholderElement,i),e.moveColumn(t,!1)))}.bind(e),i.addEventListener("mousedown",(function(i){e.touchMove=!1,1===i.which&&(e.checkTimeout=setTimeout((function(){e.startMove(i,t)}),e.checkPeriod))})),i.addEventListener("mouseup",(function(t){1===t.which&&e.checkTimeout&&clearTimeout(e.checkTimeout)})),e.bindTouchEvents(t)),t.modules.moveColumn=s}bindTouchEvents(t){var i,e,s,r,o,a,h=t.getElement(),n=!1;h.addEventListener("touchstart",(h=>{this.checkTimeout=setTimeout((()=>{this.touchMove=!0,i=t.nextColumn(),s=i?i.getWidth()/2:0,e=t.prevColumn(),r=e?e.getWidth()/2:0,o=0,a=0,n=!1,this.startMove(h,t)}),this.checkPeriod)}),{passive:!0}),h.addEventListener("touchmove",(h=>{var l,u;this.moving&&(this.moveHover(h),n||(n=h.touches[0].pageX),(l=h.touches[0].pageX-n)>0?i&&l-o>s&&(u=i)!==t&&(n=h.touches[0].pageX,u.getElement().parentNode.insertBefore(this.placeholderElement,u.getElement().nextSibling),this.moveColumn(u,!0)):e&&-l-a>r&&(u=e)!==t&&(n=h.touches[0].pageX,u.getElement().parentNode.insertBefore(this.placeholderElement,u.getElement()),this.moveColumn(u,!1)),u&&(i=u.nextColumn(),o=s,s=i?i.getWidth()/2:0,e=u.prevColumn(),a=r,r=e?e.getWidth()/2:0))}),{passive:!0}),h.addEventListener("touchend",(t=>{this.checkTimeout&&clearTimeout(this.checkTimeout),this.moving&&this.endMove(t)}))}startMove(t,i){var e=i.getElement(),s=this.table.columnManager.getContentsElement(),r=this.table.columnManager.getHeadersElement();this.table.modules.selectRange&&this.table.modules.selectRange.columnSelection&&this.table.modules.selectRange.mousedown&&"column"===this.table.modules.selectRange.selecting||(this.moving=i,this.startX=(this.touchMove?t.touches[0].pageX:t.pageX)-N.elOffset(e).left,this.table.element.classList.add("tabulator-block-select"),this.placeholderElement.style.width=i.getWidth()+"px",this.placeholderElement.style.height=i.getHeight()+"px",e.parentNode.insertBefore(this.placeholderElement,e),e.parentNode.removeChild(e),this.hoverElement=e.cloneNode(!0),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(t),this.dispatch("column-moving",t,this.moving))}_bindMouseMove(){this.table.columnManager.columnsByIndex.forEach((function(t){t.modules.moveColumn.mousemove&&t.getElement().addEventListener("mousemove",t.modules.moveColumn.mousemove)}))}_unbindMouseMove(){this.table.columnManager.columnsByIndex.forEach((function(t){t.modules.moveColumn.mousemove&&t.getElement().removeEventListener("mousemove",t.modules.moveColumn.mousemove)}))}moveColumn(t,i){var e=this.moving.getCells();this.toCol=t,this.toColAfter=i,i?t.getCells().forEach((function(t,i){var s=t.getElement(!0);s.parentNode&&e[i]&&s.parentNode.insertBefore(e[i].getElement(),s.nextSibling)})):t.getCells().forEach((function(t,i){var s=t.getElement(!0);s.parentNode&&e[i]&&s.parentNode.insertBefore(e[i].getElement(),s)}))}endMove(t){(1===t.which||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=!1,this.toCol=!1,this.toColAfter=!1,this.touchMove||(document.body.removeEventListener("mousemove",this.moveHover),document.body.removeEventListener("mouseup",this.endMove)))}moveHover(t){var i,e=this.table.columnManager.getContentsElement(),s=e.scrollLeft,r=(this.touchMove?t.touches[0].pageX:t.pageX)-N.elOffset(e).left+s;this.hoverElement.style.left=r-this.startX+"px",r-s<this.autoScrollMargin&&(this.autoScrollTimeout||(this.autoScrollTimeout=setTimeout((()=>{i=Math.max(0,s-5),this.table.rowManager.getElement().scrollLeft=i,this.autoScrollTimeout=!1}),1))),s+e.clientWidth-r<this.autoScrollMargin&&(this.autoScrollTimeout||(this.autoScrollTimeout=setTimeout((()=>{i=Math.min(e.clientWidth,s+5),this.table.rowManager.getElement().scrollLeft=i,this.autoScrollTimeout=!1}),1)))}},MoveRowsModule:Ot,MutatorModule:_t,PageModule:At,PersistenceModule:Ut,PopupModule:class extends H{static moduleName="popup";constructor(t){super(t),this.columnSubscribers={},this.registerTableOption("rowContextPopup",!1),this.registerTableOption("rowClickPopup",!1),this.registerTableOption("rowDblClickPopup",!1),this.registerTableOption("groupContextPopup",!1),this.registerTableOption("groupClickPopup",!1),this.registerTableOption("groupDblClickPopup",!1),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(t,i,e){this.loadPopupEvent(i,null,t,e)}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(t){var i=t.definition;i.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"))),i.headerClickPopup&&!this.columnSubscribers.headerClickPopup&&(this.columnSubscribers.headerClickPopup=this.loadPopupTableColumnEvent.bind(this,"headerClickPopup"),this.subscribe("column-click",this.columnSubscribers.headerClickPopup)),i.headerDblClickPopup&&!this.columnSubscribers.headerDblClickPopup&&(this.columnSubscribers.headerDblClickPopup=this.loadPopupTableColumnEvent.bind(this,"headerDblClickPopup"),this.subscribe("column-dblclick",this.columnSubscribers.headerDblClickPopup)),i.headerPopup&&this.initializeColumnHeaderPopup(t),i.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"))),i.clickPopup&&!this.columnSubscribers.clickPopup&&(this.columnSubscribers.clickPopup=this.loadPopupTableCellEvent.bind(this,"clickPopup"),this.subscribe("cell-click",this.columnSubscribers.clickPopup)),i.dblClickPopup&&!this.columnSubscribers.dblClickPopup&&(this.columnSubscribers.dblClickPopup=this.loadPopupTableCellEvent.bind(this,"dblClickPopup"),this.subscribe("cell-click",this.columnSubscribers.dblClickPopup))}initializeColumnHeaderPopup(t){var i,e=t.definition.headerPopupIcon;(i=document.createElement("span")).classList.add("tabulator-header-popup-button"),e?("function"==typeof e&&(e=e(t.getComponent())),e instanceof HTMLElement?i.appendChild(e):i.innerHTML=e):i.innerHTML="⋮",i.addEventListener("click",(i=>{i.stopPropagation(),i.preventDefault(),this.loadPopupEvent(t.definition.headerPopup,i,t)})),t.titleElement.insertBefore(i,t.titleElement.firstChild)}loadPopupTableCellEvent(t,i,e){e._cell&&(e=e._cell),e.column.definition[t]&&this.loadPopupEvent(e.column.definition[t],i,e)}loadPopupTableColumnEvent(t,i,e){e._column&&(e=e._column),e.definition[t]&&this.loadPopupEvent(e.definition[t],i,e)}loadPopupEvent(t,i,e,s){var r;e._group?e=e._group:e._row&&(e=e._row),t="function"==typeof t?t.call(this.table,i,e.getComponent(),(function(t){r=t})):t,this.loadPopup(i,e,t,r,s)}loadPopup(t,i,e,s,r){var o,a,h=!(t instanceof MouseEvent);e instanceof HTMLElement?o=e:(o=document.createElement("div")).innerHTML=e,o.classList.add("tabulator-popup"),o.addEventListener("click",(t=>{t.stopPropagation()})),h||t.preventDefault(),a=this.popup(o),"function"==typeof s&&a.renderCallback(s),t?a.show(t):a.show(i.getElement(),r||"center"),a.hideOnBlur((()=>{this.dispatchExternal("popupClosed",i.getComponent())})),this.dispatchExternal("popupOpened",i.getComponent())}},PrintModule:class extends H{static moduleName="print";constructor(t){super(t),this.element=!1,this.manualBlock=!1,this.beforeprintEventHandler=null,this.afterprintEventHandler=null,this.registerTableOption("printAsHtml",!1),this.registerTableOption("printFormatter",!1),this.registerTableOption("printHeader",!1),this.registerTableOption("printFooter",!1),this.registerTableOption("printStyled",!0),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(t,i,e){var s,r,o=window.scrollX,a=window.scrollY,h=document.createElement("div"),n=document.createElement("div"),l=this.table.modules.export.generateTable(void 0!==e?e:this.table.options.printConfig,void 0!==i?i:this.table.options.printStyled,t||this.table.options.printRowRange,"print");this.manualBlock=!0,this.element=document.createElement("div"),this.element.classList.add("tabulator-print-fullscreen"),this.table.options.printHeader&&(h.classList.add("tabulator-print-header"),"string"==typeof(s="function"==typeof this.table.options.printHeader?this.table.options.printHeader.call(this.table):this.table.options.printHeader)?h.innerHTML=s:h.appendChild(s),this.element.appendChild(h)),this.element.appendChild(l),this.table.options.printFooter&&(n.classList.add("tabulator-print-footer"),"string"==typeof(r="function"==typeof this.table.options.printFooter?this.table.options.printFooter.call(this.table):this.table.options.printFooter)?n.innerHTML=r:n.appendChild(r),this.element.appendChild(n)),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(o,a),this.manualBlock=!1}},ReactiveDataModule:class extends H{static moduleName="reactiveData";constructor(t){super(t),this.data=!1,this.blocked=!1,this.origFuncs={},this.currentVersion=0,this.registerTableOption("reactiveData",!1)}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(t){var i,e=this;this.currentVersion++,i=this.currentVersion,this.unwatchData(),this.data=t,this.origFuncs.push=t.push,Object.defineProperty(this.data,"push",{enumerable:!1,configurable:!0,value:function(){var s,r=Array.from(arguments);return e.blocked||i!==e.currentVersion||(e.block("data-push"),r.forEach((t=>{e.table.rowManager.addRowActual(t,!1)})),s=e.origFuncs.push.apply(t,arguments),e.unblock("data-push")),s}}),this.origFuncs.unshift=t.unshift,Object.defineProperty(this.data,"unshift",{enumerable:!1,configurable:!0,value:function(){var s,r=Array.from(arguments);return e.blocked||i!==e.currentVersion||(e.block("data-unshift"),r.forEach((t=>{e.table.rowManager.addRowActual(t,!0)})),s=e.origFuncs.unshift.apply(t,arguments),e.unblock("data-unshift")),s}}),this.origFuncs.shift=t.shift,Object.defineProperty(this.data,"shift",{enumerable:!1,configurable:!0,value:function(){var s,r;return e.blocked||i!==e.currentVersion||(e.block("data-shift"),e.data.length&&(s=e.table.rowManager.getRowFromDataObject(e.data[0]))&&s.deleteActual(),r=e.origFuncs.shift.call(t),e.unblock("data-shift")),r}}),this.origFuncs.pop=t.pop,Object.defineProperty(this.data,"pop",{enumerable:!1,configurable:!0,value:function(){var s,r;return e.blocked||i!==e.currentVersion||(e.block("data-pop"),e.data.length&&(s=e.table.rowManager.getRowFromDataObject(e.data[e.data.length-1]))&&s.deleteActual(),r=e.origFuncs.pop.call(t),e.unblock("data-pop")),r}}),this.origFuncs.splice=t.splice,Object.defineProperty(this.data,"splice",{enumerable:!1,configurable:!0,value:function(){var s,r,o=Array.from(arguments),a=o[0]<0?t.length+o[0]:o[0],h=o[1],n=!!o[2]&&o.slice(2);if(!e.blocked&&i===e.currentVersion){if(e.block("data-splice"),n&&((s=!!t[a]&&e.table.rowManager.getRowFromDataObject(t[a]))?n.forEach((t=>{e.table.rowManager.addRowActual(t,!0,s,!0)})):(n=n.slice().reverse()).forEach((t=>{e.table.rowManager.addRowActual(t,!0,!1,!0)}))),0!==h){var l=t.slice(a,void 0===o[1]?o[1]:a+h);l.forEach(((t,i)=>{var s=e.table.rowManager.getRowFromDataObject(t);s&&s.deleteActual(i!==l.length-1)}))}(n||0!==h)&&e.table.rowManager.reRenderInPosition(),r=e.origFuncs.splice.apply(t,arguments),e.unblock("data-splice")}return r}})}unwatchData(){if(!1!==this.data)for(var t in this.origFuncs)Object.defineProperty(this.data,t,{enumerable:!0,configurable:!0,writable:!0,value:this.origFuncs.key})}watchRow(t){var i=t.getData();for(var e in i)this.watchKey(t,i,e);this.table.options.dataTree&&this.watchTreeChildren(t)}watchTreeChildren(t){var i=this,e=t.getData()[this.table.options.dataTreeChildField],s={};e&&(s.push=e.push,Object.defineProperty(e,"push",{enumerable:!1,configurable:!0,value:()=>{if(!i.blocked){i.block("tree-push");var r=s.push.apply(e,arguments);this.rebuildTree(t),i.unblock("tree-push")}return r}}),s.unshift=e.unshift,Object.defineProperty(e,"unshift",{enumerable:!1,configurable:!0,value:()=>{if(!i.blocked){i.block("tree-unshift");var r=s.unshift.apply(e,arguments);this.rebuildTree(t),i.unblock("tree-unshift")}return r}}),s.shift=e.shift,Object.defineProperty(e,"shift",{enumerable:!1,configurable:!0,value:()=>{if(!i.blocked){i.block("tree-shift");var r=s.shift.call(e);this.rebuildTree(t),i.unblock("tree-shift")}return r}}),s.pop=e.pop,Object.defineProperty(e,"pop",{enumerable:!1,configurable:!0,value:()=>{if(!i.blocked){i.block("tree-pop");var r=s.pop.call(e);this.rebuildTree(t),i.unblock("tree-pop")}return r}}),s.splice=e.splice,Object.defineProperty(e,"splice",{enumerable:!1,configurable:!0,value:()=>{if(!i.blocked){i.block("tree-splice");var r=s.splice.apply(e,arguments);this.rebuildTree(t),i.unblock("tree-splice")}return r}}))}rebuildTree(t){this.table.modules.dataTree.initializeRow(t),this.table.modules.dataTree.layoutRow(t),this.table.rowManager.refreshActiveData("tree",!1,!0)}watchKey(t,i,e){var s=this,r=Object.getOwnPropertyDescriptor(i,e),o=i[e],a=this.currentVersion;Object.defineProperty(i,e,{set:i=>{if(o=i,!s.blocked&&a===s.currentVersion){s.block("key");var h={};h[e]=i,t.updateData(h),s.unblock("key")}r.set&&r.set(i)},get:()=>(r.get&&r.get(),o)})}unwatchRow(t){var i=t.getData();for(var e in i)Object.defineProperty(i,e,{value:i[e]})}block(t){this.blocked||(this.blocked=t)}unblock(t){this.blocked===t&&(this.blocked=!1)}},ResizeColumnsModule:class extends H{static moduleName="resizeColumns";constructor(t){super(t),this.startColumn=!1,this.startX=!1,this.startWidth=!1,this.latestX=!1,this.handle=null,this.initialNextColumn=null,this.nextColumn=null,this.initialized=!1,this.registerColumnOption("resizable",!0),this.registerTableOption("resizableColumnFit",!1),this.registerTableOption("resizableColumnGuide",!1)}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=!0)}layoutCellHandles(t){"row"===t.row.type&&(this.deInitializeComponent(t),this.initializeColumn("cell",t,t.column,t.element))}layoutColumnHeader(t){t.definition.resizable&&(this.initializeEventWatchers(),this.deInitializeComponent(t),this.initializeColumn("header",t,t,t.element))}columnLayoutUpdated(t){var i=t.prevColumn();this.reinitializeColumn(t),i&&this.reinitializeColumn(i)}columnWidthUpdated(t){t.modules.frozen&&(this.table.modules.frozenColumns.leftColumns.includes(t)?this.table.modules.frozenColumns.leftColumns.forEach((t=>{this.reinitializeColumn(t)})):this.table.modules.frozenColumns.rightColumns.includes(t)&&this.table.modules.frozenColumns.rightColumns.forEach((t=>{this.reinitializeColumn(t)})))}frozenColumnOffset(t){var i=!1;return t.modules.frozen&&(i=t.modules.frozen.marginValue,"left"===t.modules.frozen.position?i+=t.getWidth()-3:i&&(i-=3)),!1!==i&&i+"px"}reinitializeColumn(t){var i=this.frozenColumnOffset(t);t.cells.forEach((e=>{e.modules.resize&&e.modules.resize.handleEl&&(i&&(e.modules.resize.handleEl.style[t.modules.frozen.position]=i,e.modules.resize.handleEl.style["z-index"]=11),e.element.after(e.modules.resize.handleEl))})),t.modules.resize&&t.modules.resize.handleEl&&(i&&(t.modules.resize.handleEl.style[t.modules.frozen.position]=i),t.element.after(t.modules.resize.handleEl))}initializeColumn(t,i,e,s){var r=this,o=e.definition.resizable,a={},h=e.getLastColumn();if("header"===t&&(a={variableHeight:"textarea"==e.definition.formatter||e.definition.variableHeight}),(!0===o||o==t)&&this._checkResizability(h)){var n=document.createElement("span");n.className="tabulator-col-resize-handle",n.addEventListener("click",(function(t){t.stopPropagation()}));var l=function(t){r.startColumn=e,r.initialNextColumn=r.nextColumn=h.nextColumn(),r._mouseDown(t,h,n)};n.addEventListener("mousedown",l),n.addEventListener("touchstart",l,{passive:!0}),n.addEventListener("dblclick",(t=>{var i=h.getWidth();t.stopPropagation(),h.reinitializeWidth(!0),i!==h.getWidth()&&(r.dispatch("column-resized",h),r.dispatchExternal("columnResized",h.getComponent()))})),e.modules.frozen&&(n.style.position="sticky",n.style[e.modules.frozen.position]=this.frozenColumnOffset(e)),a.handleEl=n,s.parentNode&&e.visible&&s.after(n)}i.modules.resize=a}deInitializeColumn(t){this.deInitializeComponent(t),t.cells.forEach((t=>{this.deInitializeComponent(t)}))}deInitializeComponent(t){var i;t.modules.resize&&(i=t.modules.resize.handleEl)&&i.parentElement&&i.parentElement.removeChild(i)}resizeHandle(t,i){t.modules.resize&&t.modules.resize.handleEl&&(t.modules.resize.handleEl.style.height=i)}resize(t,i){var e,s,r=void 0===t.clientX?t.touches[0].clientX:t.clientX,o=r-this.startX,a=r-this.latestX;if(this.latestX=r,this.table.rtl&&(o=-o,a=-a),e=i.width==i.minWidth||i.width==i.maxWidth,i.setWidth(this.startWidth+o),s=i.width==i.minWidth||i.width==i.maxWidth,a<0&&(this.nextColumn=this.initialNextColumn),this.table.options.resizableColumnFit&&this.nextColumn&&(!e||!s)){let t=this.nextColumn.getWidth();a>0&&t<=this.nextColumn.minWidth&&(this.nextColumn=this.nextColumn.nextColumn()),this.nextColumn&&this.nextColumn.setWidth(this.nextColumn.getWidth()-a)}this.table.columnManager.rerenderColumns(!0),!this.table.browserSlow&&i.modules.resize&&i.modules.resize.variableHeight&&i.checkCellHeights()}calcGuidePosition(t,i,e){var s=void 0===t.clientX?t.touches[0].clientX:t.clientX,r=e.getBoundingClientRect().x-this.table.element.getBoundingClientRect().x,o=this.table.element.getBoundingClientRect().x,a=i.element.getBoundingClientRect().left-o,h=Math.max(r+(s-this.startX),a+i.minWidth);return i.maxWidth&&(h=Math.min(h,a+i.maxWidth)),h}_checkResizability(t){return t.definition.resizable}_mouseDown(t,i,e){var s,r=this;function o(t){r.table.options.resizableColumnGuide?s.style.left=r.calcGuidePosition(t,i,e)+"px":r.resize(t,i)}function a(t){r.table.options.resizableColumnGuide&&(r.resize(t,i),s.remove()),r.startColumn.modules.edit&&(r.startColumn.modules.edit.blocked=!1),r.table.browserSlow&&i.modules.resize&&i.modules.resize.variableHeight&&i.checkCellHeights(),document.body.removeEventListener("mouseup",a),document.body.removeEventListener("mousemove",o),e.removeEventListener("touchmove",o),e.removeEventListener("touchend",a),r.table.element.classList.remove("tabulator-block-select"),r.startWidth!==i.getWidth()&&(r.table.columnManager.verticalAlignHeaders(),r.dispatch("column-resized",i),r.dispatchExternal("columnResized",i.getComponent()))}this.dispatchExternal("columnResizing",i.getComponent()),r.table.options.resizableColumnGuide&&((s=document.createElement("span")).classList.add("tabulator-col-resize-guide"),r.table.element.appendChild(s),setTimeout((()=>{s.style.left=r.calcGuidePosition(t,i,e)+"px"}))),r.table.element.classList.add("tabulator-block-select"),t.stopPropagation(),r.startColumn.modules.edit&&(r.startColumn.modules.edit.blocked=!0),r.startX=void 0===t.clientX?t.touches[0].clientX:t.clientX,r.latestX=r.startX,r.startWidth=i.getWidth(),document.body.addEventListener("mousemove",o),document.body.addEventListener("mouseup",a),e.addEventListener("touchmove",o,{passive:!0}),e.addEventListener("touchend",a)}},ResizeRowsModule:class extends H{static moduleName="resizeRows";constructor(t){super(t),this.startColumn=!1,this.startY=!1,this.startHeight=!1,this.handle=null,this.prevHandle=null,this.registerTableOption("resizableRows",!1),this.registerTableOption("resizableRowGuide",!1)}initialize(){this.table.options.resizableRows&&this.subscribe("row-layout-after",this.initializeRow.bind(this))}initializeRow(t){var i=this,e=t.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(t){t.stopPropagation()}));var o=function(e){i.startRow=t,i._mouseDown(e,t,s)};s.addEventListener("mousedown",o),s.addEventListener("touchstart",o,{passive:!0}),r.addEventListener("click",(function(t){t.stopPropagation()}));var a=function(e){var s=i.table.rowManager.prevDisplayRow(t);s&&(i.startRow=s,i._mouseDown(e,s,r))};r.addEventListener("mousedown",a),r.addEventListener("touchstart",a,{passive:!0}),e.appendChild(s),e.appendChild(r)}resize(t,i){i.setHeight(this.startHeight+((void 0===t.screenY?t.touches[0].screenY:t.screenY)-this.startY))}calcGuidePosition(t,i,e){var s=void 0===t.screenY?t.touches[0].screenY:t.screenY,r=e.getBoundingClientRect().y-this.table.element.getBoundingClientRect().y,o=this.table.element.getBoundingClientRect().y,a=i.element.getBoundingClientRect().top-o;return Math.max(r+(s-this.startY),a)}_mouseDown(t,i,e){var s,r=this;function o(t){r.table.options.resizableRowGuide?s.style.top=r.calcGuidePosition(t,i,e)+"px":r.resize(t,i)}function a(t){r.table.options.resizableRowGuide&&(r.resize(t,i),s.remove()),document.body.removeEventListener("mouseup",o),document.body.removeEventListener("mousemove",o),e.removeEventListener("touchmove",o),e.removeEventListener("touchend",a),r.table.element.classList.remove("tabulator-block-select"),r.dispatchExternal("rowResized",i.getComponent())}r.dispatchExternal("rowResizing",i.getComponent()),r.table.options.resizableRowGuide&&((s=document.createElement("span")).classList.add("tabulator-row-resize-guide"),r.table.element.appendChild(s),setTimeout((()=>{s.style.top=r.calcGuidePosition(t,i,e)+"px"}))),r.table.element.classList.add("tabulator-block-select"),t.stopPropagation(),r.startY=void 0===t.screenY?t.touches[0].screenY:t.screenY,r.startHeight=i.getHeight(),document.body.addEventListener("mousemove",o),document.body.addEventListener("mouseup",a),e.addEventListener("touchmove",o,{passive:!0}),e.addEventListener("touchend",a)}},ResizeTableModule:class extends H{static moduleName="resizeTable";constructor(t){super(t),this.binding=!1,this.visibilityObserver=!1,this.resizeObserver=!1,this.containerObserver=!1,this.tableHeight=0,this.tableWidth=0,this.containerHeight=0,this.containerWidth=0,this.autoResize=!1,this.visible=!1,this.initialized=!1,this.initialRedraw=!1,this.registerTableOption("autoResize",!0)}initialize(){if(this.table.options.autoResize){var t,i=this.table;this.tableHeight=i.element.clientHeight,this.tableWidth=i.element.clientWidth,i.element.parentNode&&(this.containerHeight=i.element.parentNode.clientHeight,this.containerWidth=i.element.parentNode.clientWidth),"undefined"!=typeof IntersectionObserver&&"undefined"!=typeof ResizeObserver&&"virtual"===i.rowManager.getRenderMode()?(this.initializeVisibilityObserver(),this.autoResize=!0,this.resizeObserver=new ResizeObserver((t=>{if(!i.browserMobile||i.browserMobile&&(!i.modules.edit||i.modules.edit&&!i.modules.edit.currentCell)){var e=Math.floor(t[0].contentRect.height),s=Math.floor(t[0].contentRect.width);this.tableHeight==e&&this.tableWidth==s||(this.tableHeight=e,this.tableWidth=s,i.element.parentNode&&(this.containerHeight=i.element.parentNode.clientHeight,this.containerWidth=i.element.parentNode.clientWidth),this.redrawTable())}})),this.resizeObserver.observe(i.element),t=window.getComputedStyle(i.element),this.table.element.parentNode&&!this.table.rowManager.fixedHeight&&(t.getPropertyValue("max-height")||t.getPropertyValue("min-height"))&&(this.containerObserver=new ResizeObserver((t=>{if(!i.browserMobile||i.browserMobile&&(!i.modules.edit||i.modules.edit&&!i.modules.edit.currentCell)){var e=Math.floor(t[0].contentRect.height),s=Math.floor(t[0].contentRect.width);this.containerHeight==e&&this.containerWidth==s||(this.containerHeight=e,this.containerWidth=s,this.tableHeight=i.element.clientHeight,this.tableWidth=i.element.clientWidth),this.redrawTable()}})),this.containerObserver.observe(this.table.element.parentNode)),this.subscribe("table-resize",this.tableResized.bind(this))):(this.binding=function(){(!i.browserMobile||i.browserMobile&&(!i.modules.edit||i.modules.edit&&!i.modules.edit.currentCell))&&(i.columnManager.rerenderColumns(!0),i.redraw())},window.addEventListener("resize",this.binding)),this.subscribe("table-destroy",this.clearBindings.bind(this))}}initializeVisibilityObserver(){this.visibilityObserver=new IntersectionObserver((t=>{this.visible=t[0].isIntersecting,this.initialized?this.visible&&(this.redrawTable(this.initialRedraw),this.initialRedraw=!1):(this.initialized=!0,this.initialRedraw=!this.visible)})),this.visibilityObserver.observe(this.table.element)}redrawTable(t){this.initialized&&this.visible&&(this.table.columnManager.rerenderColumns(!0),this.table.redraw(t))}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)}},ResponsiveLayoutModule:class extends H{static moduleName="responsiveLayout";static moduleExtensions=Bt;constructor(t){super(t),this.columns=[],this.hiddenColumns=[],this.mode="",this.index=0,this.collapseFormatter=[],this.collapseStartOpen=!0,this.collapseHandleColumn=!1,this.registerTableOption("responsiveLayout",!1),this.registerTableOption("responsiveLayoutCollapseStartOpen",!0),this.registerTableOption("responsiveLayoutCollapseUseFormatters",!0),this.registerTableOption("responsiveLayoutCollapseFormatter",!1),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)),"collapse"===this.table.options.responsiveLayout&&(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(t){-1===["fitColumns","fitDataStretch"].indexOf(this.layoutMode())&&(t||this.update())}initializeResponsivity(){var t=[];this.mode=this.table.options.responsiveLayout,this.collapseFormatter=this.table.options.responsiveLayoutCollapseFormatter||this.formatCollapsedData,this.collapseStartOpen=this.table.options.responsiveLayoutCollapseStartOpen,this.hiddenColumns=[],this.collapseFormatter&&(this.collapseFormatter=this.collapseFormatter.bind(this.table)),this.table.columnManager.columnsByIndex.forEach(((i,e)=>{i.modules.responsive&&i.modules.responsive.order&&i.modules.responsive.visible&&(i.modules.responsive.index=e,t.push(i),i.visible||"collapse"!==this.mode||this.hiddenColumns.push(i))})),t=(t=t.reverse()).sort(((t,i)=>i.modules.responsive.order-t.modules.responsive.order||i.modules.responsive.index-t.modules.responsive.index)),this.columns=t,"collapse"===this.mode&&this.generateCollapsedContent();for(let t of this.table.columnManager.columnsByIndex)if("responsiveCollapse"==t.definition.formatter){this.collapseHandleColumn=t;break}this.collapseHandleColumn&&(this.hiddenColumns.length?this.collapseHandleColumn.show():this.collapseHandleColumn.hide())}initializeColumn(t){var i=t.getDefinition();t.modules.responsive={order:void 0===i.responsive?1:i.responsive,visible:!1!==i.visible}}initializeRow(t){var i;"calc"!==t.type&&((i=document.createElement("div")).classList.add("tabulator-responsive-collapse"),t.modules.responsiveLayout={element:i,open:this.collapseStartOpen},this.collapseStartOpen||(i.style.display="none"))}layoutRow(t){var i=t.getElement();t.modules.responsiveLayout&&(i.appendChild(t.modules.responsiveLayout.element),this.generateCollapsedRowContent(t))}updateColumnVisibility(t,i){!i&&t.modules.responsive&&(t.modules.responsive.visible=t.visible,this.initializeResponsivity())}hideColumn(t){var i=this.hiddenColumns.length;t.hide(!1,!0),"collapse"===this.mode&&(this.hiddenColumns.unshift(t),this.generateCollapsedContent(),this.collapseHandleColumn&&!i&&this.collapseHandleColumn.show())}showColumn(t){var i;t.show(!1,!0),t.setWidth(t.getWidth()),"collapse"===this.mode&&((i=this.hiddenColumns.indexOf(t))>-1&&this.hiddenColumns.splice(i,1),this.generateCollapsedContent(),this.collapseHandleColumn&&!this.hiddenColumns.length&&this.collapseHandleColumn.hide())}update(){for(var t=!0;t;){let i="fitColumns"==this.table.modules.layout.getMode()?this.table.columnManager.getFlexBaseWidth():this.table.columnManager.getWidth(),e=(this.table.options.headerVisible?this.table.columnManager.element.clientWidth:this.table.element.clientWidth)-i;if(e<0){let i=this.columns[this.index];i?(this.hideColumn(i),this.index++):t=!1}else{let i=this.columns[this.index-1];i&&e>0&&e>=i.getWidth()?(this.showColumn(i),this.index--):t=!1}this.table.rowManager.activeRowsCount||this.table.rowManager.renderEmptyScroll()}}generateCollapsedContent(){this.table.rowManager.getDisplayRows().forEach((t=>{this.generateCollapsedRowContent(t)}))}generateCollapsedRowContent(t){var i,e;if(t.modules.responsiveLayout){for(i=t.modules.responsiveLayout.element;i.firstChild;)i.removeChild(i.firstChild);(e=this.collapseFormatter(this.generateCollapsedRowData(t)))&&i.appendChild(e),t.calcHeight(!0)}}generateCollapsedRowData(t){var i,e=t.getData(),s=[];return this.hiddenColumns.forEach((r=>{var o=r.getFieldValue(e);if(r.definition.title&&r.field)if(r.modules.format&&this.table.options.responsiveLayoutCollapseUseFormatters){function a(t){t()}i={value:!1,data:{},getValue:function(){return o},getData:function(){return e},getType:function(){return"cell"},getElement:function(){return document.createElement("div")},getRow:function(){return t.getComponent()},getColumn:function(){return r.getComponent()},getTable:()=>this.table},s.push({field:r.field,title:r.definition.title,value:r.modules.format.formatter.call(this.table.modules.format,i,r.modules.format.params,a)})}else s.push({field:r.field,title:r.definition.title,value:o})})),s}formatCollapsedData(t){var i=document.createElement("table");return t.forEach((t=>{var e,s=document.createElement("tr"),r=document.createElement("td"),o=document.createElement("td"),a=document.createElement("strong");r.appendChild(a),this.modules.localize.bind("columns|"+t.field,(function(i){a.innerHTML=i||t.title})),t.value instanceof Node?((e=document.createElement("div")).appendChild(t.value),o.appendChild(e)):o.innerHTML=t.value,s.appendChild(r),s.appendChild(o),i.appendChild(s)})),Object.keys(t).length?i:""}},SelectRangeModule:class extends H{static moduleName="selectRange";static moduleInitOrder=1;static moduleExtensions=qt;constructor(t){super(t),this.selecting="cell",this.mousedown=!1,this.ranges=[],this.overlay=null,this.rowHeader=null,this.layoutChangeTimeout=null,this.columnSelection=!1,this.rowSelection=!1,this.maxRanges=0,this.activeRange=!1,this.blockKeydown=!1,this.keyDownEvent=this._handleKeyDown.bind(this),this.mouseUpEvent=this._handleMouseUp.bind(this),this.registerTableOption("selectableRange",!1),this.registerTableOption("selectableRangeColumns",!1),this.registerTableOption("selectableRangeRows",!1),this.registerTableOption("selectableRangeClearCells",!1),this.registerTableOption("selectableRangeClearCellsValue",void 0),this.registerTableOption("selectableRangeAutoFocus",!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")?console.warn("SelectRange functionality cannot be used in conjunction with row selection"):(this.maxRanges=this.options("selectableRange"),this.initializeTable(),this.initializeWatchers()),this.options("columns").findIndex((t=>t.frozen))>0&&console.warn("Having frozen column in arbitrary position with selectRange option may result in unpredictable behavior."),this.options("columns").filter((t=>t.frozen))>1&&console.warn("Having multiple frozen columns with selectRange option may result in unpredictable behavior."))}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-moving",this.handleColumnMoving.bind(this)),this.subscribe("column-moved",this.handleColumnMoved.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(t){this.columnSelection&&t.definition.headerSort&&"icon"!==this.options("headerSortClickElement")&&console.warn("Using column headerSort with selectableRangeColumns option may result in unpredictable behavior. Consider using headerSortClickElement: 'icon'.")}updateHeaderColumn(){var t;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&&console.warn("Using column headerSort with selectableRangeRows option may result in unpredictable behavior"),this.rowHeader.definition.editor&&console.warn("Using column editor with selectableRangeRows option may result in unpredictable behavior"))),this.table.modules.frozenColumns&&this.table.modules.frozenColumns.active&&((t=this.table.modules.frozenColumns.getFrozenColumns()).length>1||1===t.length&&t[0]!==this.rowHeader)&&console.warn("Using frozen columns that are not the range header in combination with the selectRange option may result in unpredictable behavior")}getRanges(){return this.ranges.map((t=>t.getComponent()))}getRangesData(){return this.ranges.map((t=>t.getData()))}addRangeFromComponent(t,i){return this.addRange(t=t?t._cell:null,i=i?i._cell:null)}cellGetRanges(t){return this.ranges.filter(t.column===this.rowHeader?i=>i.occupiesRow(t.row):i=>i.occupies(t)).map((t=>t.getComponent()))}rowGetRanges(t){return this.ranges.filter((i=>i.occupiesRow(t))).map((t=>t.getComponent()))}colGetRanges(t){return this.ranges.filter((i=>i.occupiesColumn(t))).map((t=>t.getComponent()))}_handleMouseUp(t){this.mousedown=!1,document.removeEventListener("mouseup",this.mouseUpEvent)}_handleKeyDown(t){if(!this.blockKeydown&&(!this.table.modules.edit||this.table.modules.edit&&!this.table.modules.edit.currentCell)){if("Enter"===t.key){if(this.table.modules.edit&&this.table.modules.edit.currentCell)return;this.table.modules.edit.editCell(this.getActiveCell()),t.preventDefault()}"Backspace"!==t.key&&"Delete"!==t.key||!this.options("selectableRangeClearCells")||this.activeRange&&this.activeRange.clearValues()}}initializeFocus(t){var i;this.restoreFocus();try{document.selection?((i=document.body.createTextRange()).moveToElementText(t.getElement()),i.select()):window.getSelection&&((i=document.createRange()).selectNode(t.getElement()),window.getSelection().removeAllRanges(),window.getSelection().addRange(i))}catch(t){}}restoreFocus(t){return this.table.rowManager.element.focus(),!0}handleColumnResized(t){"column"!==this.selecting&&"all"!==this.selecting||this.ranges.some((i=>i.occupiesColumn(t)))&&this.ranges.forEach((i=>{i.getColumns(!0).forEach((i=>{i!==t&&i.setWidth(t.width)}))}))}handleColumnMoving(t,i){this.resetRanges().setBounds(i),this.overlay.style.visibility="hidden"}handleColumnMoved(t,i,e){this.activeRange.setBounds(t),this.layoutElement()}handleColumnMouseDown(t,i){(2!==t.button||"column"!==this.selecting&&"all"!==this.selecting||!this.activeRange.occupiesColumn(i))&&(this.table.options.movableColumns&&"column"===this.selecting&&this.activeRange.occupiesColumn(i)||(this.mousedown=!0,document.addEventListener("mouseup",this.mouseUpEvent),this.newSelection(t,i)))}handleColumnMouseMove(t,i){i!==this.rowHeader&&this.mousedown&&"all"!==this.selecting&&this.activeRange.setBounds(!1,i,!0)}renderCell(t){var i=t.getElement(),e=this.ranges.findIndex((i=>i.occupies(t)));i.classList.toggle("tabulator-range-selected",-1!==e),i.classList.toggle("tabulator-range-only-cell-selected",1===this.ranges.length&&this.ranges[0].atTopLeft(t)&&this.ranges[0].atBottomRight(t)),i.dataset.range=e}handleCellMouseDown(t,i){2===t.button&&(this.activeRange.occupies(i)||("row"===this.selecting||"all"===this.selecting)&&this.activeRange.occupiesRow(i.row))||(this.mousedown=!0,document.addEventListener("mouseup",this.mouseUpEvent),this.newSelection(t,i))}handleCellMouseMove(t,i){this.mousedown&&"all"!==this.selecting&&this.activeRange.setBounds(!1,i,!0)}handleCellClick(t,i){this.initializeFocus(i)}handleEditingCell(t){this.activeRange&&this.activeRange.setBounds(t)}finishEditingCell(){this.blockKeydown=!0,this.table.rowManager.element.focus(),setTimeout((()=>{this.blockKeydown=!1}),10)}keyNavigate(t,i){this.navigate(!1,!1,t),i.preventDefault()}keyNavigateRange(t,i,e,s){this.navigate(e,s,i),t.preventDefault()}navigate(t,i,e){var s,r,o,a,h,n,l,u,c,d,b;if(this.table.modules.edit&&this.table.modules.edit.currentCell)return!1;if(this.ranges.length>1&&(this.ranges=this.ranges.filter((t=>t===this.activeRange?(t.setEnd(t.start.row,t.start.col),!0):(t.destroy(),!1)))),o={top:(s=this.activeRange).top,bottom:s.bottom,left:s.left,right:s.right},a=(r=i?s.end:s.start).row,h=r.col,t)switch(e){case"left":h=this.findJumpCellLeft(s.start.row,r.col);break;case"right":h=this.findJumpCellRight(s.start.row,r.col);break;case"up":a=this.findJumpCellUp(r.row,s.start.col);break;case"down":a=this.findJumpCellDown(r.row,s.start.col)}else{if(i&&("row"===this.selecting&&("left"===e||"right"===e)||"column"===this.selecting&&("up"===e||"down"===e)))return;switch(e){case"left":h=Math.max(h-1,0);break;case"right":h=Math.min(h+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)}}return this.rowHeader&&0===h&&(h=1),i||s.setStart(a,h),s.setEnd(a,h),i||(this.selecting="cell"),o.top!==s.top||o.bottom!==s.bottom||o.left!==s.left||o.right!==s.right?(n=this.getRowByRangePos(s.end.row),l=this.getColumnByRangePos(s.end.col),u=n.getElement().getBoundingClientRect(),d=l.getElement().getBoundingClientRect(),c=this.table.rowManager.getElement().getBoundingClientRect(),b=this.table.columnManager.getElement().getBoundingClientRect(),u.top>=c.top&&u.bottom<=c.bottom||(n.getElement().parentNode&&l.getElement().parentNode?this.autoScroll(s,n.getElement(),l.getElement()):n.getComponent().scrollTo(void 0,!1)),d.left>=b.left+this.getRowHeaderWidth()&&d.right<=b.right||(n.getElement().parentNode&&l.getElement().parentNode?this.autoScroll(s,n.getElement(),l.getElement()):l.getComponent().scrollTo(void 0,!1)),this.layoutElement(),!0):void 0}rangeRemoved(t){this.ranges=this.ranges.filter((i=>i!==t)),this.activeRange===t&&(this.ranges.length?this.activeRange=this.ranges[this.ranges.length-1]:this.addRange()),this.layoutElement()}findJumpRow(t,i,e,s,r){return e&&(i=i.reverse()),this.findJumpItem(s,r,i,(function(i){return i.getData()[t.getField()]}))}findJumpCol(t,i,e,s,r){return e&&(i=i.reverse()),this.findJumpItem(s,r,i,(function(i){return t.getData()[i.getField()]}))}findJumpItem(t,i,e,s){var r;for(let o of e){let e=s(o);if(t){if(r=o,e)break}else if(i){if(r=o,e)break}else{if(!e)break;r=o}}return r}findJumpCellLeft(t,i){var e=this.getRowByRangePos(t),s=this.getTableColumns(),r=this.isEmpty(e.getData()[s[i].getField()]),o=!!s[i-1]&&this.isEmpty(e.getData()[s[i-1].getField()]),a=s.slice(this.rowHeader?1:0,i),h=this.findJumpCol(e,a,!0,r,o);return h?h.getPosition()-1:i}findJumpCellRight(t,i){var e=this.getRowByRangePos(t),s=this.getTableColumns(),r=this.isEmpty(e.getData()[s[i].getField()]),o=!!s[i+1]&&this.isEmpty(e.getData()[s[i+1].getField()]),a=this.findJumpCol(e,s.slice(i+1,s.length),!1,r,o);return a?a.getPosition()-1:i}findJumpCellUp(t,i){var e=this.getColumnByRangePos(i),s=this.getTableRows(),r=this.isEmpty(s[t].getData()[e.getField()]),o=!!s[t-1]&&this.isEmpty(s[t-1].getData()[e.getField()]),a=this.findJumpRow(e,s.slice(0,t),!0,r,o);return a?a.position-1:t}findJumpCellDown(t,i){var e=this.getColumnByRangePos(i),s=this.getTableRows(),r=this.isEmpty(s[t].getData()[e.getField()]),o=!!s[t+1]&&this.isEmpty(s[t+1].getData()[e.getField()]),a=this.findJumpRow(e,s.slice(t+1,s.length),!1,r,o);return a?a.position-1:t}newSelection(t,i){var e;if("column"===i.type){if(!this.columnSelection)return;if(i===this.rowHeader){e=this.resetRanges(),this.selecting="all";var s,r=this.getCell(-1,-1);return s=this.getCell(0,this.rowHeader?1:0),void e.setBounds(s,r)}this.selecting="column"}else this.selecting=i.column===this.rowHeader?"row":"cell";t.shiftKey?this.activeRange.setBounds(!1,i):t.ctrlKey?this.addRange().setBounds(i):this.resetRanges().setBounds(i)}autoScroll(t,i,e){var s,r,o,a=this.table.rowManager.element;void 0===i&&(i=this.getRowByRangePos(t.end.row).getElement()),void 0===e&&(e=this.getColumnByRangePos(t.end.col).getElement()),s={left:e.offsetLeft,right:e.offsetLeft+e.offsetWidth,top:i.offsetTop,bottom:i.offsetTop+i.offsetHeight},o=(r={left:a.scrollLeft+this.getRowHeaderWidth(),right:Math.ceil(a.scrollLeft+a.clientWidth),top:a.scrollTop,bottom:a.scrollTop+a.offsetHeight-this.table.rowManager.scrollbarWidth}).top<s.top&&s.top<r.bottom&&r.top<s.bottom&&s.bottom<r.bottom,r.left<s.left&&s.left<r.right&&r.left<s.right&&s.right<r.right||(s.left<r.left?a.scrollLeft=s.left-this.getRowHeaderWidth():s.right>r.right&&(a.scrollLeft=Math.min(s.right-a.clientWidth,s.left-this.getRowHeaderWidth()))),o||(s.top<r.top?a.scrollTop=s.top:s.bottom>r.bottom&&(a.scrollTop=s.bottom-a.clientHeight))}layoutChange(){this.overlay.style.visibility="hidden",clearTimeout(this.layoutChangeTimeout),this.layoutChangeTimeout=setTimeout(this.layoutRanges.bind(this),200)}redraw(t){t&&(this.selecting="cell",this.resetRanges(),this.layoutElement())}layoutElement(t){(t?this.table.rowManager.getVisibleRows(!0):this.table.rowManager.getRows()).forEach((t=>{"row"===t.type&&(this.layoutRow(t),t.cells.forEach((t=>this.renderCell(t))))})),this.getTableColumns().forEach((t=>{this.layoutColumn(t)})),this.layoutRanges()}layoutRow(t){var i=t.getElement(),e=!1,s=this.ranges.some((i=>i.occupiesRow(t)));"row"===this.selecting?e=s:"all"===this.selecting&&(e=!0),i.classList.toggle("tabulator-range-selected",e),i.classList.toggle("tabulator-range-highlight",s)}layoutColumn(t){var i=t.getElement(),e=!1,s=this.ranges.some((i=>i.occupiesColumn(t)));"column"===this.selecting?e=s:"all"===this.selecting&&(e=!0),i.classList.toggle("tabulator-range-selected",e),i.classList.toggle("tabulator-range-highlight",s)}layoutRanges(){var t,i,e;this.table.initialized&&(t=this.getActiveCell())&&(i=t.getElement(),e=t.row.getElement(),this.table.rtl?this.activeRangeCellElement.style.right=e.offsetWidth-i.offsetLeft-i.offsetWidth+"px":this.activeRangeCellElement.style.left=e.offsetLeft+i.offsetLeft+"px",this.activeRangeCellElement.style.top=e.offsetTop+"px",this.activeRangeCellElement.style.width=i.offsetWidth+"px",this.activeRangeCellElement.style.height=e.offsetHeight+"px",this.ranges.forEach((t=>t.layout())),this.overlay.style.visibility="visible")}getCell(t,i){var e;return i<0&&(i=this.getTableColumns().length+i)<0?null:(t<0&&(t=this.getTableRows().length+t),(e=this.table.rowManager.getRowFromPosition(t+1))?e.getCells(!1,!0).filter((t=>t.column.visible))[i]:null)}getActiveCell(){return this.getCell(this.activeRange.start.row,this.activeRange.start.col)}getRowByRangePos(t){return this.getTableRows()[t]}getColumnByRangePos(t){return this.getTableColumns()[t]}getTableRows(){return this.table.rowManager.getDisplayRows().filter((t=>"row"===t.type))}getTableColumns(){return this.table.columnManager.getVisibleColumnsByIndex()}addRange(t,i){var e;return!0!==this.maxRanges&&this.ranges.length>=this.maxRanges&&this.ranges.shift().destroy(),e=new Jt(this.table,this,t,i),this.activeRange=e,this.ranges.push(e),this.rangeContainer.appendChild(e.element),e}resetRanges(){var t,i,e;return this.ranges.forEach((t=>t.destroy())),this.ranges=[],t=this.addRange(),this.table.rowManager.activeRows.length&&(e=this.table.rowManager.activeRows[0].cells.filter((t=>t.column.visible)),(i=e[this.rowHeader?1:0])&&(t.setBounds(i),this.options("selectableRangeAutoFocus")&&this.initializeFocus(i))),t}tableDestroyed(){document.removeEventListener("mouseup",this.mouseUpEvent),this.table.rowManager.element.removeEventListener("keydown",this.keyDownEvent)}selectedRows(t){return t?this.activeRange.getRows().map((t=>t.getComponent())):this.activeRange.getRows()}selectedColumns(t){return t?this.activeRange.getColumns().map((t=>t.getComponent())):this.activeRange.getColumns()}getRowHeaderWidth(){return this.rowHeader?this.rowHeader.getElement().offsetWidth:0}isEmpty(t){return null==t||""===t}},SelectRowModule:class extends H{static moduleName="selectRow";static moduleExtensions=Gt;constructor(t){super(t),this.selecting=!1,this.lastClickedRow=!1,this.selectPrev=[],this.selectedRows=[],this.headerCheckboxElement=null,this.registerTableOption("selectableRows","highlight"),this.registerTableOption("selectableRowsRangeMode","drag"),this.registerTableOption("selectableRowsRollingSelection",!0),this.registerTableOption("selectableRowsPersistence",!0),this.registerTableOption("selectableRowsCheck",(function(){return!0})),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(),"highlight"===this.table.options.selectableRows&&this.table.options.selectableRange&&(this.table.options.selectableRows=!1),!1!==this.table.options.selectableRows&&(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(){}rowRetrieve(t,i){return"selected"===t?this.selectedRows:i}rowDeleted(t){this._deselectRow(t,!0)}clearSelectionData(t){var i=this.selectedRows.length;this.selecting=!1,this.lastClickedRow=!1,this.selectPrev=[],this.selectedRows=[],i&&!0!==t&&this._rowSelectionChanged()}initializeRow(t){var i=this,e=i.checkRowSelectability(t),s=t.getElement(),r=function(){setTimeout((function(){i.selecting=!1}),50),document.body.removeEventListener("mouseup",r)};t.modules.select={selected:!1},s.classList.toggle("tabulator-selectable",e),s.classList.toggle("tabulator-unselectable",!e),i.checkRowSelectability(t)&&i.table.options.selectableRows&&"highlight"!=i.table.options.selectableRows&&("click"===i.table.options.selectableRowsRangeMode?s.addEventListener("click",this.handleComplexRowClick.bind(this,t)):(s.addEventListener("click",(function(){i.table.modExists("edit")&&i.table.modules.edit.getCurrentCell()||i.table._clearSelection(),i.selecting||i.toggleRow(t)})),s.addEventListener("mousedown",(function(e){if(e.shiftKey)return i.table._clearSelection(),i.selecting=!0,i.selectPrev=[],document.body.addEventListener("mouseup",r),document.body.addEventListener("keyup",r),i.toggleRow(t),!1})),s.addEventListener("mouseenter",(function(){i.selecting&&(i.table._clearSelection(),i.toggleRow(t),i.selectPrev[1]==t&&i.toggleRow(i.selectPrev[0]))})),s.addEventListener("mouseout",(function(){i.selecting&&(i.table._clearSelection(),i.selectPrev.unshift(t))}))))}handleComplexRowClick(t,i){if(i.shiftKey){this.table._clearSelection(),this.lastClickedRow=this.lastClickedRow||t;var e=this.table.rowManager.getDisplayRowIndex(this.lastClickedRow),s=this.table.rowManager.getDisplayRowIndex(t),r=e<=s?e:s,o=e>=s?e:s,a=this.table.rowManager.getDisplayRows().slice(0).splice(r,o-r+1);i.ctrlKey||i.metaKey?(a.forEach((i=>{i!==this.lastClickedRow&&(!0===this.table.options.selectableRows||this.isRowSelected(t)||this.selectedRows.length<this.table.options.selectableRows)&&this.toggleRow(i)})),this.lastClickedRow=t):(this.deselectRows(void 0,!0),!0!==this.table.options.selectableRows&&a.length>this.table.options.selectableRows&&(a=a.slice(0,this.table.options.selectableRows)),this.selectRows(a)),this.table._clearSelection()}else i.ctrlKey||i.metaKey?(this.toggleRow(t),this.lastClickedRow=t):(this.deselectRows(void 0,!0),this.selectRows(t),this.lastClickedRow=t)}checkRowSelectability(t){return!(!t||"row"!==t.type)&&this.table.options.selectableRowsCheck.call(this.table,t.getComponent())}toggleRow(t){this.checkRowSelectability(t)&&(t.modules.select&&t.modules.select.selected?this._deselectRow(t):this._selectRow(t))}selectRows(t){var i,e,s=[];switch(typeof t){case"undefined":i=this.table.rowManager.rows;break;case"number":i=this.table.rowManager.findRow(t);break;case"string":(i=this.table.rowManager.findRow(t))||(i=this.table.rowManager.getRows(t));break;default:i=t}Array.isArray(i)?i.length&&(i.forEach((t=>{(e=this._selectRow(t,!0,!0))&&s.push(e)})),this._rowSelectionChanged(!1,s)):i&&this._selectRow(i,!1,!0)}_selectRow(t,i,e){if(!isNaN(this.table.options.selectableRows)&&!0!==this.table.options.selectableRows&&!e&&this.selectedRows.length>=this.table.options.selectableRows){if(!this.table.options.selectableRowsRollingSelection)return!1;this._deselectRow(this.selectedRows[0])}var s=this.table.rowManager.findRow(t);if(s){if(-1==this.selectedRows.indexOf(s))return s.getElement().classList.add("tabulator-selected"),s.modules.select||(s.modules.select={}),s.modules.select.selected=!0,s.modules.select.checkboxEl&&(s.modules.select.checkboxEl.checked=!0),this.selectedRows.push(s),this.table.options.dataTreeSelectPropagate&&this.childRowSelection(s,!0),this.dispatchExternal("rowSelected",s.getComponent()),this._rowSelectionChanged(i,s),s}else i||console.warn("Selection Error - No such row found, ignoring selection:"+t)}isRowSelected(t){return-1!==this.selectedRows.indexOf(t)}deselectRows(t,i){var e,s,r=[];switch(typeof t){case"undefined":e=Object.assign([],this.selectedRows);break;case"number":e=this.table.rowManager.findRow(t);break;case"string":(e=this.table.rowManager.findRow(t))||(e=this.table.rowManager.getRows(t));break;default:e=t}Array.isArray(e)?e.length&&(e.forEach((t=>{(s=this._deselectRow(t,!0,!0))&&r.push(s)})),this._rowSelectionChanged(i,[],r)):e&&this._deselectRow(e,i,!0)}_deselectRow(t,i){var e,s,r=this,o=r.table.rowManager.findRow(t);if(o){if((e=r.selectedRows.findIndex((function(t){return t==o})))>-1)return(s=o.getElement())&&s.classList.remove("tabulator-selected"),o.modules.select||(o.modules.select={}),o.modules.select.selected=!1,o.modules.select.checkboxEl&&(o.modules.select.checkboxEl.checked=!1),r.selectedRows.splice(e,1),this.table.options.dataTreeSelectPropagate&&this.childRowSelection(o,!1),this.dispatchExternal("rowDeselected",o.getComponent()),r._rowSelectionChanged(i,void 0,o),o}else i||console.warn("Deselection Error - No such row found, ignoring selection:"+t)}getSelectedData(){var t=[];return this.selectedRows.forEach((function(i){t.push(i.getData())})),t}getSelectedRows(){var t=[];return this.selectedRows.forEach((function(i){t.push(i.getComponent())})),t}_rowSelectionChanged(t,i=[],e=[]){this.headerCheckboxElement&&(0===this.selectedRows.length?(this.headerCheckboxElement.checked=!1,this.headerCheckboxElement.indeterminate=!1):this.table.rowManager.rows.length===this.selectedRows.length?(this.headerCheckboxElement.checked=!0,this.headerCheckboxElement.indeterminate=!1):(this.headerCheckboxElement.indeterminate=!0,this.headerCheckboxElement.checked=!1)),t||(Array.isArray(i)||(i=[i]),i=i.map((t=>t.getComponent())),Array.isArray(e)||(e=[e]),e=e.map((t=>t.getComponent())),this.dispatchExternal("rowSelectionChanged",this.getSelectedData(),this.getSelectedRows(),i,e))}registerRowSelectCheckbox(t,i){t._row.modules.select||(t._row.modules.select={}),t._row.modules.select.checkboxEl=i}registerHeaderSelectCheckbox(t){this.headerCheckboxElement=t}childRowSelection(t,i){var e=this.table.modules.dataTree.getChildren(t,!0,!0);if(i)for(let t of e)this._selectRow(t,!0);else for(let t of e)this._deselectRow(t,!0)}},SortModule:$t,SpreadsheetModule:class extends H{static moduleName="spreadsheet";constructor(t){super(t),this.sheets=[],this.element=null,this.registerTableOption("spreadsheet",!1),this.registerTableOption("spreadsheetRows",50),this.registerTableOption("spreadsheetColumns",50),this.registerTableOption("spreadsheetColumnDefinition",{}),this.registerTableOption("spreadsheetOutputFull",!1),this.registerTableOption("spreadsheetData",!1),this.registerTableOption("spreadsheetSheets",!1),this.registerTableOption("spreadsheetSheetTabs",!1),this.registerTableOption("spreadsheetSheetTabsElement",!1),this.registerTableFunction("setSheets",this.setSheets.bind(this)),this.registerTableFunction("addSheet",this.addSheet.bind(this)),this.registerTableFunction("getSheets",this.getSheets.bind(this)),this.registerTableFunction("getSheetDefinitions",this.getSheetDefinitions.bind(this)),this.registerTableFunction("setSheetData",this.setSheetData.bind(this)),this.registerTableFunction("getSheet",this.getSheet.bind(this)),this.registerTableFunction("getSheetData",this.getSheetData.bind(this)),this.registerTableFunction("clearSheet",this.clearSheet.bind(this)),this.registerTableFunction("removeSheet",this.removeSheetFunc.bind(this)),this.registerTableFunction("activeSheet",this.activeSheetFunc.bind(this))}initialize(){this.options("spreadsheet")&&(this.subscribe("table-initialized",this.tableInitialized.bind(this)),this.subscribe("data-loaded",this.loadRemoteData.bind(this)),this.table.options.index="_id",this.options("spreadsheetData")&&this.options("spreadsheetSheets")&&(console.warn("You cannot use spreadsheetData and spreadsheetSheets at the same time, ignoring spreadsheetData"),this.table.options.spreadsheetData=!1),this.compatibilityCheck(),this.options("spreadsheetSheetTabs")&&this.initializeTabset())}compatibilityCheck(){this.options("data")&&console.warn("Do not use the data option when working with spreadsheets, use either spreadsheetData or spreadsheetSheets to pass data into the table"),this.options("pagination")&&console.warn("The spreadsheet module is not compatible with the pagination module"),this.options("groupBy")&&console.warn("The spreadsheet module is not compatible with the row grouping module"),this.options("responsiveCollapse")&&console.warn("The spreadsheet module is not compatible with the responsive collapse module")}initializeTabset(){this.element=document.createElement("div"),this.element.classList.add("tabulator-spreadsheet-tabs");var t=this.options("spreadsheetSheetTabsElement");!t||t instanceof HTMLElement||(t=document.querySelector(t))||console.warn("Unable to find element matching spreadsheetSheetTabsElement selector:",this.options("spreadsheetSheetTabsElement")),t?t.appendChild(this.element):this.footerAppend(this.element)}tableInitialized(){this.sheets.length?this.loadSheet(this.sheets[0]):this.options("spreadsheetSheets")?this.loadSheets(this.options("spreadsheetSheets")):this.options("spreadsheetData")&&this.loadData(this.options("spreadsheetData"))}loadRemoteData(t,i,e){return console.log("data",t,i,e),Array.isArray(t)?(this.table.dataLoader.clearAlert(),this.dispatchExternal("dataLoaded",t),!t.length||Array.isArray(t[0])?this.loadData(t):this.loadSheets(t)):console.error("Spreadsheet Loading Error - Unable to process remote data due to invalid data type \nExpecting: array \nReceived: ",typeof t,"\nData: ",t),!1}loadData(t){this.loadSheet(this.newSheet({data:t}))}destroySheets(){this.sheets.forEach((t=>{t.destroy()})),this.sheets=[],this.activeSheet=null}loadSheets(t){Array.isArray(t)||(t=[]),this.destroySheets(),t.forEach((t=>{this.newSheet(t)})),this.loadSheet(this.sheets[0])}loadSheet(t){this.activeSheet!==t&&(this.activeSheet&&this.activeSheet.unload(),this.activeSheet=t,t.load())}newSheet(t={}){var i;return t.rows||(t.rows=this.options("spreadsheetRows")),t.columns||(t.columns=this.options("spreadsheetColumns")),i=new Qt(this,t),this.sheets.push(i),this.element&&this.element.appendChild(i.element),i}removeSheet(t){var i,e=this.sheets.indexOf(t);this.sheets.length>1?e>-1&&(this.sheets.splice(e,1),t.destroy(),this.activeSheet===t&&((i=this.sheets[e-1]||this.sheets[0])?this.loadSheet(i):this.activeSheet=null)):console.warn("Unable to remove sheet, at least one sheet must be active")}lookupSheet(t){return t?t instanceof Qt?t:t instanceof Yt?t._sheet:this.sheets.find((i=>i.key===t))||!1:this.activeSheet}setSheets(t){return this.loadSheets(t),this.getSheets()}addSheet(t){return this.newSheet(t).getComponent()}getSheetDefinitions(){return this.sheets.map((t=>t.getDefinition()))}getSheets(){return this.sheets.map((t=>t.getComponent()))}getSheet(t){var i=this.lookupSheet(t);return!!i&&i.getComponent()}setSheetData(t,i){t&&!i&&(i=t,t=!1);var e=this.lookupSheet(t);return!!e&&e.setData(i)}getSheetData(t){var i=this.lookupSheet(t);return!!i&&i.getData()}clearSheet(t){var i=this.lookupSheet(t);return!!i&&i.clear()}removeSheetFunc(t){var i=this.lookupSheet(t);i&&this.removeSheet(i)}activeSheetFunc(t){var i=this.lookupSheet(t);return!!i&&this.loadSheet(i)}},TooltipModule:class extends H{static moduleName="tooltip";constructor(t){super(t),this.tooltipSubscriber=null,this.headerSubscriber=null,this.timeout=null,this.popupInstance=null,this.registerTableOption("tooltipDelay",300),this.registerColumnOption("tooltip"),this.registerColumnOption("headerTooltip")}initialize(){this.deprecatedOptionsCheck(),this.subscribe("column-init",this.initializeColumn.bind(this))}deprecatedOptionsCheck(){}initializeColumn(t){t.definition.headerTooltip&&!this.headerSubscriber&&(this.headerSubscriber=!0,this.subscribe("column-mousemove",this.mousemoveCheck.bind(this,"headerTooltip")),this.subscribe("column-mouseout",this.mouseoutCheck.bind(this,"headerTooltip"))),t.definition.tooltip&&!this.tooltipSubscriber&&(this.tooltipSubscriber=!0,this.subscribe("cell-mousemove",this.mousemoveCheck.bind(this,"tooltip")),this.subscribe("cell-mouseout",this.mouseoutCheck.bind(this,"tooltip")))}mousemoveCheck(t,i,e){var s="tooltip"===t?e.column.definition.tooltip:e.definition.headerTooltip;s&&(this.clearPopup(),this.timeout=setTimeout(this.loadTooltip.bind(this,i,e,s),this.table.options.tooltipDelay))}mouseoutCheck(t,i,e){this.popupInstance||this.clearPopup()}clearPopup(t,i,e){clearTimeout(this.timeout),this.timeout=null,this.popupInstance&&this.popupInstance.hide()}loadTooltip(t,i,e){var s,r,o;"function"==typeof e&&(e=e(t,i.getComponent(),(function(t){r=t}))),e instanceof HTMLElement?s=e:(s=document.createElement("div"),!0===e&&(i instanceof Q?e=i.value:i.definition.field?this.langBind("columns|"+i.definition.field,(t=>{s.innerHTML=e=t||i.definition.title})):e=i.definition.title),s.innerHTML=e),(e||0===e||!1===e)&&(s.classList.add("tabulator-tooltip"),s.addEventListener("mousemove",(t=>t.preventDefault())),this.popupInstance=this.popup(s),"function"==typeof r&&this.popupInstance.renderCallback(r),o=this.popupInstance.containerEventCoords(t),this.popupInstance.show(o.x+15,o.y+15).hideOnBlur((()=>{this.dispatchExternal("TooltipClosed",i.getComponent()),this.popupInstance=null})),this.dispatchExternal("TooltipOpened",i.getComponent()))}},ValidateModule:ii}),si={debugEventsExternal:!1,debugEventsInternal:!1,debugInvalidOptions:!0,debugInvalidComponentFuncs:!0,debugInitialization:!0,debugDeprecation:!0,height:!1,minHeight:!1,maxHeight:!1,columnHeaderVertAlign:"top",popupContainer:!1,columns:[],columnDefaults:{},rowHeader:!1,data:!1,autoColumns:!1,autoColumnsDefinitions:!1,nestedFieldSeparator:".",footerElement:!1,index:"id",textDirection:"auto",addRowPos:"bottom",headerVisible:!0,renderVertical:"virtual",renderHorizontal:"basic",renderVerticalBuffer:0,scrollToRowPosition:"top",scrollToRowIfVisible:!0,scrollToColumnPosition:"left",scrollToColumnIfVisible:!0,rowFormatter:!1,rowFormatterPrint:null,rowFormatterClipboard:null,rowFormatterHtmlOutput:null,rowHeight:null,placeholder:!1,dataLoader:!0,dataLoaderLoading:!1,dataLoaderError:!1,dataLoaderErrorTimeout:3e3,dataSendParams:{},dataReceiveParams:{},dependencies:{}};class ri{constructor(t,i,e={}){this.table=t,this.msgType=i,this.registeredDefaults=Object.assign({},e)}register(t,i){this.registeredDefaults[t]=i}generate(t,i={}){var e=Object.assign({},this.registeredDefaults),s=this.table.options.debugInvalidOptions||!0===i.debugInvalidOptions;Object.assign(e,t);for(let t in i)e.hasOwnProperty(t)||(s&&console.warn("Invalid "+this.msgType+" option:",t),e[t]=i.key);for(let t in e)t in i?e[t]=i[t]:Array.isArray(e[t])?e[t]=Object.assign([],e[t]):"object"==typeof e[t]&&null!==e[t]?e[t]=Object.assign({},e[t]):void 0===e[t]&&delete e[t];return e}}class oi extends j{constructor(t){super(t),this.elementVertical=t.rowManager.element,this.elementHorizontal=t.columnManager.element,this.tableElement=t.rowManager.tableElement,this.verticalFillMode="fit"}initialize(){}clearRows(){}clearColumns(){}reinitializeColumnWidths(t){}renderRows(){}renderColumns(){}rerenderRows(t){t&&t()}rerenderColumns(t,i){}renderRowCells(t){}rerenderRowCells(t,i){}scrollColumns(t,i){}scrollRows(t,i){}resize(){}scrollToRow(t){}scrollToRowNearestTop(t){}visibleRows(t){return[]}rows(){return this.table.rowManager.getDisplayRows()}styleRow(t,i){var e=t.getElement();i%2?(e.classList.add("tabulator-row-even"),e.classList.remove("tabulator-row-odd")):(e.classList.add("tabulator-row-odd"),e.classList.remove("tabulator-row-even"))}clear(){this.clearRows(),this.clearColumns()}render(){this.renderRows(),this.renderColumns()}rerender(t){this.rerenderRows(),this.rerenderColumns()}scrollToRowPosition(t,i,e){var s=this.rows().indexOf(t),r=t.getElement(),o=0;return new Promise(((a,h)=>{if(s>-1){if(void 0===e&&(e=this.table.options.scrollToRowIfVisible),!e&&N.elVisible(r)&&(o=N.elOffset(r).top-N.elOffset(this.elementVertical).top)>0&&o<this.elementVertical.clientHeight-r.offsetHeight)return a(),!1;switch(void 0===i&&(i=this.table.options.scrollToRowPosition),"nearest"===i&&(i=this.scrollToRowNearestTop(t)?"top":"bottom"),this.scrollToRow(t),i){case"middle":case"center":this.elementVertical.scrollTop=this.elementVertical.scrollHeight-this.elementVertical.scrollTop==this.elementVertical.clientHeight?this.elementVertical.scrollTop+(r.offsetTop-this.elementVertical.scrollTop)-(this.elementVertical.scrollHeight-r.offsetTop)/2:this.elementVertical.scrollTop-this.elementVertical.clientHeight/2;break;case"bottom":this.elementVertical.scrollTop=this.elementVertical.scrollHeight-this.elementVertical.scrollTop==this.elementVertical.clientHeight?this.elementVertical.scrollTop-(this.elementVertical.scrollHeight-r.offsetTop)+r.offsetHeight:this.elementVertical.scrollTop-this.elementVertical.clientHeight+r.offsetHeight;break;case"top":this.elementVertical.scrollTop=r.offsetTop}a()}else console.warn("Scroll Error - Row not visible"),h("Scroll Error - Row not visible")}))}}class ai extends oi{constructor(t){super(t)}renderRowCells(t,i){const e=document.createDocumentFragment();t.cells.forEach((t=>{e.appendChild(t.getElement())})),t.element.appendChild(e),i||t.cells.forEach((t=>{t.cellRendered()}))}reinitializeColumnWidths(t){t.forEach((function(t){t.reinitializeWidth()}))}}class hi extends oi{constructor(t){super(t),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=!1,this.isFitData=!1,this.columns=[]}initialize(){this.compatibilityCheck(),this.layoutCheck(),this.vertScrollListen()}compatibilityCheck(){"fitDataTable"==this.options("layout")&&console.warn("Horizontal Virtual DOM is not compatible with fitDataTable layout mode"),this.options("responsiveLayout")&&console.warn("Horizontal Virtual DOM is not compatible with responsive columns"),this.options("rtl")&&console.warn("Horizontal Virtual DOM is not currently compatible with RTL text direction")}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(t,i){this.dataChange()}scrollColumns(t,i){this.scrollLeft!=t&&(this.scrollLeft=t,this.scroll(t-(this.vDomScrollPosLeft+this.windowBuffer)))}calcWindowBuffer(){var t=this.elementVertical.clientWidth;this.table.columnManager.columnsByIndex.forEach((i=>{if(i.visible){var e=i.getWidth();e>t&&(t=e)}})),this.windowBuffer=2*t}rerenderColumns(t,i){var e={cols:this.columns,leftCol:this.leftCol,rightCol:this.rightCol},s=0;t&&!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((t=>{var i,e={};t.visible&&(t.modules.frozen||(i=t.getWidth(),e.leftPos=s,e.rightPos=s+i,e.width=i,this.isFitData&&(e.fitDataCheck=!t.modules.vdomHoz||t.modules.vdomHoz.fitDataCheck),s+i>this.vDomScrollPosLeft&&s<this.vDomScrollPosRight?(-1==this.leftCol&&(this.leftCol=this.columns.length,this.vDomPadLeft=s),this.rightCol=this.columns.length):-1!==this.leftCol&&(this.vDomPadRight+=i),this.columns.push(t),t.modules.vdomHoz=e,s+=i))})),this.tableElement.style.paddingLeft=this.vDomPadLeft+"px",this.tableElement.style.paddingRight=this.vDomPadRight+"px",this.initialized=!0,i||t&&!this.reinitChanged(e)||this.reinitializeRows(),this.elementVertical.scrollLeft=this.scrollLeft)}renderRowCells(t){if(this.initialized)this.initializeRow(t);else{const i=document.createDocumentFragment();t.cells.forEach((t=>{i.appendChild(t.getElement())})),t.element.appendChild(i),t.cells.forEach((t=>{t.cellRendered()}))}}rerenderRowCells(t,i){this.reinitializeRow(t,i)}reinitializeColumnWidths(t){for(let t=this.leftCol;t<=this.rightCol;t++){let i=this.columns[t];i&&i.reinitializeWidth()}}deinitialize(){this.initialized=!1}clear(){this.columns=[],this.leftCol=-1,this.rightCol=0,this.vDomScrollPosLeft=0,this.vDomScrollPosRight=0,this.vDomPadLeft=0,this.vDomPadRight=0}dataChange(){var t,i,e=!1;if(this.isFitData){if(this.table.columnManager.columnsByIndex.forEach((t=>{!t.definition.width&&t.visible&&(e=!0)})),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])){i=t.getElement(),t.generateCells(),this.tableElement.appendChild(i);for(let e=0;e<t.cells.length;e++){let s=t.cells[e];i.appendChild(s.getElement()),s.column.reinitializeWidth()}i.parentNode.removeChild(i),this.rerenderColumns(!1,!0)}}else"fitColumns"===this.options("layout")&&(this.layoutRefresh(),this.rerenderColumns(!1,!0))}reinitChanged(t){var i=!0;return t.cols.length!==this.columns.length||t.leftCol!==this.leftCol||t.rightCol!==this.rightCol||(t.cols.forEach(((t,e)=>{t!==this.columns[e]&&(i=!1)})),!i)}reinitializeRows(){var t=this.getVisibleRows(),i=this.table.rowManager.getRows().filter((i=>!t.includes(i)));t.forEach((t=>{this.reinitializeRow(t,!0)})),i.forEach((t=>{t.deinitialize()}))}getVisibleRows(){return this.visibleRows||(this.visibleRows=this.table.rowManager.getVisibleRows()),this.visibleRows}scroll(t){this.vDomScrollPosLeft+=t,this.vDomScrollPosRight+=t,Math.abs(t)>this.windowBuffer/2?this.rerenderColumns():t>0?(this.addColRight(),this.removeColLeft()):(this.addColLeft(),this.removeColRight())}colPositionAdjust(t,i,e){for(let s=t;s<i;s++){let t=this.columns[s];t.modules.vdomHoz.leftPos+=e,t.modules.vdomHoz.rightPos+=e}}addColRight(){for(var t=!1,i=!0;i;){let e=this.columns[this.rightCol+1];e&&e.modules.vdomHoz.leftPos<=this.vDomScrollPosRight?(t=!0,this.getVisibleRows().forEach((t=>{if("group"!==t.type){var i=t.getCell(e);t.getElement().insertBefore(i.getElement(),t.getCell(this.columns[this.rightCol]).getElement().nextSibling),i.cellRendered()}})),this.fitDataColActualWidthCheck(e),this.rightCol++,this.getVisibleRows().forEach((t=>{"group"!==t.type&&(t.modules.vdomHoz.rightCol=this.rightCol)})),this.rightCol>=this.columns.length-1?this.vDomPadRight=0:this.vDomPadRight-=e.getWidth()):i=!1}t&&(this.tableElement.style.paddingRight=this.vDomPadRight+"px")}addColLeft(){for(var t=!1,i=!0;i;){let e=this.columns[this.leftCol-1];if(e)if(e.modules.vdomHoz.rightPos>=this.vDomScrollPosLeft){t=!0,this.getVisibleRows().forEach((t=>{if("group"!==t.type){var i=t.getCell(e);t.getElement().insertBefore(i.getElement(),t.getCell(this.columns[this.leftCol]).getElement()),i.cellRendered()}})),this.leftCol--,this.getVisibleRows().forEach((t=>{"group"!==t.type&&(t.modules.vdomHoz.leftCol=this.leftCol)})),this.leftCol<=0?this.vDomPadLeft=0:this.vDomPadLeft-=e.getWidth();let i=this.fitDataColActualWidthCheck(e);i&&(this.scrollLeft=this.elementVertical.scrollLeft=this.elementVertical.scrollLeft+i,this.vDomPadRight-=i)}else i=!1;else i=!1}t&&(this.tableElement.style.paddingLeft=this.vDomPadLeft+"px")}removeColRight(){for(var t=!1,i=!0;i;){let e=this.columns[this.rightCol];e&&e.modules.vdomHoz.leftPos>this.vDomScrollPosRight?(t=!0,this.getVisibleRows().forEach((t=>{if("group"!==t.type){var i=t.getCell(e);try{t.getElement().removeChild(i.getElement())}catch(t){console.warn("Could not removeColRight",t.message)}}})),this.vDomPadRight+=e.getWidth(),this.rightCol--,this.getVisibleRows().forEach((t=>{"group"!==t.type&&(t.modules.vdomHoz.rightCol=this.rightCol)}))):i=!1}t&&(this.tableElement.style.paddingRight=this.vDomPadRight+"px")}removeColLeft(){for(var t=!1,i=!0;i;){let e=this.columns[this.leftCol];e&&e.modules.vdomHoz.rightPos<this.vDomScrollPosLeft?(t=!0,this.getVisibleRows().forEach((t=>{if("group"!==t.type){var i=t.getCell(e);try{t.getElement().removeChild(i.getElement())}catch(t){console.warn("Could not removeColLeft",t.message)}}})),this.vDomPadLeft+=e.getWidth(),this.leftCol++,this.getVisibleRows().forEach((t=>{"group"!==t.type&&(t.modules.vdomHoz.leftCol=this.leftCol)}))):i=!1}t&&(this.tableElement.style.paddingLeft=this.vDomPadLeft+"px")}fitDataColActualWidthCheck(t){var i,e;return t.modules.vdomHoz.fitDataCheck&&(t.reinitializeWidth(),(e=(i=t.getWidth())-t.modules.vdomHoz.width)&&(t.modules.vdomHoz.rightPos+=e,t.modules.vdomHoz.width=i,this.colPositionAdjust(this.columns.indexOf(t)+1,this.columns.length,e)),t.modules.vdomHoz.fitDataCheck=!1),e}initializeRow(t){if("group"!==t.type){t.modules.vdomHoz={leftCol:this.leftCol,rightCol:this.rightCol},this.table.modules.frozenColumns&&this.table.modules.frozenColumns.leftColumns.forEach((i=>{this.appendCell(t,i)}));for(let i=this.leftCol;i<=this.rightCol;i++)this.appendCell(t,this.columns[i]);this.table.modules.frozenColumns&&this.table.modules.frozenColumns.rightColumns.forEach((i=>{this.appendCell(t,i)}))}}appendCell(t,i){if(i&&i.visible){let e=t.getCell(i);t.getElement().appendChild(e.getElement()),e.cellRendered()}}reinitializeRow(t,i){if("group"!==t.type&&(i||!t.modules.vdomHoz||t.modules.vdomHoz.leftCol!==this.leftCol||t.modules.vdomHoz.rightCol!==this.rightCol)){for(var e=t.getElement();e.firstChild;)e.removeChild(e.firstChild);this.initializeRow(t)}}}class ni extends j{constructor(t){super(t),this.blockHozScrollEvent=!1,this.headersElement=null,this.contentsElement=null,this.rowHeader=null,this.element=null,this.columns=[],this.columnsByIndex=[],this.columnsByField={},this.scrollLeft=0,this.optionsList=new ri(this.table,"column definition",it),this.redrawBlock=!1,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(t){this.table.rtl?this.headersElement.style.marginLeft=t+"px":this.headersElement.style.marginRight=t+"px"}initializeRenderer(){var t;(t="string"==typeof this.table.options.renderHorizontal?{virtual:hi,basic:ai}[this.table.options.renderHorizontal]:this.table.options.renderHorizontal)?(this.renderer=new t(this.table,this.element,this.tableElement),this.renderer.initialize()):console.error("Unable to find matching renderer:",this.table.options.renderHorizontal)}createHeadersElement(){var t=document.createElement("div");return t.classList.add("tabulator-headers"),t.setAttribute("role","row"),t}createHeaderContentsElement(){var t=document.createElement("div");return t.classList.add("tabulator-header-contents"),t.setAttribute("role","rowgroup"),t}createHeaderElement(){var t=document.createElement("div");return t.classList.add("tabulator-header"),t.setAttribute("role","rowgroup"),this.table.options.headerVisible||t.classList.add("tabulator-header-hidden"),t}getElement(){return this.element}getContentsElement(){return this.contentsElement}getHeadersElement(){return this.headersElement}scrollHorizontal(t){this.contentsElement.scrollLeft=t,this.scrollLeft=t,this.renderer.scrollColumns(t)}initializeScrollWheelWatcher(){this.contentsElement.addEventListener("wheel",(t=>{var i;t.deltaX&&(this.table.rowManager.scrollHorizontal(i=this.contentsElement.scrollLeft+t.deltaX),this.table.columnManager.scrollHorizontal(i))}))}generateColumnsFromRowData(t){var i=[],e={},s=this.table.options.autoColumnsDefinitions;if(t&&t.length){if(("full"===this.table.options.autoColumns?t:[t[0]]).forEach((t=>{Object.keys(t).forEach(((s,r)=>{let o,a=t[s];e[s]?!0!==e[s]&&void 0!==a&&(e[s].sorter=this.calculateSorterFromValue(a),e[s]=!0):(o={field:s,title:s,sorter:this.calculateSorterFromValue(a)},i.splice(r,0,o),e[s]=void 0!==a||o)}))})),s)switch(typeof s){case"function":this.table.options.columns=s.call(this.table,i);break;case"object":Array.isArray(s)?i.forEach((t=>{var i=s.find((i=>i.field===t.field));i&&Object.assign(t,i)})):i.forEach((t=>{s[t.field]&&Object.assign(t,s[t.field])})),this.table.options.columns=i}else this.table.options.columns=i;this.setColumns(this.table.options.columns)}}calculateSorterFromValue(t){var i;switch(typeof t){case"undefined":i="string";break;case"boolean":i="boolean";break;case"number":i="number";break;case"object":i=Array.isArray(t)?"array":"string";break;default:i=isNaN(t)||""===t?t.match(/((^[0-9]+[a-z]+)|(^[a-z]+[0-9]+))+$/i)?"alphanum":"string":"number"}return i}setColumns(t,i){for(;this.headersElement.firstChild;)this.headersElement.removeChild(this.headersElement.firstChild);this.columns=[],this.columnsByIndex=[],this.columnsByField={},this.dispatch("columns-loading"),this.dispatchExternal("columnsLoading"),this.table.options.rowHeader&&(this.rowHeader=new et(!0===this.table.options.rowHeader?{}:this.table.options.rowHeader,this,!0),this.columns.push(this.rowHeader),this.headersElement.appendChild(this.rowHeader.getElement()),this.rowHeader.columnRendered()),t.forEach((t=>{this._addColumn(t)})),this._reIndexColumns(),this.dispatch("columns-loaded"),this.subscribedExternal("columnsLoaded")&&this.dispatchExternal("columnsLoaded",this.getComponents()),this.rerenderColumns(!1,!0),this.redraw(!0)}_addColumn(t,i,e){var s=new et(t,this),r=s.getElement(),o=e?this.findColumnIndex(e):e;if(!i||!this.rowHeader||e&&e!==this.rowHeader||(i=!1,e=this.rowHeader,o=0),e&&o>-1){var a=e.getTopColumn(),h=this.columns.indexOf(a),n=a.getElement();i?(this.columns.splice(h,0,s),n.parentNode.insertBefore(r,n)):(this.columns.splice(h+1,0,s),n.parentNode.insertBefore(r,n.nextSibling))}else i?(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(t){t.definition.field&&(this.columnsByField[t.definition.field]=t)}registerColumnPosition(t){this.columnsByIndex.push(t)}_reIndexColumns(){this.columnsByIndex=[],this.columns.forEach((function(t){t.reRegisterPosition()}))}verticalAlignHeaders(){var t=0;this.redrawBlock||(this.headersElement.style.height="",this.columns.forEach((t=>{t.clearVerticalAlign()})),this.columns.forEach((i=>{var e=i.getHeight();e>t&&(t=e)})),this.headersElement.style.height=t+"px",this.columns.forEach((i=>{i.verticalAlign(this.table.options.columnHeaderVertAlign,t)})),this.table.rowManager.adjustTableSize())}findColumn(t){var i;return"object"!=typeof t?this.columnsByField[t]||!1:t instanceof et?t:t instanceof tt?t._getSelf()||!1:"undefined"!=typeof HTMLElement&&t instanceof HTMLElement&&(i=[],this.columns.forEach((t=>{i.push(t),i=i.concat(t.getColumns(!0))})),i.find((i=>i.element===t))||!1)}getColumnByField(t){return this.columnsByField[t]}getColumnsByFieldRoot(t){var i=[];return Object.keys(this.columnsByField).forEach((e=>{(this.table.options.nestedFieldSeparator?e.split(this.table.options.nestedFieldSeparator)[0]:e)===t&&i.push(this.columnsByField[e])})),i}getColumnByIndex(t){return this.columnsByIndex[t]}getFirstVisibleColumn(){var t=this.columnsByIndex.findIndex((t=>t.visible));return t>-1&&this.columnsByIndex[t]}getVisibleColumnsByIndex(){return this.columnsByIndex.filter((t=>t.visible))}getColumns(){return this.columns}findColumnIndex(t){return this.columnsByIndex.findIndex((i=>t===i))}getRealColumns(){return this.columnsByIndex}traverse(t){this.columnsByIndex.forEach(((i,e)=>{t(i,e)}))}getDefinitions(t){var i=[];return this.columnsByIndex.forEach((e=>{(!t||t&&e.visible)&&i.push(e.getDefinition())})),i}getDefinitionTree(){var t=[];return this.columns.forEach((i=>{t.push(i.getDefinition(!0))})),t}getComponents(t){var i=[];return(t?this.columns:this.columnsByIndex).forEach((t=>{i.push(t.getComponent())})),i}getWidth(){var t=0;return this.columnsByIndex.forEach((i=>{i.visible&&(t+=i.getWidth())})),t}moveColumn(t,i,e){i.element.parentNode.insertBefore(t.element,i.element),e&&i.element.parentNode.insertBefore(i.element,t.element),this.moveColumnActual(t,i,e),this.verticalAlignHeaders(),this.table.rowManager.reinitialize()}moveColumnActual(t,i,e){this._moveColumnInArray(t.parent.isGroup?t.parent.columns:this.columns,t,i,e),this._moveColumnInArray(this.columnsByIndex,t,i,e,!0),this.rerenderColumns(!0),this.dispatch("column-moved",t,i,e),this.subscribedExternal("columnMoved")&&this.dispatchExternal("columnMoved",t.getComponent(),this.table.columnManager.getComponents())}_moveColumnInArray(t,i,e,s,r){var o,a=t.indexOf(i);a>-1&&(t.splice(a,1),(o=t.indexOf(e))>-1?s&&(o+=1):o=a,t.splice(o,0,i),r&&(this.chain("column-moving-rows",[i,e,s],null,[])||[]).concat(this.table.rowManager.rows).forEach((function(t){if(t.cells.length){var i=t.cells.splice(a,1)[0];t.cells.splice(o,0,i)}})))}scrollToColumn(t,i,e){var s=0,r=t.getLeftOffset(),o=0,a=t.getElement();return new Promise(((h,n)=>{if(void 0===i&&(i=this.table.options.scrollToColumnPosition),void 0===e&&(e=this.table.options.scrollToColumnIfVisible),t.visible){switch(i){case"middle":case"center":o=-this.element.clientWidth/2;break;case"right":o=a.clientWidth-this.headersElement.clientWidth}if(!e&&r>0&&r+a.offsetWidth<this.element.clientWidth)return!1;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),h()}else console.warn("Scroll Error - Column not visible"),n("Scroll Error - Column not visible")}))}generateCells(t){var i=[];return this.columnsByIndex.forEach((e=>{i.push(e.generateCell(t))})),i}getFlexBaseWidth(){var t=this.table.element.clientWidth,i=0;return this.table.rowManager.element.scrollHeight>this.table.rowManager.element.clientHeight&&(t-=this.table.rowManager.element.offsetWidth-this.table.rowManager.element.clientWidth),this.columnsByIndex.forEach((function(e){var s,r,o;e.visible&&(s=e.definition.width||0,r=parseInt(e.minWidth),o="string"==typeof s?s.indexOf("%")>-1?t/100*parseInt(s):parseInt(s):s,i+=o>r?o:r)})),i}addColumn(t,i,e){return new Promise((s=>{var r=this._addColumn(t,i,e);this._reIndexColumns(),this.dispatch("column-add",t,i,e),"fitColumns"!=this.layoutMode()&&r.reinitializeWidth(),this.redraw(!0),this.table.rowManager.reinitialize(),this.rerenderColumns(),s(r)}))}deregisterColumn(t){var i,e=t.getField();e&&delete this.columnsByField[e],(i=this.columnsByIndex.indexOf(t))>-1&&this.columnsByIndex.splice(i,1),(i=this.columns.indexOf(t))>-1&&this.columns.splice(i,1),this.verticalAlignHeaders(),this.redraw()}rerenderColumns(t,i){this.redrawBlock?(!1===t||!0===t&&null===this.redrawBlockUpdate)&&(this.redrawBlockUpdate=t):this.renderer.rerenderColumns(t,i)}blockRedraw(){this.redrawBlock=!0,this.redrawBlockUpdate=null}restoreRedraw(){this.redrawBlock=!1,this.verticalAlignHeaders(),this.renderer.rerenderColumns(this.redrawBlockUpdate)}redraw(t){N.elVisible(this.element)&&this.verticalAlignHeaders(),t&&(this.table.rowManager.resetScroll(),this.table.rowManager.reinitialize()),this.confirm("table-redrawing",t)||this.layoutRefresh(t),this.dispatch("table-redraw",t),this.table.footerManager.redraw()}}class li extends oi{constructor(t){super(t),this.verticalFillMode="fill",this.scrollTop=0,this.scrollLeft=0,this.scrollTop=0,this.scrollLeft=0}clearRows(){for(var t=this.tableElement;t.firstChild;)t.removeChild(t.firstChild);t.scrollTop=0,t.scrollLeft=0,t.style.minWidth="",t.style.minHeight="",t.style.display="",t.style.visibility=""}renderRows(){var t=this.tableElement,i=!0,e=document.createDocumentFragment(),s=this.rows();s.forEach(((t,s)=>{this.styleRow(t,s),t.initialize(!1,!0),"group"!==t.type&&(i=!1),e.appendChild(t.getElement())})),t.appendChild(e),s.forEach((t=>{t.rendered(),t.heightInitialized||t.calcHeight(!0)})),s.forEach((t=>{t.heightInitialized||t.setCellHeight()})),t.style.minWidth=i?this.table.columnManager.getWidth()+"px":""}rerenderRows(t){this.clearRows(),t&&t(),this.renderRows(),this.rows().length||this.table.rowManager.tableEmpty()}scrollToRowNearestTop(t){var i=N.elOffset(t.getElement()).top;return!(Math.abs(this.elementVertical.scrollTop-i)>Math.abs(this.elementVertical.scrollTop+this.elementVertical.clientHeight-i))}scrollToRow(t){var i=t.getElement();this.elementVertical.scrollTop=N.elOffset(i).top-N.elOffset(this.elementVertical).top+this.elementVertical.scrollTop}visibleRows(t){return this.rows()}}class ui extends oi{constructor(t){super(t),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 t=this.tableElement;t.firstChild;)t.removeChild(t.firstChild);t.style.paddingTop="",t.style.paddingBottom="",t.style.minHeight="",t.style.display="",t.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(t){for(var i=this.elementVertical.scrollTop,e=!1,s=!1,r=this.table.rowManager.scrollLeft,o=this.rows(),a=this.vDomTop;a<=this.vDomBottom;a++)if(o[a]){var h=i-o[a].getElement().offsetTop;if(!(!1===s||Math.abs(h)<s))break;s=h,e=a}o.forEach((t=>{t.deinitializeHeight()})),t&&t(),this.rows().length?this._virtualRenderFill(!1===e?this.rows.length-1:e,!0,s||0):(this.clear(),this.table.rowManager.tableEmpty()),this.scrollColumns(r)}scrollColumns(t){this.table.rowManager.scrollHorizontal(t)}scrollRows(t,i){var e=t-this.vDomScrollPosTop,s=t-this.vDomScrollPosBottom,r=2*this.vDomWindowBuffer,o=this.rows();if(this.scrollTop=t,-e>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 i?(e<0&&this._addTopRow(o,-e),s<0&&(this.vDomScrollHeight-this.scrollTop>this.vDomWindowBuffer?this._removeBottomRow(o,-s):this.vDomScrollPosBottom=this.scrollTop)):(s>=0&&this._addBottomRow(o,s),e>=0&&(this.scrollTop>this.vDomWindowBuffer?this._removeTopRow(o,e):this.vDomScrollPosTop=this.scrollTop))}resize(){this.vDomWindowBuffer=this.table.options.renderVerticalBuffer||this.elementVertical.clientHeight}scrollToRowNearestTop(t){var i=this.rows().indexOf(t);return!(Math.abs(this.vDomTop-i)>Math.abs(this.vDomBottom-i))}scrollToRow(t){var i=this.rows().indexOf(t);i>-1&&this._virtualRenderFill(i,!0)}visibleRows(t){var i=this.elementVertical.scrollTop,e=this.elementVertical.clientHeight+i,s=!1,r=0,o=0,a=this.rows();if(t)r=this.vDomTop,o=this.vDomBottom;else for(var h=this.vDomTop;h<=this.vDomBottom;h++)if(a[h])if(s){if(!(e-a[h].getElement().offsetTop>=0))break;o=h}else if(i-a[h].getElement().offsetTop>=0)r=h;else{if(s=!0,!(e-a[h].getElement().offsetTop>=0))break;o=h}return a.slice(r,o+1)}_virtualRenderFill(t,i,e){var s,r,o=this.tableElement,a=this.elementVertical,h=0,n=0,l=0,u=0,c=0,d=0,b=this.rows(),p=b.length,m=0,f=[],g=0,v=0,w=this.table.rowManager.fixedHeight,y=this.elementVertical.clientHeight,x=this.table.options.rowHeight,k=!0;if(e=e||0,t=t||0){for(;o.firstChild;)o.removeChild(o.firstChild);(u=(p-t+1)*this.vDomRowHeight)<y&&(t-=Math.ceil((y-u)/this.vDomRowHeight))<0&&(t=0),t-=h=Math.min(Math.max(Math.floor(this.vDomWindowBuffer/this.vDomRowHeight),this.vDomWindowMinMarginRows),t)}else this.clear();if(p&&N.elVisible(this.elementVertical)){for(this.vDomTop=t,this.vDomBottom=t-1,w||this.table.options.maxHeight?(x&&(v=y/x+this.vDomWindowBuffer/x),v=Math.max(this.vDomWindowMinTotalRows,Math.ceil(v))):v=p;(v==p||n<=y+this.vDomWindowBuffer||g<this.vDomWindowMinTotalRows)&&this.vDomBottom<p-1;){for(f=[],r=document.createDocumentFragment(),d=0;d<v&&this.vDomBottom<p-1;)this.styleRow(s=b[m=this.vDomBottom+1],m),s.initialize(!1,!0),s.heightInitialized||this.table.options.rowHeight||s.clearCellHeight(),r.appendChild(s.getElement()),f.push(s),this.vDomBottom++,d++;if(!f.length)break;o.appendChild(r),f.forEach((t=>{t.rendered(),t.heightInitialized||t.calcHeight(!0)})),f.forEach((t=>{t.heightInitialized||t.setCellHeight()})),f.forEach((t=>{l=t.getHeight(),g<h?c+=l:n+=l,l>this.vDomWindowBuffer&&(this.vDomWindowBuffer=2*l),g++})),k=this.table.rowManager.adjustTableSize(),y=this.elementVertical.clientHeight,k&&(w||this.table.options.maxHeight)&&(x=n/g,v=Math.max(this.vDomWindowMinTotalRows,Math.ceil(y/x+this.vDomWindowBuffer/x)))}t?(this.vDomTopPad=i?this.vDomRowHeight*this.vDomTop+e:this.scrollTop-c,this.vDomBottomPad=this.vDomBottom==p-1?0:Math.max(this.vDomScrollHeight-this.vDomTopPad-n-c,0)):(this.vDomTopPad=0,this.vDomRowHeight=Math.floor((n+c)/g),this.vDomBottomPad=this.vDomRowHeight*(p-this.vDomBottom-1),this.vDomScrollHeight=c+n+this.vDomBottomPad-y),o.style.paddingTop=this.vDomTopPad+"px",o.style.paddingBottom=this.vDomBottomPad+"px",i&&(this.scrollTop=this.vDomTopPad+c+e-(this.elementVertical.scrollWidth>this.elementVertical.clientWidth?this.elementVertical.offsetHeight-y:0)),this.scrollTop=Math.min(this.scrollTop,this.elementVertical.scrollHeight-y),this.elementVertical.scrollWidth>this.elementVertical.clientWidth&&i&&(this.scrollTop+=this.elementVertical.offsetHeight-y),this.vDomScrollPosTop=this.scrollTop,this.vDomScrollPosBottom=this.scrollTop,a.scrollTop=this.scrollTop,this.dispatch("render-virtual-fill")}}_addTopRow(t,i){for(var e=this.tableElement,s=[],r=0,o=this.vDomTop-1,a=0,h=!0;h;)if(this.vDomTop){let n,l,u=t[o];u&&a<this.vDomMaxRenderChain?(n=u.getHeight()||this.vDomRowHeight,l=u.initialized,i>=n?(this.styleRow(u,o),e.insertBefore(u.getElement(),e.firstChild),u.initialized&&u.heightInitialized||s.push(u),u.initialize(),l||(n=u.getElement().offsetHeight,n>this.vDomWindowBuffer&&(this.vDomWindowBuffer=2*n)),i-=n,r+=n,this.vDomTop--,o--,a++):h=!1):h=!1}else h=!1;for(let t of s)t.clearCellHeight();this._quickNormalizeRowHeight(s),r&&(this.vDomTopPad-=r,this.vDomTopPad<0&&(this.vDomTopPad=o*this.vDomRowHeight),o<1&&(this.vDomTopPad=0),e.style.paddingTop=this.vDomTopPad+"px",this.vDomScrollPosTop-=r)}_removeTopRow(t,i){for(var e=[],s=0,r=0,o=!0;o;){let a,h=t[this.vDomTop];h&&r<this.vDomMaxRenderChain?(a=h.getHeight()||this.vDomRowHeight,i>=a?(this.vDomTop++,i-=a,s+=a,e.push(h),r++):o=!1):o=!1}for(let t of e){let i=t.getElement();i.parentNode&&i.parentNode.removeChild(i)}s&&(this.vDomTopPad+=s,this.tableElement.style.paddingTop=this.vDomTopPad+"px",this.vDomScrollPosTop+=this.vDomTop?s:s+this.vDomWindowBuffer)}_addBottomRow(t,i){for(var e=this.tableElement,s=[],r=0,o=this.vDomBottom+1,a=0,h=!0;h;){let n,l,u=t[o];u&&a<this.vDomMaxRenderChain?(n=u.getHeight()||this.vDomRowHeight,l=u.initialized,i>=n?(this.styleRow(u,o),e.appendChild(u.getElement()),u.initialized&&u.heightInitialized||s.push(u),u.initialize(),l||(n=u.getElement().offsetHeight,n>this.vDomWindowBuffer&&(this.vDomWindowBuffer=2*n)),i-=n,r+=n,this.vDomBottom++,o++,a++):h=!1):h=!1}for(let t of s)t.clearCellHeight();this._quickNormalizeRowHeight(s),r&&(this.vDomBottomPad-=r,(this.vDomBottomPad<0||o==t.length-1)&&(this.vDomBottomPad=0),e.style.paddingBottom=this.vDomBottomPad+"px",this.vDomScrollPosBottom+=r)}_removeBottomRow(t,i){for(var e=[],s=0,r=0,o=!0;o;){let a,h=t[this.vDomBottom];h&&r<this.vDomMaxRenderChain?(a=h.getHeight()||this.vDomRowHeight,i>=a?(this.vDomBottom--,i-=a,s+=a,e.push(h),r++):o=!1):o=!1}for(let t of e){let i=t.getElement();i.parentNode&&i.parentNode.removeChild(i)}s&&(this.vDomBottomPad+=s,this.vDomBottomPad<0&&(this.vDomBottomPad=0),this.tableElement.style.paddingBottom=this.vDomBottomPad+"px",this.vDomScrollPosBottom-=s)}_quickNormalizeRowHeight(t){for(let i of t)i.calcHeight();for(let i of t)i.setCellHeight()}}class ci extends j{constructor(t){super(t),this.element=this.createHolderElement(),this.tableElement=this.createTableElement(),this.heightFixer=this.createTableElement(),this.placeholder=null,this.placeholderContents=null,this.firstRender=!1,this.renderMode="virtual",this.fixedHeight=!1,this.rows=[],this.activeRowsPipeline=[],this.activeRows=[],this.activeRowsCount=0,this.displayRows=[],this.displayRowsCount=0,this.scrollTop=0,this.scrollLeft=0,this.redrawBlock=!1,this.redrawBlockRestoreConfig=!1,this.redrawBlockRenderInPosition=!1,this.dataPipeline=[],this.displayPipeline=[],this.scrollbarWidth=0,this.renderer=null}createHolderElement(){var t=document.createElement("div");return t.classList.add("tabulator-tableholder"),t.setAttribute("tabindex",0),t}createTableElement(){var t=document.createElement("div");return t.classList.add("tabulator-table"),t.setAttribute("role","rowgroup"),t}initializePlaceholder(){var t=this.table.options.placeholder;if("function"==typeof t&&(t=t.call(this.table)),t=this.chain("placeholder",[t],t,t)||t){let i=document.createElement("div");if(i.classList.add("tabulator-placeholder"),"string"==typeof t){let e=document.createElement("div");e.classList.add("tabulator-placeholder-contents"),e.innerHTML=t,i.appendChild(e),this.placeholderContents=e}else"undefined"!=typeof HTMLElement&&t instanceof HTMLElement?(i.appendChild(t),this.placeholderContents=t):(console.warn("Invalid placeholder provided, must be string or HTML Element",t),this.el=null);this.placeholder=i}}getElement(){return this.element}getTableElement(){return this.tableElement}initialize(){this.initializePlaceholder(),this.initializeRenderer(),this.element.appendChild(this.tableElement),this.firstRender=!0,this.element.addEventListener("scroll",(()=>{var t=this.element.scrollLeft,i=this.scrollLeft>t,e=this.element.scrollTop,s=this.scrollTop>e;this.scrollLeft!=t&&(this.scrollLeft=t,this.dispatch("scroll-horizontal",t,i),this.dispatchExternal("scrollHorizontal",t,i),this._positionPlaceholder()),this.scrollTop!=e&&(this.scrollTop=e,this.renderer.scrollRows(e,s),this.dispatch("scroll-vertical",e,s),this.dispatchExternal("scrollVertical",e,s))}))}findRow(t){return"object"!=typeof t?void 0!==t&&(this.rows.find((i=>i.data[this.table.options.index]==t))||!1):t instanceof rt?t:t instanceof st?t._getSelf()||!1:"undefined"!=typeof HTMLElement&&t instanceof HTMLElement&&this.rows.find((i=>i.getElement()===t))||!1}getRowFromDataObject(t){return this.rows.find((i=>i.data===t))||!1}getRowFromPosition(t){return this.getDisplayRows().find((i=>"row"===i.type&&i.getPosition()===t&&i.isDisplayed()))}scrollToRow(t,i,e){return this.renderer.scrollToRowPosition(t,i,e)}setData(t,i,e){return new Promise((s=>{i&&this.getDisplayRows().length?this.table.options.pagination?this._setDataActual(t,!0):this.reRenderInPosition((()=>{this._setDataActual(t)})):(this.table.options.autoColumns&&e&&this.table.initialized&&this.table.columnManager.generateColumnsFromRowData(t),this.resetScroll(),this._setDataActual(t)),s()}))}_setDataActual(t,i){this.dispatchExternal("dataProcessing",t),this._wipeElements(),Array.isArray(t)?(this.dispatch("data-processing",t),t.forEach((t=>{if(t&&"object"==typeof t){var i=new rt(t,this);this.rows.push(i)}else console.warn("Data Loading Warning - Invalid row data detected and ignored, expecting object but received:",t)})),this.refreshActiveData(!1,!1,i),this.dispatch("data-processed",t),this.dispatchExternal("dataProcessed",t)):console.error("Data Loading Error - Unable to process data due to invalid data type \nExpecting: array \nReceived: ",typeof t,"\nData: ",t)}_wipeElements(){this.dispatch("rows-wipe"),this.destroy(),this.adjustTableSize(),this.dispatch("rows-wiped")}destroy(){this.rows.forEach((t=>{t.wipe()})),this.rows=[],this.activeRows=[],this.activeRowsPipeline=[],this.activeRowsCount=0,this.displayRows=[],this.displayRowsCount=0}deleteRow(t,i){var e=this.rows.indexOf(t),s=this.activeRows.indexOf(t);s>-1&&this.activeRows.splice(s,1),e>-1&&this.rows.splice(e,1),this.setActiveRows(this.activeRows),this.displayRowIterator((i=>{var e=i.indexOf(t);e>-1&&i.splice(e,1)})),i||this.reRenderInPosition(),this.regenerateRowPositions(),this.dispatchExternal("rowDeleted",t.getComponent()),this.displayRowsCount||this.tableEmpty(),this.subscribedExternal("dataChanged")&&this.dispatchExternal("dataChanged",this.getData())}addRow(t,i,e,s){return this.addRowActual(t,i,e,s)}addRows(t,i,e,s){var r=[];return new Promise((o=>{i=this.findAddRowPos(i),Array.isArray(t)||(t=[t]),(void 0===e&&i||void 0!==e&&!i)&&t.reverse(),t.forEach((t=>{var s=this.addRow(t,i,e,!0);r.push(s),this.dispatch("row-added",s,t,i,e)})),this.refreshActiveData(!!s&&"displayPipeline",!1,!0),this.regenerateRowPositions(),this.displayRowsCount&&this._clearPlaceholder(),o(r)}))}findAddRowPos(t){return void 0===t&&(t=this.table.options.addRowPos),"pos"===t&&(t=!0),"bottom"===t&&(t=!1),t}addRowActual(t,i,e,s){var r,o,a=t instanceof rt?t:new rt(t||{},this),h=this.findAddRowPos(i),n=-1;return e||(o=this.chain("row-adding-position",[a,h],null,{index:e,top:h}),e=o.index,h=o.top),void 0!==e&&(e=this.findRow(e)),(e=this.chain("row-adding-index",[a,e,h],null,e))&&(n=this.rows.indexOf(e)),e&&n>-1?(r=this.activeRows.indexOf(e),this.displayRowIterator((function(t){var i=t.indexOf(e);i>-1&&t.splice(h?i:i+1,0,a)})),r>-1&&this.activeRows.splice(h?r:r+1,0,a),this.rows.splice(h?n:n+1,0,a)):h?(this.displayRowIterator((function(t){t.unshift(a)})),this.activeRows.unshift(a),this.rows.unshift(a)):(this.displayRowIterator((function(t){t.push(a)})),this.activeRows.push(a),this.rows.push(a)),this.setActiveRows(this.activeRows),this.dispatchExternal("rowAdded",a.getComponent()),this.subscribedExternal("dataChanged")&&this.dispatchExternal("dataChanged",this.table.rowManager.getData()),s||this.reRenderInPosition(),a}moveRow(t,i,e){this.dispatch("row-move",t,i,e),this.moveRowActual(t,i,e),this.regenerateRowPositions(),this.dispatch("row-moved",t,i,e),this.dispatchExternal("rowMoved",t.getComponent())}moveRowActual(t,i,e){this.moveRowInArray(this.rows,t,i,e),this.moveRowInArray(this.activeRows,t,i,e),this.displayRowIterator((s=>{this.moveRowInArray(s,t,i,e)})),this.dispatch("row-moving",t,i,e)}moveRowInArray(t,i,e,s){var r,o,a;if(i!==e&&((r=t.indexOf(i))>-1&&(t.splice(r,1),o=t.indexOf(e),t.splice(o>-1?s?o+1:o:r,0,i)),t===this.getDisplayRows())){a=o>r?o:r+1;for(let i=r<o?r:o;i<=a;i++)t[i]&&this.styleRow(t[i],i)}}clearData(){this.setData([])}getRowIndex(t){return this.findRowIndex(t,this.rows)}getDisplayRowIndex(t){var i=this.getDisplayRows().indexOf(t);return i>-1&&i}nextDisplayRow(t,i){var e=this.getDisplayRowIndex(t),s=!1;return!1!==e&&e<this.displayRowsCount-1&&(s=this.getDisplayRows()[e+1]),!s||s instanceof rt&&"row"==s.type?s:this.nextDisplayRow(s,i)}prevDisplayRow(t,i){var e=this.getDisplayRowIndex(t),s=!1;return e&&(s=this.getDisplayRows()[e-1]),!i||!s||s instanceof rt&&"row"==s.type?s:this.prevDisplayRow(s,i)}findRowIndex(t,i){var e;return!!((t=this.findRow(t))&&(e=i.indexOf(t))>-1)&&e}getData(t,i){var e=[];return this.getRows(t).forEach((function(t){"row"==t.type&&e.push(t.getData(i||"data"))})),e}getComponents(t){var i=[];return this.getRows(t).forEach((function(t){i.push(t.getComponent())})),i}getDataCount(t){return this.getRows(t).length}scrollHorizontal(t){this.scrollLeft=t,this.element.scrollLeft=t,this.dispatch("scroll-horizontal",t)}registerDataPipelineHandler(t,i){void 0!==i?(this.dataPipeline.push({handler:t,priority:i}),this.dataPipeline.sort(((t,i)=>t.priority-i.priority))):console.error("Data pipeline handlers must have a priority in order to be registered")}registerDisplayPipelineHandler(t,i){void 0!==i?(this.displayPipeline.push({handler:t,priority:i}),this.displayPipeline.sort(((t,i)=>t.priority-i.priority))):console.error("Display pipeline handlers must have a priority in order to be registered")}refreshActiveData(t,i,e){var s=this.table,r="",o=0,a=["all","dataPipeline","display","displayPipeline","end"];if(!this.table.destroyed){if("function"==typeof t)if((o=this.dataPipeline.findIndex((i=>i.handler===t)))>-1)r="dataPipeline",i&&(o==this.dataPipeline.length-1?r="display":o++);else{if(!((o=this.displayPipeline.findIndex((i=>i.handler===t)))>-1))return void console.error("Unable to refresh data, invalid handler provided",t);r="displayPipeline",i&&(o==this.displayPipeline.length-1?r="end":o++)}else r=t||"all",o=0;if(this.redrawBlock)return void((!this.redrawBlockRestoreConfig||this.redrawBlockRestoreConfig&&(this.redrawBlockRestoreConfig.stage===r&&o<this.redrawBlockRestoreConfig.index||a.indexOf(r)<a.indexOf(this.redrawBlockRestoreConfig.stage)))&&(this.redrawBlockRestoreConfig={handler:t,skipStage:i,renderInPosition:e,stage:r,index:o}));N.elVisible(this.element)?e?this.reRenderInPosition(this.refreshPipelines.bind(this,t,r,o,e)):(this.refreshPipelines(t,r,o,e),t||this.table.columnManager.renderer.renderColumns(),this.renderTable(),s.options.layoutColumnsOnNewData&&this.table.columnManager.redraw(!0)):this.refreshPipelines(t,r,o,e),this.dispatch("data-refreshed")}}refreshPipelines(t,i,e,s){switch(this.dispatch("data-refreshing"),t&&this.activeRowsPipeline[0]||(this.activeRowsPipeline[0]=this.rows.slice(0)),i){case"all":case"dataPipeline":for(let t=e;t<this.dataPipeline.length;t++){let i=this.dataPipeline[t].handler(this.activeRowsPipeline[t].slice(0));this.activeRowsPipeline[t+1]=i||this.activeRowsPipeline[t].slice(0)}this.setActiveRows(this.activeRowsPipeline[this.dataPipeline.length]);case"display":e=0,this.resetDisplayRows();case"displayPipeline":for(let t=e;t<this.displayPipeline.length;t++){let i=this.displayPipeline[t].handler((t?this.getDisplayRows(t-1):this.activeRows).slice(0),s);this.setDisplayRows(i||this.getDisplayRows(t-1).slice(0),t)}case"end":this.regenerateRowPositions()}this.getDisplayRows().length&&this._clearPlaceholder()}regenerateRowPositions(){var t=this.getDisplayRows(),i=1;t.forEach((t=>{"row"===t.type&&(t.setPosition(i),i++)}))}setActiveRows(t){this.activeRows=this.activeRows=Object.assign([],t),this.activeRowsCount=this.activeRows.length}resetDisplayRows(){this.displayRows=[],this.displayRows.push(this.activeRows.slice(0)),this.displayRowsCount=this.displayRows[0].length}setDisplayRows(t,i){this.displayRows[i]=t,i==this.displayRows.length-1&&(this.displayRowsCount=this.displayRows[this.displayRows.length-1].length)}getDisplayRows(t){return void 0===t?this.displayRows.length?this.displayRows[this.displayRows.length-1]:[]:this.displayRows[t]||[]}getVisibleRows(t,i){var e=Object.assign([],this.renderer.visibleRows(!i));return t&&(e=this.chain("rows-visible",[i],e,e)),e}displayRowIterator(t){this.activeRowsPipeline.forEach(t),this.displayRows.forEach(t),this.displayRowsCount=this.displayRows[this.displayRows.length-1].length}getRows(t){var i=[];switch(t){case"active":i=this.activeRows;break;case"display":i=this.table.rowManager.getDisplayRows();break;case"visible":i=this.getVisibleRows(!1,!0);break;default:i=this.chain("rows-retrieve",t,null,this.rows)||this.rows}return i}reRenderInPosition(t){this.redrawBlock?t?t():this.redrawBlockRenderInPosition=!0:(this.dispatchExternal("renderStarted"),this.renderer.rerenderRows(t),this.fixedHeight||this.adjustTableSize(),this.scrollBarCheck(),this.dispatchExternal("renderComplete"))}scrollBarCheck(){var t=0;this.element.scrollHeight>this.element.clientHeight&&(t=this.element.offsetWidth-this.element.clientWidth),t!==this.scrollbarWidth&&(this.scrollbarWidth=t,this.dispatch("scrollbar-vertical",t))}initializeRenderer(){var t;(t="string"==typeof this.table.options.renderVertical?{virtual:ui,basic:li}[this.table.options.renderVertical]:this.table.options.renderVertical)?(this.renderMode=this.table.options.renderVertical,this.renderer=new t(this.table,this.element,this.tableElement),this.renderer.initialize(),this.fixedHeight=!(!this.table.element.clientHeight&&!this.table.options.height||this.table.options.minHeight&&this.table.options.maxHeight)):console.error("Unable to find matching renderer:",this.table.options.renderVertical)}getRenderMode(){return this.renderMode}renderTable(){this.dispatchExternal("renderStarted"),this.element.scrollTop=0,this._clearTable(),this.displayRowsCount?(this.renderer.renderRows(),this.firstRender&&(this.firstRender=!1,this.fixedHeight||this.adjustTableSize(),this.layoutRefresh(!0))):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(t,i){var e=t.getElement();i%2?(e.classList.add("tabulator-row-even"),e.classList.remove("tabulator-row-odd")):(e.classList.add("tabulator-row-odd"),e.classList.remove("tabulator-row-even"))}normalizeHeight(t){this.activeRows.forEach((function(i){i.normalizeHeight(t)}))}adjustTableSize(){let t,i=this.element.clientHeight,e=!1;if("fill"===this.renderer.verticalFillMode){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";const i="calc(100% - "+s+"px)";this.element.style.minHeight=t||"calc(100% - "+s+"px)",this.element.style.height=i,this.element.style.maxHeight=i}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||i==this.element.clientHeight||(e=!0,this.subscribed("table-resize")?this.dispatch("table-resize"):this.redraw()),this.scrollBarCheck()}return this._positionPlaceholder(),e}reinitialize(){this.rows.forEach((function(t){t.reinitialize(!0)}))}blockRedraw(){this.redrawBlock=!0,this.redrawBlockRestoreConfig=!1}restoreRedraw(){this.redrawBlock=!1,this.redrawBlockRestoreConfig?(this.refreshActiveData(this.redrawBlockRestoreConfig.handler,this.redrawBlockRestoreConfig.skipStage,this.redrawBlockRestoreConfig.renderInPosition),this.redrawBlockRestoreConfig=!1):this.redrawBlockRenderInPosition&&this.reRenderInPosition(),this.redrawBlockRenderInPosition=!1}redraw(t){this.adjustTableSize(),this.table.tableWidth=this.table.element.clientWidth,t?this.renderTable():(this.reRenderInPosition(),this.scrollHorizontal(this.scrollLeft))}resetScroll(){if(this.element.scrollLeft=0,this.element.scrollTop=0,"ie"===this.table.browser){var t=document.createEvent("Event");t.initEvent("scroll",!1,!0),this.element.dispatchEvent(t)}else this.element.dispatchEvent(new Event("scroll"))}}class di extends j{constructor(t){super(t),this.active=!1,this.element=this.createElement(),this.containerElement=this.createContainerElement(),this.external=!1}initialize(){this.initializeElement()}createElement(){var t=document.createElement("div");return t.classList.add("tabulator-footer"),t}createContainerElement(){var t=document.createElement("div");return t.classList.add("tabulator-footer-contents"),this.element.appendChild(t),t}initializeElement(){this.table.options.footerElement&&("string"==typeof this.table.options.footerElement?"<"===this.table.options.footerElement[0]?this.containerElement.innerHTML=this.table.options.footerElement:(this.external=!0,this.containerElement=document.querySelector(this.table.options.footerElement)):this.element=this.table.options.footerElement)}getElement(){return this.element}append(t){this.activate(),this.containerElement.appendChild(t),this.table.rowManager.adjustTableSize()}prepend(t){this.activate(),this.element.insertBefore(t,this.element.firstChild),this.table.rowManager.adjustTableSize()}remove(t){t.parentNode.removeChild(t),this.deactivate()}deactivate(t){this.element.firstChild&&!t||(this.external||this.element.parentNode.removeChild(this.element),this.active=!1)}activate(){this.active||(this.active=!0,this.external||(this.table.element.appendChild(this.getElement()),this.table.element.style.display=""))}redraw(){this.dispatch("footer-redraw")}}class bi extends j{constructor(t){super(t),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=!1}initialize(){this.el=this.table.element,this.buildListenerMap(),this.bindSubscriptionWatchers()}buildListenerMap(){var t={};this.listeners.forEach((i=>{t[i]={handler:null,components:[]}})),this.listeners=t}bindPseudoEvents(){Object.keys(this.pseudoTrackers).forEach((t=>{this.pseudoTrackers[t].subscriber=this.pseudoMouseEnter.bind(this,t),this.subscribe(t+"-mouseover",this.pseudoTrackers[t].subscriber)})),this.pseudoTracking=!0}pseudoMouseEnter(t,i,e){this.pseudoTrackers[t].target!==e&&(this.pseudoTrackers[t].target&&this.dispatch(t+"-mouseleave",i,this.pseudoTrackers[t].target),this.pseudoMouseLeave(t,i),this.pseudoTrackers[t].target=e,this.dispatch(t+"-mouseenter",i,e))}pseudoMouseLeave(t,i){var e=Object.keys(this.pseudoTrackers),s={row:["cell"],cell:["row"]};(e=e.filter((i=>{var e=s[t];return i!==t&&(!e||e&&!e.includes(i))}))).forEach((t=>{this.pseudoTrackers[t].target&&(this.dispatch(t+"-mouseleave",i,this.pseudoTrackers[t].target),this.pseudoTrackers[t].target=null)}))}bindSubscriptionWatchers(){var t=Object.keys(this.listeners),i=Object.values(this.componentMap);for(let e of i)for(let i of t)this.subscriptionChange(e+"-"+i,this.subscriptionChanged.bind(this,e,i));this.subscribe("table-destroy",this.clearWatchers.bind(this))}subscriptionChanged(t,i,e){var s=this.listeners[i].components,r=s.indexOf(t),o=!1;e?-1===r&&(s.push(t),o=!0):this.subscribed(t+"-"+i)||r>-1&&(s.splice(r,1),o=!0),"mouseenter"!==i&&"mouseleave"!==i||this.pseudoTracking||this.bindPseudoEvents(),o&&this.updateEventListeners()}updateEventListeners(){for(let t in this.listeners){let i=this.listeners[t];i.components.length?i.handler||(i.handler=this.track.bind(this,t),this.el.addEventListener(t,i.handler)):i.handler&&(this.el.removeEventListener(t,i.handler),i.handler=null)}}track(t,i){var e=i.composedPath&&i.composedPath()||i.path,s=this.findTargets(e);s=this.bindComponents(t,s),this.triggerEvents(t,i,s),!this.pseudoTracking||"mouseover"!=t&&"mouseleave"!=t||Object.keys(s).length||this.pseudoMouseLeave("none",i)}findTargets(t){var i={};let e=Object.keys(this.componentMap);for(let s of t){let t=s.classList?[...s.classList]:[];if(t.filter((t=>this.abortClasses.includes(t))).length)break;let r=t.filter((t=>e.includes(t)));for(let t of r)i[this.componentMap[t]]||(i[this.componentMap[t]]=s)}return i.group&&i.group===i.row&&delete i.row,i}bindComponents(t,i){var e=Object.keys(i).reverse(),s=this.listeners[t],r={},o={},a={};for(let t of e){let e,o=i[t],h=this.previousTargets[t];if(h&&h.target===o)e=h.component;else switch(t){case"row":case"group":(s.components.includes("row")||s.components.includes("cell")||s.components.includes("group"))&&(e=this.table.rowManager.getVisibleRows(!0).find((t=>t.getElement()===o)),i.row&&i.row.parentNode&&i.row.parentNode.closest(".tabulator-row")&&(i[t]=!1));break;case"column":s.components.includes("column")&&(e=this.table.columnManager.findColumn(o));break;case"cell":s.components.includes("cell")&&(r.row instanceof rt?e=r.row.findCell(o):i.row&&console.warn("Event Target Lookup Error - The row this cell is attached to cannot be found, has the table been reinitialized without being destroyed first?"))}e&&(r[t]=e,a[t]={target:o,component:e})}return this.previousTargets=a,Object.keys(i).forEach((t=>{o[t]=r[t]})),o}triggerEvents(t,i,e){var s=this.listeners[t];for(let r in e)e[r]&&s.components.includes(r)&&this.dispatch(r+"-"+t,i,e[r])}clearWatchers(){for(let t in this.listeners){let i=this.listeners[t];i.handler&&(this.el.removeEventListener(t,i.handler),i.handler=null)}}}class pi{constructor(t){this.table=t,this.bindings={}}bind(t,i,e){this.bindings[t]||(this.bindings[t]={}),this.bindings[t][i]?console.warn("Unable to bind component handler, a matching function name is already bound",t,i,e):this.bindings[t][i]=e}handle(t,i,e){if(this.bindings[t]&&this.bindings[t][e]&&"function"==typeof this.bindings[t][e].bind)return this.bindings[t][e].bind(null,i);"then"===e||"string"!=typeof e||e.startsWith("_")||this.table.options.debugInvalidComponentFuncs&&console.error("The "+t+" component does not have a "+e+" function, have you checked that you have the correct Tabulator module installed?")}}class mi extends j{constructor(t){super(t),this.requestOrder=0,this.loading=!1}initialize(){}load(t,i,e,s,r,o){var a=++this.requestOrder;return this.table.destroyed?Promise.resolve():(this.dispatchExternal("dataLoading",t),!t||0!=t.indexOf("{")&&0!=t.indexOf("[")||(t=JSON.parse(t)),this.confirm("data-loading",[t,i,e,r])?(this.loading=!0,r||this.alertLoader(),i=this.chain("data-params",[t,e,r],i||{},i||{}),i=this.mapParams(i,this.table.options.dataSendParams),this.chain("data-load",[t,i,e,r],!1,Promise.resolve([])).then((t=>{if(this.table.destroyed)console.warn("Data Load Response Blocked - Table has been destroyed");else{Array.isArray(t)||"object"!=typeof t||(t=this.mapParams(t,this.objectInvert(this.table.options.dataReceiveParams)));var i=this.chain("data-loaded",[t],null,t);a==this.requestOrder?(this.clearAlert(),!1!==i&&(this.dispatchExternal("dataLoaded",i),this.table.rowManager.setData(i,s,void 0===o?!s:o))):console.warn("Data Load Response Blocked - An active data load request was blocked by an attempt to change table data while the request was being made")}})).catch((t=>{console.error("Data Load Error: ",t),this.dispatchExternal("dataLoadError",t),r||this.alertError(),setTimeout((()=>{this.clearAlert()}),this.table.options.dataLoaderErrorTimeout)})).finally((()=>{this.loading=!1}))):(this.dispatchExternal("dataLoaded",t),t||(t=[]),this.table.rowManager.setData(t,s,void 0===o?!s:o),Promise.resolve()))}mapParams(t,i){var e={};for(let s in t)e[i.hasOwnProperty(s)?i[s]:s]=t[s];return e}objectInvert(t){var i={};for(let e in t)i[t[e]]=e;return i}blockActiveLoad(){this.requestOrder++}alertLoader(){("function"==typeof this.table.options.dataLoader?this.table.options.dataLoader():this.table.options.dataLoader)&&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()}}class fi{constructor(t,i,e){this.table=t,this.events={},this.optionsList=i||{},this.subscriptionNotifiers={},this.dispatch=e?this._debugDispatch.bind(this):this._dispatch.bind(this),this.debug=e}subscriptionChange(t,i){this.subscriptionNotifiers[t]||(this.subscriptionNotifiers[t]=[]),this.subscriptionNotifiers[t].push(i),this.subscribed(t)&&this._notifySubscriptionChange(t,!0)}subscribe(t,i){this.events[t]||(this.events[t]=[]),this.events[t].push(i),this._notifySubscriptionChange(t,!0)}unsubscribe(t,i){var e;if(this.events[t]){if(i){if(!((e=this.events[t].findIndex((t=>t===i)))>-1))return void console.warn("Cannot remove event, no matching event found:",t,i);this.events[t].splice(e,1)}else delete this.events[t];this._notifySubscriptionChange(t,!1)}else console.warn("Cannot remove event, no events set on:",t)}subscribed(t){return this.events[t]&&this.events[t].length}_notifySubscriptionChange(t,i){var e=this.subscriptionNotifiers[t];e&&e.forEach((t=>{t(i)}))}_dispatch(){var t,i=Array.from(arguments),e=i.shift();return this.events[e]&&this.events[e].forEach(((e,s)=>{let r=e.apply(this.table,i);s||(t=r)})),t}_debugDispatch(){var t=Array.from(arguments),i=t[0];return t[0]="ExternalEvent:"+t[0],(!0===this.debug||this.debug.includes(i))&&console.log(...t),this._dispatch(...arguments)}}class gi{constructor(t){this.events={},this.subscriptionNotifiers={},this.dispatch=t?this._debugDispatch.bind(this):this._dispatch.bind(this),this.chain=t?this._debugChain.bind(this):this._chain.bind(this),this.confirm=t?this._debugConfirm.bind(this):this._confirm.bind(this),this.debug=t}subscriptionChange(t,i){this.subscriptionNotifiers[t]||(this.subscriptionNotifiers[t]=[]),this.subscriptionNotifiers[t].push(i),this.subscribed(t)&&this._notifySubscriptionChange(t,!0)}subscribe(t,i,e=1e4){this.events[t]||(this.events[t]=[]),this.events[t].push({callback:i,priority:e}),this.events[t].sort(((t,i)=>t.priority-i.priority)),this._notifySubscriptionChange(t,!0)}unsubscribe(t,i){var e;if(this.events[t]){if(i){if(!((e=this.events[t].findIndex((t=>t.callback===i)))>-1))return void console.warn("Cannot remove event, no matching event found:",t,i);this.events[t].splice(e,1)}this._notifySubscriptionChange(t,!1)}else console.warn("Cannot remove event, no events set on:",t)}subscribed(t){return this.events[t]&&this.events[t].length}_chain(t,i,e,s){var r=e;return Array.isArray(i)||(i=[i]),this.subscribed(t)?(this.events[t].forEach((t=>{r=t.callback.apply(this,i.concat([r]))})),r):"function"==typeof s?s():s}_confirm(t,i){var e=!1;return Array.isArray(i)||(i=[i]),this.subscribed(t)&&this.events[t].forEach((t=>{t.callback.apply(this,i)&&(e=!0)})),e}_notifySubscriptionChange(t,i){var e=this.subscriptionNotifiers[t];e&&e.forEach((t=>{t(i)}))}_dispatch(){var t=Array.from(arguments),i=t.shift();this.events[i]&&this.events[i].forEach((i=>{i.callback.apply(this,t)}))}_debugDispatch(){var t=Array.from(arguments),i=t[0];return t[0]="InternalEvent:"+i,(!0===this.debug||this.debug.includes(i))&&console.log(...t),this._dispatch(...arguments)}_debugChain(){var t=Array.from(arguments),i=t[0];return t[0]="InternalEvent:"+i,(!0===this.debug||this.debug.includes(i))&&console.log(...t),this._chain(...arguments)}_debugConfirm(){var t=Array.from(arguments),i=t[0];return t[0]="InternalEvent:"+i,(!0===this.debug||this.debug.includes(i))&&console.log(...t),this._confirm(...arguments)}}class vi extends j{constructor(t){super(t)}_warnUser(){this.options("debugDeprecation")&&console.warn(...arguments)}check(t,i,e){var s="";return void 0===this.options(t)||(s="Deprecated Setup Option - Use of the %c"+t+"%c option is now deprecated",i?(this._warnUser(s=s+", Please use the %c"+i+"%c option instead","font-weight: bold;","font-weight: normal;","font-weight: bold;","font-weight: normal;"),e&&(this.table.options[i]=this.table.options[t])):this._warnUser(s,"font-weight: bold;","font-weight: normal;"),!1)}checkMsg(t,i){return void 0===this.options(t)||(this._warnUser("%cDeprecated Setup Option - Use of the %c"+t+" %c option is now deprecated, "+i,"font-weight: normal;","font-weight: bold;","font-weight: normal;"),!1)}msg(t){this._warnUser(t)}}class wi extends j{constructor(t){super(t),this.deps={},this.props={}}initialize(){this.deps=Object.assign({},this.options("dependencies"))}lookup(t,i,e){if(!Array.isArray(t))return i?this.lookupProp(t,i,e):this.lookupKey(t,e);for(const e of t){var s=this.lookup(e,i,!0);if(s)break}if(s)return s;this.error(t)}lookupProp(t,i,e){var s;return this.props[t]&&this.props[t][i]?this.props[t][i]:(s=this.lookupKey(t,e))?(this.props[t]||(this.props[t]={}),this.props[t][i]=s[i]||s,this.props[t][i]):void 0}lookupKey(t,i){var e;return this.deps[t]?e=this.deps[t]:window[t]?(this.deps[t]=window[t],e=this.deps[t]):i||this.error(t),e}error(t){console.error("Unable to find dependency",t,"Please check documentation and ensure you have imported the required library into your project")}}function yi(t){t.forEach((function(t){t.reinitializeWidth()})),this.table.options.responsiveLayout&&this.table.modExists("responsiveLayout",!0)&&this.table.modules.responsiveLayout.update()}var xi={fitData:function(t,i){i&&this.table.columnManager.renderer.reinitializeColumnWidths(t),this.table.options.responsiveLayout&&this.table.modExists("responsiveLayout",!0)&&this.table.modules.responsiveLayout.update()},fitDataFill:yi,fitDataTable:yi,fitDataStretch:function(t){var i=0,e=this.table.rowManager.element.clientWidth,s=0,r=!1;t.forEach((t=>{t.widthFixed||t.reinitializeWidth(),(this.table.options.responsiveLayout?t.modules.responsive.visible:t.visible)&&(r=t),t.visible&&(i+=t.getWidth())})),r?(s=e-i+r.getWidth(),this.table.options.responsiveLayout&&this.table.modExists("responsiveLayout",!0)&&(r.setWidth(0),this.table.modules.responsiveLayout.update()),s>0?r.setWidth(s):r.reinitializeWidth()):this.table.options.responsiveLayout&&this.table.modExists("responsiveLayout",!0)&&this.table.modules.responsiveLayout.update()},fitColumns:function(t){var i,e,s=this.table.rowManager.element.getBoundingClientRect().width,r=0,o=0,a=0,h=[],n=[],l=0,u=0;function c(t){return"string"==typeof t?t.indexOf("%")>-1?s/100*parseInt(t):parseInt(t):t}function d(t,i,e,s){var r=[],o=0,h=0,n=0,l=a,u=0,b=0,p=[];function m(t){return e*(t.column.definition.widthGrow||1)}function f(t){return c(t.width)-e*(t.column.definition.widthShrink||0)}return t.forEach((function(t){var o=s?f(t):m(t);t.column.minWidth>=o?r.push(t):t.column.maxWidth&&t.column.maxWidth<o?(t.width=t.column.maxWidth,i-=t.column.maxWidth,(l-=s?t.column.definition.widthShrink||1:t.column.definition.widthGrow||1)&&(e=Math.floor(i/l))):(p.push(t),b+=s?t.column.definition.widthShrink||1:t.column.definition.widthGrow||1)})),r.length?(r.forEach((function(t){o+=s?t.width-t.column.minWidth:t.column.minWidth,t.width=t.column.minWidth})),h=i-o,n=b?Math.floor(h/b):h,u=d(p,h,n,s)):(u=b?i-Math.floor(i/b)*b:i,p.forEach((function(t){t.width=s?f(t):m(t)}))),u}this.table.options.responsiveLayout&&this.table.modExists("responsiveLayout",!0)&&this.table.modules.responsiveLayout.update(),this.table.rowManager.element.scrollHeight>this.table.rowManager.element.clientHeight&&(s-=this.table.rowManager.element.offsetWidth-this.table.rowManager.element.clientWidth),t.forEach((function(t){var i,e,s;t.visible&&(i=t.definition.width,e=parseInt(t.minWidth),i?(s=c(i),r+=s>e?s:e,t.definition.widthShrink&&(n.push({column:t,width:s>e?s:e}),l+=t.definition.widthShrink)):(h.push({column:t,width:0}),a+=t.definition.widthGrow||1))})),o=s-r,i=Math.floor(o/a),u=d(h,o,i,!1),h.length&&u>0&&(h[h.length-1].width+=u),h.forEach((function(t){o-=t.width})),(e=Math.abs(u)+o)>0&&l&&(u=d(n,e,Math.floor(e/l),!0)),u&&n.length&&(n[n.length-1].width-=u),h.forEach((function(t){t.column.setWidth(t.width)})),n.forEach((function(t){t.column.setWidth(t.width)}))}};class ki extends H{static moduleName="layout";static modes=xi;constructor(t){super(t,"layout"),this.mode=null,this.registerTableOption("layout","fitData"),this.registerTableOption("layoutColumnsOnNewData",!1),this.registerColumnOption("widthGrow"),this.registerColumnOption("widthShrink")}initialize(){var t=this.table.options.layout;ki.modes[t]?this.mode=t:(console.warn("Layout Error - invalid mode set, defaulting to 'fitData' : "+t),this.mode="fitData"),this.table.element.setAttribute("tabulator-layout",this.mode),this.subscribe("column-init",this.initializeColumn.bind(this))}initializeColumn(t){t.definition.widthGrow&&(t.definition.widthGrow=Number(t.definition.widthGrow)),t.definition.widthShrink&&(t.definition.widthShrink=Number(t.definition.widthShrink))}getMode(){return this.mode}layout(t){var i=this.table.columnManager.columnsByIndex.find((t=>t.definition.variableHeight||"textarea"===t.definition.formatter));this.dispatch("layout-refreshing"),ki.modes[this.mode].call(this,this.table.columnManager.columnsByIndex,t),i&&this.table.rowManager.normalizeHeight(!0),this.dispatch("layout-refreshed")}}var Ci={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:{}}}};class Ri extends H{static moduleName="localize";static langs=Ci;constructor(t){super(t),this.locale="default",this.lang=!1,this.bindings={},this.langList={},this.registerTableOption("locale",!1),this.registerTableOption("langs",{})}initialize(){this.langList=N.deepClone(Ri.langs),!1!==this.table.options.columnDefaults.headerFilterPlaceholder&&this.setHeaderFilterPlaceholder(this.table.options.columnDefaults.headerFilterPlaceholder);for(let t in this.table.options.langs)this.installLang(t,this.table.options.langs[t]);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(t){this.langList.default.headerFilters.default=t}installLang(t,i){this.langList[t]?this._setLangProp(this.langList[t],i):this.langList[t]=i}_setLangProp(t,i){for(let e in i)t[e]&&"object"==typeof t[e]?this._setLangProp(t[e],i[e]):t[e]=i[e]}setLocale(t){if(!0===(t=t||"default")&&navigator.language&&(t=navigator.language.toLowerCase()),t&&!this.langList[t]){let i=t.split("-")[0];this.langList[i]?(console.warn("Localization Error - Exact matching locale not found, using closest match: ",t,i),t=i):(console.warn("Localization Error - Matching locale not found, using default: ",t),t="default")}this.locale=t,this.lang=N.deepClone(this.langList.default||{}),"default"!=t&&function t(i,e){for(var s in i)"object"==typeof i[s]?(e[s]||(e[s]={}),t(i[s],e[s])):e[s]=i[s]}(this.langList[t],this.lang),this.dispatchExternal("localized",this.locale,this.lang),this._executeBindings()}getLocale(t){return this.locale}getLang(t){return t?this.langList[t]:this.lang}getText(t,i){var e=(i?t+"|"+i:t).split("|");return this._getLangElement(e,this.locale)||""}_getLangElement(t,i){var e=this.lang;return t.forEach((function(t){var i;e&&(e=void 0!==(i=e[t])&&i)})),e}bind(t,i){this.bindings[t]||(this.bindings[t]=[]),this.bindings[t].push(i),i(this.getText(t),this.lang)}_executeBindings(){for(let t in this.bindings)this.bindings[t].forEach((i=>{i(this.getText(t),this.lang)}))}}var Ei=Object.freeze({__proto__:null,CommsModule:class extends H{static moduleName="comms";constructor(t){super(t)}initialize(){this.registerTableFunction("tableComms",this.receive.bind(this))}getConnections(t){var i=[];return this.table.constructor.registry.lookupTable(t).forEach((t=>{this.table!==t&&i.push(t)})),i}send(t,i,e,s){var r=this.getConnections(t);r.forEach((t=>{t.tableComms(this.table.element,i,e,s)})),!r.length&&t&&console.warn("Table Connection Error - No tables matching selector found",t)}receive(t,i,e,s){if(this.table.modExists(i))return this.table.modules[i].commsReceived(t,e,s);console.warn("Inter-table Comms Error - no such module:",i)}},LayoutModule:ki,LocalizeModule:Ri});class zi{static registry={tables:[],register(t){zi.registry.tables.push(t)},deregister(t){var i=zi.registry.tables.indexOf(t);i>-1&&zi.registry.tables.splice(i,1)},lookupTable(t,i){var e,s,r=[];if("string"==typeof t){if((e=document.querySelectorAll(t)).length)for(var o=0;o<e.length;o++)(s=zi.registry.matchElement(e[o]))&&r.push(s)}else"undefined"!=typeof HTMLElement&&t instanceof HTMLElement||t instanceof zi?(s=zi.registry.matchElement(t))&&r.push(s):Array.isArray(t)?t.forEach((function(t){r=r.concat(zi.registry.lookupTable(t))})):i||console.warn("Table Connection Error - Invalid Selector",t);return r},matchElement:t=>zi.registry.tables.find((function(i){return t instanceof zi?i===t:i.element===t}))};static findTable(t){var i=zi.registry.lookupTable(t,!0);return!(Array.isArray(i)&&!i.length)&&i}}class Mi extends zi{static moduleBindings={};static moduleExtensions={};static modulesRegistered=!1;static defaultModules=!1;constructor(){super()}static initializeModuleBinder(t){Mi.modulesRegistered||(Mi.modulesRegistered=!0,Mi._registerModules(Ei,!0),t&&Mi._registerModules(t))}static _extendModule(t,i,e){if(Mi.moduleBindings[t]){var s=Mi.moduleBindings[t][i];if(s)if("object"==typeof e)for(let t in e)s[t]=e[t];else console.warn("Module Error - Invalid value type, it must be an object");else console.warn("Module Error - property does not exist:",i)}else console.warn("Module Error - module does not exist:",t)}static _registerModules(t,i){var e=Object.values(t);i&&e.forEach((t=>{t.prototype.moduleCore=!0})),Mi._registerModule(e)}static _registerModule(t){Array.isArray(t)||(t=[t]),t.forEach((t=>{Mi._registerModuleBinding(t),Mi._registerModuleExtensions(t)}))}static _registerModuleBinding(t){t.moduleName?Mi.moduleBindings[t.moduleName]=t:console.error("Unable to bind module, no moduleName defined",t.moduleName)}static _registerModuleExtensions(t){var i=t.moduleExtensions;if(t.moduleExtensions)for(let t in i){let e=i[t];if(Mi.moduleBindings[t])for(let i in e)Mi._extendModule(t,i,e[i]);else{Mi.moduleExtensions[t]||(Mi.moduleExtensions[t]={});for(let i in e)Mi.moduleExtensions[t][i]||(Mi.moduleExtensions[t][i]={}),Object.assign(Mi.moduleExtensions[t][i],e[i])}}Mi._extendModuleFromQueue(t)}static _extendModuleFromQueue(t){var i=Mi.moduleExtensions[t.moduleName];if(i)for(let e in i)Mi._extendModule(t.moduleName,e,i[e])}_bindModules(){var t=[],i=[],e=[];for(var s in this.modules={},Mi.moduleBindings){let r=Mi.moduleBindings[s],o=new r(this);this.modules[s]=o,r.prototype.moduleCore?this.modulesCore.push(o):r.moduleInitOrder?r.moduleInitOrder<0?t.push(o):i.push(o):e.push(o)}t.sort(((t,i)=>t.moduleInitOrder>i.moduleInitOrder?1:-1)),i.sort(((t,i)=>t.moduleInitOrder>i.moduleInitOrder?1:-1)),this.modulesRegular=t.concat(e.concat(i))}}class Si extends j{constructor(t){super(t),this.element=this._createAlertElement(),this.msgElement=this._createMsgElement(),this.type=null,this.element.appendChild(this.msgElement)}_createAlertElement(){var t=document.createElement("div");return t.classList.add("tabulator-alert"),t}_createMsgElement(){var t=document.createElement("div");return t.classList.add("tabulator-alert-msg"),t.setAttribute("role","alert"),t}_typeClass(){return"tabulator-alert-state-"+this.type}alert(t,i="msg"){if(t){for(this.clear(),this.dispatch("alert-show",i),this.type=i;this.msgElement.firstChild;)this.msgElement.removeChild(this.msgElement.firstChild);this.msgElement.classList.add(this._typeClass()),"function"==typeof t&&(t=t()),t instanceof HTMLElement?this.msgElement.appendChild(t):this.msgElement.innerHTML=t,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())}}class Ti extends Mi{static defaultOptions=si;static extendModule(){Ti.initializeModuleBinder(),Ti._extendModule(...arguments)}static registerModule(){Ti.initializeModuleBinder(),Ti._registerModule(...arguments)}constructor(t,i,e){super(),Ti.initializeModuleBinder(e),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=!1,this.browser="",this.browserSlow=!1,this.browserMobile=!1,this.rtl=!1,this.originalElement=null,this.componentFunctionBinder=new pi(this),this.dataLoader=!1,this.modules={},this.modulesCore=[],this.modulesRegular=[],this.deprecationAdvisor=new vi(this),this.optionsList=new ri(this,"table constructor"),this.dependencyRegistry=new wi(this),this.initialized=!1,this.destroyed=!1,this.initializeElement(t)&&(this.initializeCoreSystems(i),setTimeout((()=>{this._create()}))),this.constructor.registry.register(this)}initializeElement(t){return"undefined"!=typeof HTMLElement&&t instanceof HTMLElement?(this.element=t,!0):"string"==typeof t?(this.element=document.querySelector(t),!!this.element||(console.error("Tabulator Creation Error - no element found matching selector: ",t),!1)):(console.error("Tabulator Creation Error - Invalid element provided:",t),!1)}initializeCoreSystems(t){this.columnManager=new ni(this),this.rowManager=new ci(this),this.footerManager=new di(this),this.dataLoader=new mi(this),this.alertManager=new Si(this),this._bindModules(),this.options=this.optionsList.generate(Ti.defaultOptions,t),this._clearObjectPointers(),this._mapDeprecatedFunctionality(),this.externalEvents=new fi(this,this.options,this.options.debugEventsExternal),this.eventBus=new gi(this.options.debugEventsInternal),this.interactionMonitor=new bi(this),this.dataLoader.initialize(),this.footerManager.initialize(),this.dependencyRegistry.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.initialized=!0,this._loadInitialData().finally((()=>{this.eventBus.dispatch("table-initialized"),this.externalEvents.dispatch("tableBuilt")}))}_rtlCheck(){var t=window.getComputedStyle(this.element);switch(this.options.textDirection){case"auto":if("rtl"!==t.direction)break;case"rtl":this.element.classList.add("tabulator-rtl"),this.rtl=!0;break;case"ltr":this.element.classList.add("tabulator-ltr");default:this.rtl=!1}}_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 t,i=this.element,e=this.options;if("TABLE"===i.tagName){this.originalElement=this.element,t=document.createElement("div");var s=i.attributes;for(var r in s)"object"==typeof s[r]&&t.setAttribute(s[r].name,s[r].value);i.parentNode.replaceChild(t,i),this.element=i=t}for(i.classList.add("tabulator"),i.setAttribute("role","grid");i.firstChild;)i.removeChild(i.firstChild);e.height&&(e.height=isNaN(e.height)?e.height:e.height+"px",i.style.height=e.height),!1!==e.minHeight&&(e.minHeight=isNaN(e.minHeight)?e.minHeight:e.minHeight+"px",i.style.minHeight=e.minHeight),!1!==e.maxHeight&&(e.maxHeight=isNaN(e.maxHeight)?e.maxHeight:e.maxHeight+"px",i.style.maxHeight=e.maxHeight)}_initializeTable(){var t=this.element,i=this.options;this.interactionMonitor.initialize(),this.columnManager.initialize(),this.rowManager.initialize(),this._detectBrowser(),this.modulesCore.forEach((t=>{t.initialize()})),t.appendChild(this.columnManager.getElement()),t.appendChild(this.rowManager.getElement()),i.footerElement&&this.footerManager.activate(),i.autoColumns&&i.data&&this.columnManager.generateColumnsFromRowData(this.options.data),this.modulesRegular.forEach((t=>{t.initialize()})),this.columnManager.setColumns(i.columns),this.eventBus.dispatch("table-built")}_loadInitialData(){return this.dataLoader.load(this.options.data).finally((()=>{this.columnManager.verticalAlignHeaders()}))}destroy(){var t=this.element;for(this.destroyed=!0,this.constructor.registry.deregister(this),this.eventBus.dispatch("table-destroy"),this.rowManager.destroy();t.firstChild;)t.removeChild(t.firstChild);t.classList.remove("tabulator"),this.externalEvents.dispatch("tableDestroyed")}_detectBrowser(){var t=navigator.userAgent||navigator.vendor||window.opera;t.indexOf("Trident")>-1?(this.browser="ie",this.browserSlow=!0):t.indexOf("Edge")>-1?(this.browser="edge",this.browserSlow=!0):t.indexOf("Firefox")>-1?(this.browser="firefox",this.browserSlow=!1):t.indexOf("Mac OS")>-1?(this.browser="safari",this.browserSlow=!1):(this.browser="other",this.browserSlow=!1),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(t)||/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(t.slice(0,4))}initGuard(t,i){var e,s;return this.options.debugInitialization&&!this.initialized&&(t||(t=" "==(s="Error"==(e=(new Error).stack.split("\n"))[0]?e[2]:e[1])[0]?s.trim().split(" ")[1].split(".")[1]:s.trim().split("@")[0]),console.warn("Table Not Initialized - Calling the "+t+" function before the table is initialized may result in inconsistent behavior, Please wait for the `tableBuilt` event before calling this function."+(i?" "+i:""))),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(t,i,e){return this.initGuard(!1,"To set initial data please use the 'data' property in the table constructor."),this.dataLoader.load(t,i,e,!1)}clearData(){this.initGuard(),this.dataLoader.blockActiveLoad(),this.rowManager.clearData()}getData(t){return this.rowManager.getData(t)}getDataCount(t){return this.rowManager.getDataCount(t)}replaceData(t,i,e){return this.initGuard(),this.dataLoader.load(t,i,e,!0,!0)}updateData(t){var i=0;return this.initGuard(),new Promise(((e,s)=>{this.dataLoader.blockActiveLoad(),"string"==typeof t&&(t=JSON.parse(t)),t&&t.length>0?t.forEach((t=>{var r=this.rowManager.findRow(t[this.options.index]);r?(i++,r.updateData(t).then((()=>{--i||e()})).catch((i=>{s("Update Error - Unable to update row",t,i)}))):s("Update Error - Unable to find row",t)})):(console.warn("Update Error - No data provided"),s("Update Error - No data provided"))}))}addData(t,i,e){return this.initGuard(),new Promise(((s,r)=>{this.dataLoader.blockActiveLoad(),"string"==typeof t&&(t=JSON.parse(t)),t?this.rowManager.addRows(t,i,e).then((t=>{var i=[];t.forEach((function(t){i.push(t.getComponent())})),s(i)})):(console.warn("Update Error - No data provided"),r("Update Error - No data provided"))}))}updateOrAddData(t){var i=[],e=0;return this.initGuard(),new Promise(((s,r)=>{this.dataLoader.blockActiveLoad(),"string"==typeof t&&(t=JSON.parse(t)),t&&t.length>0?t.forEach((t=>{var r=this.rowManager.findRow(t[this.options.index]);e++,r?r.updateData(t).then((()=>{e--,i.push(r.getComponent()),e||s(i)})):this.rowManager.addRows(t).then((t=>{e--,i.push(t[0].getComponent()),e||s(i)}))})):(console.warn("Update Error - No data provided"),r("Update Error - No data provided"))}))}getRow(t){var i=this.rowManager.findRow(t);return i?i.getComponent():(console.warn("Find Error - No matching row found:",t),!1)}getRowFromPosition(t){var i=this.rowManager.getRowFromPosition(t);return i?i.getComponent():(console.warn("Find Error - No matching row found:",t),!1)}deleteRow(t){var i=[];this.initGuard(),Array.isArray(t)||(t=[t]);for(let e of t){let t=this.rowManager.findRow(e,!0);if(!t)return console.error("Delete Error - No matching row found:",e),Promise.reject("Delete Error - No matching row found");i.push(t)}return i.sort(((t,i)=>this.rowManager.rows.indexOf(t)>this.rowManager.rows.indexOf(i)?1:-1)),i.forEach((t=>{t.delete()})),this.rowManager.reRenderInPosition(),Promise.resolve()}addRow(t,i,e){return this.initGuard(),"string"==typeof t&&(t=JSON.parse(t)),this.rowManager.addRows(t,i,e,!0).then((t=>t[0].getComponent()))}updateOrAddRow(t,i){var e=this.rowManager.findRow(t);return this.initGuard(),"string"==typeof i&&(i=JSON.parse(i)),e?e.updateData(i).then((()=>e.getComponent())):this.rowManager.addRows(i).then((t=>t[0].getComponent()))}updateRow(t,i){var e=this.rowManager.findRow(t);return this.initGuard(),"string"==typeof i&&(i=JSON.parse(i)),e?e.updateData(i).then((()=>Promise.resolve(e.getComponent()))):(console.warn("Update Error - No matching row found:",t),Promise.reject("Update Error - No matching row found"))}scrollToRow(t,i,e){var s=this.rowManager.findRow(t);return s?this.rowManager.scrollToRow(s,i,e):(console.warn("Scroll Error - No matching row found:",t),Promise.reject("Scroll Error - No matching row found"))}moveRow(t,i,e){var s=this.rowManager.findRow(t);this.initGuard(),s?s.moveToRow(i,e):console.warn("Move Error - No matching row found:",t)}getRows(t){return this.rowManager.getComponents(t)}getRowPosition(t){var i=this.rowManager.findRow(t);return i?i.getPosition():(console.warn("Position Error - No matching row found:",t),!1)}setColumns(t){this.initGuard(!1,"To set initial columns please use the 'columns' property in the table constructor"),this.columnManager.setColumns(t)}getColumns(t){return this.columnManager.getComponents(t)}getColumn(t){var i=this.columnManager.findColumn(t);return i?i.getComponent():(console.warn("Find Error - No matching column found:",t),!1)}getColumnDefinitions(){return this.columnManager.getDefinitionTree()}showColumn(t){var i=this.columnManager.findColumn(t);if(this.initGuard(),!i)return console.warn("Column Show Error - No matching column found:",t),!1;i.show()}hideColumn(t){var i=this.columnManager.findColumn(t);if(this.initGuard(),!i)return console.warn("Column Hide Error - No matching column found:",t),!1;i.hide()}toggleColumn(t){var i=this.columnManager.findColumn(t);if(this.initGuard(),!i)return console.warn("Column Visibility Toggle Error - No matching column found:",t),!1;i.visible?i.hide():i.show()}addColumn(t,i,e){var s=this.columnManager.findColumn(e);return this.initGuard(),this.columnManager.addColumn(t,i,s).then((t=>t.getComponent()))}deleteColumn(t){var i=this.columnManager.findColumn(t);return this.initGuard(),i?i.delete():(console.warn("Column Delete Error - No matching column found:",t),Promise.reject())}updateColumnDefinition(t,i){var e=this.columnManager.findColumn(t);return this.initGuard(),e?e.updateDefinition(i):(console.warn("Column Update Error - No matching column found:",t),Promise.reject())}moveColumn(t,i,e){var s=this.columnManager.findColumn(t),r=this.columnManager.findColumn(i);this.initGuard(),s?r?this.columnManager.moveColumn(s,r,e):console.warn("Move Error - No matching column found:",r):console.warn("Move Error - No matching column found:",t)}scrollToColumn(t,i,e){return new Promise((()=>{var s=this.columnManager.findColumn(t);return s?this.columnManager.scrollToColumn(s,i,e):(console.warn("Scroll Error - No matching column found:",t),Promise.reject("Scroll Error - No matching column found"))}))}redraw(t){this.initGuard(),this.columnManager.redraw(t),this.rowManager.redraw(t)}setHeight(t){this.options.height=isNaN(t)?t:t+"px",this.element.style.height=this.options.height,this.rowManager.initializeRenderer(),this.rowManager.redraw(!0)}on(t,i){this.externalEvents.subscribe(t,i)}off(t,i){this.externalEvents.unsubscribe(t,i)}dispatchEvent(){Array.from(arguments).shift(),this.externalEvents.dispatch(...arguments)}alert(t,i){this.initGuard(),this.alertManager.alert(t,i)}clearAlert(){this.initGuard(),this.alertManager.clear()}modExists(t,i){return!!this.modules[t]||(i&&console.error("Tabulator Module Not Installed: "+t),!1)}module(t){var i=this.modules[t];return i||console.error("Tabulator module not installed: "+t),i}}var Di=Ti,Pi=class extends Di{static extendModule(){Di.initializeModuleBinder(ei),Di._extendModule(...arguments)}static registerModule(){Di.initializeModuleBinder(ei),Di._registerModule(...arguments)}constructor(t,i,e){super(t,i,ei)}};const{replace:Fi}="",ji=/[&<>'"]/g,Ni={"&":"&","<":"<",">":">","'":"'",'"':"""},Oi=t=>Ni[t];class Hi{constructor(t){this.pool=t,this.create=this.create.bind(this)}create(t){var i;const e={title:t.title,field:t.field,hozAlign:t.horizontalAlign,headerSort:t.headerSort,headerSortStartingDir:"desc"};return t.headerComponent&&(e.titleFormatter=_i(t)),((null===(i=t.component)||void 0===i?void 0:i.name)||t.formatter)&&(e.formatter=function(t,i){var e;return(null===(e=t.component)||void 0===e?void 0:e.name)?function(t){const i=t.component.name;if("string"==typeof i){const e=!i.includes("-"),s=customElements.get(t.component.name);return e||s}return!1}(t)?e=>{const s=Li(e,t);return function(t,i,e,s){const r=t.getField(),o=t.getData(),a=s.get(i.component.name);let h=i.component.props||{};return i.component.propsFactory&&(h=Object.assign(Object.assign({},h),i.component.propsFactory(o))),h=Object.assign(Object.assign({},h),{field:r,value:e,data:o}),a.style.display="inline-block",Ai(a,h),function(t,i){if(!("ResizeObserver"in window))return;const e=new ResizeObserver((()=>{const e=t.getBoundingClientRect().width+16;e<i.getWidth()||i.setWidth(e)}));e.observe(t),setTimeout((()=>{e.unobserve(t)}),1e3)}(a,t.getColumn()),a}(e,t,s,i)}:(console.warn(`Failed to render custom component for column "${t.field.toString()}". Custom element <${t.component.name}/> does not exist. Using the default formatter.`),Li):Li}(t,this.pool),e.formatterParams=t),t.aggregator&&(e.bottomCalc=function(t){const i=t.aggregator;return"function"==typeof i?(e,s)=>i(t,e,s):i}(t)),e}}const _i=t=>()=>{const i=document.createElement("div");i.setAttribute("class","lime-col-title__custom-component");const e=document.createElement("span");e.setAttribute("class","title-component-text"),e.textContent=t.title;const s=document.createElement(t.headerComponent.name);s.setAttribute("class","title-component-slot");let r=t.headerComponent.props||{};return t.headerComponent.propsFactory&&(r=Object.assign(Object.assign({},r),t.headerComponent.propsFactory(null))),Ai(s,r),i.append(e),i.append(s),i};function Li(t,i){const e=t.getData();let s=t.getValue();return i.formatter&&(s=i.formatter(s,e)),"string"!=typeof s||i.component||(s=Fi.call(s,ji,Oi)),s}function Ai(t,i){const e=F(i,k(Ii));Object.assign(t,e);const s=F(i,Ii);for(const[i,e]of Object.entries(s)){const s=(r=i).charAt(2).toLowerCase()+r.slice(3);t.addEventListener(s,e)}var r}function Ii(t,i){return"function"==typeof t&&/^on[A-Z]/.test(i)}const Vi=t=>i=>({column:t.find((t=>t.field===i.field)),direction:i.dir.toUpperCase()});class Ui{constructor(t){this.isFree=t=>!this.usedElements.has(t),this.document=t,this.releaseAll(),this.clear()}get(t){var i;let e=null===(i=this.pool[t])||void 0===i?void 0:i.find(this.isFree);return e||(e=this.createElement(t)),this.usedElements.set(e,!0),e}release(t){this.usedElements.delete(t)}releaseAll(){this.usedElements=new WeakMap}clear(){this.pool={}}createElement(t){const i=this.document.createElement(t);return t in this.pool||(this.pool[t]=[]),this.pool[t].push(i),i}}class Bi{constructor(t){this.getDataByIndex=t,this.toggleRange=(t,i)=>{const e=!this.selectedItems.has(this.getDataByIndex(i)),s=Math.min(t,i),r=Math.max(t,i),o=[],a=[];for(let t=s;t<=r;t++){const i=this.getDataByIndex(t);i&&(this.selectedItems.has(i)!==e&&(e?this.selectedItems.add(i):this.selectedItems.delete(i),o.push(t),a.push(i)))}return this.lastToggledIndex=i,{selected:e,items:a,indexes:o}},this.clear()}get size(){return this.selectedItems.size}get items(){return[...this.selectedItems]}set items(t){this.selectedItems=new Set(t),this.lastToggledIndex=-1}has(t){return this.selectedItems.has(t)}toggleSelection(t){return this.toggleRange(t,t)}toggleSelectionFromLastIndex(t){return this.lastToggledIndex<0?this.toggleSelection(t):this.toggleRange(this.lastToggledIndex,t)}clear(){this.selectedItems=new Set,this.lastToggledIndex=-1}}const Gi="limel-checkbox",Wi=t=>{var i;return null!==(i=t.id)&&void 0!==i?i:t};class Ji{constructor(t,i,e,s){this.getTable=t,this.pool=i,this.selectEvent=e,this.getTranslation=s,this.rowSelectorCellClick=(t,i)=>{t.stopPropagation(),t.preventDefault();const e=i.getRow().getPosition(!0);!1!==e&&(this.updateRowSelectors(t.shiftKey?this.selection.toggleSelectionFromLastIndex(e):this.selection.toggleSelection(e)),this.selectEvent.emit(this.selection.items.map(this.getRowData)))},this.getRowData=t=>"object"==typeof t?t:this.getTable().getRow(t).getData(),this.updateRowSelectors=t=>{for(const i of t.indexes.map(this.getRowByIndex))this.updateRowSelector(i,t.selected)},this.updateRowSelector=(t,i)=>{const e=t.getCells()[0];e&&(e.getElement().querySelector(Gi).checked=i)},this.getActiveRows=()=>{const t=this.getTable();return t?t.getRows("active"):[]},this.getRowByIndex=t=>this.getTable().getRowFromPosition(t,!0),this.selection=new Bi((t=>Wi(this.getRowByIndex(t).getData())))}get hasSelection(){return this.selection.size>0}clear(){this.selection.clear()}setSelection(t=[]){const i=t.map(Wi);if(this.selection.size===t.length&&this.selection.items.every(((t,e)=>t===i[e])))return;this.selection.items=i;const e=this.getActiveRows();for(const t of e)this.updateRowSelector(t,this.selection.has(Wi(t.getData())))}getColumnDefinitions(t){return[this.getRowSelectorColumnDefinition(),...t]}getRowSelectorColumnDefinition(){return{title:"",formatter:this.getRowSelectorFormatter(),cellClick:this.rowSelectorCellClick,headerClick:this.headerClick,headerSort:!1,cssClass:"limel-table--row-selector",resizable:!1,htmlOutput:!1,clipboard:!1}}headerClick(t){t.stopPropagation()}getRowSelectorFormatter(){return t=>{const i=this.pool.get(Gi);return Ai(i,{checked:this.selection.has(Wi(t.getData())),label:this.getTranslation("table.select-row")}),i.classList.add("hide-label"),i.style.display="inline-block",i}}}const qi=class{constructor(e){t(this,e),this.sort=i(this,"sort"),this.changePage=i(this,"changePage"),this.load=i(this,"load"),this.activate=i(this,"activate"),this.changeColumns=i(this,"changeColumns"),this.select=i(this,"select"),this.selectAll=i(this,"selectAll"),this.data=[],this.columns=[],this.mode="local",this.sorting=[],this.sortableColumns=!0,this.loading=!1,this.page=1,this.language="en",this.paginationLocation="bottom",this.initialized=!1,this.destroyed=!1,this.shouldSort=!1,this.getActiveRows=()=>this.tabulator?this.tabulator.getRows("active"):[],this.getActiveRowsData=()=>this.getActiveRows().map((t=>t.getData())),this.selectAllOnChange=t=>{const i=t.detail;t.stopPropagation(),t.preventDefault();const e=i?this.getActiveRowsData():[];this.select.emit(e),this.tableSelection.setSelection(e),this.selectAll.emit(i)},this.getColumnOptions=()=>this.movableColumns?{movableColumns:!0}:{},this.handleMoveColumn=(t,i)=>{if(!this.movableColumns)return;const e=i.map(this.findColumn).filter(Boolean);this.changeColumns.emit(e)},this.findColumn=t=>this.columns.find((i=>i.field===t.getField()&&i.title===t.getDefinition().title)),this.getTranslation=t=>E.get(t,this.language),this.handleDataSorting=this.handleDataSorting.bind(this),this.handlePageLoaded=this.handlePageLoaded.bind(this),this.handleRenderComplete=this.handleRenderComplete.bind(this),this.handleAjaxRequesting=this.handleAjaxRequesting.bind(this),this.requestData=this.requestData.bind(this),this.onClickRow=this.onClickRow.bind(this),this.formatRow=this.formatRow.bind(this),this.formatRows=this.formatRows.bind(this),this.updateMaxPage=this.updateMaxPage.bind(this),this.initTabulatorComponent=this.initTabulatorComponent.bind(this),this.setSelection=this.setSelection.bind(this),this.addColumnAggregator=this.addColumnAggregator.bind(this),this.pool=new Ui(document),this.columnFactory=new Hi(this.pool)}componentWillLoad(){this.initTableSelection()}componentDidLoad(){this.destroyed=!1,this.init()}disconnectedCallback(){this.destroyed=!0,this.initialized=!1,this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null),this.tabulator&&(this.tabulator.destroy(),this.tabulator=null),this.pool.clear()}totalRowsChanged(){this.updateMaxPage()}pageSizeChanged(){this.updateMaxPage()}pageChanged(){this.tabulator&&this.tabulator.getPage()!==this.page&&this.tabulator.setPage(this.page)}activeRowChanged(){this.tabulator&&this.formatRows()}updateData(t=[],i=[]){const e=this.getRowIds(t),s=this.getRowIds(i),r=this.shouldReplaceData(e,s),o=!((t,i)=>t.length===i.length&&t.every(((t,e)=>R(t,i[e]))))(t,i);setTimeout((()=>{if(this.tabulator&&this.initialized)return r?(this.pool.releaseAll(),this.tabulator.replaceData(t),void this.setSelection()):o?(this.tabulator.updateData(t),void this.setSelection()):void(t.length>0&&this.tabulator.updateOrAddData(t))}))}updateColumns(t,i){if(!this.tabulator)return;if(this.areSameColumns(t,i))return;const e=this.tabulator.getColumns().filter((t=>t.getField())).map((t=>i.find((i=>i.field===t.getField()))));this.areSameColumns(t,e)||(this.tabulator.setColumns(this.getColumnDefinitions()),this.shouldSort=!0)}updateAggregates(t,i){this.tabulator&&(R(t,i)||(this.haveSameAggregateFields(t,i)?(this.tabulator.recalc(),this.tabulator.rowManager.redraw()):this.init()))}updateSelection(t){this.tableSelection&&this.tableSelection.setSelection(t)}updateSelectable(){this.tableSelection&&!this.selectable&&(this.tableSelection=null),this.initTableSelection(),this.init()}updateSortableColumns(){this.tabulator&&(this.tabulator.setColumns(this.getColumnDefinitions()),this.shouldSort=!0)}updateSorting(t,i){const e=this.getColumnSorter(t),s=this.getColumnSorter(i);R(e,s)||this.tabulator.setSort(e)}shouldReplaceData(t,i){return!this.areEqualIds(t,i)||!this.isSameOrder(t,i)}getRowIds(t){return t.map((t=>{var i;return null!==(i=t.id)&&void 0!==i?i:t}))}areEqualIds(t,i){const e=new Set(t),s=new Set(i);return e.size===s.size&&t.every((t=>s.has(t)))}isSameOrder(t,i){return t.every(((t,e)=>t===i[e]))}areSameColumns(t,i){return t.length===i.length&&t.every((t=>i.includes(t)))}haveSameAggregateFields(t,i){const e=(null==i?void 0:i.map((t=>t.field)))||[];return(null==t?void 0:t.length)===(null==i?void 0:i.length)&&!!(null==t?void 0:t.every((t=>e.includes(t.field))))}init(){this.tabulator&&(this.pool.releaseAll(),this.tabulator.destroy(),this.initialized=!1);const t=this.host.shadowRoot.querySelector("#tabulator-table");this.initTabulatorComponent(t)}initTabulatorComponent(t){if(!("ResizeObserver"in window))return this.tabulator=this.createTabulator(t),void this.setSelection();this.resizeObserver=new ResizeObserver((()=>{requestAnimationFrame((()=>{var i,e;this.destroyed||(this.tabulator=this.createTabulator(t),this.setSelection(),null===(i=this.resizeObserver)||void 0===i||i.unobserve(t),null===(e=this.resizeObserver)||void 0===e||e.disconnect())}))})),this.resizeObserver.observe(t)}createTabulator(t){const i=new Pi(t,this.getOptions());return i.on("rowClick",this.onClickRow),i.on("dataSorting",this.handleDataSorting),i.on("pageLoaded",this.handlePageLoaded),i.on("columnMoved",this.handleMoveColumn),i.on("renderComplete",this.handleRenderComplete),i.on("tableBuilt",(()=>{var t;this.destroyed?i.destroy():(this.initialized=!0,this.isRemoteMode()&&!(null===(t=this.data)||void 0===t?void 0:t.length)?this.tabulator.setData():this.isRemoteMode()||this.updateData(this.data,[]))})),i}initTableSelection(){this.selectable&&(this.tableSelection=new Ji((()=>this.tabulator),this.pool,this.select,(t=>this.getTranslation(t))),this.tableSelection.setSelection(this.selection))}setSelection(){this.tabulator&&this.tableSelection&&this.tableSelection.setSelection(this.selection)}updateMaxPage(){var t;null===(t=this.tabulator)||void 0===t||t.setMaxPage(this.calculatePageCount())}getOptions(){const t=this.getAjaxOptions(),i=this.getPaginationOptions(),e=this.getColumnOptions();return Object.assign(Object.assign(Object.assign(Object.assign({data:this.data,layout:C(this.layout),columns:this.getColumnDefinitions()},t),i),{rowFormatter:this.formatRow,initialSort:this.getInitialSorting(),nestedFieldSeparator:!1}),e)}getInitialSorting(){return this.getColumnSorter(this.currentSorting&&this.currentSorting.length>0?this.currentSorting:this.sorting)}getColumnSorter(t){return t.map((t=>({column:String(t.column.field),dir:t.direction.toLocaleLowerCase()})))}getColumnDefinitions(){const t=this.columns.map(this.addColumnAggregator).map((t=>{var i;const e=this.columnFactory.create(t),s=null===(i=t.headerSort)||void 0===i||i;return e.headerSort=this.sortableColumns&&s,e}));return this.tableSelection?this.tableSelection.getColumnDefinitions(t):t}addColumnAggregator(t){var i;return!(null===(i=this.aggregates)||void 0===i?void 0:i.length)||t.aggregator||this.aggregates.find((i=>i.field===t.field))&&(t.aggregator=t=>{var i;if(!t)return;const e=null===(i=this.aggregates.find((i=>i.field===t.field)))||void 0===i?void 0:i.value;return t.formatter?t.formatter(e):e}),t}getAjaxOptions(){return this.isRemoteMode()?{ajaxSorting:!0,ajaxURL:"https://localhost",ajaxRequestFunc:this.requestData,ajaxRequesting:this.handleAjaxRequesting}:{}}handleAjaxRequesting(){return!this.destroyed}getPaginationOptions(){return this.pageSize?{pagination:!0,paginationMode:this.isRemoteMode()?"remote":"local",paginationSize:this.pageSize,paginationInitialPage:this.page}:{}}requestData(t,i,e){var s,r;if(this.destroyed)return Promise.reject();const o=null!==(s=e.sorters)&&void 0!==s?s:[],a=null!==(r=e.page)&&void 0!==r?r:1;this.page!==a&&this.changePage.emit(a);const h=o.map(Vi(this.columns)),n={page:a,sorters:h},l=Promise.resolve({last_page:this.calculatePageCount(),data:this.data});return R(this.currentLoad,n)||(this.currentSorting=h,this.currentLoad=n,this.load.emit(n)),l}isRemoteMode(){return"remote"===this.mode}handleDataSorting(t){var i,e;const s=t.map(Vi(this.columns));if(this.isRemoteMode()){const t=null===(e=null===(i=this.tabulator)||void 0===i?void 0:i.getPage)||void 0===e?void 0:e.call(i),r="number"==typeof t?t:this.page,o={page:null!=r?r:1,sorters:s};R(this.currentLoad,o)||(this.currentSorting=s,this.currentLoad=o,this.load.emit(o))}else 0!==s.length&&this.sort.emit(s)}handlePageLoaded(t){this.isRemoteMode()||this.changePage.emit(t)}handleRenderComplete(){this.tabulator&&this.shouldSort&&(this.shouldSort=!1,this.tabulator.setSort(this.getInitialSorting()))}onClickRow(t,i){void 0!==i.getPosition&&(t.defaultPrevented||(this.activeRow=this.isActiveRow(i)?null:i.getData(),this.activate.emit(this.activeRow)))}formatRows(){this.tabulator.getRows().forEach(this.formatRow)}formatRow(t){if(this.isActiveRow(t)?t.getElement().classList.add("active"):t.getElement().classList.remove("active"),0===t.getElement().querySelectorAll(".interactive-feedback").length){const i=t.getElement().ownerDocument.createElement("div");i.classList.add("interactive-feedback"),t.getElement().prepend(i)}}isActiveRow(t){var i;if(!this.activeRow)return!1;const e=null!==(i=this.activeRow.id)&&void 0!==i?i:null;return null!==e?e===t.getData().id:this.activeRow===t.getData()}calculatePageCount(){let t=this.totalRows;return t||(t=this.data.length),Math.ceil(t/this.pageSize)}hasAggregation(t){return t.some((t=>{return null!=(i=t)&&o(i,"aggregator",D);var i}))}render(){var t,i;const r=null!==(t=this.totalRows)&&void 0!==t?t:this.data.length;return e(s,{key:"454b02c38cb6c26cc74fb78f8cdcb27699277ece",class:{"has-low-density":"lowDensity"===this.layout,"has-pagination-on-top":"top"===this.paginationLocation}},e("div",{key:"3f29ea922ea001d29c262c61607c4258f77f0a3b",id:"tabulator-container",class:{"has-pagination":r>this.pageSize,"has-aggregation":this.hasAggregation(this.columns),"has-movable-columns":this.movableColumns,"has-rowselector":this.selectable,"has-selection":null===(i=this.tableSelection)||void 0===i?void 0:i.hasSelection}},e("div",{key:"158d493c9758eb0427302fe13559b31233dfb3c8",id:"tabulator-loader",style:{display:this.loading?"flex":"none"}},e("limel-spinner",{key:"435a8db60a8682d60613564ae4d7e2f0f653ff6f",size:"large"})),this.renderEmptyMessage(),this.renderSelectAll(),e("div",{key:"759d473e139cb9ec2fd0b4d0e7191a274d004da8",id:"tabulator-table"})))}renderSelectAll(){var t,i,s;if(this.selectable)return e("div",{class:"select-all",style:{display:!this.loading&&this.tableSelection?"inline-block":"none"}},e("limel-checkbox",{class:"hide-label",onChange:this.selectAllOnChange,disabled:0===this.data.length,checked:null===(t=this.tableSelection)||void 0===t?void 0:t.hasSelection,indeterminate:(null===(i=this.tableSelection)||void 0===i?void 0:i.hasSelection)&&(null===(s=this.selection)||void 0===s?void 0:s.length)<this.data.length,label:this.getTranslation("table.select-all")}))}renderEmptyMessage(){return e("div",{id:"tabulator-empty-text",style:{display:!this.loading&&0===this.data.length&&this.emptyMessage?"flex":"none"}},e("span",null,this.emptyMessage))}get host(){return r(this)}static get watchers(){return{totalRows:[{totalRowsChanged:0}],pageSize:[{pageSizeChanged:0}],page:[{pageChanged:0}],activeRow:[{activeRowChanged:0}],data:[{updateData:0}],columns:[{updateColumns:0}],aggregates:[{updateAggregates:0}],selection:[{updateSelection:0}],selectable:[{updateSelectable:0}],sortableColumns:[{updateSortableColumns:0}],sorting:[{updateSorting:0}]}}};qi.style='@charset "UTF-8";.tabulator{position:relative;border:1px solid #999;background-color:#888;font-size:14px;text-align:left;overflow:hidden;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);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{user-select:none}.tabulator.tabulator-ranges .tabulator-cell:not(.tabulator-editing){user-select:none}.tabulator .tabulator-header{position:relative;box-sizing:border-box;width:100%;border-bottom:1px solid #999;background-color:#e6e6e6;color:#555;font-weight:bold;white-space:nowrap;overflow:hidden;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;outline:none}.tabulator .tabulator-header.tabulator-header-hidden{display:none}.tabulator .tabulator-header .tabulator-header-contents{position:relative;overflow:hidden}.tabulator .tabulator-header .tabulator-header-contents .tabulator-headers{display:inline-block}.tabulator .tabulator-header .tabulator-col{display:inline-flex;position:relative;box-sizing:border-box;flex-direction:column;justify-content:flex-start;border-right:1px solid #aaa;background:#e6e6e6;text-align:left;vertical-align:bottom;overflow:hidden}.tabulator .tabulator-header .tabulator-col.tabulator-moving{position:absolute;border:1px solid #999;background:rgb(204.5, 204.5, 204.5);pointer-events:none}.tabulator .tabulator-header .tabulator-col.tabulator-range-highlight{background-color:#D6D6D6;color:#000000}.tabulator .tabulator-header .tabulator-col.tabulator-range-selected{background-color:#3876ca;color:#FFFFFF}.tabulator .tabulator-header .tabulator-col .tabulator-col-content{box-sizing:border-box;position:relative;padding:4px}.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:0.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;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title.tabulator-col-title-wrap{white-space:normal;text-overflow:initial}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title .tabulator-title-editor{box-sizing:border-box;width:100%;border:1px solid #999;padding:1px;background:#fff}.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{display:flex;align-items:center;position:absolute;top:0;bottom:0;right:4px}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #bbb}.tabulator .tabulator-header .tabulator-col.tabulator-col-group .tabulator-col-group-cols{position:relative;display:flex;border-top:1px solid #aaa;overflow:hidden;margin-right:-1px}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter{position:relative;box-sizing:border-box;margin-top:2px;width:100%;text-align:center}.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{width:0;height: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{cursor:pointer;background-color:rgb(204.5, 204.5, 204.5)}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter{color:#bbb}@media (hover: hover) and (pointer: fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{cursor:pointer;border-bottom:6px solid #555}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-top:none;border-bottom:6px solid #bbb}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter{color:#666}@media (hover: hover) and (pointer: fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{cursor:pointer;border-bottom:6px solid #555}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-top:none;border-bottom:6px solid #666}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter{color:#666}@media (hover: hover) and (pointer: fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{cursor:pointer;border-top:6px solid #555}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-bottom:none;border-top:6px solid #666;color:#666}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical .tabulator-col-content .tabulator-col-title{writing-mode:vertical-rl;text-orientation:mixed;display:flex;align-items:center;justify-content:center}.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-right:0;padding-bottom:20px}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable .tabulator-col-sorter{justify-content:center;left:0;right:0;top:4px;bottom:auto}.tabulator .tabulator-header .tabulator-frozen{position:sticky;left:0;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{box-sizing:border-box;display:inline-block;background:rgb(242.75, 242.75, 242.75) !important;border-top:1px solid #aaa;border-bottom:1px solid #aaa}.tabulator .tabulator-header .tabulator-calcs-holder .tabulator-row{background:rgb(242.75, 242.75, 242.75) !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{position:relative;width:100%;white-space:nowrap;overflow:auto;-webkit-overflow-scrolling:touch}.tabulator .tabulator-tableholder:focus{outline:none}.tabulator .tabulator-tableholder .tabulator-placeholder{box-sizing:border-box;display:flex;align-items:center;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{display:inline-block;text-align:center;padding:10px;color:#ccc;font-weight:bold;font-size:20px;white-space:normal}.tabulator .tabulator-tableholder .tabulator-table{position:relative;display:inline-block;background-color:#fff;white-space:nowrap;overflow:visible;color:#333}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs{font-weight:bold;background:rgb(226.25, 226.25, 226.25) !important}.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{position:absolute;inset:0;z-index:10;pointer-events:none}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range{position:absolute;box-sizing:border-box;border:1px solid #2975DD}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range.tabulator-range-active::after{content:"";position:absolute;right:-3px;bottom:-3px;width:6px;height:6px;background-color:#2975DD;border-radius:999px}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range-cell-active{position:absolute;box-sizing:border-box;border:2px solid #2975DD}.tabulator .tabulator-footer{border-top:1px solid #999;background-color:#e6e6e6;color:#555;font-weight:bold;white-space:nowrap;user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none}.tabulator .tabulator-footer .tabulator-footer-contents{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:5px 10px}.tabulator .tabulator-footer .tabulator-footer-contents:empty{display:none}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs{margin-top:-5px;overflow-x:auto}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs .tabulator-spreadsheet-tab{display:inline-block;padding:5px;border:#999 1px solid;border-top:none;border-bottom-left-radius:5px;border-bottom-right-radius:5px;font-size:0.9em}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs .tabulator-spreadsheet-tab:hover{cursor:pointer;opacity:0.7}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs .tabulator-spreadsheet-tab.tabulator-spreadsheet-tab-active{background:#fff}.tabulator .tabulator-footer .tabulator-calcs-holder{box-sizing:border-box;width:100%;text-align:left;background:rgb(242.75, 242.75, 242.75) !important;border-bottom:1px solid #aaa;border-top:1px solid #aaa;overflow:hidden}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row{display:inline-block;background:rgb(242.75, 242.75, 242.75) !important}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row .tabulator-col-resize-handle{display:none}.tabulator .tabulator-footer .tabulator-calcs-holder:only-child{margin-bottom:-5px;border-bottom:none}.tabulator .tabulator-footer>*+.tabulator-page-counter{margin-left:10px}.tabulator .tabulator-footer .tabulator-page-counter{font-weight:normal}.tabulator .tabulator-footer .tabulator-paginator{flex:1;text-align:right;color:#555;font-family:inherit;font-weight:inherit;font-size:inherit}.tabulator .tabulator-footer .tabulator-page-size{display:inline-block;margin:0 5px;padding:2px 5px;border:1px solid #aaa;border-radius:3px}.tabulator .tabulator-footer .tabulator-pages{margin:0 7px}.tabulator .tabulator-footer .tabulator-page{display:inline-block;margin:0 2px;padding:2px 5px;border:1px solid #aaa;border-radius:3px;background:rgba(255, 255, 255, 0.2)}.tabulator .tabulator-footer .tabulator-page.active{color:#d00}.tabulator .tabulator-footer .tabulator-page:disabled{opacity:0.5}@media (hover: hover) and (pointer: fine){.tabulator .tabulator-footer .tabulator-page:not(disabled):hover{cursor:pointer;background:rgba(0, 0, 0, 0.2);color:#fff}}.tabulator .tabulator-col-resize-handle{position:relative;display:inline-block;width:6px;margin-left:-3px;margin-right:-3px;z-index:11;vertical-align:middle}@media (hover: hover) and (pointer: fine){.tabulator .tabulator-col-resize-handle:hover{cursor:ew-resize}}.tabulator .tabulator-col-resize-handle:last-of-type{width:3px;margin-right:0}.tabulator .tabulator-col-resize-guide{position:absolute;top:0;width:4px;height:100%;margin-left:-0.5px;background-color:#999;opacity:0.5}.tabulator .tabulator-row-resize-guide{position:absolute;left:0;width:100%;height:4px;margin-top:-0.5px;background-color:#999;opacity:0.5}.tabulator .tabulator-alert{position:absolute;display:flex;align-items:center;top:0;left:0;z-index:100;height:100%;width:100%;background:rgba(0, 0, 0, 0.4);text-align:center}.tabulator .tabulator-alert .tabulator-alert-msg{display:inline-block;margin:0 auto;padding:10px 20px;border-radius:10px;background:#fff;font-weight:bold;font-size:16px}.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{position:relative;box-sizing:border-box;min-height:22px;background-color:#fff}.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{border:1px solid #000;background:#fff}.tabulator-row.tabulator-moving{position:absolute;border-top:1px solid #aaa;border-bottom:1px solid #aaa;pointer-events:none;z-index:15}.tabulator-row.tabulator-range-highlight .tabulator-cell.tabulator-range-row-header{background-color:#D6D6D6;color:#000000}.tabulator-row.tabulator-range-highlight.tabulator-range-selected .tabulator-cell.tabulator-range-row-header{background-color:#3876ca;color:#FFFFFF}.tabulator-row.tabulator-range-selected .tabulator-cell.tabulator-range-row-header{background-color:#3876ca;color:#FFFFFF}.tabulator-row .tabulator-row-resize-handle{position:absolute;right:0;bottom:0;left:0;height:5px}.tabulator-row .tabulator-row-resize-handle.prev{top:0;bottom:auto}@media (hover: hover) and (pointer: fine){.tabulator-row .tabulator-row-resize-handle:hover{cursor:ns-resize}}.tabulator-row .tabulator-responsive-collapse{box-sizing:border-box;padding:5px;border-top:1px solid #aaa;border-bottom:1px solid #aaa}.tabulator-row .tabulator-responsive-collapse:empty{display:none}.tabulator-row .tabulator-responsive-collapse table{font-size:14px}.tabulator-row .tabulator-responsive-collapse table tr td{position:relative}.tabulator-row .tabulator-responsive-collapse table tr td:first-of-type{padding-right:10px}.tabulator-row .tabulator-cell{display:inline-block;position:relative;box-sizing:border-box;padding:4px;border-right:1px solid #aaa;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;outline:none}.tabulator-row .tabulator-cell.tabulator-row-header{border-right:1px solid #999;border-bottom:1px solid #aaa;background:#e6e6e6}.tabulator-row .tabulator-cell.tabulator-frozen{display:inline-block;position:sticky;left:0;background-color:inherit;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{border:1px;background:transparent;outline:none}.tabulator-row .tabulator-cell.tabulator-validation-fail{border:1px solid #dd0000}.tabulator-row .tabulator-cell.tabulator-validation-fail input,.tabulator-row .tabulator-cell.tabulator-validation-fail select{border:1px;background:transparent;color:#dd0000}.tabulator-row .tabulator-cell.tabulator-row-handle{display:inline-flex;align-items:center;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{width:100%;height:3px;margin-top:2px;background:#666}.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{display:inline-block;vertical-align:middle;height:9px;width:7px;margin-top:-9px;margin-right:5px;border-bottom-left-radius:1px;border-left:2px solid #aaa;border-bottom:2px solid #aaa}.tabulator-row .tabulator-cell .tabulator-data-tree-control{display:inline-flex;justify-content:center;align-items:center;vertical-align:middle;height:11px;width:11px;margin-right:5px;border:1px solid #333;border-radius:2px;background:rgba(0, 0, 0, 0.1);overflow:hidden}@media (hover: hover) and (pointer: fine){.tabulator-row .tabulator-cell .tabulator-data-tree-control:hover{cursor:pointer;background:rgba(0, 0, 0, 0.2)}}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-collapse{display:inline-block;position:relative;height:7px;width:1px;background:transparent}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after{position:absolute;content:"";left:-3px;top:3px;height:1px;width:7px;background:#333}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand{display:inline-block;position:relative;height:7px;width:1px;background:#333}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{position:absolute;content:"";left:-3px;top:3px;height:1px;width:7px;background:#333}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle{display:inline-flex;align-items:center;justify-content:center;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;height:15px;width:15px;border-radius:20px;background:#666;color:#fff;font-weight:bold;font-size:1.1em}@media (hover: hover) and (pointer: fine){.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle:hover{opacity:0.7;cursor:pointer}}.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{display:inline-block;height:14px;width:14px;border-radius:14px}.tabulator-row.tabulator-group{box-sizing:border-box;border-bottom:1px solid #999;border-right:1px solid #aaa;border-top:1px solid #999;padding:5px;padding-left:10px;background:#ccc;font-weight:bold;min-width:100%}@media (hover: hover) and (pointer: fine){.tabulator-row.tabulator-group:hover{cursor:pointer;background-color:rgba(0, 0, 0, 0.1)}}.tabulator-row.tabulator-group.tabulator-group-visible .tabulator-arrow{margin-right:10px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #666;border-bottom:0}.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{display:inline-block;width:0;height:0;margin-right:16px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:0;border-left:6px solid #666;vertical-align:middle}.tabulator-row.tabulator-group span{margin-left:10px;color:#d00}.tabulator-toggle{box-sizing:border-box;display:flex;flex-direction:row;border:1px solid #ccc;background:#dcdcdc}.tabulator-toggle.tabulator-toggle-on{background:#1c6cc2}.tabulator-toggle .tabulator-toggle-switch{box-sizing:border-box;border:1px solid #ccc;background:#fff}.tabulator-popup-container{position:absolute;display:inline-block;box-sizing:border-box;background:#fff;border:1px solid #aaa;box-shadow:0 0 5px 0 rgba(0, 0, 0, 0.2);font-size:14px;overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:10000}.tabulator-popup{padding:5px;border-radius:3px}.tabulator-tooltip{max-width:min(500px, 100%);padding:3px 5px;border-radius:2px;box-shadow:none;font-size:12px;pointer-events:none}.tabulator-menu .tabulator-menu-item{position:relative;box-sizing:border-box;padding:5px 10px;user-select:none}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-disabled{opacity:0.5}@media (hover: hover) and (pointer: fine){.tabulator-menu .tabulator-menu-item:not(.tabulator-menu-item-disabled):hover{cursor:pointer;background:#EFEFEF}}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-submenu{padding-right:25px}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-submenu::after{display:inline-block;position:absolute;top:calc(5px + 0.4em);right:10px;height:7px;width:7px;content:"";border-width:1px 1px 0 0;border-style:solid;border-color:#aaa;vertical-align:top;transform:rotate(45deg)}.tabulator-menu .tabulator-menu-separator{border-top:1px solid #aaa}.tabulator-edit-list{max-height:200px;font-size:14px;overflow-y:auto;-webkit-overflow-scrolling:touch}.tabulator-edit-list .tabulator-edit-list-item{padding:4px;color:#333;outline:none}.tabulator-edit-list .tabulator-edit-list-item.active{color:#fff;background:#1D68CD}.tabulator-edit-list .tabulator-edit-list-item.active.focused{outline:1px solid rgba(255, 255, 255, 0.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{cursor:pointer;color:#fff;background:#1D68CD}}.tabulator-edit-list .tabulator-edit-list-placeholder{padding:4px;color:#333;text-align:center}.tabulator-edit-list .tabulator-edit-list-group{border-bottom:1px solid #aaa;padding:4px;padding-top:6px;color:#333;font-weight:bold}.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-2,.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-2{padding-left:12px}.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-3,.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-3{padding-left:20px}.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-4,.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-4{padding-left:28px}.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-5,.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-5{padding-left:36px}.tabulator.tabulator-ltr{direction:ltr}.tabulator.tabulator-rtl{text-align:initial;direction:rtl}.tabulator.tabulator-rtl .tabulator-header .tabulator-col{text-align:initial;border-left:1px solid #aaa;border-right:initial}.tabulator.tabulator-rtl .tabulator-header .tabulator-col.tabulator-col-group .tabulator-col-group-cols{margin-right:initial;margin-left:-1px}.tabulator.tabulator-rtl .tabulator-header .tabulator-col.tabulator-sortable .tabulator-col-title{padding-right:0;padding-left:25px}.tabulator.tabulator-rtl .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter{left:8px;right:initial}.tabulator.tabulator-rtl .tabulator-tableholder .tabulator-range-overlay .tabulator-range.tabulator-range-active::after{content:"";position:absolute;left:-3px;right:initial;bottom:-3px;width:6px;height:6px;background-color:#2975DD;border-radius:999px}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell{border-right:initial;border-left:1px solid #aaa}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell .tabulator-data-tree-branch{margin-right:initial;margin-left:5px;border-bottom-left-radius:initial;border-bottom-right-radius:1px;border-left:initial;border-right:2px solid #aaa}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell .tabulator-data-tree-control{margin-right:initial;margin-left:5px}.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{width:3px;margin-left:0;margin-right:-3px}.tabulator.tabulator-rtl .tabulator-footer .tabulator-calcs-holder{text-align:initial}.tabulator-print-fullscreen{position:absolute;top:0;bottom:0;left:0;right:0;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{display:inline-block;vertical-align:middle;height:9px;width:7px;margin-top:-9px;margin-right:5px;border-bottom-left-radius:1px;border-left:2px solid #aaa;border-bottom:2px solid #aaa}.tabulator-print-table .tabulator-print-table-group{box-sizing:border-box;border-bottom:1px solid #999;border-right:1px solid #aaa;border-top:1px solid #999;padding:5px;padding-left:10px;background:#ccc;font-weight:bold;min-width:100%}@media (hover: hover) and (pointer: fine){.tabulator-print-table .tabulator-print-table-group:hover{cursor:pointer;background-color:rgba(0, 0, 0, 0.1)}}.tabulator-print-table .tabulator-print-table-group.tabulator-group-visible .tabulator-arrow{margin-right:10px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #666;border-bottom:0}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-1 td{padding-left:30px !important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-2 td{padding-left:50px !important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-3 td{padding-left:70px !important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-4 td{padding-left:90px !important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-5 td{padding-left:110px !important}.tabulator-print-table .tabulator-print-table-group .tabulator-group-toggle{display:inline-block}.tabulator-print-table .tabulator-print-table-group .tabulator-arrow{display:inline-block;width:0;height:0;margin-right:16px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:0;border-left:6px solid #666;vertical-align:middle}.tabulator-print-table .tabulator-print-table-group span{margin-left:10px;color:#d00}.tabulator-print-table .tabulator-data-tree-control{display:inline-flex;justify-content:center;align-items:center;vertical-align:middle;height:11px;width:11px;margin-right:5px;border:1px solid #333;border-radius:2px;background:rgba(0, 0, 0, 0.1);overflow:hidden}@media (hover: hover) and (pointer: fine){.tabulator-print-table .tabulator-data-tree-control:hover{cursor:pointer;background:rgba(0, 0, 0, 0.2)}}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-collapse{display:inline-block;position:relative;height:7px;width:1px;background:transparent}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after{position:absolute;content:"";left:-3px;top:3px;height:1px;width:7px;background:#333}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand{display:inline-block;position:relative;height:7px;width:1px;background:#333}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{position:absolute;content:"";left:-3px;top:3px;height:1px;width:7px;background:#333}:host(limel-table){isolation:isolate;display:block;--table-header-background-color:var(--contrast-500);--table-header-background-color--hover:var(--contrast-400);--table-header-background-color-when-being-dragged:var(--contrast-100);--table-row-background-color--odd:var(--contrast-200);--table-row-background-color--even:var(--contrast-100);--table-row-background-color--hover:var( --lime-elevated-surface-background-color );--table-row-background-color--active:var(--mdc-theme-primary);--table-arrow-color:var(--contrast-800);--table-arrow-color--active:var( --lime-primary-color, var(--limel-theme-primary-color) );--table-text-color:var(--limel-theme-text-primary-on-background-color);--limel-chip-size:1.25rem}#tabulator-container,#tabulator-table{height:100%;width:100%}.tabulator{display:flex;flex-direction:column}.tabulator *{box-sizing:border-box}.tabulator .tabulator-header{flex-shrink:0}.tabulator .tabulator-tableholder{isolation:isolate;flex-grow:1;height:unset !important;max-height:unset !important;min-height:unset !important;padding-bottom:5rem}.tabulator .tabulator-footer{flex-shrink:0}#tabulator-container{position:relative}#tabulator-container,#tabulator-table{background-color:transparent;border:none}.tabulator .tabulator-header{color:var(--table-text-color)}.tabulator .tabulator-tableholder .tabulator-table{color:var(--table-text-color);background-color:transparent}.tabulator .tabulator-header{border-bottom:0;background-color:rgb(var(--table-header-background-color))}.tabulator .tabulator-header .tabulator-headers{width:fit-content}.tabulator .tabulator-header .tabulator-col{transition:background-color 0.2s ease;background-color:rgb(var(--table-header-background-color));border-right-color:rgb(var(--contrast-200))}.tabulator .tabulator-header .tabulator-col.tabulator-sortable.tabulator-col-sorter-element:hover{background-color:rgb(var(--table-header-background-color--hover))}.tabulator .tabulator-header .tabulator-col .tabulator-col-content{padding:0 0.5rem 0 0.25rem}.tabulator .tabulator-header .tabulator-col-title-holder{height:1.75rem;display:flex;align-items:center;gap:0.25rem}.tabulator .tabulator-header .tabulator-col-sorter{order:1}.tabulator .tabulator-header .tabulator-col-title{order:2;font-weight:500;padding-right:0 !important;line-height:1.25rem}.tabulator-row{height:2.25rem}.tabulator-row .tabulator-cell{border-right:transparent;padding:0.5rem;padding-left:1rem;height:inherit}.tabulator-row .tabulator-cell[style*="text-align: right;"]{justify-content:flex-end}.tabulator-row .tabulator-cell[style*="text-align: center;"]{justify-content:center}.tabulator-row .tabulator-col-resize-handle{display:none}.tabulator-col,.tabulator-cell{max-width:var(--table-max-column-width, 40rem)}#tabulator-loader,#tabulator-empty-text{position:absolute;width:100%;height:100%;z-index:1;display:flex;align-items:center;justify-content:center}#tabulator-loader{background-color:rgba(var(--contrast-100), 0.6);cursor:wait}#tabulator-empty-text{color:rgb(var(--contrast-800));font-weight:bold;font-size:1.25rem;pointer-events:none}limel-chip{transform:translateY(-0.15rem)}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter{position:relative;cursor:pointer;transition:opacity 0.2s ease;right:0}.tabulator-sortable[aria-sort=none] .tabulator-col-sorter{opacity:0}.tabulator-sortable[aria-sort=none]:hover .tabulator-col-sorter{opacity:1}.tabulator-sortable[aria-sort=none]:hover .tabulator-col-sorter .tabulator-arrow{animation:indicate-sortable-unsorted-column 2s ease forwards}.tabulator-sortable[aria-sort=desc] .tabulator-col-sorter,.tabulator-sortable[aria-sort=asc] .tabulator-col-sorter{opacity:1}.tabulator-sortable[aria-sort=desc]:hover .tabulator-col-sorter,.tabulator-sortable[aria-sort=asc]:hover .tabulator-col-sorter{opacity:1;animation:indicate-sortable-sorted-column 0.5s ease}.tabulator-arrow{rotate:180deg;transition:border 0.2s ease;border-left:0.25rem solid transparent !important;border-right:0.25rem solid transparent !important}.tabulator#tabulator-table .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-arrow{height:0.75rem;border-top-width:0.25rem;border-top-style:solid;border-top-color:rgb(var(--table-arrow-color));border-bottom-width:0.25rem;border-bottom-style:solid;border-bottom-color:rgb(var(--table-arrow-color))}.tabulator#tabulator-table .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=desc] .tabulator-arrow{height:0;transform:translate3d(0, -0.2rem, 0);border-top-width:0.25rem;border-bottom-width:0;border-top-color:var(--table-arrow-color--active)}.tabulator#tabulator-table .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=asc] .tabulator-arrow{height:0;transform:translate3d(0, 0.2rem, 0);border-top-width:0;border-bottom-width:0.25rem;border-bottom-color:var(--table-arrow-color--active)}@keyframes indicate-sortable-sorted-column{0%,100%{transform:translate3d(0, 0, 0)}30%{transform:translate3d(0, -0.0875rem, 0)}60%{transform:translate3d(0, 0.0875rem, 0)}}@keyframes indicate-sortable-unsorted-column{0%,15%,45%,75%{border-top-color:transparent;border-bottom-color:transparent;transform:translate3d(0, 0, 0)}30%{border-top-color:transparent;border-bottom-color:var(--table-arrow-color--active);transform:translate3d(0, -0.3125rem, 0)}60%{border-top-color:var(--table-arrow-color--active);border-bottom-color:transparent;transform:translate3d(0, 0.3125rem, 0)}100%{border-top-color:rgb(var(--table-arrow-color));border-bottom-color:rgb(var(--table-arrow-color))}}#tabulator-container:not(.has-pagination) .tabulator-paginator{display:var(--limel-table-single-page-paginator-display, grid)}.tabulator .tabulator-footer .tabulator-paginator{box-sizing:border-box;display:grid;grid-auto-flow:column;justify-content:end;padding-top:0.25rem;padding-bottom:0.25rem}.tabulator .tabulator-footer .tabulator-paginator .tabulator-pages{margin:0 0.5rem}.tabulator .tabulator-footer .tabulator-paginator .tabulator-pages .tabulator-page{margin:0 0rem}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]){transition:color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);cursor:pointer;color:rgb(var(--contrast-1200)) !important;background-color:transparent}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):hover,.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):focus,.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):focus-visible{will-change:color, background-color, box-shadow, transform}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):hover,.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):focus-visible{transform:translate3d(0, 0.01rem, 0);color:var(--limel-theme-on-surface-color);background-color:var(--lime-elevated-surface-background-color)}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):hover{box-shadow:var(--button-shadow-hovered)}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):active{--limel-clickable-transform-timing-function:cubic-bezier( 0.83, -0.15, 0.49, 1.16 );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):hover,.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page{position:relative;height:1.75rem;min-width:1.75rem;padding:0 0.5rem;margin:0;border:none;border-radius:2.5rem;background-color:transparent}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page.active{background-color:var(--limel-theme-surface-background-color);box-shadow:var(--button-shadow-inset)}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:disabled{opacity:0.3;cursor:not-allowed}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:disabled:hover{background-color:transparent}button.tabulator-page{display:inline-flex !important;align-items:center;justify-content:center}button.tabulator-page[data-page=first],button.tabulator-page[data-page=prev],button.tabulator-page[data-page=next],button.tabulator-page[data-page=last]{font-size:0;color:transparent !important}button.tabulator-page[data-page=first]:before,button.tabulator-page[data-page=first]:after,button.tabulator-page[data-page=prev]:before,button.tabulator-page[data-page=prev]:after,button.tabulator-page[data-page=next]:before,button.tabulator-page[data-page=next]:after,button.tabulator-page[data-page=last]:before,button.tabulator-page[data-page=last]:after{content:"";transition:transform 0.2s ease;display:block;position:absolute}button.tabulator-page[data-page=first]:after,button.tabulator-page[data-page=prev]:after,button.tabulator-page[data-page=next]:after,button.tabulator-page[data-page=last]:after{border-style:solid;border-color:transparent;border-width:0.25rem 0 0.25rem 0.4rem;border-left-color:var(--limel-theme-on-surface-color)}button.tabulator-page[data-page=first]:before,button.tabulator-page[data-page=last]:before{height:0.5rem;width:0.125rem;background-color:var(--limel-theme-on-surface-color)}button.tabulator-page[data-page=first]:before{left:0.375rem}button.tabulator-page[data-page=last]:before{right:0.375rem}button.tabulator-page[data-page=first]:after,button.tabulator-page[data-page=prev]:after{transform:rotateZ(180deg)}button.tabulator-page[data-page=next]:not([disabled]):hover:after,button.tabulator-page[data-page=last]:not([disabled]):hover:after{transform:translate3d(0.09375rem, 0, 0)}button.tabulator-page[data-page=first]:not([disabled]):hover:after,button.tabulator-page[data-page=prev]:not([disabled]):hover:after{transform:translate3d(-0.09375rem, 0, 0) rotateZ(180deg)}@keyframes fade-in-tabulator-loader{0%{background:transparent}100%{background:rgba(var(--contrast-1400), 0.4)}}@keyframes spin-tabulator-loader{to{transform:rotate(360deg)}}.tabulator .tabulator-loader{animation:fade-in-tabulator-loader 0.5s ease 0.5s forwards;animation-iteration-count:1;cursor:progress;background:transparent}.tabulator .tabulator-loader .tabulator-loader-msg{animation:spin-tabulator-loader 0.4s linear infinite;color:transparent;font-size:0;border-radius:50%;border:0.1875rem solid rgb(var(--lime-brand-color-flexible-turquoise)) !important;border-top-color:transparent !important;width:1.25rem;height:1.25rem;background-color:transparent !important;padding:0}.interactive-feedback{position:absolute;inset:0;min-height:0.125rem;transition:color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);background-color:rgb(var(--limel-table-row-background-color))}.tabulator-row:active .interactive-feedback{--limel-clickable-transform-timing-function:cubic-bezier( 0.83, -0.15, 0.49, 1.16 )}.tabulator-row:hover .interactive-feedback,.tabulator-row:active .interactive-feedback{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}.tabulator-row:not(.tabulator-calcs){background-color:transparent}.tabulator-row:not(.tabulator-calcs).tabulator-row-odd{--limel-table-row-background-color:var( --table-row-background-color--odd )}.tabulator-row:not(.tabulator-calcs).tabulator-row-even{--limel-table-row-background-color:var( --table-row-background-color--even )}.tabulator-row:not(.tabulator-calcs) .tabulator-cell{pointer-events:none}.tabulator-row:not(.tabulator-calcs) .tabulator-cell>*{pointer-events:auto}.tabulator-row:not(.tabulator-calcs).tabulator-selectable:hover{background-color:var(--table-row-background-color--hover);z-index:2}.tabulator-row:not(.tabulator-calcs).tabulator-selectable.active:before{content:"";display:inline-block;box-sizing:border-box;position:sticky;z-index:3;inset:0 0 auto 0;border:0.2rem solid var(--lime-primary-color, var(--limel-theme-primary-color));border-radius:1rem;margin-right:-0.4rem}:host(.has-interactive-rows) .tabulator-row:not(.tabulator-calcs).tabulator-selectable .interactive-feedback:hover{box-shadow:var(--button-shadow-hovered)}:host(.has-interactive-rows) .tabulator-row:not(.tabulator-calcs).tabulator-selectable:active .interactive-feedback{box-shadow:var(--button-shadow-pressed);transform:translate3d(0, 0.05rem, 0)}:host(.has-interactive-rows) .tabulator-row:not(.tabulator-calcs).tabulator-selectable.active{--limel-table-row-background-color:var( --table-row-background-color--active )}:host(.has-interactive-rows) .tabulator-row:not(.tabulator-calcs).tabulator-selectable.active .interactive-feedback{opacity:0.2;background-color:var(--table-row-background-color--active);box-shadow:var(--button-shadow-inset-pressed)}:host(.has-interactive-rows) .tabulator-row:not(.tabulator-calcs).tabulator-selectable.active .interactive-feedback:hover{opacity:0.3}:host(.has-interactive-rows) .tabulator-row:not(.tabulator-calcs).tabulator-selectable:not(.active) .interactive-feedback:hover{background-color:var(--table-row-background-color--hover)}:host(.has-low-density) #tabulator-container{width:max-content;max-width:100%;margin:auto}:host(.has-low-density) .tabulator-table{background-color:transparent}:host(.has-low-density) .tabulator-header{border-radius:0.375rem}:host(.has-low-density) .tabulator-footer{border-radius:0.5rem}:host(.has-low-density) .tabulator-calcs-holder{border-radius:0.5rem 0.5rem 0 0}:host(.has-low-density) .tabulator-row{border-radius:0.5rem}:host(.has-low-density) .tabulator-row:not(.tabulator-calcs-bottom){margin-bottom:0.25rem}:host(.has-low-density) .tabulator-row:not(.tabulator-calcs-bottom):first-child{margin-top:0.75rem}:host(.has-low-density) .tabulator-row:not(.tabulator-calcs-bottom) .tabulator-cell{height:2.75rem !important}:host(.has-low-density) .tabulator-row:not(.tabulator-calcs-bottom) .tabulator-cell:first-child{border-radius:0.5rem 0 0 0.5rem}:host(.has-low-density) .tabulator-row:not(.tabulator-calcs-bottom) .tabulator-cell:last-child{border-radius:0 0.5rem 0.5rem 0}:host(.has-pagination-on-top) .tabulator .tabulator-header{order:2}:host(.has-pagination-on-top) .tabulator .tabulator-tableholder{order:3}:host(.has-pagination-on-top) .tabulator .tabulator-footer{order:1;background-color:transparent}:host(.has-pagination-on-top) .tabulator .tabulator-calcs-holder{position:absolute;bottom:0}:host(.has-pagination-on-top):has(.tabulator-calcs-holder) .tabulator-tableholder{margin-bottom:1.5rem}:host(.has-pagination-on-top) .select-all{top:2.5rem}.lime-col-title__custom-component{width:100%;display:flex;align-items:center;margin-right:1.25rem;gap:0.25rem}.title-component-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex-grow:1;flex-shrink:1;min-width:0}.title-component-slot{flex-shrink:0}@keyframes detach-a-column-header{0%{transform:rotate(0deg)}100%{transform:rotate(-2deg)}}.has-movable-columns .tabulator-header{overflow-y:visible}.has-movable-columns .tabulator-header .tabulator-col:not(.tabulator-frozen){cursor:move !important}.has-movable-columns .tabulator-header .tabulator-col:not(.tabulator-frozen).tabulator-sortable.tabulator-moving{animation:detach-a-column-header 0.2s ease forwards;opacity:0.9;border:none;border-radius:0.25rem;background-color:rgb(var(---table-header-background-color-when-being-dragged));box-shadow:var(--shadow-depth-16)}.has-movable-columns .tabulator-header .tabulator-col:not(.tabulator-frozen).tabulator-sortable.tabulator-moving:hover{background-color:rgb(var(---table-header-background-color-when-being-dragged))}.has-movable-columns .tabulator-header .tabulator-col:not(.tabulator-frozen).tabulator-sortable.tabulator-moving .tabulator-arrow:before{background-color:rgb(var(---table-header-background-color-when-being-dragged))}.tabulator .tabulator-footer{transition:transform 0.5s ease-out, opacity 0.35s ease;color:var(--table-text-color);background-color:rgb(var(--table-header-background-color--hover));border:none;user-select:auto}.tabulator .tabulator-footer .tabulator-footer-contents{padding:0 0.25rem}.tabulator .tabulator-footer .tabulator-calcs-holder{border-color:rgb(var(--contrast-500));background:rgb(var(--contrast-500)) !important;margin-top:0;margin-bottom:0}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row{height:1.5rem;background:transparent !important}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-calcs{cursor:default}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-cell{height:1.5rem !important;padding-top:0.25rem;padding-bottom:0}.select-all,.limel-table--row-selector{--limel-checkbox-min-height:1.25rem;display:inline-flex !important;align-items:center;justify-content:center;text-overflow:unset !important;padding:0 !important}.select-all{position:absolute;z-index:1;left:0.375rem;top:0.1875rem}.limel-table--row-selector{position:sticky !important;left:0;border-width:0;z-index:1}.limel-table--row-selector:before{content:"";inset:0.25rem 0;position:absolute;background-image:linear-gradient(to right, rgb(var(--limel-table-row-background-color)) 70%, rgb(var(--limel-table-row-background-color), 0))}.limel-table--row-selector limel-checkbox{transition:opacity 0.2s ease;opacity:0.3}.tabulator-row:hover .limel-table--row-selector limel-checkbox{opacity:1}.has-selection .limel-table--row-selector limel-checkbox{opacity:1}.limel-table--row-selector .tabulator-col-resize-handle{display:none}.limel-table--row-selector+.tabulator-col .tabulator-col-resize-handle.prev,.limel-table--row-selector+.tabulator-cell .tabulator-col-resize-handle.prev{display:none}.has-movable-columns .tabulator-header .tabulator-col.limel-table--row-selector{border:none;cursor:default !important;pointer-events:none;background-color:transparent;background-image:linear-gradient(to right, rgb(var(--table-header-background-color--hover)) 70%, rgb(var(--table-header-background-color--hover), 0));left:0}.has-selection .tabulator-calcs .tabulator-cell{color:var(--table-arrow-color--active)}';export{qi as limel_table}
|
|
1
|
+
import{r as t,c as i,h as e,H as s,a as r}from"./p-xvTBZcD2.js";import{h as o,c as a,a as h,d as n,e as l,b as u}from"./p-DMyO3At_.js";import{a as c}from"./p-ZcW3uvZL.js";import{b as d,a as b}from"./p-BgPHaiMH.js";import{i as p}from"./p-BJQylLSL.js";import{f as m,m as g,n as f,l as v,p as w,q as y}from"./p-DTNvx8HZ.js";import{g as x}from"./p-gWSB8lIW.js";import{n as k}from"./p-ooVD-6_a.js";import{_ as C}from"./p-C4zsCPOF.js";import{i as R}from"./p-DkL-aPMx.js";import{t as E}from"./p-6rJPElLH.js";import"./p-B8VKuhvH.js";import"./p-BOEi1C7r.js";import"./p-oiMYqRQ0.js";import"./p-CK4jS9_E.js";import"./p-Cs5T63LB.js";import"./p-f_1nwOC8.js";import"./p-efBXH4mj.js";import"./p-DtS35Df5.js";var z=Object.prototype.hasOwnProperty;function M(t){return d(t)?g(t,!0):function(t){if(!p(t))return function(t){var i=[];if(null!=t)for(var e in Object(t))i.push(e);return i}(t);var i=m(t),e=[];for(var s in t)("constructor"!=s||!i&&z.call(t,s))&&e.push(s);return e}(t)}var S=Object.getOwnPropertySymbols?function(t){for(var i=[];t;)v(i,w(t)),t=x(t);return i}:f,T=Object.prototype.hasOwnProperty;function D(t,i){return null!=t&&T.call(t,i)}function P(t,i,e){if(!p(t))return t;for(var s=-1,r=(i=a(i,t)).length,o=r-1,n=t;null!=n&&++s<r;){var l=h(i[s]),u=e;if("__proto__"===l||"constructor"===l||"prototype"===l)return t;if(s!=o){var d=n[l];void 0===(u=void 0)&&(u=p(d)?d:b(i[s+1])?[]:{})}c(n,l,u),n=n[l]}return t}function F(t,i){if(null==t)return{};var e=l(function(t){return y(t,M,S)}(t),(function(t){return[t]}));return i=u(i),function(t,i,e){for(var s=-1,r=i.length,o={};++s<r;){var h=i[s],l=n(t,h);e(l,h)&&P(o,a(h,t),l)}return o}(t,e,(function(t,e){return i(t,e[0])}))}class j{constructor(t){this.table=t}reloadData(t,i,e){return this.table.dataLoader.load(t,void 0,void 0,void 0,i,e)}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(t){return this.table.modules.layout.layout(t)}subscribe(){return this.table.eventBus.subscribe(...arguments)}unsubscribe(){return this.table.eventBus.unsubscribe(...arguments)}subscribed(t){return this.table.eventBus.subscribed(t)}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(t){return this.table.externalEvents.subscribed(t)}subscriptionChangeExternal(){return this.table.externalEvents.subscriptionChange(...arguments)}options(t){return this.table.options[t]}setOption(t,i){return void 0!==i&&(this.table.options[t]=i),this.table.options[t]}deprecationCheck(t,i,e){return this.table.deprecationAdvisor.check(t,i,e)}deprecationCheckMsg(t,i){return this.table.deprecationAdvisor.checkMsg(t,i)}deprecationMsg(t){return this.table.deprecationAdvisor.msg(t)}module(t){return this.table.module(t)}}class N{static elVisible(t){return!(t.offsetWidth<=0&&t.offsetHeight<=0)}static elOffset(t){var i=t.getBoundingClientRect();return{top:i.top+window.pageYOffset-document.documentElement.clientTop,left:i.left+window.pageXOffset-document.documentElement.clientLeft}}static retrieveNestedData(t,i,e){var s,r=t?i.split(t):[i],o=r.length;for(let t=0;t<o&&(s=e=e[r[t]],e);t++);return s}static deepClone(t,i,e=[]){var s={}.__proto__,r=[].__proto__;for(var o in i||(i=Object.assign(Array.isArray(t)?[]:{},t)),t){let a,h,n=t[o];null==n||"object"!=typeof n||n.__proto__!==s&&n.__proto__!==r||(a=e.findIndex((t=>t.subject===n)),a>-1?i[o]=e[a].copy:(h=Object.assign(Array.isArray(n)?[]:{},n),e.unshift({subject:n,copy:h}),i[o]=this.deepClone(n,h,e)))}return i}}let O=class t extends j{constructor(t,i,e){super(t),this.element=i,this.container=this._lookupContainer(),this.parent=e,this.reversedX=!1,this.childPopup=null,this.blurable=!1,this.blurCallback=null,this.blurEventsBound=!1,this.renderedCallback=null,this.visible=!1,this.hideable=!0,this.element.classList.add("tabulator-popup-container"),this.blurEvent=this.hide.bind(this,!1),this.escEvent=this._escapeCheck.bind(this),this.destroyBinding=this.tableDestroyed.bind(this),this.destroyed=!1}tableDestroyed(){this.destroyed=!0,this.hide(!0)}_lookupContainer(){var t=this.table.options.popupContainer;return"string"==typeof t?(t=document.querySelector(t))||console.warn("Menu Error - no container element found matching selector:",this.table.options.popupContainer,"(defaulting to document body)"):!0===t&&(t=this.table.element),t&&!this._checkContainerIsParent(t)&&(t=!1,console.warn("Menu Error - container element does not contain this table:",this.table.options.popupContainer,"(defaulting to document body)")),t||(t=document.body),t}_checkContainerIsParent(t,i=this.table.element){return t===i||!!i.parentNode&&this._checkContainerIsParent(t,i.parentNode)}renderCallback(t){this.renderedCallback=t}containerEventCoords(t){var i=!(t instanceof MouseEvent),e=i?t.touches[0].pageX:t.pageX,s=i?t.touches[0].pageY:t.pageY;if(this.container!==document.body){let t=N.elOffset(this.container);e-=t.left,s-=t.top}return{x:e,y:s}}elementPositionCoords(t,i="right"){var e,s,r,o=N.elOffset(t);switch(this.container!==document.body&&(e=N.elOffset(this.container),o.left-=e.left,o.top-=e.top),i){case"right":s=o.left+t.offsetWidth,r=o.top-1;break;case"bottom":s=o.left,r=o.top+t.offsetHeight;break;case"left":s=o.left,r=o.top-1;break;case"top":s=o.left,r=o.top;break;case"center":s=o.left+t.offsetWidth/2,r=o.top+t.offsetHeight/2}return{x:s,y:r,offset:o}}show(t,i){var e,s,r,o,a;return this.destroyed||this.table.destroyed||(t instanceof HTMLElement?(r=t,o=(a=this.elementPositionCoords(t,i)).offset,e=a.x,s=a.y):"number"==typeof t?(o={top:0,left:0},e=t,s=i):(e=(a=this.containerEventCoords(t)).x,s=a.y,this.reversedX=!1),this.element.style.top=s+"px",this.element.style.left=e+"px",this.container.appendChild(this.element),"function"==typeof this.renderedCallback&&this.renderedCallback(),this._fitToScreen(e,s,r,o,i),this.visible=!0,this.subscribe("table-destroy",this.destroyBinding),this.element.addEventListener("mousedown",(t=>{t.stopPropagation()}))),this}_fitToScreen(t,i,e,s,r){var o=this.container===document.body?document.documentElement.scrollTop:this.container.scrollTop;(t+this.element.offsetWidth>=this.container.offsetWidth||this.reversedX)&&(this.element.style.left="",this.element.style.right=e?this.container.offsetWidth-s.left+"px":this.container.offsetWidth-t+"px",this.reversedX=!0);let a=Math.max(this.container.offsetHeight,o?this.container.scrollHeight:0);i+this.element.offsetHeight>a&&(e?this.element.style.top="bottom"===r?parseInt(this.element.style.top)-this.element.offsetHeight-e.offsetHeight-1+"px":parseInt(this.element.style.top)-this.element.offsetHeight+e.offsetHeight+1+"px":this.element.style.height=a+"px")}isVisible(){return this.visible}hideOnBlur(t){return this.blurable=!0,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=!0)}),100),this.blurCallback=t),this}_escapeCheck(t){27==t.keyCode&&this.hide()}blockHide(){this.hideable=!1}restoreHide(){this.hideable=!0}hide(t=!1){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=!1),this.childPopup&&this.childPopup.hide(),this.parent&&(this.parent.childPopup=null),this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.visible=!1,this.blurCallback&&!t&&this.blurCallback(),this.unsubscribe("table-destroy",this.destroyBinding)),this}child(i){return this.childPopup&&this.childPopup.hide(),this.childPopup=new t(this.table,i,this),this.childPopup}};class H extends j{constructor(t,i){super(t),this._handler=null}initialize(){}registerTableOption(t,i){this.table.optionsList.register(t,i)}registerColumnOption(t,i){this.table.columnManager.optionsList.register(t,i)}registerTableFunction(t,i){void 0===this.table[t]?this.table[t]=(...e)=>(this.table.initGuard(t),i(...e)):console.warn("Unable to bind table function, name already in use",t)}registerComponentFunction(t,i,e){return this.table.componentFunctionBinder.bind(t,i,e)}registerDataHandler(t,i){this.table.rowManager.registerDataPipelineHandler(t,i),this._handler=t}registerDisplayHandler(t,i){this.table.rowManager.registerDisplayPipelineHandler(t,i),this._handler=t}displayRows(t){var i,e=this.table.rowManager.displayRows.length-1;if(this._handler&&(i=this.table.rowManager.displayPipeline.findIndex((t=>t.handler===this._handler)))>-1&&(e=i),t&&(e+=t),this._handler)return e>-1?this.table.rowManager.getDisplayRows(e):this.activeRows()}activeRows(){return this.table.rowManager.activeRows}refreshData(t,i){i||(i=this._handler),i&&this.table.rowManager.refreshActiveData(i,!1,t)}footerAppend(t){return this.table.footerManager.append(t)}footerPrepend(t){return this.table.footerManager.prepend(t)}footerRemove(t){return this.table.footerManager.remove(t)}popup(t,i){return new O(this.table,t,i)}alert(t,i){return this.table.alertManager.alert(t,i)}clearAlert(){return this.table.alertManager.clear()}}var _={rownum:function(t,i,e,s,r,o){return o.getPosition()}};class L extends H{static moduleName="accessor";static accessors=_;constructor(t){super(t),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(t){var i=!1,e={};this.allowedTypes.forEach((s=>{var r,o="accessor"+(s.charAt(0).toUpperCase()+s.slice(1));t.definition[o]&&(r=this.lookupAccessor(t.definition[o]))&&(i=!0,e[o]={accessor:r,params:t.definition[o+"Params"]||{}})})),i&&(t.modules.accessor=e)}lookupAccessor(t){var i=!1;switch(typeof t){case"string":L.accessors[t]?i=L.accessors[t]:console.warn("Accessor Error - No such accessor found, ignoring: ",t);break;case"function":i=t}return i}transformRow(t,i){var e="accessor"+(i.charAt(0).toUpperCase()+i.slice(1)),s=t.getComponent(),r=N.deepClone(t.data||{});return this.table.columnManager.traverse((function(t){var o,a,h,n;t.modules.accessor&&(a=t.modules.accessor[e]||t.modules.accessor.accessor||!1)&&"undefined"!=(o=t.getFieldValue(r))&&(n=t.getComponent(),h="function"==typeof a.params?a.params(o,r,i,n,s):a.params,t.setFieldValue(r,a.accessor(o,r,i,h,n,s)))})),r}}var A={method:"GET"};function I(t,i){var e=[];if(i=i||"",Array.isArray(t))t.forEach(((t,s)=>{e=e.concat(I(t,i?i+"["+s+"]":s))}));else if("object"==typeof t)for(var s in t)e=e.concat(I(t[s],i?i+"["+s+"]":s));else e.push({key:i,value:t});return e}function V(t){var i=I(t),e=[];return i.forEach((function(t){e.push(encodeURIComponent(t.key)+"="+encodeURIComponent(t.value))})),e.join("&")}function U(t,i,e){return t&&e&&Object.keys(e).length&&(i.method&&"get"!=i.method.toLowerCase()||(i.method="get",t+=(t.includes("?")?"&":"?")+V(e))),t}function B(t,i,e){var s;return new Promise(((r,o)=>{if(t=this.urlGenerator.call(this.table,t,i,e),"GET"!=i.method.toUpperCase())if(s="object"==typeof this.table.options.ajaxContentType?this.table.options.ajaxContentType:this.contentTypeFormatters[this.table.options.ajaxContentType]){for(var a in s.headers)i.headers||(i.headers={}),void 0===i.headers[a]&&(i.headers[a]=s.headers[a]);i.body=s.body.call(this,t,i,e)}else console.warn("Ajax Error - Invalid ajaxContentType value:",this.table.options.ajaxContentType);t?(void 0===i.headers&&(i.headers={}),void 0===i.headers.Accept&&(i.headers.Accept="application/json"),void 0===i.headers["X-Requested-With"]&&(i.headers["X-Requested-With"]="XMLHttpRequest"),void 0===i.mode&&(i.mode="cors"),"cors"==i.mode?(void 0===i.headers.Origin&&(i.headers.Origin=window.location.origin),void 0===i.credentials&&(i.credentials="same-origin")):void 0===i.credentials&&(i.credentials="include"),fetch(t,i).then((t=>{t.ok?t.json().then((t=>{r(t)})).catch((t=>{o(t),console.warn("Ajax Load Error - Invalid JSON returned",t)})):(console.error("Ajax Load Error - Connection Error: "+t.status,t.statusText),o(t))})).catch((t=>{console.error("Ajax Load Error - Connection Error: ",t),o(t)}))):(console.warn("Ajax Load Error - No URL Set"),r([]))}))}function G(t,i){var e=[];if(i=i||"",Array.isArray(t))t.forEach(((t,s)=>{e=e.concat(G(t,i?i+"["+s+"]":s))}));else if("object"==typeof t)for(var s in t)e=e.concat(G(t[s],i?i+"["+s+"]":s));else e.push({key:i,value:t});return e}var W={json:{headers:{"Content-Type":"application/json"},body:function(t,i,e){return JSON.stringify(e)}},form:{headers:{},body:function(t,i,e){var s=G(e),r=new FormData;return s.forEach((function(t){r.append(t.key,t.value)})),r}}};class J extends H{static moduleName="ajax";static defaultConfig=A;static defaultURLGenerator=U;static defaultLoaderPromise=B;static contentTypeFormatters=W;constructor(t){super(t),this.config={},this.url="",this.urlGenerator=!1,this.params=!1,this.loaderPromise=!1,this.registerTableOption("ajaxURL",!1),this.registerTableOption("ajaxURLGenerator",!1),this.registerTableOption("ajaxParams",{}),this.registerTableOption("ajaxConfig","get"),this.registerTableOption("ajaxContentType","form"),this.registerTableOption("ajaxRequestFunc",!1),this.registerTableOption("ajaxRequesting",(function(){})),this.registerTableOption("ajaxResponse",!1),this.contentTypeFormatters=J.contentTypeFormatters}initialize(){this.loaderPromise=this.table.options.ajaxRequestFunc||J.defaultLoaderPromise,this.urlGenerator=this.table.options.ajaxURLGenerator||J.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(t,i,e,s){var r=this.table.options.ajaxParams;return r&&("function"==typeof r&&(r=r.call(this.table)),s=Object.assign(Object.assign({},r),s)),s}requestDataCheck(t,i,e,s){return!((t||!this.url)&&"string"!=typeof t)}requestData(t,i,e,s,r){var o;return!r&&this.requestDataCheck(t)?(t&&this.setUrl(t),o=this.generateConfig(e),this.sendRequest(this.url,i,o)):r}setDefaultConfig(t={}){this.config=Object.assign({},J.defaultConfig),"string"==typeof t?this.config.method=t:Object.assign(this.config,t)}generateConfig(t={}){var i=Object.assign({},this.config);return"string"==typeof t?i.method=t:Object.assign(i,t),i}setUrl(t){this.url=t}getUrl(){return this.url}sendRequest(t,i,e){return!1!==this.table.options.ajaxRequesting.call(this.table,t,i)?this.loaderPromise(t,e,i).then((e=>(this.table.options.ajaxResponse&&(e=this.table.options.ajaxResponse.call(this.table,t,i,e)),e))):Promise.reject()}}var q={replace:function(t){return this.table.setData(t)},update:function(t){return this.table.updateOrAddData(t)},insert:function(t){return this.table.addData(t)}},Z={table:function(t){var i=[],e=!0,s=this.table.columnManager.columns,r=[],o=[];return(t=t.split("\n")).forEach((function(t){i.push(t.split("\t"))})),!(!i.length||1===i.length&&i[0].length<2)&&(i[0].forEach((function(t){var i=s.find((function(i){return t&&i.definition.title&&t.trim()&&i.definition.title.trim()===t.trim()}));i?r.push(i):e=!1})),e||(e=!0,r=[],i[0].forEach((function(t){var i=s.find((function(i){return t&&i.field&&t.trim()&&i.field.trim()===t.trim()}));i?r.push(i):e=!1})),e||(r=this.table.columnManager.columnsByIndex)),e&&i.shift(),i.forEach((function(t){var i={};t.forEach((function(t,e){r[e]&&(i[r[e].field]=t)})),o.push(i)})),o)}},K={keybindings:{bindings:{copyToClipboard:["ctrl + 67","meta + 67"]},actions:{copyToClipboard:function(){this.table.modules.edit.currentCell||this.table.modExists("clipboard",!0)&&this.table.modules.clipboard.copy(!1,!0)}}}};class $ extends H{static moduleName="clipboard";static moduleExtensions=K;static pasteActions=q;static pasteParsers=Z;constructor(t){super(t),this.mode=!0,this.pasteParser=function(){},this.pasteAction=function(){},this.customSelection=!1,this.rowRange=!1,this.blocked=!0,this.registerTableOption("clipboard",!1),this.registerTableOption("clipboardCopyStyled",!0),this.registerTableOption("clipboardCopyConfig",!1),this.registerTableOption("clipboardCopyFormatter",!1),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,!0!==this.mode&&"copy"!==this.mode||this.table.element.addEventListener("copy",(t=>{var i,e,s;this.blocked||(t.preventDefault(),this.customSelection?(i=this.customSelection,this.table.options.clipboardCopyFormatter&&(i=this.table.options.clipboardCopyFormatter("plain",i))):(s=this.table.modules.export.generateExportList(this.table.options.clipboardCopyConfig,this.table.options.clipboardCopyStyled,this.rowRange,"clipboard"),i=(e=this.table.modules.export.generateHTMLTable(s))?this.generatePlainContent(s):"",this.table.options.clipboardCopyFormatter&&(i=this.table.options.clipboardCopyFormatter("plain",i),e=this.table.options.clipboardCopyFormatter("html",e))),window.clipboardData&&window.clipboardData.setData?window.clipboardData.setData("Text",i):t.clipboardData&&t.clipboardData.setData?(t.clipboardData.setData("text/plain",i),e&&t.clipboardData.setData("text/html",e)):t.originalEvent&&t.originalEvent.clipboardData.setData&&(t.originalEvent.clipboardData.setData("text/plain",i),e&&t.originalEvent.clipboardData.setData("text/html",e)),this.dispatchExternal("clipboardCopied",i,e),this.reset())})),!0!==this.mode&&"paste"!==this.mode||this.table.element.addEventListener("paste",(t=>{this.paste(t)})),this.setPasteParser(this.table.options.clipboardPasteParser),this.setPasteAction(this.table.options.clipboardPasteAction),this.registerTableFunction("copyToClipboard",this.copy.bind(this))}reset(){this.blocked=!0,this.customSelection=!1}generatePlainContent(t){var i=[];return t.forEach((t=>{var e=[];t.columns.forEach((i=>{var s="";if(i)if("group"===t.type&&(i.value=i.component.getKey()),null===i.value)s="";else switch(typeof i.value){case"object":s=JSON.stringify(i.value);break;case"undefined":s="";break;default:s=i.value}e.push(s)})),i.push(e.join("\t"))})),i.join("\n")}copy(t,i){var e,s;this.blocked=!1,this.customSelection=!1,!0!==this.mode&&"copy"!==this.mode||(this.rowRange=t||this.table.options.clipboardCopyRowRange,void 0!==window.getSelection&&void 0!==document.createRange?((t=document.createRange()).selectNodeContents(this.table.element),(e=window.getSelection()).toString()&&i&&(this.customSelection=e.toString()),e.removeAllRanges(),e.addRange(t)):void 0!==document.selection&&void 0!==document.body.createTextRange&&((s=document.body.createTextRange()).moveToElementText(this.table.element),s.select()),document.execCommand("copy"),e&&e.removeAllRanges())}setPasteAction(t){switch(typeof t){case"string":this.pasteAction=$.pasteActions[t],this.pasteAction||console.warn("Clipboard Error - No such paste action found:",t);break;case"function":this.pasteAction=t}}setPasteParser(t){switch(typeof t){case"string":this.pasteParser=$.pasteParsers[t],this.pasteParser||console.warn("Clipboard Error - No such paste parser found:",t);break;case"function":this.pasteParser=t}}paste(t){var i,e,s;this.checkPasteOrigin(t)&&(i=this.getPasteData(t),(e=this.pasteParser.call(this,i))?(t.preventDefault(),this.table.modExists("mutator")&&(e=this.mutateData(e)),s=this.pasteAction.call(this,e),this.dispatchExternal("clipboardPasted",i,e,s)):this.dispatchExternal("clipboardPasteError",i))}mutateData(t){var i=[];return Array.isArray(t)?t.forEach((t=>{i.push(this.table.modules.mutator.transformRow(t,"clipboard"))})):i=t,i}checkPasteOrigin(t){var i=!0;return!this.confirm("clipboard-paste",[t])&&["DIV","SPAN"].includes(t.target.tagName)||(i=!1),i}getPasteData(t){var i;return window.clipboardData&&window.clipboardData.getData?i=window.clipboardData.getData("Text"):t.clipboardData&&t.clipboardData.getData?i=t.clipboardData.getData("text/plain"):t.originalEvent&&t.originalEvent.clipboardData.getData&&(i=t.originalEvent.clipboardData.getData("text/plain")),i}}class X{constructor(t){return this._row=t,new Proxy(this,{get:function(t,i){return void 0!==t[i]?t[i]:t._row.table.componentFunctionBinder.handle("row",t._row,i)}})}getData(t){return this._row.getData(t)}getElement(){return this._row.getElement()}getTable(){return this._row.table}getCells(){var t=[];return this._row.getCells().forEach((function(i){t.push(i.getComponent())})),t}getCell(t){var i=this._row.getCell(t);return!!i&&i.getComponent()}_getSelf(){return this._row}}class Y{constructor(t){return this._cell=t,new Proxy(this,{get:function(t,i){return void 0!==t[i]?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(t){return this._cell.row.getData(t)}getType(){return"cell"}getField(){return this._cell.column.getField()}getColumn(){return this._cell.column.getComponent()}setValue(t,i){void 0===i&&(i=!0),this._cell.setValue(t,i)}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}}class Q extends j{constructor(t,i){super(t.table),this.table=t.table,this.column=t,this.row=i,this.element=null,this.value=null,this.oldValue=null,this.modules={},this.height=null,this.width=null,this.minWidth=null,this.component=null,this.loaded=!1,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"),this.column.isRowHeader&&this.element.classList.add("tabulator-row-header")}_configureCell(){var t=this.element,i=this.column.getField();t.style.textAlign=this.column.hozAlign,this.column.vertAlign&&(t.style.display="inline-flex",t.style.alignItems={top:"flex-start",bottom:"flex-end",middle:"center"}[this.column.vertAlign]||"",this.column.hozAlign&&(t.style.justifyContent={left:"flex-start",right:"flex-end",center:"center"}[this.column.hozAlign]||"")),i&&t.setAttribute("tabulator-field",i),this.column.definition.cssClass&&this.column.definition.cssClass.split(" ").forEach((i=>{t.classList.add(i)})),this.dispatch("cell-init",this),this.column.visible||this.hide()}_generateContents(){var t;switch(typeof(t=this.chain("cell-format",this,null,(()=>this.element.innerHTML=this.value)))){case"object":if(t instanceof Node){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.element.appendChild(t)}else this.element.innerHTML="",null!=t&&console.warn("Format Error - Formatter has returned a type of object, the only valid formatter object return is an instance of Node, the formatter returned:",t);break;case"undefined":this.element.innerHTML="";break;default:this.element.innerHTML=t}}cellRendered(){this.dispatch("cell-rendered",this)}getElement(t){return this.loaded||(this.loaded=!0,t||this.layoutElement()),this.element}getValue(){return this.value}getOldValue(){return this.oldValue}setValue(t,i,e){this.setValueProcessData(t,i,e)&&(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(t,i,e){var s=!1;return(this.value!==t||e)&&(s=!0,i&&(t=this.chain("cell-value-changing",[this,t],null,t))),this.setValueActual(t),s&&this.dispatch("cell-value-changed",this),s}setValueActual(t){this.oldValue=this.value,this.value=t,this.dispatch("cell-value-save-before",this),this.column.setFieldValue(this.row.data,t),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=!1,this.column.deleteCell(this),this.row.deleteCell(this),this.calcs={}}getIndex(){return this.row.getCellIndex(this)}getComponent(){return this.component||(this.component=new Y(this)),this.component}}class tt{constructor(t){return this._column=t,this.type="ColumnComponent",new Proxy(this,{get:function(t,i){return void 0!==t[i]?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 t=[];return this._column.cells.forEach((function(i){t.push(i.getComponent())})),t}isVisible(){return this._column.visible}show(){this._column.isGroup?this._column.columns.forEach((function(t){t.show()})):this._column.show()}hide(){this._column.isGroup?this._column.columns.forEach((function(t){t.hide()})):this._column.hide()}toggle(){this._column.visible?this.hide():this.show()}delete(){return this._column.delete()}getSubColumns(){var t=[];return this._column.columns.length&&this._column.columns.forEach((function(i){t.push(i.getComponent())})),t}getParentColumn(){return this._column.getParentComponent()}_getSelf(){return this._column}scrollTo(t,i){return this._column.table.columnManager.scrollToColumn(this._column,t,i)}getTable(){return this._column.table}move(t,i){var e=this._column.table.columnManager.findColumn(t);e?this._column.table.columnManager.moveColumn(this._column,e,i):console.warn("Move Error - No matching column found:",e)}getNextColumn(){var t=this._column.nextColumn();return!!t&&t.getComponent()}getPrevColumn(){var t=this._column.prevColumn();return!!t&&t.getComponent()}updateDefinition(t){return this._column.updateDefinition(t)}getWidth(){return this._column.getWidth()}setWidth(t){var i;return i=!0===t?this._column.reinitializeWidth(!0):this._column.setWidth(t),this._column.table.columnManager.rerenderColumns(!0),i}}var it={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:!1,editableTitle:void 0};class et extends j{static defaultOptionList=it;constructor(t,i,e){super(i.table),this.definition=t,this.parent=i,this.type="column",this.columns=[],this.cells=[],this.isGroup=!1,this.isRowHeader=e,this.element=this.createElement(),this.contentElement=!1,this.titleHolderElement=!1,this.titleElement=!1,this.groupElement=this.createGroupElement(),this.hozAlign="",this.vertAlign="",this.field="",this.fieldStructure="",this.getFieldValue="",this.setFieldValue="",this.titleDownload=null,this.titleFormatterRendered=!1,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=!1,this.visible=!0,this.component=null,this.definition.columns?(this.isGroup=!0,this.definition.columns.forEach((t=>{var i=new et(t,this);this.attachColumn(i)})),this.checkColumnVisibility()):i.registerColumnField(this),this._initialize()}createElement(){var t=document.createElement("div");switch(t.classList.add("tabulator-col"),t.setAttribute("role","columnheader"),t.setAttribute("aria-sort","none"),this.isRowHeader&&t.classList.add("tabulator-row-header"),this.table.options.columnHeaderVertAlign){case"middle":t.style.justifyContent="center";break;case"bottom":t.style.justifyContent="flex-end"}return t}createGroupElement(){var t=document.createElement("div");return t.classList.add("tabulator-col-group-cols"),t}mapDefinitions(){var t=this.table.options.columnDefaults;if(t)for(let i in t)void 0===this.definition[i]&&(this.definition[i]=t[i]);this.definition=this.table.columnManager.optionsList.generate(et.defaultOptionList,this.definition)}checkDefinition(){Object.keys(this.definition).forEach((t=>{-1===et.defaultOptionList.indexOf(t)&&console.warn("Invalid column definition option in '"+(this.field||this.definition.title)+"' column:",t)}))}setField(t){this.field=t,this.fieldStructure=t?this.table.options.nestedFieldSeparator?t.split(this.table.options.nestedFieldSeparator):[t]:[],this.getFieldValue=this.fieldStructure.length>1?this._getNestedData:this._getFlatData,this.setFieldValue=this.fieldStructure.length>1?this._setNestedData:this._setFlatData}registerColumnPosition(t){this.parent.registerColumnPosition(t)}registerColumnField(t){this.parent.registerColumnField(t)}reRegisterPosition(){this.isGroup?this.columns.forEach((function(t){t.reRegisterPosition()})):this.registerColumnPosition(this)}_initialize(){for(var t=this.definition;this.element.firstChild;)this.element.removeChild(this.element.firstChild);t.headerVertical&&(this.element.classList.add("tabulator-col-vertical"),"flip"===t.headerVertical&&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 t=this.definition;this.dispatch("column-layout",this),void 0!==t.visible&&(t.visible?this.show(!0):this.hide(!0)),t.cssClass&&t.cssClass.split(" ").forEach((t=>{this.element.classList.add(t)})),t.field&&this.element.setAttribute("tabulator-field",t.field),this.setMinWidth(parseInt(t.minWidth)),t.maxInitialWidth&&(this.maxInitialWidth=parseInt(t.maxInitialWidth)),t.maxWidth&&this.setMaxWidth(parseInt(t.maxWidth)),this.reinitializeWidth(),this.hozAlign=this.definition.hozAlign,this.vertAlign=this.definition.vertAlign,this.titleElement.style.textAlign=this.definition.headerHozAlign}_buildColumnHeaderContent(){var t=document.createElement("div");return t.classList.add("tabulator-col-content"),this.titleHolderElement=document.createElement("div"),this.titleHolderElement.classList.add("tabulator-col-title-holder"),t.appendChild(this.titleHolderElement),this.titleElement=this._buildColumnHeaderTitle(),this.titleHolderElement.appendChild(this.titleElement),t}_buildColumnHeaderTitle(){var t=this.definition,i=document.createElement("div");if(i.classList.add("tabulator-col-title"),t.headerWordWrap&&i.classList.add("tabulator-col-title-wrap"),t.editableTitle){var e=document.createElement("input");e.classList.add("tabulator-title-editor"),e.addEventListener("click",(t=>{t.stopPropagation(),e.focus()})),e.addEventListener("mousedown",(t=>{t.stopPropagation()})),e.addEventListener("change",(()=>{t.title=e.value,this.dispatchExternal("columnTitleChanged",this.getComponent())})),i.appendChild(e),t.field?this.langBind("columns|"+t.field,(i=>{e.value=i||t.title||" "})):e.value=t.title||" "}else t.field?this.langBind("columns|"+t.field,(e=>{this._formatColumnHeaderTitle(i,e||t.title||" ")})):this._formatColumnHeaderTitle(i,t.title||" ");return i}_formatColumnHeaderTitle(t,i){var e=this.chain("column-format",[this,i,t],null,(()=>i));switch(typeof e){case"object":e instanceof Node?t.appendChild(e):(t.innerHTML="",console.warn("Format Error - Title formatter has returned a type of object, the only valid formatter object return is an instance of Node, the formatter returned:",e));break;case"undefined":t.innerHTML="";break;default:t.innerHTML=e}}_buildGroupHeader(){this.element.classList.add("tabulator-col-group"),this.element.setAttribute("role","columngroup"),this.element.setAttribute("aria-title",this.definition.title),this.definition.cssClass&&this.definition.cssClass.split(" ").forEach((t=>{this.element.classList.add(t)})),this.titleElement.style.textAlign=this.definition.headerHozAlign,this.element.appendChild(this.groupElement)}_getFlatData(t){return t[this.field]}_getNestedData(t){var i,e=t,s=this.fieldStructure,r=s.length;for(let t=0;t<r&&(i=e=e[s[t]],e);t++);return i}_setFlatData(t,i){this.field&&(t[this.field]=i)}_setNestedData(t,i){var e=t,s=this.fieldStructure,r=s.length;for(let t=0;t<r;t++)if(t==r-1)e[s[t]]=i;else{if(!e[s[t]]){if(void 0===i)break;e[s[t]]={}}e=e[s[t]]}}attachColumn(t){this.groupElement?(this.columns.push(t),this.groupElement.appendChild(t.getElement()),t.columnRendered()):console.warn("Column Warning - Column being attached to another column instead of column group")}verticalAlign(t,i){var e=this.parent.isGroup?this.parent.getGroupElement().clientHeight:i||this.parent.getHeadersElement().clientHeight;this.element.style.height=e+"px",this.dispatch("column-height",this,this.element.style.height),this.isGroup&&(this.groupElement.style.minHeight=e-this.contentElement.offsetHeight+"px"),this.columns.forEach((function(i){i.verticalAlign(t)}))}clearVerticalAlign(){this.element.style.paddingTop="",this.element.style.height="",this.element.style.minHeight="",this.groupElement.style.minHeight="",this.columns.forEach((function(t){t.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():this}getLastColumn(){return this.isGroup?!!this.columns.length&&this.columns[this.columns.length-1].getLastColumn():this}getColumns(t){var i=[];return t?this.columns.forEach((t=>{i.push(t),i=i.concat(t.getColumns(!0))})):i=this.columns,i}getCells(){return this.cells}getTopColumn(){return this.parent.isGroup?this.parent.getTopColumn():this}getDefinition(t){var i=[];return this.isGroup&&t&&(this.columns.forEach((function(t){i.push(t.getDefinition(!0))})),this.definition.columns=i),this.definition}checkColumnVisibility(){var t=!1;this.columns.forEach((function(i){i.visible&&(t=!0)})),t?(this.show(),this.dispatchExternal("columnVisibilityChanged",this.getComponent(),!1)):this.hide()}show(t,i){this.visible||(this.visible=!0,this.element.style.display="",this.parent.isGroup&&this.parent.checkColumnVisibility(),this.cells.forEach((function(t){t.show()})),this.isGroup||null!==this.width||this.reinitializeWidth(),this.table.columnManager.verticalAlignHeaders(),this.dispatch("column-show",this,i),t||this.dispatchExternal("columnVisibilityChanged",this.getComponent(),!0),this.parent.isGroup&&this.parent.matchChildWidths(),this.silent||this.table.columnManager.rerenderColumns())}hide(t,i){this.visible&&(this.visible=!1,this.element.style.display="none",this.table.columnManager.verticalAlignHeaders(),this.parent.isGroup&&this.parent.checkColumnVisibility(),this.cells.forEach((function(t){t.hide()})),this.dispatch("column-hide",this,i),t||this.dispatchExternal("columnVisibilityChanged",this.getComponent(),!1),this.parent.isGroup&&this.parent.matchChildWidths(),this.silent||this.table.columnManager.rerenderColumns())}matchChildWidths(){var t=0;this.contentElement&&this.columns.length&&(this.columns.forEach((function(i){i.visible&&(t+=i.getWidth())})),this.contentElement.style.maxWidth=t-1+"px",this.table.initialized&&(this.element.style.width=t+"px"),this.parent.isGroup&&this.parent.matchChildWidths())}removeChild(t){var i=this.columns.indexOf(t);i>-1&&this.columns.splice(i,1),this.columns.length||this.delete()}setWidth(t){this.widthFixed=!0,this.setWidthActual(t)}setWidthActual(t){isNaN(t)&&(t=Math.floor(this.table.element.clientWidth/100*parseInt(t))),t=Math.max(this.minWidth,t),this.maxWidth&&(t=Math.min(this.maxWidth,t)),this.width=t,this.widthStyled=t?t+"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),this.subscribedExternal("columnWidth")&&this.dispatchExternal("columnWidth",this.getComponent())}checkCellHeights(){var t=[];this.cells.forEach((function(i){i.row.heightInitialized&&(null!==i.row.getElement().offsetParent?(t.push(i.row),i.row.clearCellHeight()):i.row.heightInitialized=!1)})),t.forEach((function(t){t.calcHeight()})),t.forEach((function(t){t.setCellHeight()}))}getWidth(){var t=0;return this.isGroup?this.columns.forEach((function(i){i.visible&&(t+=i.getWidth())})):t=this.width,t}getLeftOffset(){var t=this.element.offsetLeft;return this.parent.isGroup&&(t+=this.parent.getLeftOffset()),t}getHeight(){return Math.ceil(this.element.getBoundingClientRect().height)}setMinWidth(t){this.maxWidth&&t>this.maxWidth&&(t=this.maxWidth,console.warn("the minWidth ("+t+"px) for column '"+this.field+"' cannot be bigger that its maxWidth ("+this.maxWidthStyled+")")),this.minWidth=t,this.minWidthStyled=t?t+"px":"",this.element.style.minWidth=this.minWidthStyled,this.cells.forEach((function(t){t.setMinWidth()}))}setMaxWidth(t){this.minWidth&&t<this.minWidth&&(t=this.minWidth,console.warn("the maxWidth ("+t+"px) for column '"+this.field+"' cannot be smaller that its minWidth ("+this.minWidthStyled+")")),this.maxWidth=t,this.maxWidthStyled=t?t+"px":"",this.element.style.maxWidth=this.maxWidthStyled,this.cells.forEach((function(t){t.setMaxWidth()}))}delete(){return new Promise((t=>{this.isGroup&&this.columns.forEach((function(t){t.delete()})),this.dispatch("column-delete",this);var i=this.cells.length;for(let t=0;t<i;t++)this.cells[0].delete();this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.element=!1,this.contentElement=!1,this.titleElement=!1,this.groupElement=!1,this.parent.isGroup&&this.parent.removeChild(this),this.table.columnManager.deregisterColumn(this),this.table.columnManager.rerenderColumns(!0),this.dispatch("column-deleted",this),t()}))}columnRendered(){this.titleFormatterRendered&&this.titleFormatterRendered(),this.dispatch("column-rendered",this)}generateCell(t){var i=new Q(this,t);return this.cells.push(i),i}nextColumn(){var t=this.table.columnManager.findColumnIndex(this);return t>-1&&this._nextVisibleColumn(t+1)}_nextVisibleColumn(t){var i=this.table.columnManager.getColumnByIndex(t);return!i||i.visible?i:this._nextVisibleColumn(t+1)}prevColumn(){var t=this.table.columnManager.findColumnIndex(this);return t>-1&&this._prevVisibleColumn(t-1)}_prevVisibleColumn(t){var i=this.table.columnManager.getColumnByIndex(t);return!i||i.visible?i:this._prevVisibleColumn(t-1)}reinitializeWidth(t){this.widthFixed=!1,void 0===this.definition.width||t||this.setWidth(this.definition.width),this.dispatch("column-width-fit-before",this),this.fitToData(t),this.dispatch("column-width-fit-after",this)}fitToData(t){if(!this.isGroup){this.widthFixed||(this.element.style.width="",this.cells.forEach((t=>{t.clearWidth()})));var i=this.element.offsetWidth;if((!this.width||!this.widthFixed)&&(this.cells.forEach((t=>{var e=t.getWidth();e>i&&(i=e)})),i)){var e=i+1;t?this.setWidth(e):(this.maxInitialWidth&&!t&&(e=Math.min(e,this.maxInitialWidth)),this.setWidthActual(e))}}}updateDefinition(t){var i;return this.isGroup||this.parent.isGroup?(console.error("Column Update Error - The updateDefinition function is only available on ungrouped columns"),Promise.reject("Column Update Error - The updateDefinition function is only available on columns, not column groups")):(i=Object.assign({},this.getDefinition()),i=Object.assign(i,t),this.table.columnManager.addColumn(i,!1,this).then((t=>(i.field==this.field&&(this.field=!1),this.delete().then((()=>t.getComponent()))))))}deleteCell(t){var i=this.cells.indexOf(t);i>-1&&this.cells.splice(i,1)}getComponent(){return this.component||(this.component=new tt(this)),this.component}getPosition(){return this.table.columnManager.getVisibleColumnsByIndex().indexOf(this)+1}getParentComponent(){return this.parent instanceof et&&this.parent.getComponent()}}class st{constructor(t){return this._row=t,new Proxy(this,{get:function(t,i){return void 0!==t[i]?t[i]:t._row.table.componentFunctionBinder.handle("row",t._row,i)}})}getData(t){return this._row.getData(t)}getElement(){return this._row.getElement()}getCells(){var t=[];return this._row.getCells().forEach((function(i){t.push(i.getComponent())})),t}getCell(t){var i=this._row.getCell(t);return!!i&&i.getComponent()}getIndex(){return this._row.getData("data")[this._row.table.options.index]}getPosition(){return this._row.getPosition()}watchPosition(t){return this._row.watchPosition(t)}delete(){return this._row.delete()}scrollTo(t,i){return this._row.table.rowManager.scrollToRow(this._row,t,i)}move(t,i){this._row.moveToRow(t,i)}update(t){return this._row.updateData(t)}normalizeHeight(){this._row.normalizeHeight(!0)}_getSelf(){return this._row}reformat(){return this._row.reinitialize()}getTable(){return this._row.table}getNextRow(){var t=this._row.nextRow();return t?t.getComponent():t}getPrevRow(){var t=this._row.prevRow();return t?t.getComponent():t}}class rt extends j{constructor(t,i,e="row"){super(i.table),this.parent=i,this.data={},this.type=e,this.element=!1,this.modules={},this.cells=[],this.height=0,this.heightStyled="",this.manualHeight=!1,this.outerHeight=0,this.initialized=!1,this.heightInitialized=!1,this.position=0,this.positionWatchers=[],this.component=null,this.created=!1,this.setData(t)}create(){this.created||(this.created=!0,this.generateElement())}createElement(){var t=document.createElement("div");t.classList.add("tabulator-row"),t.setAttribute("role","row"),this.element=t}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(t,i){if(this.create(),!this.initialized||t){for(this.deleteCells();this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.dispatch("row-layout-before",this),this.generateCells(),this.initialized=!0,this.table.columnManager.renderer.renderRowCells(this,i),t&&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,i)}rendered(){this.cells.forEach((t=>{t.cellRendered()}))}reinitializeHeight(){this.heightInitialized=!1,this.element&&null!==this.element.offsetParent&&this.normalizeHeight(!0)}deinitialize(){this.initialized=!1}deinitializeHeight(){this.heightInitialized=!1}reinitialize(t){this.initialized=!1,this.heightInitialized=!1,this.manualHeight||(this.height=0,this.heightStyled=""),this.element&&null!==this.element.offsetParent&&this.initialize(!0),this.dispatch("row-relayout",this)}calcHeight(t){var i=0,e=0;this.table.options.rowHeight?this.height=this.table.options.rowHeight:(e=this.calcMinHeight(),i=this.calcMaxHeight(),this.height=t?Math.max(i,e):this.manualHeight?this.height:Math.max(i,e)),this.heightStyled=this.height?this.height+"px":"",this.outerHeight=this.element.offsetHeight}calcMinHeight(){return this.table.options.resizableRows?this.element.clientHeight:0}calcMaxHeight(){var t=0;return this.cells.forEach((function(i){var e=i.getHeight();e>t&&(t=e)})),t}setCellHeight(){this.cells.forEach((function(t){t.setHeight()})),this.heightInitialized=!0}clearCellHeight(){this.cells.forEach((function(t){t.clearHeight()}))}normalizeHeight(t){t&&!this.table.options.rowHeight&&this.clearCellHeight(),this.calcHeight(t),this.setCellHeight()}setHeight(t,i){(this.height!=t||i)&&(this.manualHeight=!0,this.height=t,this.heightStyled=t?t+"px":"",this.setCellHeight(),this.outerHeight=this.element.offsetHeight,this.subscribedExternal("rowHeight")&&this.dispatchExternal("rowHeight",this.getComponent()))}getHeight(){return this.outerHeight}getWidth(){return this.element.offsetWidth}deleteCell(t){var i=this.cells.indexOf(t);i>-1&&this.cells.splice(i,1)}setData(t){this.data=this.chain("row-data-init-before",[this,t],void 0,t),this.dispatch("row-data-init-after",this)}updateData(t){var i,e=this.element&&N.elVisible(this.element),s={};return new Promise((r=>{"string"==typeof t&&(t=JSON.parse(t)),this.dispatch("row-data-save-before",this),this.subscribed("row-data-changing")&&(s=Object.assign(s,this.data),s=Object.assign(s,t)),i=this.chain("row-data-changing",[this,s,t],null,t);for(let t in i)this.data[t]=i[t];this.dispatch("row-data-save-after",this);for(let s in t)this.table.columnManager.getColumnsByFieldRoot(s).forEach((t=>{let s=this.getCell(t.getField());if(s){let r=t.getFieldValue(i);s.getValue()!==r&&(s.setValueProcessData(r),e&&s.cellRendered())}}));e?(this.normalizeHeight(!0),this.table.options.rowFormatter&&this.table.options.rowFormatter(this.getComponent())):(this.initialized=!1,this.height=0,this.heightStyled=""),this.dispatch("row-data-changed",this,e,t),this.dispatchExternal("rowUpdated",this.getComponent()),this.subscribedExternal("dataChanged")&&this.dispatchExternal("dataChanged",this.table.rowManager.getData()),r()}))}getData(t){return t?this.chain("row-data-retrieve",[this,t],null,this.data):this.data}getCell(t){return t=this.table.columnManager.findColumn(t),this.initialized||0!==this.cells.length||this.generateCells(),this.cells.find((function(i){return i.column===t}))}getCellIndex(t){return this.cells.findIndex((function(i){return i===t}))}findCell(t){return this.cells.find((i=>i.element===t))}getCells(){return this.initialized||0!==this.cells.length||this.generateCells(),this.cells}nextRow(){return this.table.rowManager.nextDisplayRow(this,!0)||!1}prevRow(){return this.table.rowManager.prevDisplayRow(this,!0)||!1}moveToRow(t,i){var e=this.table.rowManager.findRow(t);e?(this.table.rowManager.moveRowActual(this,e,!i),this.table.rowManager.refreshActiveData("display",!1,!0)):console.warn("Move Error - No matching row found:",t)}delete(){return this.dispatch("row-delete",this),this.deleteActual(),Promise.resolve()}deleteActual(t){this.detachModules(),this.table.rowManager.deleteRow(this,t),this.deleteCells(),this.initialized=!1,this.heightInitialized=!1,this.element=!1,this.dispatch("row-deleted",this)}detachModules(){this.dispatch("row-deleting",this)}deleteCells(){var t=this.cells.length;for(let i=0;i<t;i++)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=!1,this.modules={}}isDisplayed(){return this.table.rowManager.getDisplayRows().includes(this)}getPosition(){return!!this.isDisplayed()&&this.position}setPosition(t){t!=this.position&&(this.position=t,this.positionWatchers.forEach((t=>{t(this.position)})))}watchPosition(t){this.positionWatchers.push(t),t(this.position)}getGroup(){return this.modules.group||!1}getComponent(){return this.component||(this.component=new st(this)),this.component}}var ot={avg:function(t,i,e){var s=0,r=void 0!==e.precision?e.precision:2;return t.length&&(s=t.reduce((function(t,i){return Number(t)+Number(i)})),s/=t.length,s=!1!==r?s.toFixed(r):s),parseFloat(s).toString()},max:function(t,i,e){var s=null,r=void 0!==e.precision&&e.precision;return t.forEach((function(t){((t=Number(t))>s||null===s)&&(s=t)})),null!==s?!1!==r?s.toFixed(r):s:""},min:function(t,i,e){var s=null,r=void 0!==e.precision&&e.precision;return t.forEach((function(t){((t=Number(t))<s||null===s)&&(s=t)})),null!==s?!1!==r?s.toFixed(r):s:""},sum:function(t,i,e){var s=0,r=void 0!==e.precision&&e.precision;return t.length&&t.forEach((function(t){t=Number(t),s+=isNaN(t)?0:Number(t)})),!1!==r?s.toFixed(r):s},concat:function(t){var i=0;return t.length&&(i=t.reduce((function(t,i){return String(t)+String(i)}))),i},count:function(t){var i=0;return t.length&&t.forEach((function(t){t&&i++})),i},unique:function(t){return t.filter(((i,e)=>(t||0===i)&&t.indexOf(i)===e)).length}};class at extends H{static moduleName="columnCalcs";static calculations=ot;constructor(t){super(t),this.topCalcs=[],this.botCalcs=[],this.genColumn=!1,this.topElement=this.createElement(),this.botElement=this.createElement(),this.topRow=!1,this.botRow=!1,this.topInitialized=!1,this.botInitialized=!1,this.blocked=!1,this.recalcAfterBlock=!1,this.registerTableOption("columnCalcs",!0),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 t=document.createElement("div");return t.classList.add("tabulator-calcs-holder"),t}initialize(){this.genColumn=new et({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(t){this.recalc(this.table.rowManager.activeRows),t&&this.redraw()}blockRedraw(){this.blocked=!0,this.recalcAfterBlock=!1}restoreRedraw(){this.blocked=!1,this.recalcAfterBlock&&(this.recalcAfterBlock=!1,this.recalcActiveRowsRefresh())}userRecalc(){this.recalc(this.table.rowManager.activeRows)}blockCheck(){return this.blocked&&(this.recalcAfterBlock=!0),this.blocked}visibleRows(t,i){return this.topRow&&i.unshift(this.topRow),this.botRow&&i.push(this.botRow),i}rowsUpdated(t){this.table.options.groupBy?this.recalcRowGroup(t):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(t){(t.column.definition.topCalc||t.column.definition.bottomCalc)&&(this.table.options.groupBy?("table"!=this.table.options.columnCalcs&&"both"!=this.table.options.columnCalcs||this.recalcActiveRows(),"table"!=this.table.options.columnCalcs&&this.recalcRowGroup(t.row)):this.recalcActiveRows())}initializeColumnCheck(t){(t.definition.topCalc||t.definition.bottomCalc)&&this.initializeColumn(t)}initializeColumn(t){var i=t.definition,e={topCalcParams:i.topCalcParams||{},botCalcParams:i.bottomCalcParams||{}};if(i.topCalc){switch(typeof i.topCalc){case"string":at.calculations[i.topCalc]?e.topCalc=at.calculations[i.topCalc]:console.warn("Column Calc Error - No such calculation found, ignoring: ",i.topCalc);break;case"function":e.topCalc=i.topCalc}e.topCalc&&(t.modules.columnCalcs=e,this.topCalcs.push(t),"group"!=this.table.options.columnCalcs&&this.initializeTopRow())}if(i.bottomCalc){switch(typeof i.bottomCalc){case"string":at.calculations[i.bottomCalc]?e.botCalc=at.calculations[i.bottomCalc]:console.warn("Column Calc Error - No such calculation found, ignoring: ",i.bottomCalc);break;case"function":e.botCalc=i.bottomCalc}e.botCalc&&(t.modules.columnCalcs=e,this.botCalcs.push(t),"group"!=this.table.options.columnCalcs&&this.initializeBottomRow())}}registerColumnField(){}removeCalcs(){var t=!1;this.topInitialized&&(this.topInitialized=!1,this.topElement.parentNode.removeChild(this.topElement),t=!0),this.botInitialized&&(this.botInitialized=!1,this.footerRemove(this.botElement),t=!0),t&&this.table.rowManager.adjustTableSize()}reinitializeCalcs(){this.topCalcs.length&&this.initializeTopRow(),this.botCalcs.length&&this.initializeBottomRow()}initializeTopRow(){var t=document.createDocumentFragment();this.topInitialized||(t.appendChild(document.createElement("br")),t.appendChild(this.topElement),this.table.columnManager.getContentsElement().insertBefore(t,this.table.columnManager.headersElement.nextSibling),this.topInitialized=!0)}initializeBottomRow(){this.botInitialized||(this.footerPrepend(this.botElement),this.botInitialized=!0)}scrollHorizontal(t){this.botInitialized&&this.botRow&&(this.botElement.scrollLeft=t)}recalc(t){var i,e;if(!this.blockCheck()&&(this.topInitialized||this.botInitialized)){if(i=this.rowsToData(t),this.topInitialized){for(this.topRow&&this.topRow.deleteCells(),e=this.generateRow("top",i),this.topRow=e;this.topElement.firstChild;)this.topElement.removeChild(this.topElement.firstChild);this.topElement.appendChild(e.getElement()),e.initialize(!0)}if(this.botInitialized){for(this.botRow&&this.botRow.deleteCells(),e=this.generateRow("bottom",i),this.botRow=e;this.botElement.firstChild;)this.botElement.removeChild(this.botElement.firstChild);this.botElement.appendChild(e.getElement()),e.initialize(!0)}this.table.rowManager.adjustTableSize(),this.table.modExists("frozenColumns")&&this.table.modules.frozenColumns.layout()}}recalcRowGroup(t){this.recalcGroup(this.table.modules.groupRows.getRowGroup(t))}recalcAll(){(this.topCalcs.length||this.botCalcs.length)&&("group"!==this.table.options.columnCalcs&&this.recalcActiveRows(),this.table.options.groupBy&&"table"!==this.table.options.columnCalcs&&this.table.modules.groupRows.getChildGroups().forEach((t=>{this.recalcGroup(t)})))}recalcGroup(t){var i,e;this.blockCheck()||t&&t.calcs&&(t.calcs.bottom&&(i=this.rowsToData(t.rows),e=this.generateRowData("bottom",i),t.calcs.bottom.updateData(e),t.calcs.bottom.reinitialize()),t.calcs.top&&(i=this.rowsToData(t.rows),e=this.generateRowData("top",i),t.calcs.top.updateData(e),t.calcs.top.reinitialize()))}generateTopRow(t){return this.generateRow("top",this.rowsToData(t))}generateBottomRow(t){return this.generateRow("bottom",this.rowsToData(t))}rowsToData(t){var i=[],e=this.table.options.dataTree&&this.table.options.dataTreeChildColumnCalcs,s=this.table.modules.dataTree;return t.forEach((t=>{i.push(t.getData()),e&&t.modules.dataTree?.open&&this.rowsToData(s.getFilteredTreeChildren(t)).forEach((()=>{i.push(t)}))})),i}generateRow(t,i){var e,s=this.generateRowData(t,i);return this.table.modExists("mutator")&&this.table.modules.mutator.disable(),e=new rt(s,this,"calc"),this.table.modExists("mutator")&&this.table.modules.mutator.enable(),e.getElement().classList.add("tabulator-calcs","tabulator-calcs-"+t),e.component=!1,e.getComponent=()=>(e.component||(e.component=new X(e)),e.component),e.generateCells=()=>{var i=[];this.table.columnManager.columnsByIndex.forEach((s=>{this.genColumn.setField(s.getField()),this.genColumn.hozAlign=s.hozAlign,this.genColumn.modules.format=s.definition[t+"CalcFormatter"]&&this.table.modExists("format")?{formatter:this.table.modules.format.lookupFormatter(s.definition[t+"CalcFormatter"]),params:s.definition[t+"CalcFormatterParams"]||{}}:{formatter:this.table.modules.format.lookupFormatter("plaintext"),params:{}},this.genColumn.definition.cssClass=s.definition.cssClass;var r=new Q(this.genColumn,e);r.getElement(),r.column=s,r.setWidth(),s.cells.push(r),i.push(r),s.visible||r.hide()})),e.cells=i},e}generateRowData(t,i){var e,s,r={},o="top"==t?"topCalc":"botCalc";return("top"==t?this.topCalcs:this.botCalcs).forEach((function(t){var a=[];t.modules.columnCalcs&&t.modules.columnCalcs[o]&&(i.forEach((function(i){a.push(t.getFieldValue(i))})),e="function"==typeof t.modules.columnCalcs[s=o+"Params"]?t.modules.columnCalcs[s](a,i):t.modules.columnCalcs[s],t.setFieldValue(r,t.modules.columnCalcs[o](a,i,e)))})),r}hasTopCalcs(){return!!this.topCalcs.length}hasBottomCalcs(){return!!this.botCalcs.length}redraw(){this.topRow&&this.topRow.normalizeHeight(!0),this.botRow&&this.botRow.normalizeHeight(!0)}getResults(){var t={};return this.table.options.groupBy&&this.table.modExists("groupRows")?this.table.modules.groupRows.getGroups(!0).forEach((i=>{t[i.getKey()]=this.getGroupResults(i)})):t={top:this.topRow?this.topRow.getData():{},bottom:this.botRow?this.botRow.getData():{}},t}getGroupResults(t){var i=t._getSelf(),e=t.getSubGroups(),s={};return e.forEach((t=>{s[t.getKey()]=this.getGroupResults(t)})),{top:i.calcs.top?i.calcs.top.getData():{},bottom:i.calcs.bottom?i.calcs.bottom.getData():{},groups:s}}adjustForScrollbar(t){this.botRow&&(this.table.rtl?this.botElement.style.paddingLeft=t+"px":this.botElement.style.paddingRight=t+"px")}}var ht={csv:function(t,i={},e){var s=i.delimiter?i.delimiter:",",r=[],o=[];t.forEach((t=>{var i=[];switch(t.type){case"group":console.warn("Download Warning - CSV downloader cannot process row groups");break;case"calc":console.warn("Download Warning - CSV downloader cannot process column calculations");break;case"header":t.columns.forEach(((t,i)=>{t&&1===t.depth&&(o[i]=null==t.value?"":'"'+String(t.value).split('"').join('""')+'"')}));break;case"row":t.columns.forEach((t=>{if(t){switch(typeof t.value){case"object":t.value=null!==t.value?JSON.stringify(t.value):"";break;case"undefined":t.value=""}i.push('"'+String(t.value).split('"').join('""')+'"')}})),r.push(i.join(s))}})),o.length&&r.unshift(o.join(s)),r=r.join("\n"),i.bom&&(r="\ufeff"+r),e(r,"text/csv")},json:function(t,i,e){var s=[];t.forEach((t=>{var i={};switch(t.type){case"header":break;case"group":console.warn("Download Warning - JSON downloader cannot process row groups");break;case"calc":console.warn("Download Warning - JSON downloader cannot process column calculations");break;case"row":t.columns.forEach((t=>{t&&(i[t.component.getTitleDownload()||t.component.getField()]=t.value)})),s.push(i)}})),e(s=JSON.stringify(s,null,"\t"),"application/json")},jsonLines:function(t,i,e){const s=[];t.forEach((t=>{const i={};switch(t.type){case"header":break;case"group":console.warn("Download Warning - JSON downloader cannot process row groups");break;case"calc":console.warn("Download Warning - JSON downloader cannot process column calculations");break;case"row":t.columns.forEach((t=>{t&&(i[t.component.getTitleDownload()||t.component.getField()]=t.value)})),s.push(JSON.stringify(i))}})),e(s.join("\n"),"application/x-ndjson")},pdf:function(t,i={},e){var s,r,o=[],a=[],h={},n=i.rowGroupStyles||{fontStyle:"bold",fontSize:12,cellPadding:6,fillColor:220},l=i.rowCalcStyles||{fontStyle:"bold",fontSize:10,cellPadding:4,fillColor:232},u=i.jsPDF||{},c=i.title?i.title:"";function d(t,i){var e=[];return t.columns.forEach((t=>{var s;if(t){switch(typeof t.value){case"object":t.value=null!==t.value?JSON.stringify(t.value):"";break;case"undefined":t.value=""}s={content:t.value,colSpan:t.width,rowSpan:t.height},i&&(s.styles=i),e.push(s)}})),e}u.orientation||(u.orientation=i.orientation||"landscape"),u.unit||(u.unit="pt"),t.forEach((t=>{switch(t.type){case"header":o.push(d(t));break;case"group":a.push(d(t,n));break;case"calc":a.push(d(t,l));break;case"row":a.push(d(t))}})),s=this.dependencyRegistry.lookup("jspdf","jsPDF"),r=new s(u),i.autoTable&&(h="function"==typeof i.autoTable?i.autoTable(r)||{}:i.autoTable),c&&(h.didDrawPage=function(){r.text(c,40,30)}),h.head=o,h.body=a,r.autoTable(h),i.documentProcessing&&i.documentProcessing(r),e(r.output("arraybuffer"),"application/pdf")},xlsx:function(t,i,e){var s=i.sheetName||"Sheet1",r=this.dependencyRegistry.lookup("XLSX"),o=r.utils.book_new(),a=new j(this),h=i.writeOptions||{bookType:"xlsx",bookSST:!0,compression:!("compress"in i)||i.compress};function n(){var i=[],e=[],s={},o={s:{c:0,r:0},e:{c:t[0]?t[0].columns.reduce(((t,i)=>t+(i&&i.width?i.width:1)),0):0,r:t.length}};return t.forEach(((t,s)=>{var r=[];t.columns.forEach((function(t,i){t?(r.push(t.value instanceof Date||"object"!=typeof t.value?t.value:JSON.stringify(t.value)),(t.width>1||t.height>-1)&&(t.height>1||t.width>1)&&e.push({s:{r:s,c:i},e:{r:s+t.height-1,c:i+t.width-1}})):r.push("")})),i.push(r)})),r.utils.sheet_add_aoa(s,i),s["!ref"]=r.utils.encode_range(o),e.length&&(s["!merges"]=e),s}if(h.type="binary",o.SheetNames=[],o.Sheets={},i.sheetOnly)e(n());else{if(i.sheets)for(var l in i.sheets)!0===i.sheets[l]?(o.SheetNames.push(l),o.Sheets[l]=n()):(o.SheetNames.push(l),a.commsSend(i.sheets[l],"download","intercept",{type:"xlsx",options:{sheetOnly:!0},active:this.active,intercept:function(t){o.Sheets[l]=t}}));else o.SheetNames.push(s),o.Sheets[s]=n();i.documentProcessing&&(o=i.documentProcessing(o)),e(function(t){for(var i=new ArrayBuffer(t.length),e=new Uint8Array(i),s=0;s!=t.length;++s)e[s]=255&t.charCodeAt(s);return i}(r.write(o,h)),"application/octet-stream")}},html:function(t,i,e){this.modExists("export",!0)&&e(this.modules.export.generateHTMLTable(t),"text/html")}};class nt extends H{static moduleName="download";static downloaders=ht;constructor(t){super(t),this.registerTableOption("downloadEncoder",(function(t,i){return new Blob([t],{type:i})})),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(){}downloadToTab(t,i,e,s){this.download(t,i,e,s,!0)}download(t,i,e,s,r){var o=!1;if("function"==typeof t?o=t:nt.downloaders[t]?o=nt.downloaders[t]:console.warn("Download Error - No such download type found: ",t),o){var a=this.generateExportList(s);o.call(this.table,a,e||{},function(e,s){r?!0===r?this.triggerDownload(e,s,t,i,!0):r(e):this.triggerDownload(e,s,t,i)}.bind(this))}}generateExportList(t){var i=this.table.modules.export.generateExportList(this.table.options.downloadConfig,!1,t||this.table.options.downloadRowRange,"download"),e=this.table.options.groupHeaderDownload;return e&&!Array.isArray(e)&&(e=[e]),i.forEach((t=>{var i;"group"===t.type&&(i=t.columns[0],e&&e[t.indent]&&(i.value=e[t.indent](i.value,t.component._group.getRowCount(),t.component._group.getData(),t.component)))})),i}triggerDownload(t,i,e,s,r){var o=document.createElement("a"),a=this.table.options.downloadEncoder(t,i);a&&(r?window.open(window.URL.createObjectURL(a)):(s=s||"Tabulator."+("function"==typeof e?"txt":e),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(t,i,e){"intercept"===i&&this.download(e.type,"",e.options,e.active,e.intercept)}}function lt(t,i){var e=i.mask,s=void 0!==i.maskLetterChar?i.maskLetterChar:"A",r=void 0!==i.maskNumberChar?i.maskNumberChar:"9",o=void 0!==i.maskWildcardChar?i.maskWildcardChar:"*";function a(i){var h=e[i];void 0!==h&&h!==o&&h!==s&&h!==r&&(t.value=t.value+""+h,a(i+1))}t.addEventListener("keydown",(i=>{var a=t.value.length,h=i.key;if(i.keyCode>46&&!i.ctrlKey&&!i.metaKey){if(a>=e.length)return i.preventDefault(),i.stopPropagation(),!1;switch(e[a]){case s:if(h.toUpperCase()==h.toLowerCase())return i.preventDefault(),i.stopPropagation(),!1;break;case r:if(isNaN(h))return i.preventDefault(),i.stopPropagation(),!1;break;case o:break;default:if(h!==e[a])return i.preventDefault(),i.stopPropagation(),!1}}})),t.addEventListener("keyup",(e=>{e.keyCode>46&&i.maskAutoFill&&a(t.value.length)})),t.placeholder||(t.placeholder=e),i.maskAutoFill&&a(t.value.length)}let ut=class{constructor(t,i,e,s,r,o){this.edit=t,this.table=t.table,this.cell=i,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="header"===i.getType(),this.filterTimeout=null,this.filtered=!1,this.typing=!1,this.values=[],this.popup=null,this.listIteration=0,this.lastAction="",this.filterTerm="",this.blurable=!0,this.actions={success:s,cancel:r},this._deprecatedOptionsCheck(),this._initializeValue(),e(this._onRendered.bind(this))}_deprecatedOptionsCheck(){}_initializeValue(){var t=this.cell.getValue();void 0===t&&void 0!==this.params.defaultValue&&(t=this.params.defaultValue),this.initialValues=this.params.multiselect?t:[t],this.isFilter&&(this.input.value=this.initialValues?this.initialValues.join(","):"",this.headerFilterInitialListGen())}_onRendered(){var t=this.cell.getElement();function i(t){t.stopPropagation()}this.isFilter||(this.input.style.height="100%",this.input.focus({preventScroll:!0})),t.addEventListener("click",i),setTimeout((()=>{t.removeEventListener("click",i)}),1e3),this.input.addEventListener("mousedown",this._preventPopupBlur.bind(this))}_createListElement(){var t=document.createElement("div");return t.classList.add("tabulator-edit-list"),t.addEventListener("mousedown",this._preventBlur.bind(this)),t.addEventListener("keydown",this._inputKeyDown.bind(this)),t}_setListWidth(){var t=this.isFilter?this.input:this.cell.getElement();this.listEl.style.minWidth=t.offsetWidth+"px",this.params.maxWidth&&(this.listEl.style.maxWidth=!0===this.params.maxWidth?t.offsetWidth+"px":"number"==typeof this.params.maxWidth?this.params.maxWidth+"px":this.params.maxWidth)}_createInputElement(){var t=this.params.elementAttributes,i=document.createElement("input");if(i.setAttribute("type",this.params.clearable?"search":"text"),i.style.padding="4px",i.style.width="100%",i.style.boxSizing="border-box",this.params.autocomplete||(i.style.cursor="default",i.style.caretColor="transparent"),t&&"object"==typeof t)for(let e in t)"+"==e.charAt(0)?(e=e.slice(1),i.setAttribute(e,i.getAttribute(e)+t["+"+e])):i.setAttribute(e,t[e]);return this.params.mask&<(i,this.params),this._bindInputEvents(i),i}_initializeParams(t){var i,e=["values","valuesURL","valuesLookup"];return(t=Object.assign({},t)).verticalNavigation=t.verticalNavigation||"editor",t.placeholderLoading=void 0===t.placeholderLoading?"Searching ...":t.placeholderLoading,t.placeholderEmpty=void 0===t.placeholderEmpty?"No Results Found":t.placeholderEmpty,t.filterDelay=void 0===t.filterDelay?300:t.filterDelay,t.emptyValue=Object.keys(t).includes("emptyValue")?t.emptyValue:"",(i=Object.keys(t).filter((t=>e.includes(t))).length)?i>1&&console.warn("list editor config error - only one of the values, valuesURL, or valuesLookup options can be set on the same editor"):console.warn("list editor config error - either the values, valuesURL, or valuesLookup option must be set"),t.autocomplete?t.multiselect&&(t.multiselect=!1,console.warn("list editor config error - multiselect option is not available when autocomplete is enabled")):(t.freetext&&(t.freetext=!1,console.warn("list editor config error - freetext option is only available when autocomplete is enabled")),t.filterFunc&&(t.filterFunc=!1,console.warn("list editor config error - filterFunc option is only available when autocomplete is enabled")),t.filterRemote&&(t.filterRemote=!1,console.warn("list editor config error - filterRemote option is only available when autocomplete is enabled")),t.mask&&(t.mask=!1,console.warn("list editor config error - mask option is only available when autocomplete is enabled")),t.allowEmpty&&(t.allowEmpty=!1,console.warn("list editor config error - allowEmpty option is only available when autocomplete is enabled")),t.listOnEmpty&&(t.listOnEmpty=!1,console.warn("list editor config error - listOnEmpty option is only available when autocomplete is enabled"))),t.filterRemote&&"function"!=typeof t.valuesLookup&&!t.valuesURL&&(t.filterRemote=!1,console.warn("list editor config error - filterRemote option should only be used when values list is populated from a remote source")),t}_bindInputEvents(t){t.addEventListener("focus",this._inputFocus.bind(this)),t.addEventListener("click",this._inputClick.bind(this)),t.addEventListener("blur",this._inputBlur.bind(this)),t.addEventListener("keydown",this._inputKeyDown.bind(this)),t.addEventListener("search",this._inputSearch.bind(this)),this.params.autocomplete&&t.addEventListener("keyup",this._inputKeyUp.bind(this))}_inputFocus(t){this.rebuildOptionsList()}_filter(){this.params.filterRemote?(clearTimeout(this.filterTimeout),this.filterTimeout=setTimeout((()=>{this.rebuildOptionsList()}),this.params.filterDelay)):this._filterList()}_inputClick(t){t.stopPropagation()}_inputBlur(t){this.blurable&&(this.popup?this.popup.hide():this._resolveValue(!0))}_inputSearch(){this._clearChoices()}_inputKeyDown(t){switch(t.keyCode){case 38:this._keyUp(t);break;case 40:this._keyDown(t);break;case 37:case 39:this._keySide(t);break;case 13:this._keyEnter();break;case 27:this._keyEsc();break;case 36:case 35:this._keyHomeEnd(t);break;case 9:this._keyTab(t);break;default:this._keySelectLetter(t)}}_inputKeyUp(t){switch(t.keyCode){case 38:case 37:case 39:case 40:case 13:case 27:break;default:this._keyAutoCompLetter(t)}}_preventPopupBlur(){this.popup&&this.popup.blockHide(),setTimeout((()=>{this.popup&&this.popup.restoreHide()}),10)}_preventBlur(){this.blurable=!1,setTimeout((()=>{this.blurable=!0}),10)}_keyTab(t){this.params.autocomplete&&"typing"===this.lastAction?this._resolveValue(!0):this.focusedItem&&this._chooseItem(this.focusedItem,!0)}_keyUp(t){var i=this.displayItems.indexOf(this.focusedItem);("editor"==this.params.verticalNavigation||"hybrid"==this.params.verticalNavigation&&i)&&(t.stopImmediatePropagation(),t.stopPropagation(),t.preventDefault(),i>0&&this._focusItem(this.displayItems[i-1]))}_keyDown(t){var i=this.displayItems.indexOf(this.focusedItem);("editor"==this.params.verticalNavigation||"hybrid"==this.params.verticalNavigation&&i<this.displayItems.length-1)&&(t.stopImmediatePropagation(),t.stopPropagation(),t.preventDefault(),i<this.displayItems.length-1&&this._focusItem(-1==i?this.displayItems[0]:this.displayItems[i+1]))}_keySide(t){this.params.autocomplete||(t.stopImmediatePropagation(),t.stopPropagation(),t.preventDefault())}_keyEnter(t){this.params.autocomplete&&"typing"===this.lastAction?this._resolveValue(!0):this.focusedItem&&this._chooseItem(this.focusedItem)}_keyEsc(t){this._cancel()}_keyHomeEnd(t){this.params.autocomplete&&t.stopImmediatePropagation()}_keySelectLetter(t){this.params.autocomplete||(t.preventDefault(),t.keyCode>=38&&t.keyCode<=90&&this._scrollToValue(t.keyCode))}_keyAutoCompLetter(t){this._filter(),this.lastAction="typing",this.typing=!0}_scrollToValue(t){clearTimeout(this.filterTimeout);var i=String.fromCharCode(t).toLowerCase();this.filterTerm+=i.toLowerCase();var e=this.displayItems.find((t=>void 0!==t.label&&t.label.toLowerCase().startsWith(this.filterTerm)));e&&this._focusItem(e),this.filterTimeout=setTimeout((()=>{this.filterTerm=""}),800)}_focusItem(t){this.lastAction="focus",this.focusedItem&&this.focusedItem.element&&this.focusedItem.element.classList.remove("focused"),this.focusedItem=t,t&&t.element&&(t.element.classList.add("focused"),t.element.scrollIntoView({behavior:"smooth",block:"nearest",inline:"start"}))}headerFilterInitialListGen(){this._generateOptions(!0)}rebuildOptionsList(){this._generateOptions().then(this._sortOptions.bind(this)).then(this._buildList.bind(this)).then(this._showList.bind(this)).catch((t=>{Number.isInteger(t)||console.error("List generation error",t)}))}_filterList(){this._buildList(this._filterOptions()),this._showList()}_generateOptions(t){var i=[],e=++this.listIteration;return this.filtered=!1,this.params.values?i=this.params.values:this.params.valuesURL?i=this._ajaxRequest(this.params.valuesURL,this.input.value):"function"==typeof this.params.valuesLookup?i=this.params.valuesLookup(this.cell,this.input.value):this.params.valuesLookup&&(i=this._uniqueColumnValues(this.params.valuesLookupField)),i instanceof Promise?(t||this._addPlaceholder(this.params.placeholderLoading),i.then().then((t=>this.listIteration===e?this._parseList(t):Promise.reject(e)))):Promise.resolve(this._parseList(i))}_addPlaceholder(t){var i=document.createElement("div");"function"==typeof t&&(t=t(this.cell.getComponent(),this.listEl)),t&&(this._clearList(),t instanceof HTMLElement?i=t:(i.classList.add("tabulator-edit-list-placeholder"),i.innerHTML=t),this.listEl.appendChild(i),this._showList())}_ajaxRequest(t,i){return t=U(t,{},this.params.filterRemote?{term:i}:{}),fetch(t).then((t=>t.ok?t.json().catch((t=>(console.warn("List Ajax Load Error - Invalid JSON returned",t),Promise.reject(t)))):(console.error("List Ajax Load Error - Connection Error: "+t.status,t.statusText),Promise.reject(t)))).catch((t=>(console.error("List Ajax Load Error - Connection Error: ",t),Promise.reject(t))))}_uniqueColumnValues(t){var i,e={},s=this.table.getData(this.params.valuesLookup);return(i=t?this.table.columnManager.getColumnByField(t):this.cell.getColumn()._getSelf())?s.forEach((t=>{var s=i.getFieldValue(t);this._emptyValueCheck(s)||(this.params.multiselect&&Array.isArray(s)?s.forEach((t=>{this._emptyValueCheck(t)||(e[t]=!0)})):e[s]=!0)})):(console.warn("unable to find matching column to create select lookup list:",t),e=[]),Object.keys(e)}_emptyValueCheck(t){return null==t||""===t}_parseList(t){var i=[];return Array.isArray(t)||(t=Object.entries(t).map((([t,i])=>({label:i,value:t})))),t.forEach((t=>{"object"!=typeof t&&(t={label:t,value:t}),this._parseListItem(t,i,0)})),!this.currentItems.length&&this.params.freetext&&(this.input.value=this.initialValues,this.typing=!0,this.lastAction="typing"),this.data=i,i}_parseListItem(t,i,e){var s={};t.options?s=this._parseListGroup(t,e+1):(s={label:t.label,value:t.value,itemParams:t.itemParams,elementAttributes:t.elementAttributes,element:!1,selected:!1,visible:!0,level:e,original:t},this.initialValues&&this.initialValues.indexOf(t.value)>-1&&this._chooseItem(s,!0)),i.push(s)}_parseListGroup(t,i){var e={label:t.label,group:!0,itemParams:t.itemParams,elementAttributes:t.elementAttributes,element:!1,visible:!0,level:i,options:[],original:t};return t.options.forEach((t=>{this._parseListItem(t,e.options,i)})),e}_sortOptions(t){var i;return this.params.sort&&(i="function"==typeof this.params.sort?this.params.sort:this._defaultSortFunction.bind(this),this._sortGroup(i,t)),t}_sortGroup(t,i){i.sort(((i,e)=>t(i.label,e.label,i.value,e.value,i.original,e.original))),i.forEach((i=>{i.group&&this._sortGroup(t,i.options)}))}_defaultSortFunction(t,i){var e,s,r,o,a,h=0,n=/(\d+)|(\D+)/g,l=/\d/,u=0;if("desc"===this.params.sort&&([t,i]=[i,t]),t||0===t){if(i||0===i){if(isFinite(t)&&isFinite(i))return t-i;if((e=String(t).toLowerCase())===(s=String(i).toLowerCase()))return 0;if(!l.test(e)||!l.test(s))return e>s?1:-1;for(e=e.match(n),s=s.match(n),a=e.length>s.length?s.length:e.length;h<a;)if((r=e[h])!==(o=s[h++]))return isFinite(r)&&isFinite(o)?("0"===r.charAt(0)&&(r="."+r),"0"===o.charAt(0)&&(o="."+o),r-o):r>o?1:-1;return e.length>s.length}u=1}else u=i||0===i?-1:0;return u}_filterOptions(){var t=this.params.filterFunc||this._defaultFilterFunc,i=this.input.value;return i?(this.filtered=!0,this.data.forEach((e=>{this._filterItem(t,i,e)}))):this.filtered=!1,this.data}_filterItem(t,i,e){var s=!1;return e.group?(e.options.forEach((e=>{this._filterItem(t,i,e)&&(s=!0)})),e.visible=s):e.visible=t(i,e.label,e.value,e.original),e.visible}_defaultFilterFunc(t,i,e,s){return t=String(t).toLowerCase(),null!=i&&(String(i).toLowerCase().indexOf(t)>-1||String(e).toLowerCase().indexOf(t)>-1)}_clearList(){for(;this.listEl.firstChild;)this.listEl.removeChild(this.listEl.firstChild);this.displayItems=[]}_buildList(t){this._clearList(),t.forEach((t=>{this._buildItem(t)})),this.displayItems.length||this._addPlaceholder(this.params.placeholderEmpty)}_buildItem(t){var i,e=t.element;if(!this.filtered||t.visible){if(!e){if((e=document.createElement("div")).tabIndex=0,(i=this.params.itemFormatter?this.params.itemFormatter(t.label,t.value,t.original,e):t.label)instanceof HTMLElement?e.appendChild(i):e.innerHTML=i,e.classList.add(t.group?"tabulator-edit-list-group":"tabulator-edit-list-item"),e.classList.add("tabulator-edit-list-group-level-"+t.level),t.elementAttributes&&"object"==typeof t.elementAttributes)for(let i in t.elementAttributes)"+"==i.charAt(0)?(i=i.slice(1),e.setAttribute(i,this.input.getAttribute(i)+t.elementAttributes["+"+i])):e.setAttribute(i,t.elementAttributes[i]);e.addEventListener("click",t.group?this._groupClick.bind(this,t):this._itemClick.bind(this,t)),e.addEventListener("mousedown",this._preventBlur.bind(this)),t.element=e}this._styleItem(t),this.listEl.appendChild(e),t.group?t.options.forEach((t=>{this._buildItem(t)})):this.displayItems.push(t)}}_showList(){var t=this.popup&&this.popup.isVisible();if(this.input.parentNode){if(this.params.autocomplete&&""===this.input.value&&!this.params.listOnEmpty)return void(this.popup&&this.popup.hide(!0));this._setListWidth(),this.popup||(this.popup=this.edit.popup(this.listEl)),this.popup.show(this.cell.getElement(),"bottom"),t||setTimeout((()=>{this.popup.hideOnBlur(this._resolveValue.bind(this,!0))}),10)}}_styleItem(t){t&&t.element&&(t.selected?t.element.classList.add("active"):t.element.classList.remove("active"))}_itemClick(t,i){i.stopPropagation(),this._chooseItem(t)}_groupClick(t,i){i.stopPropagation()}_cancel(){this.popup.hide(!0),this.actions.cancel()}_clearChoices(){this.typing=!0,this.currentItems.forEach((t=>{t.selected=!1,this._styleItem(t)})),this.currentItems=[],this.focusedItem=null}_chooseItem(t,i){var e;this.typing=!1,this.params.multiselect?((e=this.currentItems.indexOf(t))>-1?(this.currentItems.splice(e,1),t.selected=!1):(this.currentItems.push(t),t.selected=!0),this.input.value=this.currentItems.map((t=>t.label)).join(","),this._styleItem(t)):(this.currentItems=[t],t.selected=!0,this.input.value=t.label,this._styleItem(t),i||this._resolveValue()),this._focusItem(t)}_resolveValue(t){var i,e;if(this.popup&&this.popup.hide(!0),this.params.multiselect)i=this.currentItems.map((t=>t.value));else if(t&&this.params.autocomplete&&this.typing){if(!(this.params.freetext||this.params.allowEmpty&&""===this.input.value))return void this.actions.cancel();i=this.input.value}else i=this.currentItems[0]?this.currentItems[0].value:null==(e=Array.isArray(this.initialValues)?this.initialValues[0]:this.initialValues)||""===e?e:this.params.emptyValue;""===i&&(i=this.params.emptyValue),this.actions.success(i),this.isFilter&&(this.initialValues=i&&!Array.isArray(i)?[i]:i,this.currentItems=[])}};var ct={input:function(t,i,e,s,r){var o=t.getValue(),a=document.createElement("input");if(a.setAttribute("type",r.search?"search":"text"),a.style.padding="4px",a.style.width="100%",a.style.boxSizing="border-box",r.elementAttributes&&"object"==typeof r.elementAttributes)for(let t in r.elementAttributes)"+"==t.charAt(0)?(t=t.slice(1),a.setAttribute(t,a.getAttribute(t)+r.elementAttributes["+"+t])):a.setAttribute(t,r.elementAttributes[t]);function h(){null==o&&""!==a.value||a.value!==o?e(a.value)&&(o=a.value):s()}return a.value=void 0!==o?o:"",i((function(){"cell"===t.getType()&&(a.focus({preventScroll:!0}),a.style.height="100%",r.selectContents&&a.select())})),a.addEventListener("change",h),a.addEventListener("blur",h),a.addEventListener("keydown",(function(t){switch(t.keyCode){case 13:h();break;case 27:s();break;case 35:case 36:t.stopPropagation()}})),r.mask&<(a,r),a},textarea:function(t,i,e,s,r){var o=t.getValue(),a=r.verticalNavigation||"hybrid",h=String(null!=o?o:""),n=document.createElement("textarea"),l=0;if(n.style.display="block",n.style.padding="2px",n.style.height="100%",n.style.width="100%",n.style.boxSizing="border-box",n.style.whiteSpace="pre-wrap",n.style.resize="none",r.elementAttributes&&"object"==typeof r.elementAttributes)for(let t in r.elementAttributes)"+"==t.charAt(0)?(t=t.slice(1),n.setAttribute(t,n.getAttribute(t)+r.elementAttributes["+"+t])):n.setAttribute(t,r.elementAttributes[t]);function u(){null==o&&""!==n.value||n.value!==o?(e(n.value)&&(o=n.value),setTimeout((function(){t.getRow().normalizeHeight()}),300)):s()}return n.value=h,i((function(){"cell"===t.getType()&&(n.focus({preventScroll:!0}),n.style.height="100%",n.style.height=n.scrollHeight+"px",t.getRow().normalizeHeight(),r.selectContents&&n.select())})),n.addEventListener("change",u),n.addEventListener("blur",u),n.addEventListener("keyup",(function(){n.style.height="";var i=n.scrollHeight;n.style.height=i+"px",i!=l&&(l=i,t.getRow().normalizeHeight())})),n.addEventListener("keydown",(function(t){switch(t.keyCode){case 13:t.shiftKey&&r.shiftEnterSubmit&&u();break;case 27:s();break;case 38:("editor"==a||"hybrid"==a&&n.selectionStart)&&(t.stopImmediatePropagation(),t.stopPropagation());break;case 40:("editor"==a||"hybrid"==a&&n.selectionStart!==n.value.length)&&(t.stopImmediatePropagation(),t.stopPropagation());break;case 35:case 36:t.stopPropagation()}})),r.mask&<(n,r),n},number:function(t,i,e,s,r){var o=t.getValue(),a=r.verticalNavigation||"editor",h=document.createElement("input");if(h.setAttribute("type","number"),void 0!==r.max&&h.setAttribute("max",r.max),void 0!==r.min&&h.setAttribute("min",r.min),void 0!==r.step&&h.setAttribute("step",r.step),h.style.padding="4px",h.style.width="100%",h.style.boxSizing="border-box",r.elementAttributes&&"object"==typeof r.elementAttributes)for(let t in r.elementAttributes)"+"==t.charAt(0)?(t=t.slice(1),h.setAttribute(t,h.getAttribute(t)+r.elementAttributes["+"+t])):h.setAttribute(t,r.elementAttributes[t]);h.value=o;var n=function(){l()};function l(){var t=h.value;isNaN(t)||""===t||(t=Number(t)),t!==o?e(t)&&(o=t):s()}return i((function(){"cell"===t.getType()&&(h.removeEventListener("blur",n),h.focus({preventScroll:!0}),h.style.height="100%",h.addEventListener("blur",n),r.selectContents&&h.select())})),h.addEventListener("keydown",(function(t){switch(t.keyCode){case 13:l();break;case 27:s();break;case 38:case 40:"editor"==a&&(t.stopImmediatePropagation(),t.stopPropagation());break;case 35:case 36:t.stopPropagation()}})),r.mask&<(h,r),h},range:function(t,i,e,s,r){var o=t.getValue(),a=document.createElement("input");if(a.setAttribute("type","range"),void 0!==r.max&&a.setAttribute("max",r.max),void 0!==r.min&&a.setAttribute("min",r.min),void 0!==r.step&&a.setAttribute("step",r.step),a.style.padding="4px",a.style.width="100%",a.style.boxSizing="border-box",r.elementAttributes&&"object"==typeof r.elementAttributes)for(let t in r.elementAttributes)"+"==t.charAt(0)?(t=t.slice(1),a.setAttribute(t,a.getAttribute(t)+r.elementAttributes["+"+t])):a.setAttribute(t,r.elementAttributes[t]);function h(){var t=a.value;isNaN(t)||""===t||(t=Number(t)),t!=o?e(t)&&(o=t):s()}return a.value=o,i((function(){"cell"===t.getType()&&(a.focus({preventScroll:!0}),a.style.height="100%")})),a.addEventListener("blur",(function(){h()})),a.addEventListener("keydown",(function(t){switch(t.keyCode){case 13:h();break;case 27:s()}})),a},date:function(t,i,e,s,r){var o=r.format,a=r.verticalNavigation||"editor",h=o?window.DateTime||luxon.DateTime:null,n=t.getValue(),l=document.createElement("input");function u(t){return(h.isDateTime(t)?t:"iso"===o?h.fromISO(String(t)):h.fromFormat(String(t),o)).toFormat("yyyy-MM-dd")}if(l.type="date",l.style.padding="4px",l.style.width="100%",l.style.boxSizing="border-box",r.max&&l.setAttribute("max",o?u(r.max):r.max),r.min&&l.setAttribute("min",o?u(r.min):r.min),r.elementAttributes&&"object"==typeof r.elementAttributes)for(let t in r.elementAttributes)"+"==t.charAt(0)?(t=t.slice(1),l.setAttribute(t,l.getAttribute(t)+r.elementAttributes["+"+t])):l.setAttribute(t,r.elementAttributes[t]);function c(){var t,i=l.value;if(null==n&&""!==i||i!==n){if(i&&o)switch(t=h.fromFormat(String(i),"yyyy-MM-dd"),o){case!0:i=t;break;case"iso":i=t.toISO();break;default:i=t.toFormat(o)}e(i)&&(n=l.value)}else s()}return n=void 0!==n?n:"",o&&(h?n=u(n):console.error("Editor Error - 'date' editor 'format' param is dependant on luxon.js")),l.value=n,i((function(){"cell"===t.getType()&&(l.focus({preventScroll:!0}),l.style.height="100%",r.selectContents&&l.select())})),l.addEventListener("blur",(function(t){(t.relatedTarget||t.rangeParent||t.explicitOriginalTarget!==l)&&c()})),l.addEventListener("keydown",(function(t){switch(t.keyCode){case 13:c();break;case 27:s();break;case 35:case 36:t.stopPropagation();break;case 38:case 40:"editor"==a&&(t.stopImmediatePropagation(),t.stopPropagation())}})),l},time:function(t,i,e,s,r){var o,a=r.format,h=r.verticalNavigation||"editor",n=a?window.DateTime||luxon.DateTime:null,l=t.getValue(),u=document.createElement("input");if(u.type="time",u.style.padding="4px",u.style.width="100%",u.style.boxSizing="border-box",r.elementAttributes&&"object"==typeof r.elementAttributes)for(let t in r.elementAttributes)"+"==t.charAt(0)?(t=t.slice(1),u.setAttribute(t,u.getAttribute(t)+r.elementAttributes["+"+t])):u.setAttribute(t,r.elementAttributes[t]);function c(){var t,i=u.value;if(null==l&&""!==i||i!==l){if(i&&a)switch(t=n.fromFormat(String(i),"hh:mm"),a){case!0:i=t;break;case"iso":i=t.toISO();break;default:i=t.toFormat(a)}e(i)&&(l=u.value)}else s()}return l=void 0!==l?l:"",a&&(n?(o=n.isDateTime(l)?l:"iso"===a?n.fromISO(String(l)):n.fromFormat(String(l),a),l=o.toFormat("HH:mm")):console.error("Editor Error - 'date' editor 'format' param is dependant on luxon.js")),u.value=l,i((function(){"cell"==t.getType()&&(u.focus({preventScroll:!0}),u.style.height="100%",r.selectContents&&u.select())})),u.addEventListener("blur",(function(t){(t.relatedTarget||t.rangeParent||t.explicitOriginalTarget!==u)&&c()})),u.addEventListener("keydown",(function(t){switch(t.keyCode){case 13:c();break;case 27:s();break;case 35:case 36:t.stopPropagation();break;case 38:case 40:"editor"==h&&(t.stopImmediatePropagation(),t.stopPropagation())}})),u},datetime:function(t,i,e,s,r){var o,a=r.format,h=r.verticalNavigation||"editor",n=a?this.table.dependencyRegistry.lookup(["luxon","DateTime"],"DateTime"):null,l=t.getValue(),u=document.createElement("input");if(u.type="datetime-local",u.style.padding="4px",u.style.width="100%",u.style.boxSizing="border-box",r.elementAttributes&&"object"==typeof r.elementAttributes)for(let t in r.elementAttributes)"+"==t.charAt(0)?(t=t.slice(1),u.setAttribute(t,u.getAttribute(t)+r.elementAttributes["+"+t])):u.setAttribute(t,r.elementAttributes[t]);function c(){var t,i=u.value;if(null==l&&""!==i||i!==l){if(i&&a)switch(t=n.fromISO(String(i)),a){case!0:i=t;break;case"iso":i=t.toISO();break;default:i=t.toFormat(a)}e(i)&&(l=u.value)}else s()}return l=void 0!==l?l:"",a&&(n?(o=n.isDateTime(l)?l:"iso"===a?n.fromISO(String(l)):n.fromFormat(String(l),a),l=o.toFormat("yyyy-MM-dd")+"T"+o.toFormat("HH:mm")):console.error("Editor Error - 'date' editor 'format' param is dependant on luxon.js")),u.value=l,i((function(){"cell"===t.getType()&&(u.focus({preventScroll:!0}),u.style.height="100%",r.selectContents&&u.select())})),u.addEventListener("blur",(function(t){(t.relatedTarget||t.rangeParent||t.explicitOriginalTarget!==u)&&c()})),u.addEventListener("keydown",(function(t){switch(t.keyCode){case 13:c();break;case 27:s();break;case 35:case 36:t.stopPropagation();break;case 38:case 40:"editor"==h&&(t.stopImmediatePropagation(),t.stopPropagation())}})),u},list:function(t,i,e,s,r){return new ut(this,t,i,e,s,r).input},star:function(t,i,e,s,r){var o=this,a=t.getElement(),h=t.getValue(),n=a.getElementsByTagName("svg").length||5,l=a.getElementsByTagName("svg")[0]?a.getElementsByTagName("svg")[0].getAttribute("width"):14,u=[],c=document.createElement("div"),d=document.createElementNS("http://www.w3.org/2000/svg","svg");function b(t){u.forEach((function(i,e){e<t?("ie"==o.table.browser?i.setAttribute("class","tabulator-star-active"):i.classList.replace("tabulator-star-inactive","tabulator-star-active"),i.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 "/>'):("ie"==o.table.browser?i.setAttribute("class","tabulator-star-inactive"):i.classList.replace("tabulator-star-active","tabulator-star-inactive"),i.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 p(t){var i=document.createElement("span"),s=d.cloneNode(!0);u.push(s),i.addEventListener("mouseenter",(function(i){i.stopPropagation(),i.stopImmediatePropagation(),b(t)})),i.addEventListener("mousemove",(function(t){t.stopPropagation(),t.stopImmediatePropagation()})),i.addEventListener("click",(function(i){i.stopPropagation(),i.stopImmediatePropagation(),e(t),a.blur()})),i.appendChild(s),c.appendChild(i)}function m(t){h=t,b(t)}if(a.style.whiteSpace="nowrap",a.style.overflow="hidden",a.style.textOverflow="ellipsis",c.style.verticalAlign="middle",c.style.display="inline-block",c.style.padding="4px",d.setAttribute("width",l),d.setAttribute("height",l),d.setAttribute("viewBox","0 0 512 512"),d.setAttribute("xml:space","preserve"),d.style.padding="0 1px",r.elementAttributes&&"object"==typeof r.elementAttributes)for(let t in r.elementAttributes)"+"==t.charAt(0)?(t=t.slice(1),c.setAttribute(t,c.getAttribute(t)+r.elementAttributes["+"+t])):c.setAttribute(t,r.elementAttributes[t]);for(var g=1;g<=n;g++)p(g);return b(h=Math.min(parseInt(h),n)),c.addEventListener("mousemove",(function(){b(0)})),c.addEventListener("click",(function(){e(0)})),a.addEventListener("blur",(function(){s()})),a.addEventListener("keydown",(function(t){switch(t.keyCode){case 39:m(h+1);break;case 37:m(h-1);break;case 13:e(h);break;case 27:s()}})),c},progress:function(t,i,e,s,r){var o,a,h=t.getElement(),n=void 0===r.max?h.getElementsByTagName("div")[0]&&h.getElementsByTagName("div")[0].getAttribute("max")||100:r.max,l=void 0===r.min?h.getElementsByTagName("div")[0]&&h.getElementsByTagName("div")[0].getAttribute("min")||0:r.min,u=(n-l)/100,c=t.getValue()||0,d=document.createElement("div"),b=document.createElement("div");function p(){var t=window.getComputedStyle(h,null),i=u*Math.round(b.offsetWidth/((h.clientWidth-parseInt(t.getPropertyValue("padding-left"))-parseInt(t.getPropertyValue("padding-right")))/100))+l;e(i),h.setAttribute("aria-valuenow",i),h.setAttribute("aria-label",c)}if(d.style.position="absolute",d.style.right="0",d.style.top="0",d.style.bottom="0",d.style.width="5px",d.classList.add("tabulator-progress-handle"),b.style.display="inline-block",b.style.position="relative",b.style.height="100%",b.style.backgroundColor="#488CE9",b.style.maxWidth="100%",b.style.minWidth="0%",r.elementAttributes&&"object"==typeof r.elementAttributes)for(let t in r.elementAttributes)"+"==t.charAt(0)?(t=t.slice(1),b.setAttribute(t,b.getAttribute(t)+r.elementAttributes["+"+t])):b.setAttribute(t,r.elementAttributes[t]);return h.style.padding="4px 4px",c=Math.min(parseFloat(c),n),c=Math.max(parseFloat(c),l),c=Math.round((c-l)/u),b.style.width=c+"%",h.setAttribute("aria-valuemin",l),h.setAttribute("aria-valuemax",n),b.appendChild(d),d.addEventListener("mousedown",(function(t){o=t.screenX,a=b.offsetWidth})),d.addEventListener("mouseover",(function(){d.style.cursor="ew-resize"})),h.addEventListener("mousemove",(function(t){o&&(b.style.width=a+t.screenX-o+"px")})),h.addEventListener("mouseup",(function(t){o&&(t.stopPropagation(),t.stopImmediatePropagation(),o=!1,a=!1,p())})),h.addEventListener("keydown",(function(t){switch(t.keyCode){case 39:t.preventDefault(),b.style.width=b.clientWidth+h.clientWidth/100+"px";break;case 37:t.preventDefault(),b.style.width=b.clientWidth-h.clientWidth/100+"px";break;case 9:case 13:p();break;case 27:s()}})),h.addEventListener("blur",(function(){s()})),b},tickCross:function(t,i,e,s,r){var o=t.getValue(),a=document.createElement("input"),h=r.tristate,n=void 0===r.indeterminateValue?null:r.indeterminateValue,l=!1,u=Object.keys(r).includes("trueValue"),c=Object.keys(r).includes("falseValue");if(a.setAttribute("type","checkbox"),a.style.marginTop="5px",a.style.boxSizing="border-box",r.elementAttributes&&"object"==typeof r.elementAttributes)for(let t in r.elementAttributes)"+"==t.charAt(0)?(t=t.slice(1),a.setAttribute(t,a.getAttribute(t)+r.elementAttributes["+"+t])):a.setAttribute(t,r.elementAttributes[t]);function d(t){var i=a.checked;return u&&i?i=r.trueValue:c&&!i&&(i=r.falseValue),h?t?l?n:i:a.checked&&!l?(a.checked=!1,a.indeterminate=!0,l=!0,n):(l=!1,i):i}return a.value=o,!h||void 0!==o&&o!==n&&""!==o||(l=!0,a.indeterminate=!0),"firefox"!=this.table.browser&&"safari"!=this.table.browser&&i((function(){"cell"===t.getType()&&a.focus({preventScroll:!0})})),a.checked=u?o===r.trueValue:!0===o||"true"===o||"True"===o||1===o,a.addEventListener("change",(function(){e(d())})),a.addEventListener("blur",(function(){e(d(!0))})),a.addEventListener("keydown",(function(t){13==t.keyCode&&e(d()),27==t.keyCode&&s()})),a},adaptable:function(t,i,e,s,r){var o,a,h=t._getSelf().column;return o=r.editorLookup?r.editorLookup(t):function(t){var i=t.getValue(),e="input";switch(typeof i){case"number":e="number";break;case"boolean":e="tickCross";break;case"string":i.includes("\n")&&(e="textarea")}return e}(t),r.paramsLookup&&(a="function"==typeof r.paramsLookup?r.paramsLookup(o,t):r.paramsLookup[o]),this.table.modules.edit.lookupEditor(o,h).call(this,t,i,e,s,a||{})}};class dt extends H{static moduleName="edit";static editors=ct;constructor(t){super(t),this.currentCell=!1,this.mouseClick=!1,this.recursionBlock=!1,this.invalidEdit=!1,this.editedCells=[],this.convertEmptyValues=!1,this.editors=dt.editors,this.registerTableOption("editTriggerEvent","focus"),this.registerTableOption("editorEmptyValue"),this.registerTableOption("editorEmptyValueFunc",this.emptyValueCheck.bind(this)),this.registerColumnOption("editable"),this.registerColumnOption("editor"),this.registerColumnOption("editorParams"),this.registerColumnOption("editorEmptyValue"),this.registerColumnOption("editorEmptyValueFunc"),this.registerColumnOption("cellEditing"),this.registerColumnOption("cellEdited"),this.registerColumnOption("cellEditCancelled"),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)),Object.keys(this.table.options).includes("editorEmptyValue")&&(this.convertEmptyValues=!0)}pasteBlocker(t){if(this.currentCell)return!0}keybindingNavigateNext(t){var i=this.currentCell,e=this.options("tabEndNewRow");i&&(this.navigateNext(i,t)||e&&(i.getElement().firstChild.blur(),this.invalidEdit||(e=this.table.addRow(!0===e?{}:"function"==typeof e?e(i.row.getComponent()):Object.assign({},e))).then((()=>{setTimeout((()=>{i.getComponent().navigateNext()}))}))))}cellIsEdited(t){return!!t.modules.edit&&t.modules.edit.edited}cellCancelEdit(t){t===this.currentCell?this.table.modules.edit.cancelEdit():console.warn("Cancel Editor Error - This cell is not currently being edited ")}updateCellClass(t){this.allowEdit(t)?t.getElement().classList.add("tabulator-editable"):t.getElement().classList.remove("tabulator-editable")}clearCellEdited(t){t||(t=this.table.modules.edit.getEditedCells()),Array.isArray(t)||(t=[t]),t.forEach((t=>{this.table.modules.edit.clearEdited(t._getSelf())}))}navigatePrev(t=this.currentCell,i){var e,s;if(t){if(i&&i.preventDefault(),e=this.navigateLeft())return!0;if((s=this.table.rowManager.prevDisplayRow(t.row,!0))&&(e=this.findPrevEditableCell(s,s.cells.length)))return e.getComponent().edit(),!0}return!1}navigateNext(t=this.currentCell,i){var e,s;if(t){if(i&&i.preventDefault(),e=this.navigateRight())return!0;if((s=this.table.rowManager.nextDisplayRow(t.row,!0))&&(e=this.findNextEditableCell(s,-1)))return e.getComponent().edit(),!0}return!1}navigateLeft(t=this.currentCell,i){var e,s;return!!(t&&(i&&i.preventDefault(),e=t.getIndex(),s=this.findPrevEditableCell(t.row,e)))&&(s.getComponent().edit(),!0)}navigateRight(t=this.currentCell,i){var e,s;return!!(t&&(i&&i.preventDefault(),e=t.getIndex(),s=this.findNextEditableCell(t.row,e)))&&(s.getComponent().edit(),!0)}navigateUp(t=this.currentCell,i){var e,s;return!!(t&&(i&&i.preventDefault(),e=t.getIndex(),s=this.table.rowManager.prevDisplayRow(t.row,!0)))&&(s.cells[e].getComponent().edit(),!0)}navigateDown(t=this.currentCell,i){var e,s;return!!(t&&(i&&i.preventDefault(),e=t.getIndex(),s=this.table.rowManager.nextDisplayRow(t.row,!0)))&&(s.cells[e].getComponent().edit(),!0)}findNextEditableCell(t,i){var e=!1;if(i<t.cells.length-1)for(var s=i+1;s<t.cells.length;s++){let i=t.cells[s];if(i.column.modules.edit&&N.elVisible(i.getElement())&&this.allowEdit(i)){e=i;break}}return e}findPrevEditableCell(t,i){var e=!1;if(i>0)for(var s=i-1;s>=0;s--){let i=t.cells[s];if(i.column.modules.edit&&N.elVisible(i.getElement())&&this.allowEdit(i)){e=i;break}}return e}initializeColumnCheck(t){void 0!==t.definition.editor&&this.initializeColumn(t)}columnDeleteCheck(t){this.currentCell&&this.currentCell.column===t&&this.cancelEdit()}rowDeleteCheck(t){this.currentCell&&this.currentCell.row===t&&this.cancelEdit()}rowEditableCheck(t){t.getCells().forEach((t=>{t.column.modules.edit&&"function"==typeof t.column.modules.edit.check&&this.updateCellClass(t)}))}initializeColumn(t){var i=Object.keys(t.definition).includes("editorEmptyValue"),e={editor:!1,blocked:!1,check:t.definition.editable,params:t.definition.editorParams||{},convertEmptyValues:i,editorEmptyValue:t.definition.editorEmptyValue,editorEmptyValueFunc:t.definition.editorEmptyValueFunc};e.editor=this.lookupEditor(t.definition.editor,t),e.editor&&(t.modules.edit=e)}lookupEditor(t,i){var e;switch(typeof t){case"string":this.editors[t]?e=this.editors[t]:console.warn("Editor Error - No such editor found: ",t);break;case"function":e=t;break;case"boolean":!0===t&&("function"!=typeof i.definition.formatter?e=this.editors[i.definition.formatter]?this.editors[i.definition.formatter]:this.editors.input:console.warn("Editor Error - Cannot auto lookup editor for a custom formatter: ",i.definition.formatter))}return e}getCurrentCell(){return!!this.currentCell&&this.currentCell.getComponent()}clearEditor(t){var i,e=this.currentCell;if(this.invalidEdit=!1,e){for(this.currentCell=!1,i=e.getElement(),this.dispatch("edit-editor-clear",e,t),i.classList.remove("tabulator-editing");i.firstChild;)i.removeChild(i.firstChild);e.row.getElement().classList.remove("tabulator-editing"),e.table.element.classList.remove("tabulator-editing")}}cancelEdit(){if(this.currentCell){var t=this.currentCell,i=this.currentCell.getComponent();this.clearEditor(!0),t.setValueActual(t.getValue()),t.cellRendered(),("textarea"==t.column.definition.editor||t.column.definition.variableHeight)&&t.row.normalizeHeight(!0),t.column.definition.cellEditCancelled&&t.column.definition.cellEditCancelled.call(this.table,i),this.dispatch("edit-cancelled",t),this.dispatchExternal("cellEditCancelled",i)}}bindEditor(t){if(t.column.modules.edit){var i=this,e=t.getElement(!0);this.updateCellClass(t),e.setAttribute("tabindex",0),e.addEventListener("mousedown",(function(t){2===t.button?t.preventDefault():i.mouseClick=!0})),"dblclick"===this.options("editTriggerEvent")&&e.addEventListener("dblclick",(function(s){e.classList.contains("tabulator-editing")||(e.focus({preventScroll:!0}),i.edit(t,s,!1))})),"focus"!==this.options("editTriggerEvent")&&"click"!==this.options("editTriggerEvent")||e.addEventListener("click",(function(s){e.classList.contains("tabulator-editing")||(e.focus({preventScroll:!0}),i.edit(t,s,!1))})),"focus"===this.options("editTriggerEvent")&&e.addEventListener("focus",(function(e){i.recursionBlock||i.edit(t,e,!1)}))}}focusCellNoEvent(t,i){this.recursionBlock=!0,i&&"ie"===this.table.browser||t.getElement().focus({preventScroll:!0}),this.recursionBlock=!1}editCell(t,i){this.focusCellNoEvent(t),this.edit(t,!1,i)}focusScrollAdjust(t){if("virtual"==this.table.rowManager.getRenderMode()){var i=this.table.rowManager.element.scrollTop,e=this.table.rowManager.element.clientHeight+this.table.rowManager.element.scrollTop,s=t.row.getElement();s.offsetTop<i?this.table.rowManager.element.scrollTop-=i-s.offsetTop:s.offsetTop+s.offsetHeight>e&&(this.table.rowManager.element.scrollTop+=s.offsetTop+s.offsetHeight-e);var r=this.table.rowManager.element.scrollLeft,o=this.table.rowManager.element.clientWidth+this.table.rowManager.element.scrollLeft,a=t.getElement();this.table.modExists("frozenColumns")&&(r+=parseInt(this.table.modules.frozenColumns.leftMargin||0),o-=parseInt(this.table.modules.frozenColumns.rightMargin||0)),"virtual"===this.table.options.renderHorizontal&&(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(t){var i=!!t.column.modules.edit;if(t.column.modules.edit)switch(typeof t.column.modules.edit.check){case"function":t.row.initialized&&(i=t.column.modules.edit.check(t.getComponent()));break;case"string":i=!!t.row.data[t.column.modules.edit.check];break;case"boolean":i=t.column.modules.edit.check}return i}edit(t,i,e){var s,r,o,a=this,h=function(){},n=t.getElement(),l=!1;if(!this.currentCell){if(t.column.modules.edit.blocked)return this.mouseClick=!1,this.blur(n),!1;if(i&&i.stopPropagation(),this.allowEdit(t)||e){if(a.cancelEdit(),a.currentCell=t,this.focusScrollAdjust(t),r=t.getComponent(),this.mouseClick&&(this.mouseClick=!1,t.column.definition.cellClick&&t.column.definition.cellClick.call(this.table,i,r)),t.column.definition.cellEditing&&t.column.definition.cellEditing.call(this.table,r),this.dispatch("cell-editing",t),this.dispatchExternal("cellEditing",r),o="function"==typeof t.column.modules.edit.params?t.column.modules.edit.params(r):t.column.modules.edit.params,s=t.column.modules.edit.editor.call(a,r,(function(t){h=t}),(function(i){if(a.currentCell===t&&!l){var e=a.chain("edit-success",[t,i],!0,!0);return!0===e||"highlight"===a.table.options.validationMode?(l=!0,a.clearEditor(),t.modules.edit||(t.modules.edit={}),t.modules.edit.edited=!0,-1==a.editedCells.indexOf(t)&&a.editedCells.push(t),i=a.transformEmptyValues(i,t),t.setValue(i,!0),!0===e):(l=!0,a.invalidEdit=!0,a.focusCellNoEvent(t,!0),h(),setTimeout((()=>{l=!1}),10),!1)}}),(function(){a.currentCell!==t||l||a.cancelEdit()}),o),!this.currentCell||!1===s)return this.blur(n),!1;if(!(s instanceof Node))return console.warn("Edit Error - Editor should return an instance of Node, the editor returned:",s),this.blur(n),!1;for(n.classList.add("tabulator-editing"),t.row.getElement().classList.add("tabulator-editing"),t.table.element.classList.add("tabulator-editing");n.firstChild;)n.removeChild(n.firstChild);n.appendChild(s),h();for(var u=n.children,c=0;c<u.length;c++)u[c].addEventListener("click",(function(t){t.stopPropagation()}));return!0}return this.mouseClick=!1,this.blur(n),!1}this.invalidEdit||this.currentCell===t||this.cancelEdit()}emptyValueCheck(t){return""===t||null==t}transformEmptyValues(t,i){var e,s=i.column.modules.edit;return(s.convertEmptyValues||this.convertEmptyValues)&&(e=s.editorEmptyValueFunc||this.options("editorEmptyValueFunc"))&&e(t)&&(t=s.convertEmptyValues?s.editorEmptyValue:this.options("editorEmptyValue")),t}blur(t){this.confirm("edit-blur",[t])||t.blur()}getEditedCells(){var t=[];return this.editedCells.forEach((i=>{t.push(i.getComponent())})),t}clearEdited(t){var i;t.modules.edit&&t.modules.edit.edited&&(t.modules.edit.edited=!1,this.dispatch("edit-edited-clear",t)),(i=this.editedCells.indexOf(t))>-1&&this.editedCells.splice(i,1)}}class bt{constructor(t,i,e,s){this.type=t,this.columns=i,this.component=e||!1,this.indent=s||0}}class pt{constructor(t,i,e,s,r){this.value=t,this.component=i||!1,this.width=e,this.height=s,this.depth=r}}var mt={},gt={visible:function(){return this.rowManager.getVisibleRows(!1,!0)},all:function(){return this.rowManager.rows},selected:function(){return this.modules.selectRow.selectedRows},active:function(){return this.options.pagination?this.rowManager.getDisplayRows(this.rowManager.displayRows.length-2):this.rowManager.getDisplayRows()}};class ft extends H{static moduleName="export";static columnLookups=mt;static rowLookups=gt;constructor(t){super(t),this.config={},this.cloneTableStyle=!0,this.colVisProp="",this.colVisPropAttach="",this.registerTableOption("htmlOutputConfig",!1),this.registerColumnOption("htmlOutput"),this.registerColumnOption("titleHtmlOutput")}initialize(){this.registerTableFunction("getHtml",this.getHtml.bind(this))}generateExportList(t,i,e,s){var r,o,a,h;return this.cloneTableStyle=i,this.config=t||{},this.colVisProp=s,this.colVisPropAttach=this.colVisProp.charAt(0).toUpperCase()+this.colVisProp.slice(1),(h=ft.columnLookups[e])&&(a=(a=h.call(this.table)).filter((t=>this.columnVisCheck(t)))),r=!1!==this.config.columnHeaders?this.headersToExportRows(this.generateColumnGroupHeaders(a)):[],a&&(a=a.map((t=>t.getComponent()))),o=this.bodyToExportRows(this.rowLookup(e),a),r.concat(o)}generateTable(t,i,e,s){var r=this.generateExportList(t,i,e,s);return this.generateTableElement(r)}rowLookup(t){var i=[];return"function"==typeof t?t.call(this.table).forEach((t=>{(t=this.table.rowManager.findRow(t))&&i.push(t)})):i=(ft.rowLookups[t]||ft.rowLookups.active).call(this.table),Object.assign([],i)}generateColumnGroupHeaders(t){var i=[];return t||(t=!1!==this.config.columnGroups?this.table.columnManager.columns:this.table.columnManager.columnsByIndex),t.forEach((t=>{var e=this.processColumnGroup(t);e&&i.push(e)})),i}processColumnGroup(t){var i=t.columns,e=0,s={title:t.definition["title"+this.colVisPropAttach]||t.definition.title,column:t,depth:1};if(i.length){if(s.subGroups=[],s.width=0,i.forEach((t=>{var i=this.processColumnGroup(t);i&&(s.width+=i.width,s.subGroups.push(i),i.depth>e&&(e=i.depth))})),s.depth+=e,!s.width)return!1}else{if(!this.columnVisCheck(t))return!1;s.width=1}return s}columnVisCheck(t){var i=t.definition[this.colVisProp];return(!1!==this.config.rowHeaders||!t.isRowHeader)&&("function"==typeof i&&(i=i.call(this.table,t.getComponent())),!1===i||!0===i?i:t.visible&&t.field)}headersToExportRows(t){var i=[],e=0,s=[];function r(t,s){var o=e-s;if(void 0===i[s]&&(i[s]=[]),t.height=t.subGroups?1:o-t.depth+1,i[s].push(t),t.height>1)for(let e=1;e<t.height;e++)void 0===i[s+e]&&(i[s+e]=[]),i[s+e].push(!1);if(t.width>1)for(let e=1;e<t.width;e++)i[s].push(!1);t.subGroups&&t.subGroups.forEach((function(t){r(t,s+1)}))}return t.forEach((function(t){t.depth>e&&(e=t.depth)})),t.forEach((function(t){r(t,0)})),i.forEach((t=>{var i=[];t.forEach((t=>{i.push(t?new pt(void 0===t.title?"":t.title,t.column.getComponent(),t.width,t.height,t.depth):null)})),s.push(new bt("header",i))})),s}bodyToExportRows(t,i=[]){var e=[];return 0===i.length&&this.table.columnManager.columnsByIndex.forEach((t=>{this.columnVisCheck(t)&&i.push(t.getComponent())})),!1!==this.config.columnCalcs&&this.table.modExists("columnCalcs")&&(this.table.modules.columnCalcs.topInitialized&&t.unshift(this.table.modules.columnCalcs.topRow),this.table.modules.columnCalcs.botInitialized&&t.push(this.table.modules.columnCalcs.botRow)),(t=t.filter((t=>{switch(t.type){case"group":return!1!==this.config.rowGroups;case"calc":return!1!==this.config.columnCalcs;case"row":return!(this.table.options.dataTree&&!1===this.config.dataTree&&t.modules.dataTree.parent)}return!0}))).forEach((t=>{var s=t.getData(this.colVisProp),r=[],o=0;switch(t.type){case"group":o=t.level,r.push(new pt(t.key,t.getComponent(),i.length,1));break;case"calc":case"row":i.forEach((t=>{r.push(new pt(t._column.getFieldValue(s),t,1,1))})),this.table.options.dataTree&&!1!==this.config.dataTree&&(o=t.modules.dataTree.index)}e.push(new bt(t.type,r,t.getComponent(),o))})),e}generateTableElement(t){var i=document.createElement("table"),e=document.createElement("thead"),s=document.createElement("tbody"),r=this.lookupTableStyles(),o=this.table.options["rowFormatter"+this.colVisPropAttach],a={};return a.rowFormatter=null!==o?o:this.table.options.rowFormatter,this.table.options.dataTree&&!1!==this.config.dataTree&&this.table.modExists("columnCalcs")&&(a.treeElementField=this.table.modules.dataTree.elementField),a.groupHeader=this.table.options["groupHeader"+this.colVisPropAttach],a.groupHeader&&!Array.isArray(a.groupHeader)&&(a.groupHeader=[a.groupHeader]),i.classList.add("tabulator-print-table"),this.mapElementStyles(this.table.columnManager.getHeadersElement(),e,["border-top","border-left","border-right","border-bottom","background-color","color","font-weight","font-family","font-size"]),t.length>1e3&&console.warn("It may take a long time to render an HTML table with more than 1000 rows"),t.forEach(((t,i)=>{let o;switch(t.type){case"header":e.appendChild(this.generateHeaderElement(t,a,r));break;case"group":s.appendChild(this.generateGroupElement(t,a,r));break;case"calc":s.appendChild(this.generateCalcElement(t,a,r));break;case"row":o=this.generateRowElement(t,a,r),this.mapElementStyles(i%2&&r.evenRow?r.evenRow:r.oddRow,o,["border-top","border-left","border-right","border-bottom","color","font-weight","font-family","font-size","background-color"]),s.appendChild(o)}})),e.innerHTML&&i.appendChild(e),i.appendChild(s),this.mapElementStyles(this.table.element,i,["border-top","border-left","border-right","border-bottom"]),i}lookupTableStyles(){var t={};return this.cloneTableStyle&&window.getComputedStyle&&(t.oddRow=this.table.element.querySelector(".tabulator-row-odd:not(.tabulator-group):not(.tabulator-calcs)"),t.evenRow=this.table.element.querySelector(".tabulator-row-even:not(.tabulator-group):not(.tabulator-calcs)"),t.calcRow=this.table.element.querySelector(".tabulator-row.tabulator-calcs"),t.firstRow=this.table.element.querySelector(".tabulator-row:not(.tabulator-group):not(.tabulator-calcs)"),t.firstGroup=this.table.element.getElementsByClassName("tabulator-group")[0],t.firstRow&&(t.styleCells=t.firstRow.getElementsByClassName("tabulator-cell"),t.styleRowHeader=t.firstRow.getElementsByClassName("tabulator-row-header")[0],t.firstCell=t.styleCells[0],t.lastCell=t.styleCells[t.styleCells.length-1])),t}generateHeaderElement(t,i,e){var s=document.createElement("tr");return t.columns.forEach((t=>{if(t){var i=document.createElement("th"),e=t.component._column.definition.cssClass?t.component._column.definition.cssClass.split(" "):[];i.colSpan=t.width,i.rowSpan=t.height,i.innerHTML=t.value,this.cloneTableStyle&&(i.style.boxSizing="border-box"),e.forEach((function(t){i.classList.add(t)})),this.mapElementStyles(t.component.getElement(),i,["text-align","border-left","border-right","background-color","color","font-weight","font-family","font-size"]),this.mapElementStyles(t.component._column.contentElement,i,["padding-top","padding-left","padding-right","padding-bottom"]),t.component._column.visible?this.mapElementStyles(t.component.getElement(),i,["width"]):t.component._column.definition.width&&(i.style.width=t.component._column.definition.width+"px"),this.mapElementStyles(t.component._column.parent&&t.component._column.parent.isGroup?t.component._column.parent.groupElement:t.component.getElement(),i,["border-top"]),this.mapElementStyles(t.component._column.isGroup?t.component.getElement():this.table.columnManager.getElement(),i,["border-bottom"]),s.appendChild(i)}})),s}generateGroupElement(t,i,e){var s=document.createElement("tr"),r=document.createElement("td"),o=t.columns[0];return s.classList.add("tabulator-print-table-row"),i.groupHeader&&i.groupHeader[t.indent]?o.value=i.groupHeader[t.indent](o.value,t.component._group.getRowCount(),t.component._group.getData(),t.component):!1!==i.groupHeader&&(o.value=t.component._group.generator(o.value,t.component._group.getRowCount(),t.component._group.getData(),t.component)),r.colSpan=o.width,r.innerHTML=o.value,s.classList.add("tabulator-print-table-group"),s.classList.add("tabulator-group-level-"+t.indent),o.component.isVisible()&&s.classList.add("tabulator-group-visible"),this.mapElementStyles(e.firstGroup,s,["border-top","border-left","border-right","border-bottom","color","font-weight","font-family","font-size","background-color"]),this.mapElementStyles(e.firstGroup,r,["padding-top","padding-left","padding-right","padding-bottom"]),s.appendChild(r),s}generateCalcElement(t,i,e){var s=this.generateRowElement(t,i,e);return s.classList.add("tabulator-print-table-calcs"),this.mapElementStyles(e.calcRow,s,["border-top","border-left","border-right","border-bottom","color","font-weight","font-family","font-size","background-color"]),s}generateRowElement(t,i,e){var s=document.createElement("tr");return s.classList.add("tabulator-print-table-row"),t.columns.forEach(((r,o)=>{if(r){var a,h,n=document.createElement("td"),l=r.component._column,u=this.table,c=u.columnManager.findColumnIndex(l),d=r.value,b={modules:{},getValue:function(){return d},getField:function(){return l.definition.field},getElement:function(){return n},getType:function(){return"cell"},getColumn:function(){return l.getComponent()},getData:function(){return t.component.getData()},getRow:function(){return t.component},getTable:function(){return u},getComponent:function(){return b},column:l};if((l.definition.cssClass?l.definition.cssClass.split(" "):[]).forEach((function(t){n.classList.add(t)})),this.table.modExists("format")&&!1!==this.config.formatCells)d=this.table.modules.format.formatExportValue(b,this.colVisProp);else switch(typeof d){case"object":d=null!==d?JSON.stringify(d):"";break;case"undefined":d=""}d instanceof Node?n.appendChild(d):n.innerHTML=d,h=["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.isRowHeader?(a=e.styleRowHeader,h.push("background-color")):a=e.styleCells&&e.styleCells[c]?e.styleCells[c]:e.firstCell,a&&(this.mapElementStyles(a,n,h),l.definition.align&&(n.style.textAlign=l.definition.align)),this.table.options.dataTree&&!1!==this.config.dataTree&&(i.treeElementField&&i.treeElementField==l.field||!i.treeElementField&&0==o)&&(t.component._row.modules.dataTree.controlEl&&n.insertBefore(t.component._row.modules.dataTree.controlEl.cloneNode(!0),n.firstChild),t.component._row.modules.dataTree.branchEl&&n.insertBefore(t.component._row.modules.dataTree.branchEl.cloneNode(!0),n.firstChild)),s.appendChild(n),b.modules.format&&b.modules.format.renderedCallback&&b.modules.format.renderedCallback()}})),i.rowFormatter&&"row"===t.type&&!1!==this.config.formatCells&&(Object.assign(t.component).getElement=function(){return s},i.rowFormatter(t.component)),s}generateHTMLTable(t){var i=document.createElement("div");return i.appendChild(this.generateTableElement(t)),i.innerHTML}getHtml(t,i,e,s){var r=this.generateExportList(e||this.table.options.htmlOutputConfig,i,t,s||"htmlOutput");return this.generateHTMLTable(r)}mapElementStyles(t,i,e){if(this.cloneTableStyle&&t&&i){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(t);e.forEach((function(t){i.style[s[t]]||(i.style[s[t]]=r.getPropertyValue(t))}))}}}}var vt={"=":function(t,i){return i==t},"<":function(t,i){return i<t},"<=":function(t,i){return i<=t},">":function(t,i){return i>t},">=":function(t,i){return i>=t},"!=":function(t,i){return i!=t},regex:function(t,i){return"string"==typeof t&&(t=new RegExp(t)),t.test(i)},like:function(t,i){return null==t?i===t:null!=i&&String(i).toLowerCase().indexOf(t.toLowerCase())>-1},keywords:function(t,i,e,s){var r=t.toLowerCase().split(void 0===s.separator?" ":s.separator),o=String(null==i?"":i).toLowerCase(),a=[];return r.forEach((t=>{o.includes(t)&&a.push(!0)})),s.matchAll?a.length===r.length:!!a.length},starts:function(t,i){return null==t?i===t:null!=i&&String(i).toLowerCase().startsWith(t.toLowerCase())},ends:function(t,i){return null==t?i===t:null!=i&&String(i).toLowerCase().endsWith(t.toLowerCase())},in:function(t,i){return Array.isArray(t)?!t.length||t.indexOf(i)>-1:(console.warn("Filter Error - filter value is not an array:",t),!1)}};class wt extends H{static moduleName="filter";static filters=vt;constructor(t){super(t),this.filterList=[],this.headerFilters={},this.headerFilterColumns=[],this.prevHeaderFilterChangeCheck="",this.prevHeaderFilterChangeCheck="{}",this.changed=!1,this.tableInitialized=!1,this.registerTableOption("filterMode","local"),this.registerTableOption("initialFilter",!1),this.registerTableOption("initialHeaderFilter",!1),this.registerTableOption("headerFilterLiveFilterDelay",300),this.registerTableOption("placeholderHeaderFilter",!1),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)),"remote"===this.table.options.filterMode&&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((t=>{var i=this.table.columnManager.findColumn(t.field);if(!i)return console.warn("Column Filter Error - No matching column found:",t.field),!1;this.setHeaderFilterValue(i,t.value)})),this.tableInitialized=!0}remoteFilterParams(t,i,e,s){return s.filter=this.getFilters(!0,!0),s}generatePlaceholder(t){if(this.table.options.placeholderHeaderFilter&&Object.keys(this.headerFilters).length)return this.table.options.placeholderHeaderFilter}userSetFilter(t,i,e,s){this.setFilter(t,i,e,s),this.refreshFilter()}userRefreshFilter(){this.refreshFilter()}userAddFilter(t,i,e,s){this.addFilter(t,i,e,s),this.refreshFilter()}userSetHeaderFilterFocus(t){var i=this.table.columnManager.findColumn(t);if(!i)return console.warn("Column Filter Focus Error - No matching column found:",t),!1;this.setHeaderFilterFocus(i)}userGetHeaderFilterValue(t){var i=this.table.columnManager.findColumn(t);if(i)return this.getHeaderFilterValue(i);console.warn("Column Filter Error - No matching column found:",t)}userSetHeaderFilterValue(t,i){var e=this.table.columnManager.findColumn(t);if(!e)return console.warn("Column Filter Error - No matching column found:",t),!1;this.setHeaderFilterValue(e,i)}userRemoveFilter(t,i,e){this.removeFilter(t,i,e),this.refreshFilter()}userClearFilter(t){this.clearFilter(t),this.refreshFilter()}userClearHeaderFilter(){this.clearHeaderFilter(),this.refreshFilter()}searchRows(t,i,e){return this.search("rows",t,i,e)}searchData(t,i,e){return this.search("data",t,i,e)}initializeColumnHeaderFilter(t){t.definition.headerFilter&&this.initializeColumn(t)}initializeColumn(t,i){var e=this,s=t.getField();t.modules.filter={success:function(i){var r,o="input"==t.modules.filter.tagType&&"text"==t.modules.filter.attrType||"textarea"==t.modules.filter.tagType?"partial":"match",a="",h="";if(void 0===t.modules.filter.prevSuccess||t.modules.filter.prevSuccess!==i){if(t.modules.filter.prevSuccess=i,t.modules.filter.emptyFunc(i))delete e.headerFilters[s];else{switch(t.modules.filter.value=i,typeof t.definition.headerFilterFunc){case"string":wt.filters[t.definition.headerFilterFunc]?(a=t.definition.headerFilterFunc,r=function(e){var s=t.definition.headerFilterFuncParams||{},r=t.getFieldValue(e);return s="function"==typeof s?s(i,r,e):s,wt.filters[t.definition.headerFilterFunc](i,r,e,s)}):console.warn("Header Filter Error - Matching filter function not found: ",t.definition.headerFilterFunc);break;case"function":a=r=function(e){var s=t.definition.headerFilterFuncParams||{},r=t.getFieldValue(e);return s="function"==typeof s?s(i,r,e):s,t.definition.headerFilterFunc(i,r,e,s)}}r||("partial"===o?(r=function(e){var s=t.getFieldValue(e);return null!=s&&String(s).toLowerCase().indexOf(String(i).toLowerCase())>-1},a="like"):(r=function(e){return t.getFieldValue(e)==i},a="=")),e.headerFilters[s]={value:i,func:r,type:a}}t.modules.filter.value=i,h=JSON.stringify(e.headerFilters),e.prevHeaderFilterChangeCheck!==h&&(e.prevHeaderFilterChangeCheck=h,e.trackChanges(),e.refreshFilter())}return!0},attrType:!1,tagType:!1,emptyFunc:!1},this.generateHeaderFilterElement(t)}generateHeaderFilterElement(t,i,e){var s,r,o,a,h,n,l,u,c=this,d=t.modules.filter.success,b=t.getField();if(t.modules.filter.value=i,t.modules.filter.headerElement&&t.modules.filter.headerElement.parentNode&&t.contentElement.removeChild(t.modules.filter.headerElement.parentNode),b){switch(t.modules.filter.emptyFunc=t.definition.headerFilterEmptyCheck||function(t){return!t&&0!==t},(s=document.createElement("div")).classList.add("tabulator-header-filter"),typeof t.definition.headerFilter){case"string":c.table.modules.edit.editors[t.definition.headerFilter]?(r=c.table.modules.edit.editors[t.definition.headerFilter],"tick"!==t.definition.headerFilter&&"tickCross"!==t.definition.headerFilter||t.definition.headerFilterEmptyCheck||(t.modules.filter.emptyFunc=function(t){return!0!==t&&!1!==t})):console.warn("Filter Error - Cannot build header filter, No such editor found: ",t.definition.editor);break;case"function":r=t.definition.headerFilter;break;case"boolean":t.modules.edit&&t.modules.edit.editor?r=t.modules.edit.editor:t.definition.formatter&&c.table.modules.edit.editors[t.definition.formatter]?(r=c.table.modules.edit.editors[t.definition.formatter],"tick"!==t.definition.formatter&&"tickCross"!==t.definition.formatter||t.definition.headerFilterEmptyCheck||(t.modules.filter.emptyFunc=function(t){return!0!==t&&!1!==t})):r=c.table.modules.edit.editors.input}if(r){if(a={getValue:function(){return void 0!==i?i:""},getField:function(){return t.definition.field},getElement:function(){return s},getColumn:function(){return t.getComponent()},getTable:()=>this.table,getType:()=>"header",getRow:function(){return{normalizeHeight:function(){}}}},l="function"==typeof(l=t.definition.headerFilterParams||{})?l.call(c.table,a):l,!(o=r.call(this.table.modules.edit,a,(function(t){u=t}),d,(function(){}),l)))return void console.warn("Filter Error - Cannot add filter to "+b+" column, editor returned a value of false");if(!(o instanceof Node))return void console.warn("Filter Error - Cannot add filter to "+b+" column, editor should return an instance of Node, the editor returned:",o);c.langBind("headerFilters|columns|"+t.definition.field,(function(i){o.setAttribute("placeholder",void 0!==i&&i?i:t.definition.headerFilterPlaceholder||c.langText("headerFilters|default"))})),o.addEventListener("click",(function(t){t.stopPropagation(),o.focus()})),o.addEventListener("focus",(()=>{var t=this.table.columnManager.contentsElement.scrollLeft;t!==this.table.rowManager.element.scrollLeft&&(this.table.rowManager.scrollHorizontal(t),this.table.columnManager.scrollHorizontal(t))})),h=!1,n=function(){h&&clearTimeout(h),h=setTimeout((function(){d(o.value)}),c.table.options.headerFilterLiveFilterDelay)},t.modules.filter.headerElement=o,t.modules.filter.attrType=o.hasAttribute("type")?o.getAttribute("type").toLowerCase():"",t.modules.filter.tagType=o.tagName.toLowerCase(),!1!==t.definition.headerFilterLiveFilter&&("autocomplete"!==t.definition.headerFilter&&"tickCross"!==t.definition.headerFilter&&("autocomplete"!==t.definition.editor&&"tickCross"!==t.definition.editor||!0!==t.definition.headerFilter)&&(o.addEventListener("keyup",n),o.addEventListener("search",n),"number"==t.modules.filter.attrType&&o.addEventListener("change",(function(){d(o.value)})),"text"==t.modules.filter.attrType&&"ie"!==this.table.browser&&o.setAttribute("type","search")),"input"!=t.modules.filter.tagType&&"select"!=t.modules.filter.tagType&&"textarea"!=t.modules.filter.tagType||o.addEventListener("mousedown",(function(t){t.stopPropagation()}))),s.appendChild(o),t.contentElement.appendChild(s),e||c.headerFilterColumns.push(t),u&&u()}}else console.warn("Filter Error - Cannot add header filter, column has no field set:",t.definition.title)}hideHeaderFilterElements(){this.headerFilterColumns.forEach((function(t){t.modules.filter&&t.modules.filter.headerElement&&(t.modules.filter.headerElement.style.display="none")}))}showHeaderFilterElements(){this.headerFilterColumns.forEach((function(t){t.modules.filter&&t.modules.filter.headerElement&&(t.modules.filter.headerElement.style.display="")}))}setHeaderFilterFocus(t){t.modules.filter&&t.modules.filter.headerElement?t.modules.filter.headerElement.focus():console.warn("Column Filter Focus Error - No header filter set on column:",t.getField())}getHeaderFilterValue(t){if(t.modules.filter&&t.modules.filter.headerElement)return t.modules.filter.value;console.warn("Column Filter Error - No header filter set on column:",t.getField())}setHeaderFilterValue(t,i){t&&(t.modules.filter&&t.modules.filter.headerElement?(this.generateHeaderFilterElement(t,i,!0),t.modules.filter.success(i)):console.warn("Column Filter Error - No header filter set on column:",t.getField()))}reloadHeaderFilter(t){t&&(t.modules.filter&&t.modules.filter.headerElement?this.generateHeaderFilterElement(t,t.modules.filter.value,!0):console.warn("Column Filter Error - No header filter set on column:",t.getField()))}refreshFilter(){this.tableInitialized&&("remote"===this.table.options.filterMode?this.reloadData(null,!1,!1):this.refreshData(!0))}trackChanges(){this.changed=!0,this.dispatch("filter-changed")}hasChanged(){var t=this.changed;return this.changed=!1,t}setFilter(t,i,e,s){this.filterList=[],Array.isArray(t)||(t=[{field:t,type:i,value:e,params:s}]),this.addFilter(t)}addFilter(t,i,e,s){var r=!1;Array.isArray(t)||(t=[{field:t,type:i,value:e,params:s}]),t.forEach((t=>{(t=this.findFilter(t))&&(this.filterList.push(t),r=!0)})),r&&this.trackChanges()}findFilter(t){var i;if(Array.isArray(t))return this.findSubFilters(t);var e=!1;return"function"==typeof t.field?e=function(i){return t.field(i,t.type||{})}:wt.filters[t.type]?e=(i=this.table.columnManager.getColumnByField(t.field))?function(e){return wt.filters[t.type](t.value,i.getFieldValue(e),e,t.params||{})}:function(i){return wt.filters[t.type](t.value,i[t.field],i,t.params||{})}:console.warn("Filter Error - No such filter type found, ignoring: ",t.type),t.func=e,!!t.func&&t}findSubFilters(t){var i=[];return t.forEach((t=>{(t=this.findFilter(t))&&i.push(t)})),!!i.length&&i}getFilters(t,i){var e=[];return t&&(e=this.getHeaderFilters()),i&&e.forEach((function(t){"function"==typeof t.type&&(t.type="function")})),e.concat(this.filtersToArray(this.filterList,i))}filtersToArray(t,i){var e=[];return t.forEach((t=>{var s;Array.isArray(t)?e.push(this.filtersToArray(t,i)):(s={field:t.field,type:t.type,value:t.value},i&&"function"==typeof s.type&&(s.type="function"),e.push(s))})),e}getHeaderFilters(){var t=[];for(var i in this.headerFilters)t.push({field:i,type:this.headerFilters[i].type,value:this.headerFilters[i].value});return t}removeFilter(t,i,e){Array.isArray(t)||(t=[{field:t,type:i,value:e}]),t.forEach((t=>{var i;(i=this.filterList.findIndex("object"==typeof t.field?i=>t===i:i=>t.field===i.field&&t.type===i.type&&t.value===i.value))>-1?this.filterList.splice(i,1):console.warn("Filter Error - No matching filter type found, ignoring: ",t.type)})),this.trackChanges()}clearFilter(t){this.filterList=[],t&&this.clearHeaderFilter(),this.trackChanges()}clearHeaderFilter(){this.headerFilters={},this.prevHeaderFilterChangeCheck="{}",this.headerFilterColumns.forEach((t=>{void 0!==t.modules.filter.value&&delete t.modules.filter.value,t.modules.filter.prevSuccess=void 0,this.reloadHeaderFilter(t)})),this.trackChanges()}search(t,i,e,s){var r=[],o=[];return Array.isArray(i)||(i=[{field:i,type:e,value:s}]),i.forEach((t=>{(t=this.findFilter(t))&&o.push(t)})),this.table.rowManager.rows.forEach((i=>{var e=!0;o.forEach((t=>{this.filterRecurse(t,i.getData())||(e=!1)})),e&&r.push("data"===t?i.getData("data"):i.getComponent())})),r}filter(t,i){var e=[],s=[];return this.subscribedExternal("dataFiltering")&&this.dispatchExternal("dataFiltering",this.getFilters(!0)),"remote"!==this.table.options.filterMode&&(this.filterList.length||Object.keys(this.headerFilters).length)?t.forEach((t=>{this.filterRow(t)&&e.push(t)})):e=t.slice(0),this.subscribedExternal("dataFiltered")&&(e.forEach((t=>{s.push(t.getComponent())})),this.dispatchExternal("dataFiltered",this.getFilters(!0),s)),e}filterRow(t,i){var e=!0,s=t.getData();for(var r in this.filterList.forEach((t=>{this.filterRecurse(t,s)||(e=!1)})),this.headerFilters)this.headerFilters[r].func(s)||(e=!1);return e}filterRecurse(t,i){var e=!1;return Array.isArray(t)?t.forEach((t=>{this.filterRecurse(t,i)&&(e=!0)})):e=t.func(i),e}}var yt={plaintext:function(t){return this.emptyToSpace(this.sanitizeHTML(t.getValue()))},html:function(t){return t.getValue()},textarea:function(t){return t.getElement().style.whiteSpace="pre-wrap",this.emptyToSpace(this.sanitizeHTML(t.getValue()))},money:function(t,i){var e,s,r,o,a,h=parseFloat(t.getValue()),n="",l=i.decimal||".",u=i.thousand||",",c=i.negativeSign||"-",d=i.symbol||"",b=!!i.symbolAfter,p=void 0!==i.precision?i.precision:2;if(isNaN(h))return this.emptyToSpace(this.sanitizeHTML(t.getValue()));if(h<0&&(h=Math.abs(h),n=c),e=!1!==p?h.toFixed(p):h,s=(e=String(e).split("."))[0],r=e.length>1?l+e[1]:"",!1!==i.thousand)for(o=/(\d+)(\d{3})/;o.test(s);)s=s.replace(o,"$1"+u+"$2");return a=s+r,!0===n?(a="("+a+")",b?a+d:d+a):b?n+a+d:n+d+a},link:function(t,i){var e,s=t.getValue(),r=i.urlPrefix||"",o=i.download,a=s,h=document.createElement("a");if(i.labelField&&(e=t.getData(),a=function t(i,e){var s=e[i.shift()];return i.length&&"object"==typeof s?t(i,s):s}(i.labelField.split(this.table.options.nestedFieldSeparator),e)),i.label)switch(typeof i.label){case"string":a=i.label;break;case"function":a=i.label(t)}if(a){if(i.urlField&&(e=t.getData(),s=N.retrieveNestedData(this.table.options.nestedFieldSeparator,i.urlField,e)),i.url)switch(typeof i.url){case"string":s=i.url;break;case"function":s=i.url(t)}return h.setAttribute("href",r+s),i.target&&h.setAttribute("target",i.target),i.download&&(o="function"==typeof o?o(t):!0===o?"":o,h.setAttribute("download",o)),h.innerHTML=this.emptyToSpace(this.sanitizeHTML(a)),h}return" "},image:function(t,i){var e=document.createElement("img"),s=t.getValue();switch(i.urlPrefix&&(s=i.urlPrefix+t.getValue()),i.urlSuffix&&(s+=i.urlSuffix),e.setAttribute("src",s),typeof i.height){case"number":e.style.height=i.height+"px";break;case"string":e.style.height=i.height}switch(typeof i.width){case"number":e.style.width=i.width+"px";break;case"string":e.style.width=i.width}return e.addEventListener("load",(function(){t.getRow().normalizeHeight()})),e},tickCross:function(t,i){var e=t.getValue(),s=t.getElement(),r=i.allowEmpty,o=i.allowTruthy,a=Object.keys(i).includes("trueValue"),h=void 0!==i.tickElement?i.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>',n=void 0!==i.crossElement?i.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&&e===i.trueValue||!a&&(o&&e||!0===e||"true"===e||"True"===e||1===e||"1"===e)?(s.setAttribute("aria-checked",!0),h||""):!r||"null"!==e&&""!==e&&null!=e?(s.setAttribute("aria-checked",!1),n||""):(s.setAttribute("aria-checked","mixed"),"")},datetime:function(t,i){var e,s=this.table.dependencyRegistry.lookup(["luxon","DateTime"],"DateTime"),r=i.inputFormat||"yyyy-MM-dd HH:mm:ss",o=i.outputFormat||"dd/MM/yyyy HH:mm:ss",a=void 0!==i.invalidPlaceholder?i.invalidPlaceholder:"",h=t.getValue();if(void 0!==s)return(e=s.isDateTime(h)?h:"iso"===r?s.fromISO(String(h)):s.fromFormat(String(h),r)).isValid?(i.timezone&&(e=e.setZone(i.timezone)),e.toFormat(o)):!0!==a&&h?"function"==typeof a?a(h):a:h;console.error("Format Error - 'datetime' formatter is dependant on luxon.js")},datetimediff:function(t,i){var e,s=this.table.dependencyRegistry.lookup(["luxon","DateTime"],"DateTime"),r=i.inputFormat||"yyyy-MM-dd HH:mm:ss",o=void 0!==i.invalidPlaceholder?i.invalidPlaceholder:"",a=void 0!==i.suffix&&i.suffix,h=void 0!==i.unit?i.unit:"days",n=void 0!==i.humanize&&i.humanize,l=void 0!==i.date?i.date:s.now(),u=t.getValue();if(void 0!==s)return(e=s.isDateTime(u)?u:"iso"===r?s.fromISO(String(u)):s.fromFormat(String(u),r)).isValid?n?e.diff(l,h).toHuman()+(a?" "+a:""):parseInt(e.diff(l,h)[h])+(a?" "+a:""):!0===o?u:"function"==typeof o?o(u):o;console.error("Format Error - 'datetimediff' formatter is dependant on luxon.js")},lookup:function(t,i){var e=t.getValue();return void 0===i[e]?(console.warn("Missing display value for "+e),e):i[e]},star:function(t,i){var e=t.getValue(),s=t.getElement(),r=i&&i.stars?i.stars:5,o=document.createElement("span"),a=document.createElementNS("http://www.w3.org/2000/svg","svg");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",e=e&&!isNaN(e)?parseInt(e):0,e=Math.max(0,Math.min(e,r));for(var h=1;h<=r;h++){var n=a.cloneNode(!0);n.innerHTML=h<=e?'<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 "/>':'<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.appendChild(n)}return s.style.whiteSpace="nowrap",s.style.overflow="hidden",s.style.textOverflow="ellipsis",s.setAttribute("aria-label",e),o},traffic:function(t,i){var e,s=this.sanitizeHTML(t.getValue())||0,r=document.createElement("span"),o=i&&i.max?i.max:100,a=i&&i.min?i.min:0,h=i&&void 0!==i.color?i.color:["red","orange","green"],n="#666666";if(!isNaN(s)&&void 0!==t.getValue()){switch(r.classList.add("tabulator-traffic-light"),e=parseFloat(s)<=o?parseFloat(s):o,e=parseFloat(e)>=a?parseFloat(e):a,e=Math.round((e-a)/((o-a)/100)),typeof h){case"string":n=h;break;case"function":n=h(s);break;case"object":if(Array.isArray(h)){var l=Math.floor(e/(100/h.length));l=Math.min(l,h.length-1),n=h[l=Math.max(l,0)];break}}return r.style.backgroundColor=n,r}},progress:function(t,i={},e){var s,r,o,a,h=this.sanitizeHTML(t.getValue())||0,n=t.getElement(),l=i.max?i.max:100,u=i.min?i.min:0,c=i.legendAlign?i.legendAlign:"center";switch(s=parseFloat(h)<=l?parseFloat(h):l,s=parseFloat(s)>=u?parseFloat(s):u,s=Math.round((s-u)/((l-u)/100)),typeof i.color){case"string":r=i.color;break;case"function":r=i.color(h);break;case"object":if(Array.isArray(i.color)){let t=Math.floor(s/(100/i.color.length));t=Math.min(t,i.color.length-1),t=Math.max(t,0),r=i.color[t];break}default:r="#2DC214"}switch(typeof i.legend){case"string":o=i.legend;break;case"function":o=i.legend(h);break;case"boolean":o=h;break;default:o=!1}switch(typeof i.legendColor){case"string":a=i.legendColor;break;case"function":a=i.legendColor(h);break;case"object":if(Array.isArray(i.legendColor)){let t=Math.floor(s/(100/i.legendColor.length));t=Math.min(t,i.legendColor.length-1),t=Math.max(t,0),a=i.legendColor[t]}break;default:a="#000"}n.style.minWidth="30px",n.style.position="relative",n.setAttribute("aria-label",s);var d=document.createElement("div");d.style.display="inline-block",d.style.width=s+"%",d.style.backgroundColor=r,d.style.height="100%",d.setAttribute("data-max",l),d.setAttribute("data-min",u);var b=document.createElement("div");if(b.style.position="relative",b.style.width="100%",b.style.height="100%",o){var p=document.createElement("div");p.style.position="absolute",p.style.top=0,p.style.left=0,p.style.textAlign=c,p.style.width="100%",p.style.color=a,p.innerHTML=o}return e((function(){if(!(t instanceof Y)){var i=document.createElement("div");i.style.position="absolute",i.style.top="4px",i.style.bottom="4px",i.style.left="4px",i.style.right="4px",n.appendChild(i),n=i}n.appendChild(b),b.appendChild(d),o&&b.appendChild(p)})),""},color:function(t){return t.getElement().style.backgroundColor=this.sanitizeHTML(t.getValue()),""},buttonTick:function(){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>'},buttonCross:function(){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>'},toggle:function(t,i){var e,s,r=t.getValue(),o=i.size||15,a=o+"px",h=!i.hasOwnProperty("onValue")||i.onValue,n=!!i.hasOwnProperty("offValue")&&i.offValue,l=i.onTruthy?r:r===h;return(e=document.createElement("div")).classList.add("tabulator-toggle"),l?(e.classList.add("tabulator-toggle-on"),e.style.flexDirection="row-reverse",i.onColor&&(e.style.background=i.onColor)):i.offColor&&(e.style.background=i.offColor),e.style.width=2.5*o+"px",e.style.borderRadius=a,i.clickable&&e.addEventListener("click",(()=>{t.setValue(l?n:h)})),(s=document.createElement("div")).classList.add("tabulator-toggle-switch"),s.style.height=a,s.style.width=a,s.style.borderRadius=a,e.appendChild(s),e},rownum:function(t,i){var e=document.createElement("span"),s=t.getRow(),r=t.getTable();return s.watchPosition((t=>{i.relativeToPage&&(t+=r.modules.page.getPageSize()*(r.modules.page.getPage()-1)),e.innerText=t})),e},handle:function(t){return t.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>"},adaptable:function(t,i,e){var s,r;return s=i.formatterLookup?i.formatterLookup(t):function(t){var i=t.getValue(),e="plaintext";switch(typeof i){case"boolean":e="tickCross";break;case"string":i.includes("\n")&&(e="textarea")}return e}(t),i.paramsLookup&&(r="function"==typeof i.paramsLookup?i.paramsLookup(s,t):i.paramsLookup[s]),this.table.modules.format.lookupFormatter(s).call(this,t,r||{},e)},array:function(t,i){var e,s=i.delimiter||",",r=t.getValue(),o=this.table;return i.valueMap&&(e="string"==typeof i.valueMap?function(t){return t.map((t=>N.retrieveNestedData(o.options.nestedFieldSeparator,i.valueMap,t)))}:i.valueMap),Array.isArray(r)?(e&&(r=e(r)),r.join(s)):r},json:function(t,i){var e=i.indent||"\t",s=void 0===i.multiline||i.multiline,r=i.replacer||null,o=t.getValue();return s&&(t.getElement().style.whiteSpace="pre-wrap"),JSON.stringify(o,r,e)}};class xt extends H{static moduleName="format";static formatters=yt;constructor(t){super(t),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(t){t.modules.format=this.lookupTypeFormatter(t,""),void 0!==t.definition.formatterPrint&&(t.modules.format.print=this.lookupTypeFormatter(t,"Print")),void 0!==t.definition.formatterClipboard&&(t.modules.format.clipboard=this.lookupTypeFormatter(t,"Clipboard")),void 0!==t.definition.formatterHtmlOutput&&(t.modules.format.htmlOutput=this.lookupTypeFormatter(t,"HtmlOutput"))}lookupTypeFormatter(t,i){var e={params:t.definition["formatter"+i+"Params"]||{}};return e.formatter=this.lookupFormatter(t.definition["formatter"+i]),e}lookupFormatter(t){var i;switch(typeof t){case"string":xt.formatters[t]?i=xt.formatters[t]:(console.warn("Formatter Error - No such formatter found: ",t),i=xt.formatters.plaintext);break;case"function":i=t;break;default:i=xt.formatters.plaintext}return i}cellRendered(t){t.modules.format&&t.modules.format.renderedCallback&&!t.modules.format.rendered&&(t.modules.format.renderedCallback(),t.modules.format.rendered=!0)}formatHeader(t,i,e){var s,r,o,a;return t.definition.titleFormatter?(s=this.lookupFormatter(t.definition.titleFormatter),o=i=>{t.titleFormatterRendered=i},a={getValue:function(){return i},getElement:function(){return e},getType:function(){return"header"},getColumn:function(){return t.getComponent()},getTable:()=>this.table},r="function"==typeof(r=t.definition.titleFormatterParams||{})?r():r,s.call(this,a,r,o)):i}formatValue(t){var i=t.getComponent(),e="function"==typeof t.column.modules.format.params?t.column.modules.format.params(i):t.column.modules.format.params;return t.column.modules.format.formatter.call(this,i,e,(function(i){t.modules.format||(t.modules.format={}),t.modules.format.renderedCallback=i,t.modules.format.rendered=!1}))}formatExportValue(t,i){var e,s=t.column.modules.format[i];if(s){function r(i){t.modules.format||(t.modules.format={}),t.modules.format.renderedCallback=i,t.modules.format.rendered=!1}return e="function"==typeof s.params?s.params(t.getComponent()):s.params,s.formatter.call(this,t.getComponent(),e,r)}return this.formatValue(t)}sanitizeHTML(t){if(t){var i={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="};return String(t).replace(/[&<>"'`=/]/g,(function(t){return i[t]}))}return t}emptyToSpace(t){return null==t||""===t?" ":t}}class kt{constructor(t){return this._group=t,this.type="GroupComponent",new Proxy(this,{get:function(t,i){return void 0!==t[i]?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(!0)}getSubGroups(){return this._group.getSubGroups(!0)}getParentGroup(){return!!this._group.parent&&this._group.parent.getComponent()}isVisible(){return this._group.visible}show(){this._group.show()}hide(){this._group.hide()}toggle(){this._group.toggleVisibility()}scrollTo(t,i){return this._group.groupManager.table.rowManager.scrollToRow(this._group,t,i)}_getSelf(){return this._group}getTable(){return this._group.groupManager.table}}class Ct{constructor(t,i,e,s,r,o,a){this.groupManager=t,this.parent=i,this.key=s,this.level=e,this.field=r,this.hasSubGroups=e<t.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=!1,this.elementContents=!1,this.height=0,this.outerHeight=0,this.initialized=!1,this.calcs={},this.initialized=!1,this.modules={},this.arrowElement=!1,this.visible=a?a.visible:void 0!==t.startOpen[e]?t.startOpen[e]:t.startOpen[0],this.component=null,this.createElements(),this.addBindings(),this.createValueGroups()}wipe(t){t||(this.groupList.length?this.groupList.forEach((function(t){t.wipe()})):this.rows.forEach((t=>{t.modules&&delete t.modules.group}))),this.element=!1,this.arrowElement=!1,this.elementContents=!1}createElements(){var t=document.createElement("div");t.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(t),!1!==this.groupManager.table.options.movableRows&&this.groupManager.table.modExists("moveRow")&&this.groupManager.table.modules.moveRow.initializeGroupHeader(this)}createValueGroups(){var t=this.level+1;this.groupManager.allowedValues&&this.groupManager.allowedValues[t]&&this.groupManager.allowedValues[t].forEach((i=>{this._createGroup(i,t)}))}addBindings(){this.groupManager.table.options.groupToggleElement&&("arrow"==this.groupManager.table.options.groupToggleElement?this.arrowElement:this.element).addEventListener("click",(t=>{"arrow"===this.groupManager.table.options.groupToggleElement&&(t.stopPropagation(),t.stopImmediatePropagation()),setTimeout((()=>{this.toggleVisibility()}))}))}_createGroup(t,i){var e=i+"_"+t,s=new Ct(this.groupManager,this,i,t,this.groupManager.groupIDLookups[i].field,this.groupManager.headerGenerator[i]||this.groupManager.headerGenerator[0],!!this.old&&this.old.groups[e]);this.groups[e]=s,this.groupList.push(s)}_addRowToGroup(t){var i=this.level+1;if(this.hasSubGroups){var e=this.groupManager.groupIDLookups[i].func(t.getData()),s=i+"_"+e;this.groupManager.allowedValues&&this.groupManager.allowedValues[i]?this.groups[s]&&this.groups[s].addRow(t):(this.groups[s]||this._createGroup(e,i),this.groups[s].addRow(t))}}_addRow(t){this.rows.push(t),t.modules.group=this}insertRow(t,i,e){var s=this.conformRowData({});t.updateData(s);var r=this.rows.indexOf(i);r>-1?this.rows.splice(e?r+1:r,0,t):e?this.rows.push(t):this.rows.unshift(t),t.modules.group=this,this.groupManager.table.modExists("columnCalcs")&&"table"!=this.groupManager.table.options.columnCalcs&&this.groupManager.table.modules.columnCalcs.recalcGroup(this),this.groupManager.updateGroupRows(!0)}scrollHeader(t){this.arrowElement&&(this.arrowElement.style.marginLeft=t,this.groupList.forEach((function(i){i.scrollHeader(t)})))}getRowIndex(t){}conformRowData(t){return this.field?t[this.field]=this.key:console.warn("Data Conforming Error - Cannot conform row data to match new group as groupBy is a function"),this.parent&&(t=this.parent.conformRowData(t)),t}removeRow(t){var i=this.rows.indexOf(t),e=t.getElement();i>-1&&this.rows.splice(i,1),this.groupManager.table.options.groupValues||this.rows.length?(e.parentNode&&e.parentNode.removeChild(e),this.groupManager.blockRedraw||(this.generateGroupHeaderContents(),this.groupManager.table.modExists("columnCalcs")&&"table"!=this.groupManager.table.options.columnCalcs&&this.groupManager.table.modules.columnCalcs.recalcGroup(this))):(this.parent?this.parent.removeGroup(this):this.groupManager.removeGroup(this),this.groupManager.updateGroupRows(!0))}removeGroup(t){var i,e=t.level+"_"+t.key;this.groups[e]&&(delete this.groups[e],(i=this.groupList.indexOf(t))>-1&&this.groupList.splice(i,1),this.groupList.length||(this.parent?this.parent.removeGroup(this):this.groupManager.removeGroup(this)))}getHeadersAndRows(){var t=[];return t.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(i){t=t.concat(i.getHeadersAndRows())})):("table"!=this.groupManager.table.options.columnCalcs&&this.groupManager.table.modExists("columnCalcs")&&this.groupManager.table.modules.columnCalcs.hasTopCalcs()&&(this.calcs.top=this.groupManager.table.modules.columnCalcs.generateTopRow(this.rows),t.push(this.calcs.top)),t=t.concat(this.rows),"table"!=this.groupManager.table.options.columnCalcs&&this.groupManager.table.modExists("columnCalcs")&&this.groupManager.table.modules.columnCalcs.hasBottomCalcs()&&(this.calcs.bottom=this.groupManager.table.modules.columnCalcs.generateBottomRow(this.rows),t.push(this.calcs.bottom))):this.groupList.length||"table"==this.groupManager.table.options.columnCalcs||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),t.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),t.push(this.calcs.bottom))),t}getData(t,i){var e=[];return this._visSet(),(!t||t&&this.visible)&&this.rows.forEach((t=>{e.push(t.getData(i||"data"))})),e}getRowCount(){var t=0;return this.groupList.length?this.groupList.forEach((i=>{t+=i.getRowCount()})):t=this.rows.length,t}toggleVisibility(){this.visible?this.hide():this.show()}hide(){this.visible=!1,"basic"!=this.groupManager.table.rowManager.getRenderMode()||this.groupManager.table.options.pagination||(this.element.classList.remove("tabulator-group-visible"),this.groupList.length?this.groupList.forEach((t=>{t.getHeadersAndRows().forEach((t=>{t.detachElement()}))})):this.rows.forEach((t=>{var i=t.getElement();i.parentNode.removeChild(i)}))),this.groupManager.updateGroupRows(!0),this.groupManager.table.externalEvents.dispatch("groupVisibilityChanged",this.getComponent(),!1)}show(){if(this.visible=!0,"basic"!=this.groupManager.table.rowManager.getRenderMode()||this.groupManager.table.options.pagination)this.groupManager.updateGroupRows(!0);else{this.element.classList.add("tabulator-group-visible");var t=this.generateElement();this.groupList.length?this.groupList.forEach((i=>{i.getHeadersAndRows().forEach((i=>{var e=i.getElement();t.parentNode.insertBefore(e,t.nextSibling),i.initialize(),t=e}))})):this.rows.forEach((i=>{var e=i.getElement();t.parentNode.insertBefore(e,t.nextSibling),i.initialize(),t=e})),this.groupManager.updateGroupRows(!0)}this.groupManager.table.externalEvents.dispatch("groupVisibilityChanged",this.getComponent(),!0)}_visSet(){var t=[];"function"==typeof this.visible&&(this.rows.forEach((function(i){t.push(i.getData())})),this.visible=this.visible(this.key,this.getRowCount(),t,this.getComponent()))}getRowGroup(t){var i=!1;return this.groupList.length?this.groupList.forEach((function(e){var s=e.getRowGroup(t);s&&(i=s)})):this.rows.find((function(i){return i===t}))&&(i=this),i}getSubGroups(t){var i=[];return this.groupList.forEach((function(e){i.push(t?e.getComponent():e)})),i}getRows(t,i){var e=[];return i&&this.groupList.length?this.groupList.forEach((s=>{e=e.concat(s.getRows(t,i))})):this.rows.forEach((function(i){e.push(t?i.getComponent():i)})),e}generateGroupHeaderContents(){var t=[];for(this.getRows(!1,!0).forEach((function(i){t.push(i.getData())})),this.elementContents=this.generator(this.key,this.getRowCount(),t,this.getComponent());this.element.firstChild;)this.element.removeChild(this.element.firstChild);"string"==typeof this.elementContents?this.element.innerHTML=this.elementContents:this.element.appendChild(this.elementContents),this.element.insertBefore(this.arrowElement,this.element.firstChild)}getPath(t=[]){return t.unshift(this.key),this.parent&&this.parent.getPath(t),t}getElement(){return this.elementContents?this.element:this.generateElement()}generateElement(){this.addBindings=!1,this._visSet(),this.visible?this.element.classList.add("tabulator-group-visible"):this.element.classList.remove("tabulator-group-visible");for(var t=0;t<this.element.childNodes.length;++t)this.element.childNodes[t].parentNode.removeChild(this.element.childNodes[t]);return this.generateGroupHeaderContents(),this.element}detachElement(){this.element&&this.element.parentNode&&this.element.parentNode.removeChild(this.element)}normalizeHeight(){this.setHeight(this.element.clientHeight)}initialize(t){this.initialized&&!t||(this.normalizeHeight(),this.initialized=!0)}reinitialize(){this.initialized=!1,this.height=0,N.elVisible(this.element)&&this.initialize(!0)}setHeight(t){this.height!=t&&(this.height=t,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 kt(this)),this.component}}var Rt={cellEdit:function(t){t.component.setValueProcessData(t.data.oldValue),t.component.cellRendered()},rowAdd:function(t){t.component.deleteActual(),this.table.rowManager.checkPlaceholder()},rowDelete:function(t){var i=this.table.rowManager.addRowActual(t.data.data,t.data.pos,t.data.index);this.table.options.groupBy&&this.table.modExists("groupRows")&&this.table.modules.groupRows.updateGroupRows(!0),this._rebindRow(t.component,i),this.table.rowManager.checkPlaceholder()},rowMove:function(t){var i=t.data.posFrom-t.data.posTo>0;this.table.rowManager.moveRowActual(t.component,this.table.rowManager.getRowFromPosition(t.data.posFrom),i),this.table.rowManager.regenerateRowPositions(),this.table.rowManager.reRenderInPosition()}},Et={cellEdit:function(t){t.component.setValueProcessData(t.data.newValue),t.component.cellRendered()},rowAdd:function(t){var i=this.table.rowManager.addRowActual(t.data.data,t.data.pos,t.data.index);this.table.options.groupBy&&this.table.modExists("groupRows")&&this.table.modules.groupRows.updateGroupRows(!0),this._rebindRow(t.component,i),this.table.rowManager.checkPlaceholder()},rowDelete:function(t){t.component.deleteActual(),this.table.rowManager.checkPlaceholder()},rowMove:function(t){this.table.rowManager.moveRowActual(t.component,this.table.rowManager.getRowFromPosition(t.data.posTo),t.data.after),this.table.rowManager.regenerateRowPositions(),this.table.rowManager.reRenderInPosition()}},zt={keybindings:{bindings:{undo:["ctrl + 90","meta + 90"],redo:["ctrl + 89","meta + 89"]},actions:{undo:function(t){this.table.options.history&&this.table.modExists("history")&&this.table.modExists("edit")&&(this.table.modules.edit.currentCell||(t.preventDefault(),this.table.modules.history.undo()))},redo:function(t){this.table.options.history&&this.table.modExists("history")&&this.table.modExists("edit")&&(this.table.modules.edit.currentCell||(t.preventDefault(),this.table.modules.history.redo()))}}}};class Mt extends H{static moduleName="history";static moduleExtensions=zt;static undoers=Rt;static redoers=Et;constructor(t){super(t),this.history=[],this.index=-1,this.registerTableOption("history",!1)}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(t,i,e){this.action("rowMove",t,{posFrom:t.getPosition(),posTo:i.getPosition(),to:i,after:e})}rowAdded(t,i,e,s){this.action("rowAdd",t,{data:i,pos:e,index:s})}rowDeleted(t){var i,e;this.table.options.groupBy?(i=(e=t.getComponent().getGroup()._getSelf().rows).indexOf(t))&&(i=e[i-1]):(i=t.table.rowManager.getRowIndex(t))&&(i=t.table.rowManager.rows[i-1]),this.action("rowDelete",t,{data:t.getData(),pos:!i,index:i})}cellUpdated(t){this.action("cellEdit",t,{oldValue:t.oldValue,newValue:t.value})}clear(){this.history=[],this.index=-1}action(t,i,e){this.history=this.history.slice(0,this.index+1),this.history.push({type:t,component:i,data:e}),this.index++}getHistoryUndoSize(){return this.index+1}getHistoryRedoSize(){return this.history.length-(this.index+1)}clearComponentHistory(t){var i=this.history.findIndex((function(i){return i.component===t}));i>-1&&(this.history.splice(i,1),i<=this.index&&this.index--,this.clearComponentHistory(t))}undo(){if(this.index>-1){let t=this.history[this.index];return Mt.undoers[t.type].call(this,t),this.index--,this.dispatchExternal("historyUndo",t.type,t.component.getComponent(),t.data),!0}return console.warn(this.options("history")?"History Undo Error - No more history to undo":"History module not enabled"),!1}redo(){if(this.history.length-1>this.index){this.index++;let t=this.history[this.index];return Mt.redoers[t.type].call(this,t),this.dispatchExternal("historyRedo",t.type,t.component.getComponent(),t.data),!0}return console.warn(this.options("history")?"History Redo Error - No more history to redo":"History module not enabled"),!1}_rebindRow(t,i){this.history.forEach((function(e){if(e.component instanceof rt)e.component===t&&(e.component=i);else if(e.component instanceof Q&&e.component.row===t){var s=e.component.column.getField();s&&(e.component=i.getCell(s))}}))}}var St={csv:function(t){var i=[],e=0,s=0,r=!1;for(let o=0;o<t.length;o++){let a=t[o],h=t[o+1];i[e]||(i[e]=[]),i[e][s]||(i[e][s]=""),'"'==a&&r&&'"'==h?(i[e][s]+=a,o++):'"'!=a?","!=a||r?"\r"!=a||"\n"!=h||r?"\r"!=a&&"\n"!=a||r?i[e][s]+=a:(s=0,e++):(s=0,e++,o++):s++:r=!r}return i},json:function(t){try{return JSON.parse(t)}catch(t){return console.warn("JSON Import Error - File contents is invalid JSON",t),Promise.reject()}},array:function(t){return t},xlsx:function(t){var i=this.dependencyRegistry.lookup("XLSX"),e=i.read(t);return i.utils.sheet_to_json(e.Sheets[e.SheetNames[0]],{header:1})}};class Tt extends H{static moduleName="import";static importers=St;constructor(t){super(t),this.registerTableOption("importFormat"),this.registerTableOption("importReader","text"),this.registerTableOption("importHeaderTransform"),this.registerTableOption("importValueTransform"),this.registerTableOption("importDataValidator"),this.registerTableOption("importFileValidator")}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(t){return this.table.options.importFormat&&("string"==typeof t||Array.isArray(t)&&t.length&&Array.isArray(t))}loadData(t,i,e,s,r){return this.importData(this.lookupImporter(),t).then(this.structureData.bind(this)).catch((t=>(console.error("Import Error:",t||"Unable to import data"),Promise.reject(t))))}lookupImporter(t){var i;return t||(t=this.table.options.importFormat),(i="string"==typeof t?Tt.importers[t]:t)||console.error("Import Error - Importer not found:",t),i}importFromFile(t,i,e){var s=this.lookupImporter(t);if(s)return this.pickFile(i,e).then(this.importData.bind(this,s)).then(this.structureData.bind(this)).then(this.mutateData.bind(this)).then(this.validateData.bind(this)).then(this.setData.bind(this)).catch((t=>(this.dispatch("import-error",t),this.dispatchExternal("importError",t),console.error("Import Error:",t||"Unable to import file"),this.table.dataLoader.alertError(),setTimeout((()=>{this.table.dataLoader.clearAlert()}),3e3),Promise.reject(t))))}pickFile(t,i){return new Promise(((e,s)=>{var r=document.createElement("input");r.type="file",r.accept=t,r.addEventListener("change",(()=>{var t=r.files[0],o=new FileReader,a=this.validateFile(t);if(!0===a){switch(this.dispatch("import-importing",r.files),this.dispatchExternal("importImporting",r.files),i||this.table.options.importReader){case"buffer":o.readAsArrayBuffer(t);break;case"binary":o.readAsBinaryString(t);break;case"url":o.readAsDataURL(t);break;default:o.readAsText(t)}o.onload=()=>{e(o.result)},o.onerror=t=>{console.warn("File Load Error - Unable to read file"),s(t)}}else s(a)})),this.dispatch("import-choose"),this.dispatchExternal("importChoose"),r.click()}))}importData(t,i){var e;return this.table.dataLoader.alertLoader(),new Promise(((s,r)=>{setTimeout((()=>{(e=t.call(this.table,i))instanceof Promise||e?s(e):r()}),10)}))}structureData(t){return Array.isArray(t)&&t.length&&Array.isArray(t[0])?this.table.options.autoColumns?this.structureArrayToObject(t):this.structureArrayToColumns(t):t}mutateData(t){var i=[];return Array.isArray(t)?t.forEach((t=>{i.push(this.table.modules.mutator.transformRow(t,"import"))})):i=t,i}transformHeader(t){var i=[];return this.table.options.importHeaderTransform?(t.forEach((e=>{i.push(this.table.options.importHeaderTransform.call(this.table,e,t))})),i):t}transformData(t){var i=[];return this.table.options.importValueTransform?(t.forEach((e=>{i.push(this.table.options.importValueTransform.call(this.table,e,t))})),i):t}structureArrayToObject(t){var i=this.transformHeader(t.shift());return t.map((t=>{var e={};return t=this.transformData(t),i.forEach(((i,s)=>{e[i]=t[s]})),e}))}structureArrayToColumns(t){var i=[],e=this.transformHeader(t[0]),s=this.table.getColumns();return s[0]&&e[0]&&s[0].getDefinition().title===e[0]&&t.shift(),t.forEach((t=>{var e={};(t=this.transformData(t)).forEach(((t,i)=>{var r=s[i];r&&(e[r.getField()]=t)})),i.push(e)})),i}validateFile(t){return!this.table.options.importFileValidator||this.table.options.importFileValidator.call(this.table,t)}validateData(t){var i;return this.table.options.importDataValidator?!0===(i=this.table.options.importDataValidator.call(this.table,t))?t:Promise.reject(i):t}setData(t){return this.dispatch("import-imported",t),this.dispatchExternal("importImported",t),this.table.dataLoader.clearAlert(),this.table.setData(t)}}var Dt={navPrev:"shift + 9",navNext:9,navUp:38,navDown:40,navLeft:37,navRight:39,scrollPageUp:33,scrollPageDown:34,scrollToStart:36,scrollToEnd:35},Pt={keyBlock:function(t){t.stopPropagation(),t.preventDefault()},scrollPageUp:function(t){var i=this.table.rowManager,e=i.scrollTop-i.element.clientHeight;t.preventDefault(),i.displayRowsCount&&(e>=0?i.element.scrollTop=e:i.scrollToRow(i.getDisplayRows()[0])),this.table.element.focus()},scrollPageDown:function(t){var i=this.table.rowManager,e=i.scrollTop+i.element.clientHeight,s=i.element.scrollHeight;t.preventDefault(),i.displayRowsCount&&(e<=s?i.element.scrollTop=e:i.scrollToRow(i.getDisplayRows()[i.displayRowsCount-1])),this.table.element.focus()},scrollToStart:function(t){var i=this.table.rowManager;t.preventDefault(),i.displayRowsCount&&i.scrollToRow(i.getDisplayRows()[0]),this.table.element.focus()},scrollToEnd:function(t){var i=this.table.rowManager;t.preventDefault(),i.displayRowsCount&&i.scrollToRow(i.getDisplayRows()[i.displayRowsCount-1]),this.table.element.focus()},navPrev:function(t){this.dispatch("keybinding-nav-prev",t)},navNext:function(t){this.dispatch("keybinding-nav-next",t)},navLeft:function(t){this.dispatch("keybinding-nav-left",t)},navRight:function(t){this.dispatch("keybinding-nav-right",t)},navUp:function(t){this.dispatch("keybinding-nav-up",t)},navDown:function(t){this.dispatch("keybinding-nav-down",t)}};class Ft extends H{static moduleName="keybindings";static bindings=Dt;static actions=Pt;constructor(t){super(t),this.watchKeys=null,this.pressedKeys=null,this.keyupBinding=!1,this.keydownBinding=!1,this.registerTableOption("keybindings",{}),this.registerTableOption("tabEndNewRow",!1)}initialize(){var t=this.table.options.keybindings,i={};this.watchKeys={},this.pressedKeys=[],!1!==t&&(Object.assign(i,Ft.bindings),Object.assign(i,t),this.mapBindings(i),this.bindEvents()),this.subscribe("table-destroy",this.clearBindings.bind(this))}mapBindings(t){for(let i in t)Ft.actions[i]?t[i]&&("object"!=typeof t[i]&&(t[i]=[t[i]]),t[i].forEach((t=>{(Array.isArray(t)?t:[t]).forEach((t=>{this.mapBinding(i,t)}))}))):console.warn("Key Binding Error - no such action:",i)}mapBinding(t,i){var e={action:Ft.actions[t],keys:[],ctrl:!1,shift:!1,meta:!1};i.toString().toLowerCase().split(" ").join("").split("+").forEach((t=>{switch(t){case"ctrl":e.ctrl=!0;break;case"shift":e.shift=!0;break;case"meta":e.meta=!0;break;default:t=isNaN(t)?t.toUpperCase().charCodeAt(0):parseInt(t),e.keys.push(t),this.watchKeys[t]||(this.watchKeys[t]=[]),this.watchKeys[t].push(e)}}))}bindEvents(){var t=this;this.keyupBinding=function(i){var e=i.keyCode,s=t.watchKeys[e];s&&(t.pressedKeys.push(e),s.forEach((function(e){t.checkBinding(i,e)})))},this.keydownBinding=function(i){var e=i.keyCode;if(t.watchKeys[e]){var s=t.pressedKeys.indexOf(e);s>-1&&t.pressedKeys.splice(s,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(t,i){var e=!0;return t.ctrlKey==i.ctrl&&t.shiftKey==i.shift&&t.metaKey==i.meta&&(i.keys.forEach((t=>{-1==this.pressedKeys.indexOf(t)&&(e=!1)})),e&&i.action.call(this,t),!0)}}var jt={delete:function(t){t.delete()}},Nt={insert:function(t,i){return this.table.addRow(t.getData(),void 0,i),!0},add:function(t){return this.table.addRow(t.getData()),!0},update:function(t,i){return!!i&&(i.update(t.getData()),!0)},replace:function(t,i){return!!i&&(this.table.addRow(t.getData(),void 0,i),i.delete(),!0)}};class Ot extends H{static moduleName="moveRow";static senders=jt;static receivers=Nt;constructor(t){super(t),this.placeholderElement=this.createPlaceholderElement(),this.hoverElement=!1,this.checkTimeout=!1,this.checkPeriod=150,this.moving=!1,this.toRow=!1,this.toRowAfter=!1,this.hasHandle=!1,this.startY=0,this.startX=0,this.moveHover=this.moveHover.bind(this),this.endMove=this.endMove.bind(this),this.tableRowDropEvent=!1,this.touchMove=!1,this.connection=!1,this.connectionSelectorsTables=!1,this.connectionSelectorsElements=!1,this.connectionElements=[],this.connections=[],this.connectedTable=!1,this.connectedRow=!1,this.registerTableOption("movableRows",!1),this.registerTableOption("movableRowsConnectedTables",!1),this.registerTableOption("movableRowsConnectedElements",!1),this.registerTableOption("movableRowsSender",!1),this.registerTableOption("movableRowsReceiver","insert"),this.registerColumnOption("rowHandle")}createPlaceholderElement(){var t=document.createElement("div");return t.classList.add("tabulator-row"),t.classList.add("tabulator-row-placeholder"),t}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(t){var i=this,e={};e.mouseup=function(e){i.tableRowDrop(e,t)}.bind(i),e.mousemove=function(e){var s;e.pageY-N.elOffset(t.element).top+i.table.rowManager.element.scrollTop>t.getHeight()/2?i.toRow===t&&i.toRowAfter||((s=t.getElement()).parentNode.insertBefore(i.placeholderElement,s.nextSibling),i.moveRow(t,!0)):(i.toRow!==t||i.toRowAfter)&&(s=t.getElement()).previousSibling&&(s.parentNode.insertBefore(i.placeholderElement,s),i.moveRow(t,!1))}.bind(i),t.modules.moveRow=e}initializeRow(t){var i,e=this,s={};s.mouseup=function(i){e.tableRowDrop(i,t)}.bind(e),s.mousemove=function(i){var s=t.getElement();i.pageY-N.elOffset(s).top+e.table.rowManager.element.scrollTop>t.getHeight()/2?e.toRow===t&&e.toRowAfter||(s.parentNode.insertBefore(e.placeholderElement,s.nextSibling),e.moveRow(t,!0)):(e.toRow!==t||e.toRowAfter)&&(s.parentNode.insertBefore(e.placeholderElement,s),e.moveRow(t,!1))}.bind(e),this.hasHandle||((i=t.getElement()).addEventListener("mousedown",(function(i){1===i.which&&(e.checkTimeout=setTimeout((function(){e.startMove(i,t)}),e.checkPeriod))})),i.addEventListener("mouseup",(function(t){1===t.which&&e.checkTimeout&&clearTimeout(e.checkTimeout)})),this.bindTouchEvents(t,t.getElement())),t.modules.moveRow=s}initializeColumn(t){t.definition.rowHandle&&!1!==this.table.options.movableRows&&(this.hasHandle=!0)}initializeCell(t){if(t.column.definition.rowHandle&&!1!==this.table.options.movableRows){var i=this,e=t.getElement(!0);e.addEventListener("mousedown",(function(e){1===e.which&&(i.checkTimeout=setTimeout((function(){i.startMove(e,t.row)}),i.checkPeriod))})),e.addEventListener("mouseup",(function(t){1===t.which&&i.checkTimeout&&clearTimeout(i.checkTimeout)})),this.bindTouchEvents(t.row,e)}}bindTouchEvents(t,i){var e,s,r,o,a,h,n=!1;i.addEventListener("touchstart",(i=>{this.checkTimeout=setTimeout((()=>{this.touchMove=!0,e=t.nextRow(),r=e?e.getHeight()/2:0,s=t.prevRow(),o=s?s.getHeight()/2:0,a=0,h=0,n=!1,this.startMove(i,t)}),this.checkPeriod)}),{passive:!0}),i.addEventListener("touchmove",(i=>{var l,u;this.moving&&(i.preventDefault(),this.moveHover(i),n||(n=i.touches[0].pageY),(l=i.touches[0].pageY-n)>0?e&&l-a>r&&(u=e)!==t&&(n=i.touches[0].pageY,u.getElement().parentNode.insertBefore(this.placeholderElement,u.getElement().nextSibling),this.moveRow(u,!0)):s&&-l-h>o&&(u=s)!==t&&(n=i.touches[0].pageY,u.getElement().parentNode.insertBefore(this.placeholderElement,u.getElement()),this.moveRow(u,!1)),u&&(e=u.nextRow(),a=r,r=e?e.getHeight()/2:0,s=u.prevRow(),h=o,o=s?s.getHeight()/2:0))})),i.addEventListener("touchend",(t=>{this.checkTimeout&&clearTimeout(this.checkTimeout),this.moving&&(this.endMove(t),this.touchMove=!1)}))}_bindMouseMove(){this.table.rowManager.getDisplayRows().forEach((t=>{("row"===t.type||"group"===t.type)&&t.modules.moveRow&&t.modules.moveRow.mousemove&&t.getElement().addEventListener("mousemove",t.modules.moveRow.mousemove)}))}_unbindMouseMove(){this.table.rowManager.getDisplayRows().forEach((t=>{("row"===t.type||"group"===t.type)&&t.modules.moveRow&&t.modules.moveRow.mousemove&&t.getElement().removeEventListener("mousemove",t.modules.moveRow.mousemove)}))}startMove(t,i){var e=i.getElement();this.setStartPosition(t,i),this.moving=i,this.table.element.classList.add("tabulator-block-select"),this.placeholderElement.style.width=i.getWidth()+"px",this.placeholderElement.style.height=i.getHeight()+"px",this.connection?(this.table.element.classList.add("tabulator-movingrow-sending"),this.connectToTables(i)):(e.parentNode.insertBefore(this.placeholderElement,e),e.parentNode.removeChild(e)),this.hoverElement=e.cloneNode(!0),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",i.getComponent()),this.moveHover(t)}setStartPosition(t,i){var e,s,r=this.touchMove?t.touches[0].pageX:t.pageX,o=this.touchMove?t.touches[0].pageY:t.pageY;e=i.getElement(),this.connection?(s=e.getBoundingClientRect(),this.startX=s.left-r+window.pageXOffset,this.startY=s.top-o+window.pageYOffset):this.startY=o-e.getBoundingClientRect().top}endMove(t){t&&1!==t.which&&!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=!1,this.toRow=!1,this.toRowAfter=!1,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(t,i){this.toRow=t,this.toRowAfter=i}moveHover(t){this.connection?this.moveHoverConnections.call(this,t):this.moveHoverTable.call(this,t)}moveHoverTable(t){var i=this.table.rowManager.getElement(),e=i.scrollTop,s=(this.touchMove?t.touches[0].pageY:t.pageY)-i.getBoundingClientRect().top+e;this.hoverElement.style.top=Math.min(s-this.startY,this.table.rowManager.element.scrollHeight-this.hoverElement.offsetHeight)+"px"}moveHoverConnections(t){this.hoverElement.style.left=this.startX+(this.touchMove?t.touches[0].pageX:t.pageX)+"px",this.hoverElement.style.top=this.startY+(this.touchMove?t.touches[0].pageY:t.pageY)+"px"}elementRowDrop(t,i,e){this.dispatchExternal("movableRowsElementDrop",t,i,!!e&&e.getComponent())}connectToTables(t){var i;this.connectionSelectorsTables&&(i=this.commsConnections(this.connectionSelectorsTables),this.dispatchExternal("movableRowsSendingStart",i),this.commsSend(this.connectionSelectorsTables,"moveRow","connect",{row:t})),this.connectionSelectorsElements&&(this.connectionElements=[],Array.isArray(this.connectionSelectorsElements)||(this.connectionSelectorsElements=[this.connectionSelectorsElements]),this.connectionSelectorsElements.forEach((t=>{"string"==typeof t?this.connectionElements=this.connectionElements.concat(Array.prototype.slice.call(document.querySelectorAll(t))):this.connectionElements.push(t)})),this.connectionElements.forEach((t=>{var i=i=>{this.elementRowDrop(i,t,this.moving)};t.addEventListener("mouseup",i),t.tabulatorElementDropEvent=i,t.classList.add("tabulator-movingrow-receiving")})))}disconnectFromTables(){var t;this.connectionSelectorsTables&&(t=this.commsConnections(this.connectionSelectorsTables),this.dispatchExternal("movableRowsSendingStop",t),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(t,i){return this.connectedTable?(console.warn("Move Row Error - Table cannot accept connection, already connected to table:",this.connectedTable),!1):(this.connectedTable=t,this.connectedRow=i,this.table.element.classList.add("tabulator-movingrow-receiving"),this.table.rowManager.getDisplayRows().forEach((t=>{"row"===t.type&&t.modules.moveRow&&t.modules.moveRow.mouseup&&t.getElement().addEventListener("mouseup",t.modules.moveRow.mouseup)})),this.tableRowDropEvent=this.tableRowDrop.bind(this),this.table.element.addEventListener("mouseup",this.tableRowDropEvent),this.dispatchExternal("movableRowsReceivingStart",i,t),!0)}disconnect(t){t===this.connectedTable?(this.connectedTable=!1,this.connectedRow=!1,this.table.element.classList.remove("tabulator-movingrow-receiving"),this.table.rowManager.getDisplayRows().forEach((t=>{"row"===t.type&&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",t)):console.warn("Move Row Error - trying to disconnect from non connected table")}dropComplete(t,i,e){var s=!1;if(e){switch(typeof this.table.options.movableRowsSender){case"string":s=Ot.senders[this.table.options.movableRowsSender];break;case"function":s=this.table.options.movableRowsSender}s?s.call(this,this.moving?this.moving.getComponent():void 0,i?i.getComponent():void 0,t):this.table.options.movableRowsSender&&console.warn("Mover Row Error - no matching sender found:",this.table.options.movableRowsSender),this.dispatchExternal("movableRowsSent",this.moving.getComponent(),i?i.getComponent():void 0,t)}else this.dispatchExternal("movableRowsSentFailed",this.moving.getComponent(),i?i.getComponent():void 0,t);this.endMove()}tableRowDrop(t,i){var e=!1,s=!1;switch(t.stopImmediatePropagation(),typeof this.table.options.movableRowsReceiver){case"string":e=Ot.receivers[this.table.options.movableRowsReceiver];break;case"function":e=this.table.options.movableRowsReceiver}e?s=e.call(this,this.connectedRow.getComponent(),i?i.getComponent():void 0,this.connectedTable):console.warn("Mover Row Error - no matching receiver found:",this.table.options.movableRowsReceiver),this.dispatchExternal(s?"movableRowsReceived":"movableRowsReceivedFailed",this.connectedRow.getComponent(),i?i.getComponent():void 0,this.connectedTable),this.commsSend(this.connectedTable,"moveRow","dropcomplete",{row:i,success:s})}commsReceived(t,i,e){switch(i){case"connect":return this.connect(t,e.row);case"disconnect":return this.disconnect(t);case"dropcomplete":return this.dropComplete(t,e.row,e.success)}}}var Ht={};class _t extends H{static moduleName="mutator";static mutators=Ht;constructor(t){super(t),this.allowedTypes=["","data","edit","clipboard","import"],this.enabled=!0,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("mutatorImport"),this.registerColumnOption("mutatorImportParams"),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(t,i,e){return this.transformRow(i,"data",e)}initializeColumn(t){var i=!1,e={};this.allowedTypes.forEach((s=>{var r,o="mutator"+(s.charAt(0).toUpperCase()+s.slice(1));t.definition[o]&&(r=this.lookupMutator(t.definition[o]))&&(i=!0,e[o]={mutator:r,params:t.definition[o+"Params"]||{}})})),i&&(t.modules.mutate=e)}lookupMutator(t){var i=!1;switch(typeof t){case"string":_t.mutators[t]?i=_t.mutators[t]:console.warn("Mutator Error - No such mutator found, ignoring: ",t);break;case"function":i=t}return i}transformRow(t,i,e){var s,r="mutator"+(i.charAt(0).toUpperCase()+i.slice(1));return this.enabled&&this.table.columnManager.traverse((o=>{var a,h,n;o.modules.mutate&&(a=o.modules.mutate[r]||o.modules.mutate.mutator||!1)&&(s=o.getFieldValue(void 0!==e?e:t),("data"==i&&!e||void 0!==s)&&(n=o.getComponent(),h="function"==typeof a.params?a.params(s,t,i,n):a.params,o.setFieldValue(t,a.mutator(s,t,i,h,n))))})),t}transformCell(t,i){if(t.column.modules.mutate){var e=t.column.modules.mutate.mutatorEdit||t.column.modules.mutate.mutator||!1,s={};if(e)return s=Object.assign(s,t.row.getData()),t.column.setFieldValue(s,i),e.mutator(i,s,"edit",e.params,t.getComponent())}return i}mutateLink(t){var i=t.column.definition.mutateLink;i&&(Array.isArray(i)||(i=[i]),i.forEach((i=>{var e=t.row.getCell(i);e&&e.setValue(e.getValue(),!0,!0)})))}enable(){this.enabled=!0}disable(){this.enabled=!1}}var Lt={rows:function(t,i,e,s){var r=document.createElement("span"),o=document.createElement("span"),a=document.createElement("span"),h=document.createElement("span"),n=document.createElement("span"),l=document.createElement("span");return this.table.modules.localize.langBind("pagination|counter|showing",(t=>{o.innerHTML=t})),this.table.modules.localize.langBind("pagination|counter|of",(t=>{h.innerHTML=t})),this.table.modules.localize.langBind("pagination|counter|rows",(t=>{l.innerHTML=t})),s?(a.innerHTML=" "+i+"-"+Math.min(i+t-1,s)+" ",n.innerHTML=" "+s+" ",r.appendChild(o),r.appendChild(a),r.appendChild(h),r.appendChild(n),r.appendChild(l)):(a.innerHTML=" 0 ",r.appendChild(o),r.appendChild(a),r.appendChild(l)),r},pages:function(t,i,e,s,r){var o=document.createElement("span"),a=document.createElement("span"),h=document.createElement("span"),n=document.createElement("span"),l=document.createElement("span"),u=document.createElement("span");return this.table.modules.localize.langBind("pagination|counter|showing",(t=>{a.innerHTML=t})),h.innerHTML=" "+e+" ",this.table.modules.localize.langBind("pagination|counter|of",(t=>{n.innerHTML=t})),l.innerHTML=" "+r+" ",this.table.modules.localize.langBind("pagination|counter|pages",(t=>{u.innerHTML=t})),o.appendChild(a),o.appendChild(h),o.appendChild(n),o.appendChild(l),o.appendChild(u),o}};class At extends H{static moduleName="page";static pageCounters=Lt;constructor(t){super(t),this.mode="local",this.progressiveLoad=!1,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=!0,this.dataChanging=!1,this.pageSizes=[],this.registerTableOption("pagination",!1),this.registerTableOption("paginationMode","local"),this.registerTableOption("paginationSize",!1),this.registerTableOption("paginationInitialPage",1),this.registerTableOption("paginationCounter",!1),this.registerTableOption("paginationCounterElement",!1),this.registerTableOption("paginationButtonCount",5),this.registerTableOption("paginationSizeSelector",!1),this.registerTableOption("paginationElement",!1),this.registerTableOption("paginationAddRow","page"),this.registerTableOption("paginationOutOfRange",!1),this.registerTableOption("progressiveLoad",!1),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)),"page"==this.table.options.paginationAddRow&&this.subscribe("row-adding-position",this.rowAddingPosition.bind(this)),"remote"===this.table.options.paginationMode&&(this.subscribe("data-params",this.remotePageParams.bind(this)),this.subscribe("data-loaded",this._parseRemoteData.bind(this))),this.table.options.progressiveLoad&&console.error("Progressive Load Error - Pagination and progressive load cannot be used at the same time"),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),"scroll"===this.table.options.progressiveLoad&&this.subscribe("scroll-vertical",this.scrollVertical.bind(this)))}rowAddingPosition(t,i){var e,s=this.table.rowManager,r=s.getDisplayRows();return i?r.length?e=r[0]:s.activeRows.length&&(e=s.activeRows[s.activeRows.length-1],i=!1):r.length&&(e=r[r.length-1],i=!(r.length<this.size)),{index:e,top:i}}calculatePageSizes(){var t,i;this.table.options.paginationSize?this.size=this.table.options.paginationSize:((t=document.createElement("div")).classList.add("tabulator-row"),t.style.visibility="hidden",(i=document.createElement("div")).classList.add("tabulator-cell"),i.innerHTML="Page Row Test",t.appendChild(i),this.table.rowManager.getTableElement().appendChild(t),this.size=Math.floor(this.table.rowManager.getElement().clientHeight/t.offsetHeight),this.table.rowManager.getTableElement().removeChild(t)),this.dispatchExternal("pageSizeChanged",this.size),this.generatePageSizeSelectList()}initialLoadComplete(){this.initialLoad=!1}remotePageParams(t,i,e,s){return this.initialLoad||(this.progressiveLoad&&!e||!this.progressiveLoad&&!this.dataChanging)&&this.reset(!0),s.page=this.page,this.size&&(s.size=this.size),s}userSetPageToRow(t){return this.table.options.pagination&&(t=this.table.rowManager.findRow(t))?this.setPageToRow(t):Promise.reject()}userSetPageSize(t){return!!this.table.options.pagination&&(this.setPageSize(t),this.setPage(1))}scrollVertical(t,i){var e;i||this.table.dataLoader.loading||(e=this.table.rowManager.getElement()).scrollHeight-e.clientHeight-t<(this.table.options.progressiveLoadScrollMargin||2*e.clientHeight)&&this.nextPage().catch((()=>{}))}restOnRenderBefore(t,i){return i||"local"===this.mode&&this.reset(),t}rowsUpdated(){this.refreshData(!0,"all")}createElements(){var t;this.element=document.createElement("span"),this.element.classList.add("tabulator-paginator"),this.pagesElement=document.createElement("span"),this.pagesElement.classList.add("tabulator-pages"),(t=document.createElement("button")).classList.add("tabulator-page"),t.setAttribute("type","button"),t.setAttribute("role","button"),t.setAttribute("aria-label",""),t.setAttribute("title",""),this.firstBut=t.cloneNode(!0),this.firstBut.setAttribute("data-page","first"),this.prevBut=t.cloneNode(!0),this.prevBut.setAttribute("data-page","prev"),this.nextBut=t.cloneNode(!0),this.nextBut.setAttribute("data-page","next"),this.lastBut=t.cloneNode(!0),this.lastBut.setAttribute("data-page","last"),this.table.options.paginationSizeSelector&&(this.pageSizeSelect=document.createElement("select"),this.pageSizeSelect.classList.add("tabulator-page-size"))}generatePageSizeSelectList(){var t=[];if(this.pageSizeSelect){if(Array.isArray(this.table.options.paginationSizeSelector))this.pageSizes=t=this.table.options.paginationSizeSelector,-1==this.pageSizes.indexOf(this.size)&&t.unshift(this.size);else if(-1==this.pageSizes.indexOf(this.size)){t=[];for(let i=1;i<5;i++)t.push(this.size*i);this.pageSizes=t}else t=this.pageSizes;for(;this.pageSizeSelect.firstChild;)this.pageSizeSelect.removeChild(this.pageSizeSelect.firstChild);t.forEach((t=>{var i=document.createElement("option");i.value=t,!0===t?this.langBind("pagination|all",(function(t){i.innerHTML=t})):i.innerHTML=t,this.pageSizeSelect.appendChild(i)})),this.pageSizeSelect.value=this.size}}initializePageCounter(){var t=this.table.options.paginationCounter,i=null;t&&((i="function"==typeof t?t:At.pageCounters[t])?(this.pageCounter=i,this.pageCounterElement=document.createElement("span"),this.pageCounterElement.classList.add("tabulator-page-counter")):console.warn("Pagination Error - No such page counter found: ",t))}initializePaginator(t){var i,e;t||(this.langBind("pagination|first",(t=>{this.firstBut.innerHTML=t})),this.langBind("pagination|first_title",(t=>{this.firstBut.setAttribute("aria-label",t),this.firstBut.setAttribute("title",t)})),this.langBind("pagination|prev",(t=>{this.prevBut.innerHTML=t})),this.langBind("pagination|prev_title",(t=>{this.prevBut.setAttribute("aria-label",t),this.prevBut.setAttribute("title",t)})),this.langBind("pagination|next",(t=>{this.nextBut.innerHTML=t})),this.langBind("pagination|next_title",(t=>{this.nextBut.setAttribute("aria-label",t),this.nextBut.setAttribute("title",t)})),this.langBind("pagination|last",(t=>{this.lastBut.innerHTML=t})),this.langBind("pagination|last_title",(t=>{this.lastBut.setAttribute("aria-label",t),this.lastBut.setAttribute("title",t)})),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&&(i=document.createElement("label"),this.langBind("pagination|page_size",(t=>{this.pageSizeSelect.setAttribute("aria-label",t),this.pageSizeSelect.setAttribute("title",t),i.innerHTML=t})),this.element.appendChild(i),this.element.appendChild(this.pageSizeSelect),this.pageSizeSelect.addEventListener("change",(()=>{this.setPageSize("true"==this.pageSizeSelect.value||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):"string"==typeof this.table.options.paginationCounterElement&&((e=document.querySelector(this.table.options.paginationCounterElement))?e.appendChild(this.pageCounterElement):console.warn("Pagination Error - Unable to find element matching paginationCounterElement selector:",this.table.options.paginationCounterElement)):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(t){this.initializePaginator(!0),this.mode="progressive_"+t,this.progressiveLoad=!0}trackChanges(){this.dispatch("page-changed")}setMaxRows(t){this.max=t?!0===this.size?1:Math.ceil(t/this.size):1,this.page>this.max&&(this.page=this.max)}reset(t){this.initialLoad||("local"==this.mode||t)&&(this.page=1,this.trackChanges())}setMaxPage(t){t=parseInt(t),this.max=t||1,this.page>this.max&&(this.page=this.max,this.trigger())}setPage(t){switch(t){case"first":return this.setPage(1);case"prev":return this.previousPage();case"next":return this.nextPage();case"last":return this.setPage(this.max)}return(t=parseInt(t))>0&&t<=this.max||"local"!==this.mode?(this.page=t,this.trackChanges(),this.trigger()):(console.warn("Pagination Error - Requested page is out of range of 1 - "+this.max+":",t),Promise.reject())}setPageToRow(t){var i=this.displayRows(-1).indexOf(t);if(i>-1){var e=!0===this.size?1:Math.ceil((i+1)/this.size);return this.setPage(e)}return console.warn("Pagination Error - Requested row is not visible"),Promise.reject()}setPageSize(t){!0!==t&&(t=parseInt(t)),t>0&&(this.size=t,this.dispatchExternal("pageSizeChanged",t)),this.pageSizeSelect&&this.generatePageSizeSelectList(),this.trackChanges()}_setPageCounter(t,i,e){var s;if(this.pageCounter)switch("remote"===this.mode&&(i=this.size,e=(this.page-1)*this.size+1,t=this.remoteRowCountEstimate),typeof(s=this.pageCounter.call(this,i,e,this.page,t,this.max))){case"object":if(s instanceof Node){for(;this.pageCounterElement.firstChild;)this.pageCounterElement.removeChild(this.pageCounterElement.firstChild);this.pageCounterElement.appendChild(s)}else this.pageCounterElement.innerHTML="",null!=s&&console.warn("Page Counter Error - Page Counter has returned a type of object, the only valid page counter object return is an instance of Node, the page counter returned:",s);break;case"undefined":this.pageCounterElement.innerHTML="";break;default:this.pageCounterElement.innerHTML=s}}_setPageButtons(){let t=Math.floor((this.count-1)/2),i=Math.ceil((this.count-1)/2),e=this.max-this.page+t+1<this.count?this.max-this.count+1:Math.max(this.page-t,1),s=this.page<=i?Math.min(this.count,this.max):Math.min(this.page+i,this.max);for(;this.pagesElement.firstChild;)this.pagesElement.removeChild(this.pagesElement.firstChild);1==this.page?(this.firstBut.disabled=!0,this.prevBut.disabled=!0):(this.firstBut.disabled=!1,this.prevBut.disabled=!1),this.page==this.max?(this.lastBut.disabled=!0,this.nextBut.disabled=!0):(this.lastBut.disabled=!1,this.nextBut.disabled=!1);for(let t=e;t<=s;t++)t>0&&t<=this.max&&this.pagesElement.appendChild(this._generatePageButton(t));this.footerRedraw()}_generatePageButton(t){var i=document.createElement("button");return i.classList.add("tabulator-page"),t==this.page&&i.classList.add("active"),i.setAttribute("type","button"),i.setAttribute("role","button"),this.langBind("pagination|page_title",(e=>{i.setAttribute("aria-label",e+" "+t),i.setAttribute("title",e+" "+t)})),i.setAttribute("data-page",t),i.textContent=t,i.addEventListener("click",(()=>{this.setPage(t)})),i}previousPage(){return this.page>1?(this.page--,this.trackChanges(),this.trigger()):(console.warn("Pagination Error - Previous page would be less than page 1:",0),Promise.reject())}nextPage(){return this.page<this.max?(this.page++,this.trackChanges(),this.trigger()):(this.progressiveLoad||console.warn("Pagination Error - Next page would be greater than maximum page of "+this.max+":",this.max+1),Promise.reject())}getPage(){return this.page}getPageMax(){return this.max}getPageSize(t){return this.size}getMode(){return this.mode}getRows(t){var i,e,s,r,o=0,a=t.filter((t=>"row"===t.type));if("local"==this.mode){i=[],this.setMaxRows(t.length),!0===this.size?(e=0,s=t.length):s=(e=this.size*(this.page-1))+parseInt(this.size),this._setPageButtons();for(let a=e;a<s;a++){let e=t[a];e&&(i.push(e),"row"===e.type&&(r||(r=e),o++))}return this._setPageCounter(a.length,o,r?a.indexOf(r)+1:0),i}return this._setPageButtons(),this._setPageCounter(a.length),t.slice(0)}trigger(){var t;switch(this.mode){case"local":return t=this.table.rowManager.scrollLeft,this.refreshData(),this.table.rowManager.scrollHorizontal(t),this.dispatchExternal("pageLoaded",this.getPage()),Promise.resolve();case"remote":return this.dataChanging=!0,this.reloadData(null).finally((()=>{this.dataChanging=!1}));case"progressive_load":case"progressive_scroll":return this.reloadData(null,!0);default:return console.warn("Pagination Error - no such pagination mode:",this.mode),Promise.reject()}}_parseRemoteData(t){var i;if(void 0===t.last_page&&console.warn("Remote Pagination Error - Server response missing '"+(this.options("dataReceiveParams").last_page||"last_page")+"' property"),t.data){if(this.max=parseInt(t.last_page)||1,this.remoteRowCountEstimate=void 0!==t.last_row?t.last_row:t.last_page*this.size-(this.page==t.last_page?this.size-t.data.length:0),this.progressiveLoad){switch(this.mode){case"progressive_load":1==this.page?this.table.rowManager.setData(t.data,!1,1==this.page):this.table.rowManager.addRows(t.data),this.page<this.max&&setTimeout((()=>{this.nextPage()}),this.table.options.progressiveLoadDelay);break;case"progressive_scroll":t=1===this.page?t.data:this.table.rowManager.getData().concat(t.data),this.table.rowManager.setData(t,1!==this.page,1==this.page),this.table.rowManager.element.scrollHeight<=this.table.rowManager.element.clientHeight+(this.table.options.progressiveLoadScrollMargin||2*this.table.rowManager.element.clientHeight)&&this.page<this.max&&setTimeout((()=>{this.nextPage()}))}return!1}if(this.page>this.max&&(console.warn("Remote Pagination Error - Server returned last page value lower than the current page"),i=this.options("paginationOutOfRange")))return this.setPage("function"==typeof i?i.call(this,this.page,this.max):i);this.dispatchExternal("pageLoaded",this.getPage())}else console.warn("Remote Pagination Error - Server response missing '"+(this.options("dataReceiveParams").data||"data")+"' property");return t.data}footerRedraw(){var t=this.table.footerManager.containerElement;Math.ceil(t.clientWidth)-t.scrollWidth<0?this.pagesElement.style.display="none":(this.pagesElement.style.display="",Math.ceil(t.clientWidth)-t.scrollWidth<0&&(this.pagesElement.style.display="none"))}}var It={local:function(t,i){var e=localStorage.getItem(t+"-"+i);return!!e&&JSON.parse(e)},cookie:function(t,i){var e,s,r=document.cookie,o=t+"-"+i,a=r.indexOf(o+"=");return a>-1&&((e=(r=r.slice(a)).indexOf(";"))>-1&&(r=r.slice(0,e)),s=r.replace(o+"=","")),!!s&&JSON.parse(s)}},Vt={local:function(t,i,e){localStorage.setItem(t+"-"+i,JSON.stringify(e))},cookie:function(t,i,e){var s=new Date;s.setDate(s.getDate()+1e4),document.cookie=t+"-"+i+"="+JSON.stringify(e)+"; expires="+s.toUTCString()}};class Ut extends H{static moduleName="persistence";static moduleInitOrder=-10;static readers=It;static writers=Vt;constructor(t){super(t),this.mode="",this.id="",this.defWatcherBlock=!1,this.config={},this.readFunc=!1,this.writeFunc=!1,this.registerTableOption("persistence",!1),this.registerTableOption("persistenceID",""),this.registerTableOption("persistenceMode",!0),this.registerTableOption("persistenceReaderFunc",!1),this.registerTableOption("persistenceWriterFunc",!1)}localStorageTest(){var t="_tabulator_test";try{return window.localStorage.setItem(t,t),window.localStorage.removeItem(t),!0}catch(t){return!1}}initialize(){if(this.table.options.persistence){var t,i=this.table.options.persistenceMode,e=this.table.options.persistenceID;this.mode=!0!==i?i:this.localStorageTest()?"local":"cookie",this.table.options.persistenceReaderFunc?"function"==typeof this.table.options.persistenceReaderFunc?this.readFunc=this.table.options.persistenceReaderFunc:Ut.readers[this.table.options.persistenceReaderFunc]?this.readFunc=Ut.readers[this.table.options.persistenceReaderFunc]:console.warn("Persistence Read Error - invalid reader set",this.table.options.persistenceReaderFunc):Ut.readers[this.mode]?this.readFunc=Ut.readers[this.mode]:console.warn("Persistence Read Error - invalid reader set",this.mode),this.table.options.persistenceWriterFunc?"function"==typeof this.table.options.persistenceWriterFunc?this.writeFunc=this.table.options.persistenceWriterFunc:Ut.writers[this.table.options.persistenceWriterFunc]?this.writeFunc=Ut.writers[this.table.options.persistenceWriterFunc]:console.warn("Persistence Write Error - invalid reader set",this.table.options.persistenceWriterFunc):Ut.writers[this.mode]?this.writeFunc=Ut.writers[this.mode]:console.warn("Persistence Write Error - invalid writer set",this.mode),this.id="tabulator-"+(e||this.table.element.getAttribute("id")||""),this.config={sort:!0===this.table.options.persistence||this.table.options.persistence.sort,filter:!0===this.table.options.persistence||this.table.options.persistence.filter,headerFilter:!0===this.table.options.persistence||this.table.options.persistence.headerFilter,group:!0===this.table.options.persistence||this.table.options.persistence.group,page:!0===this.table.options.persistence||this.table.options.persistence.page,columns:!0===this.table.options.persistence?["title","width","visible"]:this.table.options.persistence.columns},this.config.page&&(t=this.retrieveData("page"))&&(void 0===t.paginationSize||!0!==this.config.page&&!this.config.page.size||(this.table.options.paginationSize=t.paginationSize),void 0===t.paginationInitialPage||!0!==this.config.page&&!this.config.page.page||(this.table.options.paginationInitialPage=t.paginationInitialPage)),this.config.group&&(t=this.retrieveData("group"))&&(void 0===t.groupBy||!0!==this.config.group&&!this.config.group.groupBy||(this.table.options.groupBy=t.groupBy),void 0===t.groupStartOpen||!0!==this.config.group&&!this.config.group.groupStartOpen||(this.table.options.groupStartOpen=t.groupStartOpen),void 0===t.groupHeader||!0!==this.config.group&&!this.config.group.groupHeader||(this.table.options.groupHeader=t.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(t){this.config[t]&&this.save(t)}tableBuilt(){var t,i,e;this.config.sort&&0==!(t=this.load("sort"))&&(this.table.options.initialSort=t),this.config.filter&&0==!(i=this.load("filter"))&&(this.table.options.initialFilter=i),this.config.headerFilter&&0==!(e=this.load("headerFilter"))&&(this.table.options.initialHeaderFilter=e)}tableRedraw(t){t&&this.config.columns&&this.save("columns")}getColumnLayout(){return this.parseColumns(this.table.columnManager.getColumns())}setColumnLayout(t){return this.table.columnManager.setColumns(this.mergeDefinition(this.table.options.columns,t,!0)),!0}initializeColumn(t){var i;this.config.columns&&(this.defWatcherBlock=!0,i=t.getDefinition(),(!0===this.config.columns?Object.keys(i):this.config.columns).forEach((t=>{var e=Object.getOwnPropertyDescriptor(i,t),s=i[t];e&&Object.defineProperty(i,t,{set:t=>{s=t,this.defWatcherBlock||this.save("columns"),e.set&&e.set(t)},get:()=>(e.get&&e.get(),s)})})),this.defWatcherBlock=!1)}load(t,i){var e=this.retrieveData(t);return i&&(e=e?this.mergeDefinition(i,e):i),e}retrieveData(t){return!!this.readFunc&&this.readFunc(this.id,t)}mergeDefinition(t,i,e){var s=[];return(i=i||[]).forEach((i=>{var r,o=this._findColumn(t,i);o&&(e?r=Object.keys(i):!0===this.config.columns||null==this.config.columns?(r=Object.keys(o)).push("width"):r=this.config.columns,r.forEach((t=>{"columns"!==t&&void 0!==i[t]&&(o[t]=i[t])})),o.columns&&(o.columns=this.mergeDefinition(o.columns,i.columns)),s.push(o))})),t.forEach(((t,e)=>{this._findColumn(i,t)||(s.length>e?s.splice(e,0,t):s.push(t))})),s}_findColumn(t,i){var e=i.columns?"group":i.field?"field":"object";return t.find((function(t){switch(e){case"group":return t.title===i.title&&t.columns.length===i.columns.length;case"field":return t.field===i.field;case"object":return t===i}}))}save(t){var i={};switch(t){case"columns":i=this.parseColumns(this.table.columnManager.getColumns());break;case"filter":i=this.table.modules.filter.getFilters();break;case"headerFilter":i=this.table.modules.filter.getHeaderFilters();break;case"sort":i=this.validateSorters(this.table.modules.sort.getSort());break;case"group":i=this.getGroupConfig();break;case"page":i=this.getPageConfig()}this.writeFunc&&this.writeFunc(this.id,t,i)}validateSorters(t){return t.forEach((function(t){t.column=t.field,delete t.field})),t}getGroupConfig(){var t={};return this.config.group&&((!0===this.config.group||this.config.group.groupBy)&&(t.groupBy=this.table.options.groupBy),(!0===this.config.group||this.config.group.groupStartOpen)&&(t.groupStartOpen=this.table.options.groupStartOpen),(!0===this.config.group||this.config.group.groupHeader)&&(t.groupHeader=this.table.options.groupHeader)),t}getPageConfig(){var t={};return this.config.page&&((!0===this.config.page||this.config.page.size)&&(t.paginationSize=this.table.modules.page.getPageSize()),(!0===this.config.page||this.config.page.page)&&(t.paginationInitialPage=this.table.modules.page.getPage())),t}parseColumns(t){var i=[],e=["headerContextMenu","headerMenu","contextMenu","clickMenu"];return t.forEach((t=>{var s,r={},o=t.getDefinition();t.isGroup?(r.title=o.title,r.columns=this.parseColumns(t.getColumns())):(r.field=t.getField(),!0===this.config.columns||null==this.config.columns?((s=Object.keys(o)).push("width"),s.push("visible")):s=this.config.columns,s.forEach((i=>{switch(i){case"width":r.width=t.getWidth();break;case"visible":r.visible=t.visible;break;default:"function"!=typeof o[i]&&-1===e.indexOf(i)&&(r[i]=o[i])}}))),i.push(r)})),i}}var Bt={format:{formatters:{responsiveCollapse:function(t){var i=document.createElement("div"),e=t.getRow()._row.modules.responsiveLayout;function s(t){var s=e.element;e.open=t,s&&(e.open?(i.classList.add("open"),s.style.display=""):(i.classList.remove("open"),s.style.display="none"))}return i.classList.add("tabulator-responsive-collapse-toggle"),i.innerHTML='<svg class=\'tabulator-responsive-collapse-toggle-open\' viewbox="0 0 24 24">\n <line x1="7" y1="12" x2="17" y2="12" fill="none" stroke-width="3" stroke-linecap="round" />\n <line y1="7" x1="12" y2="17" x2="12" fill="none" stroke-width="3" stroke-linecap="round" />\n</svg>\n\n<svg class=\'tabulator-responsive-collapse-toggle-close\' viewbox="0 0 24 24">\n <line x1="7" y1="12" x2="17" y2="12" fill="none" stroke-width="3" stroke-linecap="round" />\n</svg>',t.getElement().classList.add("tabulator-row-handle"),i.addEventListener("click",(function(i){i.stopImmediatePropagation(),s(!e.open),t.getTable().rowManager.adjustTableSize()})),s(e.open),i}}}},Gt={format:{formatters:{rowSelection:function(t,i){var e=document.createElement("input"),s=!1;if(e.type="checkbox",e.setAttribute("aria-label","Select Row"),this.table.modExists("selectRow",!0))if(e.addEventListener("click",(t=>{t.stopPropagation()})),"function"==typeof t.getRow){var r=t.getRow();r instanceof st?(e.addEventListener("change",(()=>{"click"===this.table.options.selectableRowsRangeMode&&s?s=!1:r.toggleSelect()})),"click"===this.table.options.selectableRowsRangeMode&&e.addEventListener("click",(t=>{s=!0,this.table.modules.selectRow.handleComplexRowClick(r._row,t)})),e.checked=r.isSelected&&r.isSelected(),this.table.modules.selectRow.registerRowSelectCheckbox(r,e)):e=""}else e.addEventListener("change",(()=>{this.table.modules.selectRow.selectedRows.length?this.table.deselectRow():this.table.selectRow(i.rowRange)})),this.table.modules.selectRow.registerHeaderSelectCheckbox(e);return e}}}};class Wt{constructor(t){return this._range=t,new Proxy(this,{get:function(t,i){return void 0!==t[i]?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(!0,!0)}getStructuredCells(){return this._range.getStructuredCells()}getRows(){return this._range.getRows().map((t=>t.getComponent()))}getColumns(){return this._range.getColumns().map((t=>t.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(t,i){this._range.destroyedGuard("setBounds")&&this._range.setBounds(t?t._cell:t,i?i._cell:i)}setStartBound(t){this._range.destroyedGuard("setStartBound")&&(this._range.setEndBound(t?t._cell:t),this._range.rangeManager.layoutElement())}setEndBound(t){this._range.destroyedGuard("setEndBound")&&(this._range.setEndBound(t?t._cell:t),this._range.rangeManager.layoutElement())}clearValues(){this._range.destroyedGuard("clearValues")&&this._range.clearValues()}remove(){this._range.destroyedGuard("remove")&&this._range.destroy(!0)}}class Jt extends j{constructor(t,i,e,s){super(t),this.rangeManager=i,this.element=null,this.initialized=!1,this.initializing={start:!1,end:!1},this.destroyed=!1,this.top=0,this.bottom=0,this.left=0,this.right=0,this.table=t,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(e,s)}))}initElement(){this.element=document.createElement("div"),this.element.classList.add("tabulator-range")}initBounds(t,i){this._updateMinMax(),t&&this.setBounds(t,i||t)}setStart(t,i){this.start.row===t&&this.start.col===i||(this.start.row=t,this.start.col=i,this.initializing.start=!0,this._updateMinMax())}setEnd(t,i){this.end.row===t&&this.end.col===i||(this.end.row=t,this.end.col=i,this.initializing.end=!0,this._updateMinMax())}setBounds(t,i,e){t&&this.setStartBound(t),this.setEndBound(i||t),this.rangeManager.layoutElement(e)}setStartBound(t){var i,e;"column"===t.type?this.rangeManager.columnSelection&&this.setStart(0,t.getPosition()-1):(i=t.row.position-1,e=t.column.getPosition()-1,this.setStart(i,t.column===this.rangeManager.rowHeader?1:e))}setEndBound(t){var i,e,s,r=this._getTableRows().length;"column"===t.type?this.rangeManager.columnSelection&&("column"===this.rangeManager.selecting?this.setEnd(r-1,t.getPosition()-1):"cell"===this.rangeManager.selecting&&this.setEnd(0,t.getPosition()-1)):(i=t.row.position-1,e=t.column.getPosition()-1,s=t.column===this.rangeManager.rowHeader,"row"===this.rangeManager.selecting?this.setEnd(i,this._getTableColumns().length-1):"row"!==this.rangeManager.selecting&&s?this.setEnd(i,0):this.setEnd("column"===this.rangeManager.selecting?r-1:i,e))}_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=!0,this.dispatchExternal("rangeAdded",this.getComponent()))}_getTableColumns(){return this.table.columnManager.getVisibleColumnsByIndex()}_getTableRows(){return this.table.rowManager.getDisplayRows().filter((t=>"row"===t.type))}layout(){var t,i,e,s,r,o,a,h,n,l,u=this.table.rowManager.renderer.vDomTop,c=this.table.rowManager.renderer.vDomBottom,d=this.table.columnManager.renderer.leftCol,b=this.table.columnManager.renderer.rightCol;"virtual"===this.table.options.renderHorizontal&&this.rangeManager.rowHeader&&(b+=1),null==u&&(u=0),null==c&&(c=1/0),null==d&&(d=0),null==b&&(b=1/0),this.overlaps(d,u,b,c)&&(t=Math.max(this.top,u),i=Math.min(this.bottom,c),e=Math.max(this.left,d),s=Math.min(this.right,b),r=this.rangeManager.getCell(t,e),o=this.rangeManager.getCell(i,s),a=r.getElement(),h=o.getElement(),n=r.row.getElement(),l=o.row.getElement(),this.element.classList.add("tabulator-range-active"),this.table.rtl?(this.element.style.right=n.offsetWidth-a.offsetLeft-a.offsetWidth+"px",this.element.style.width=a.offsetLeft+a.offsetWidth-h.offsetLeft+"px"):(this.element.style.left=n.offsetLeft+a.offsetLeft+"px",this.element.style.width=h.offsetLeft+h.offsetWidth-a.offsetLeft+"px"),this.element.style.top=n.offsetTop+"px",this.element.style.height=l.offsetTop+l.offsetHeight-n.offsetTop+"px")}atTopLeft(t){return t.row.position-1===this.top&&t.column.getPosition()-1===this.left}atBottomRight(t){return t.row.position-1===this.bottom&&t.column.getPosition()-1===this.right}occupies(t){return this.occupiesRow(t.row)&&this.occupiesColumn(t.column)}occupiesRow(t){return this.top<=t.position-1&&t.position-1<=this.bottom}occupiesColumn(t){return this.left<=t.getPosition()-1&&t.getPosition()-1<=this.right}overlaps(t,i,e,s){return!(this.left>e||t>this.right||this.top>s||i>this.bottom)}getData(){var t=[],i=this.getRows(),e=this.getColumns();return i.forEach((i=>{var s=i.getData(),r={};e.forEach((t=>{r[t.field]=s[t.field]})),t.push(r)})),t}getCells(t,i){var e=[],s=this.getRows(),r=this.getColumns();return t?e=s.map((t=>{var e=[];return t.getCells().forEach((t=>{r.includes(t.column)&&e.push(i?t.getComponent():t)})),e})):s.forEach((t=>{t.getCells().forEach((t=>{r.includes(t.column)&&e.push(i?t.getComponent():t)}))})),e}getStructuredCells(){return this.getCells(!0,!0)}getRows(){return this._getTableRows().slice(this.top,this.bottom+1)}getColumns(){return this._getTableColumns().slice(this.left,this.right+1)}clearValues(){var t=this.getCells(),i=this.table.options.selectableRangeClearCellsValue;this.table.blockRedraw(),t.forEach((t=>{t.setValue(i)})),this.table.restoreRedraw()}getBounds(t){var i=this.getCells(!1,t),e={start:null,end:null};return i.length?(e.start=i[0],e.end=i[i.length-1]):console.warn("No bounds defined on range"),e}getComponent(){return this.component||(this.component=new Wt(this)),this.component}destroy(t){this.destroyed=!0,this.element.remove(),t&&this.rangeManager.rangeRemoved(this),this.initialized&&this.dispatchExternal("rangeRemoved",this.getComponent())}destroyedGuard(t){return this.destroyed&&console.warn("You cannot call the "+t+" function on a destroyed range"),!this.destroyed}}var qt={keybindings:{bindings:{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"]},actions:{rangeJumpLeft:function(t){this.dispatch("keybinding-nav-range",t,"left",!0,!1)},rangeJumpRight:function(t){this.dispatch("keybinding-nav-range",t,"right",!0,!1)},rangeJumpUp:function(t){this.dispatch("keybinding-nav-range",t,"up",!0,!1)},rangeJumpDown:function(t){this.dispatch("keybinding-nav-range",t,"down",!0,!1)},rangeExpandLeft:function(t){this.dispatch("keybinding-nav-range",t,"left",!1,!0)},rangeExpandRight:function(t){this.dispatch("keybinding-nav-range",t,"right",!1,!0)},rangeExpandUp:function(t){this.dispatch("keybinding-nav-range",t,"up",!1,!0)},rangeExpandDown:function(t){this.dispatch("keybinding-nav-range",t,"down",!1,!0)},rangeExpandJumpLeft:function(t){this.dispatch("keybinding-nav-range",t,"left",!0,!0)},rangeExpandJumpRight:function(t){this.dispatch("keybinding-nav-range",t,"right",!0,!0)},rangeExpandJumpUp:function(t){this.dispatch("keybinding-nav-range",t,"up",!0,!0)},rangeExpandJumpDown:function(t){this.dispatch("keybinding-nav-range",t,"down",!0,!0)}}},clipboard:{pasteActions:{range:function(t){var i,e,s,r,o,a=[],h=this.table.modules.selectRange.activeRange,n=!1;return o=t.length,h&&((i=h.getBounds()).start===i.end&&(n=!0),(e=i.start)&&(s=(a=this.table.rowManager.activeRows.slice()).indexOf(e.row),r=n?t.length:a.indexOf(i.end.row)-s+1,s>-1&&(this.table.blockRedraw(),(a=a.slice(s,s+r)).forEach(((i,e)=>{i.updateData(t[e%o])})),this.table.restoreRedraw()))),a}},pasteParsers:{range:function(t){var i,e,s,r,o,a=[],h=[],n=this.table.modules.selectRange.activeRange,l=!1;return!!(n&&((i=n.getBounds()).start===i.end&&(l=!0),(e=i.start)&&((t=t.split("\n")).forEach((function(t){a.push(t.split("\t"))})),a.length&&(o=(r=this.table.columnManager.getVisibleColumnsByIndex()).indexOf(e.column))>-1)))&&(s=l?a[0].length:r.indexOf(i.end.column)-o+1,r=r.slice(o,o+s),a.forEach((t=>{var i={},e=t.length;r.forEach((function(s,r){i[s.field]=t[r%e]})),h.push(i)})),h)}}},export:{columnLookups:{range:function(){var t=this.modules.selectRange.selectedColumns();return this.columnManager.rowHeader&&t.unshift(this.columnManager.rowHeader),t}},rowLookups:{range:function(){return this.modules.selectRange.selectedRows()}}}};function Zt(t,i,e,s,r,o,a){var h=this.table.dependencyRegistry.lookup(["luxon","DateTime"],"DateTime"),n=a.format||"dd/MM/yyyy HH:mm:ss",l=a.alignEmptyValues,u=0;if(void 0!==h){if(h.isDateTime(t)||(t="iso"===n?h.fromISO(String(t)):h.fromFormat(String(t),n)),h.isDateTime(i)||(i="iso"===n?h.fromISO(String(i)):h.fromFormat(String(i),n)),t.isValid){if(i.isValid)return t-i;u=1}else u=i.isValid?-1:0;return("top"===l&&"desc"===o||"bottom"===l&&"asc"===o)&&(u*=-1),u}console.error("Sort Error - 'datetime' sorter is dependant on luxon.js")}var Kt={number:function(t,i,e,s,r,o,a){var h=a.alignEmptyValues,n=a.decimalSeparator,l=a.thousandSeparator,u=0;if(t=String(t),i=String(i),l&&(t=t.split(l).join(""),i=i.split(l).join("")),n&&(t=t.split(n).join("."),i=i.split(n).join(".")),t=parseFloat(t),i=parseFloat(i),isNaN(t))u=isNaN(i)?0:-1;else{if(!isNaN(i))return t-i;u=1}return("top"===h&&"desc"===o||"bottom"===h&&"asc"===o)&&(u*=-1),u},string:function(t,i,e,s,r,o,a){var h,n=a.alignEmptyValues,l=0;if(t){if(i){switch(typeof a.locale){case"boolean":a.locale&&(h=this.langLocale());break;case"string":h=a.locale}return String(t).toLowerCase().localeCompare(String(i).toLowerCase(),h)}l=1}else l=i?-1:0;return("top"===n&&"desc"===o||"bottom"===n&&"asc"===o)&&(l*=-1),l},date:function(t,i,e,s,r,o,a){return a.format||(a.format="dd/MM/yyyy"),Zt.call(this,t,i,e,s,r,o,a)},time:function(t,i,e,s,r,o,a){return a.format||(a.format="HH:mm"),Zt.call(this,t,i,e,s,r,o,a)},datetime:Zt,boolean:function(t,i){return(!0===t||"true"===t||"True"===t||1===t?1:0)-(!0===i||"true"===i||"True"===i||1===i?1:0)},array:function(t,i,e,s,r,o,a){var h,n=a.type||"length",l=a.alignEmptyValues,u=0,c=this.table;function d(t){var i;switch(h&&(t=h(t)),n){case"length":i=t.length;break;case"sum":i=t.reduce((function(t,i){return t+i}));break;case"max":i=Math.max.apply(null,t);break;case"min":i=Math.min.apply(null,t);break;case"avg":i=t.reduce((function(t,i){return t+i}))/t.length;break;case"string":i=t.join("")}return i}if(a.valueMap&&(h="string"==typeof a.valueMap?function(t){return t.map((t=>N.retrieveNestedData(c.options.nestedFieldSeparator,a.valueMap,t)))}:a.valueMap),Array.isArray(t)){if(Array.isArray(i))return"string"===n?String(d(t)).toLowerCase().localeCompare(String(d(i)).toLowerCase()):d(i)-d(t);u=1}else u=Array.isArray(i)?-1:0;return("top"===l&&"desc"===o||"bottom"===l&&"asc"===o)&&(u*=-1),u},exists:function(t,i){return(void 0===t?0:1)-(void 0===i?0:1)},alphanum:function(t,i,e,s,r,o,a){var h,n,l,u,c,d=0,b=/(\d+)|(\D+)/g,p=/\d/,m=a.alignEmptyValues,g=0;if(t||0===t){if(i||0===i){if(isFinite(t)&&isFinite(i))return t-i;if((h=String(t).toLowerCase())===(n=String(i).toLowerCase()))return 0;if(!p.test(h)||!p.test(n))return h>n?1:-1;for(h=h.match(b),n=n.match(b),c=h.length>n.length?n.length:h.length;d<c;)if((l=h[d])!==(u=n[d++]))return isFinite(l)&&isFinite(u)?("0"===l.charAt(0)&&(l="."+l),"0"===u.charAt(0)&&(u="."+u),l-u):l>u?1:-1;return h.length>n.length}g=1}else g=i||0===i?-1:0;return("top"===m&&"desc"===o||"bottom"===m&&"asc"===o)&&(g*=-1),g}};class $t extends H{static moduleName="sort";static sorters=Kt;constructor(t){super(t),this.sortList=[],this.changed=!1,this.registerTableOption("sortMode","local"),this.registerTableOption("initialSort",!1),this.registerTableOption("columnHeaderSortMulti",!0),this.registerTableOption("sortOrderReverse",!1),this.registerTableOption("headerSortElement","<div class='tabulator-arrow'></div>"),this.registerTableOption("headerSortClickElement","header"),this.registerColumnOption("sorter"),this.registerColumnOption("sorterParams"),this.registerColumnOption("headerSort",!0),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)),"remote"===this.table.options.sortMode&&this.subscribe("data-params",this.remoteSortParams.bind(this))}tableBuilt(){this.table.options.initialSort&&this.setSort(this.table.options.initialSort)}remoteSortParams(t,i,e,s){var r=this.getSort();return r.forEach((t=>{delete t.column})),s.sort=r,s}userSetSort(t,i){this.setSort(t,i),this.refreshSort()}clearSort(){this.clear(),this.refreshSort()}initializeColumn(t){var i,e,s=!1;switch(typeof t.definition.sorter){case"string":$t.sorters[t.definition.sorter]?s=$t.sorters[t.definition.sorter]:console.warn("Sort Error - No such sorter found: ",t.definition.sorter);break;case"function":s=t.definition.sorter}if(t.modules.sort={sorter:s,dir:"none",params:t.definition.sorterParams||{},startingDir:t.definition.headerSortStartingDir||"asc",tristate:t.definition.headerSortTristate},!1!==t.definition.headerSort){switch((i=t.getElement()).classList.add("tabulator-sortable"),(e=document.createElement("div")).classList.add("tabulator-col-sorter"),"icon"===this.table.options.headerSortClickElement?e.classList.add("tabulator-col-sorter-element"):i.classList.add("tabulator-col-sorter-element"),this.table.options.headerSortElement){case"function":break;case"object":e.appendChild(this.table.options.headerSortElement);break;default:e.innerHTML=this.table.options.headerSortElement}t.titleHolderElement.appendChild(e),t.modules.sort.element=e,this.setColumnHeaderSortIcon(t,"none"),"icon"===this.table.options.headerSortClickElement&&e.addEventListener("mousedown",(t=>{t.stopPropagation()})),("icon"===this.table.options.headerSortClickElement?e:i).addEventListener("click",(i=>{var e="",s=[],r=!1;if(t.modules.sort){if(t.modules.sort.tristate)e="none"==t.modules.sort.dir?t.modules.sort.startingDir:t.modules.sort.dir==t.modules.sort.startingDir?"asc"==t.modules.sort.dir?"desc":"asc":"none";else switch(t.modules.sort.dir){case"asc":e="desc";break;case"desc":e="asc";break;default:e=t.modules.sort.startingDir}this.table.options.columnHeaderSortMulti&&(i.shiftKey||i.ctrlKey)?(r=(s=this.getSort()).findIndex((i=>i.field===t.getField())),r>-1?(s[r].dir=e,r=s.splice(r,1)[0],"none"!=e&&s.push(r)):"none"!=e&&s.push({column:t,dir:e}),this.setSort(s)):"none"==e?this.clear():this.setSort(t,e),this.refreshSort()}}))}}refreshSort(){"remote"===this.table.options.sortMode?this.reloadData(null,!1,!1):this.refreshData(!0)}hasChanged(){var t=this.changed;return this.changed=!1,t}getSort(){var t=[];return this.sortList.forEach((function(i){i.column&&t.push({column:i.column.getComponent(),field:i.column.getField(),dir:i.dir})})),t}setSort(t,i){var e=this,s=[];Array.isArray(t)||(t=[{column:t,dir:i}]),t.forEach((function(t){var i;(i=e.table.columnManager.findColumn(t.column))?(t.column=i,s.push(t),e.changed=!0):console.warn("Sort Warning - Sort field does not exist and is being ignored: ",t.column)})),e.sortList=s,this.dispatch("sort-changed")}clear(){this.setSort([])}findSorter(t){var i,e=this.table.rowManager.activeRows[0],s="string";if(e&&(e=e.getData(),t.getField()))switch(typeof(i=t.getFieldValue(e))){case"undefined":s="string";break;case"boolean":s="boolean";break;default:isNaN(i)||""===i?i.match(/((^[0-9]+[a-z]+)|(^[a-z]+[0-9]+))+$/i)&&(s="alphanum"):s="number"}return $t.sorters[s]}sort(t,i){var e=this,s=this.table.options.sortOrderReverse?e.sortList.slice().reverse():e.sortList,r=[],o=[];return this.subscribedExternal("dataSorting")&&this.dispatchExternal("dataSorting",e.getSort()),i||e.clearColumnHeaders(),"remote"!==this.table.options.sortMode?(s.forEach((function(t){var s;t.column&&((s=t.column.modules.sort)&&(s.sorter||(s.sorter=e.findSorter(t.column)),t.params="function"==typeof s.params?s.params(t.column.getComponent(),t.dir):s.params,r.push(t)),i||e.setColumnHeader(t.column,t.dir))})),r.length&&e._sortItems(t,r)):i||s.forEach((function(t){e.setColumnHeader(t.column,t.dir)})),this.subscribedExternal("dataSorted")&&(t.forEach((t=>{o.push(t.getComponent())})),this.dispatchExternal("dataSorted",e.getSort(),o)),t}clearColumnHeaders(){this.table.columnManager.getRealColumns().forEach((t=>{t.modules.sort&&(t.modules.sort.dir="none",t.getElement().setAttribute("aria-sort","none"),this.setColumnHeaderSortIcon(t,"none"))}))}setColumnHeader(t,i){t.modules.sort.dir=i,t.getElement().setAttribute("aria-sort","asc"===i?"ascending":"descending"),this.setColumnHeaderSortIcon(t,i)}setColumnHeaderSortIcon(t,i){var e,s=t.modules.sort.element;if(t.definition.headerSort&&"function"==typeof this.table.options.headerSortElement){for(;s.firstChild;)s.removeChild(s.firstChild);"object"==typeof(e=this.table.options.headerSortElement.call(this.table,t.getComponent(),i))?s.appendChild(e):s.innerHTML=e}}_sortItems(t,i){var e=i.length-1;t.sort(((t,s)=>{for(var r,o=e;o>=0;o--){let e=i[o];if(0!==(r=this._sortRow(t,s,e.column,e.dir,e.params)))break}return r}))}_sortRow(t,i,e,s,r){var o,a,h="asc"==s?t:i,n="asc"==s?i:t;return t=void 0!==(t=e.getFieldValue(h.getData()))?t:"",i=void 0!==(i=e.getFieldValue(n.getData()))?i:"",o=h.getComponent(),a=n.getComponent(),e.modules.sort.sorter.call(this,t,i,o,a,e.getComponent(),s,r)}}class Xt{constructor(t,i){this.columnCount=t,this.rowCount=i,this.columnString=[],this.columns=[],this.rows=[]}genColumns(t){var i=Math.max(this.columnCount,Math.max(...t.map((t=>t.length))));this.columnString=[],this.columns=[];for(let t=1;t<=i;t++)this.incrementChar(this.columnString.length-1),this.columns.push(this.columnString.join(""));return this.columns}genRows(t){var i=Math.max(this.rowCount,t.length);this.rows=[];for(let t=1;t<=i;t++)this.rows.push(t);return this.rows}incrementChar(t){let i=this.columnString[t];i?"Z"!==i?this.columnString[t]=String.fromCharCode(this.columnString[t].charCodeAt(0)+1):(this.columnString[t]="A",t?this.incrementChar(t-1):this.columnString.push("A")):this.columnString.push("A")}setRowCount(t){this.rowCount=t}setColumnCount(t){this.columnCount=t}}class Yt{constructor(t){return this._sheet=t,new Proxy(this,{get:function(t,i){return void 0!==t[i]?t[i]:t._sheet.table.componentFunctionBinder.handle("sheet",t._sheet,i)}})}getTitle(){return this._sheet.title}getKey(){return this._sheet.key}getDefinition(){return this._sheet.getDefinition()}getData(){return this._sheet.getData()}setData(t){return this._sheet.setData(t)}clear(){return this._sheet.clear()}remove(){return this._sheet.remove()}active(){return this._sheet.active()}setTitle(t){return this._sheet.setTitle(t)}setRows(t){return this._sheet.setRows(t)}setColumns(t){return this._sheet.setColumns(t)}}class Qt extends j{constructor(t,i){super(t.table),this.spreadsheetManager=t,this.definition=i,this.title=this.definition.title||"",this.key=this.definition.key||this.definition.title,this.rowCount=this.definition.rows,this.columnCount=this.definition.columns,this.data=this.definition.data||[],this.element=null,this.isActive=!1,this.grid=new Xt(this.columnCount,this.rowCount),this.defaultColumnDefinition={width:100,headerHozAlign:"center",headerSort:!1},this.columnDefinition=Object.assign(this.defaultColumnDefinition,this.options("spreadsheetColumnDefinition")),this.columnDefs=[],this.rowDefs=[],this.columnFields=[],this.columns=[],this.rows=[],this.scrollTop=null,this.scrollLeft=null,this.initialize(),this.dispatchExternal("sheetAdded",this.getComponent())}initialize(){this.initializeElement(),this.initializeColumns(),this.initializeRows()}reinitialize(){this.initializeColumns(),this.initializeRows()}initializeElement(){this.element=document.createElement("div"),this.element.classList.add("tabulator-spreadsheet-tab"),this.element.innerText=this.title,this.element.addEventListener("click",(()=>{this.spreadsheetManager.loadSheet(this)}))}initializeColumns(){this.grid.setColumnCount(this.columnCount),this.columnFields=this.grid.genColumns(this.data),this.columnDefs=[],this.columnFields.forEach((t=>{var i=Object.assign({},this.columnDefinition);i.field=t,i.title=t,this.columnDefs.push(i)}))}initializeRows(){var t;this.grid.setRowCount(this.rowCount),t=this.grid.genRows(this.data),this.rowDefs=[],t.forEach(((t,i)=>{var e={_id:t},s=this.data[i];s&&s.forEach(((t,i)=>{var s=this.columnFields[i];s&&(e[s]=t)})),this.rowDefs.push(e)}))}unload(){this.isActive=!1,this.scrollTop=this.table.rowManager.scrollTop,this.scrollLeft=this.table.rowManager.scrollLeft,this.data=this.getData(!0),this.element.classList.remove("tabulator-spreadsheet-tab-active")}load(){var t=!this.isActive;this.isActive=!0,this.table.blockRedraw(),this.table.setData([]),this.table.setColumns(this.columnDefs),this.table.setData(this.rowDefs),this.table.restoreRedraw(),t&&null!==this.scrollTop&&(this.table.rowManager.element.scrollLeft=this.scrollLeft,this.table.rowManager.element.scrollTop=this.scrollTop),this.element.classList.add("tabulator-spreadsheet-tab-active"),this.dispatchExternal("sheetLoaded",this.getComponent())}getComponent(){return new Yt(this)}getDefinition(){return{title:this.title,key:this.key,rows:this.rowCount,columns:this.columnCount,data:this.getData()}}getData(t){var i,e,s,r=[];return this.rowDefs.forEach((t=>{var i=[];this.columnFields.forEach((e=>{i.push(t[e])})),r.push(i)})),t||this.options("spreadsheetOutputFull")||(i=r.map((t=>t.findLastIndex((t=>void 0!==t))+1)),e=Math.max(...i),s=i.findLastIndex((t=>t>0))+1,r=(r=r.slice(0,s)).map((t=>t.slice(0,e)))),r}setData(t){this.data=t,this.reinitialize(),this.dispatchExternal("sheetUpdated",this.getComponent()),this.isActive&&this.load()}clear(){this.setData([])}setTitle(t){this.title=t,this.element.innerText=t,this.dispatchExternal("sheetUpdated",this.getComponent())}setRows(t){this.rowCount=t,this.initializeRows(),this.dispatchExternal("sheetUpdated",this.getComponent()),this.isActive&&this.load()}setColumns(t){this.columnCount=t,this.reinitialize(),this.dispatchExternal("sheetUpdated",this.getComponent()),this.isActive&&this.load()}remove(){this.spreadsheetManager.removeSheet(this)}destroy(){this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.dispatchExternal("sheetRemoved",this.getComponent())}active(){this.spreadsheetManager.loadSheet(this)}}var ti={integer:function(t,i){return""===i||null==i||(i=Number(i),!isNaN(i)&&isFinite(i)&&Math.floor(i)===i)},float:function(t,i){return""===i||null==i||(i=Number(i),!isNaN(i)&&isFinite(i)&&i%1!=0)},numeric:function(t,i){return""===i||null==i||!isNaN(i)},string:function(t,i){return""===i||null==i||isNaN(i)},alphanumeric:function(t,i){return""===i||null==i||new RegExp(/^[a-z0-9]+$/i).test(i)},max:function(t,i,e){return""===i||null==i||parseFloat(i)<=e},min:function(t,i,e){return""===i||null==i||parseFloat(i)>=e},starts:function(t,i,e){return""===i||null==i||String(i).toLowerCase().startsWith(String(e).toLowerCase())},ends:function(t,i,e){return""===i||null==i||String(i).toLowerCase().endsWith(String(e).toLowerCase())},minLength:function(t,i,e){return""===i||null==i||String(i).length>=e},maxLength:function(t,i,e){return""===i||null==i||String(i).length<=e},in:function(t,i,e){return""===i||null==i||("string"==typeof e&&(e=e.split("|")),e.indexOf(i)>-1)},regex:function(t,i,e){return""===i||null==i||new RegExp(e).test(i)},unique:function(t,i){if(""===i||null==i)return!0;var e=!0,s=t.getData(),r=t.getColumn()._getSelf();return this.table.rowManager.rows.forEach((function(t){var o=t.getData();o!==s&&i==r.getFieldValue(o)&&(e=!1)})),e},required:function(t,i){return""!==i&&null!=i}};class ii extends H{static moduleName="validate";static validators=ti;constructor(t){super(t),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(t,i,e){var s="manual"===this.table.options.validationMode||this.validate(t.column.modules.validate,t,i);return!0!==s&&setTimeout((()=>{t.getElement().classList.add("tabulator-validation-fail"),this.dispatchExternal("validationFailed",t.getComponent(),i,s)})),s}editorClear(t,i){i&&t.column.modules.validate&&this.cellValidate(t),t.getElement().classList.remove("tabulator-validation-fail")}editedClear(t){t.modules.validate&&(t.modules.validate.invalid=!1)}cellIsValid(t){return t.modules.validate&&t.modules.validate.invalid||!0}cellValidate(t){return this.validate(t.column.modules.validate,t,t.getValue())}columnValidate(t){var i=[];return t.cells.forEach((t=>{!0!==this.cellValidate(t)&&i.push(t.getComponent())})),!i.length||i}rowValidate(t){var i=[];return t.cells.forEach((t=>{!0!==this.cellValidate(t)&&i.push(t.getComponent())})),!i.length||i}userClearCellValidation(t){t||(t=this.getInvalidCells()),Array.isArray(t)||(t=[t]),t.forEach((t=>{this.clearValidation(t._getSelf())}))}userValidate(t){var i=[];return this.table.rowManager.rows.forEach((t=>{var e=(t=t.getComponent()).validate();!0!==e&&(i=i.concat(e))})),!i.length||i}initializeColumnCheck(t){void 0!==t.definition.validator&&this.initializeColumn(t)}initializeColumn(t){var i,e=this,s=[];t.definition.validator&&(Array.isArray(t.definition.validator)?t.definition.validator.forEach((t=>{(i=e._extractValidator(t))&&s.push(i)})):(i=this._extractValidator(t.definition.validator))&&s.push(i),t.modules.validate=!!s.length&&s)}_extractValidator(t){var i,e,s;switch(typeof t){case"string":return(s=t.indexOf(":"))>-1?(i=t.substring(0,s),e=t.substring(s+1)):i=t,this._buildValidator(i,e);case"function":return this._buildValidator(t);case"object":return this._buildValidator(t.type,t.parameters)}}_buildValidator(t,i){var e="function"==typeof t?t:ii.validators[t];return e?{type:"function"==typeof t?"function":t,func:e,params:i}:(console.warn("Validator Setup Error - No matching validator found:",t),!1)}validate(t,i,e){var s=this,r=[],o=this.invalidCells.indexOf(i);return t&&t.forEach((t=>{t.func.call(s,i.getComponent(),e,t.params)||r.push({type:t.type,parameters:t.params})})),i.modules.validate||(i.modules.validate={}),r.length?(i.modules.validate.invalid=r,"manual"!==this.table.options.validationMode&&i.getElement().classList.add("tabulator-validation-fail"),-1==o&&this.invalidCells.push(i)):(i.modules.validate.invalid=!1,i.getElement().classList.remove("tabulator-validation-fail"),o>-1&&this.invalidCells.splice(o,1)),!r.length||r}getInvalidCells(){var t=[];return this.invalidCells.forEach((i=>{t.push(i.getComponent())})),t}clearValidation(t){var i;t.modules.validate&&t.modules.validate.invalid&&(t.getElement().classList.remove("tabulator-validation-fail"),t.modules.validate.invalid=!1,(i=this.invalidCells.indexOf(t))>-1&&this.invalidCells.splice(i,1))}}var ei=Object.freeze({__proto__:null,AccessorModule:L,AjaxModule:J,ClipboardModule:$,ColumnCalcsModule:at,DataTreeModule:class extends H{static moduleName="dataTree";constructor(t){super(t),this.indent=10,this.field="",this.collapseEl=null,this.expandEl=null,this.branchEl=null,this.elementField=!1,this.startOpen=function(){},this.registerTableOption("dataTree",!1),this.registerTableOption("dataTreeFilter",!0),this.registerTableOption("dataTreeSort",!0),this.registerTableOption("dataTreeElementColumn",!1),this.registerTableOption("dataTreeBranchElement",!0),this.registerTableOption("dataTreeChildIndent",9),this.registerTableOption("dataTreeChildField","_children"),this.registerTableOption("dataTreeCollapseElement",!1),this.registerTableOption("dataTreeExpandElement",!1),this.registerTableOption("dataTreeStartExpanded",!1),this.registerTableOption("dataTreeChildColumnCalcs",!1),this.registerTableOption("dataTreeSelectPropagate",!1),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 t=null,i=this.table.options;switch(this.field=i.dataTreeChildField,this.indent=i.dataTreeChildIndent,this.options("movableRows")&&console.warn("The movableRows option is not available with dataTree enabled, moving of child rows could result in unpredictable behavior"),i.dataTreeBranchElement?!0===i.dataTreeBranchElement?(this.branchEl=document.createElement("div"),this.branchEl.classList.add("tabulator-data-tree-branch")):"string"==typeof i.dataTreeBranchElement?((t=document.createElement("div")).innerHTML=i.dataTreeBranchElement,this.branchEl=t.firstChild):this.branchEl=i.dataTreeBranchElement:(this.branchEl=document.createElement("div"),this.branchEl.classList.add("tabulator-data-tree-branch-empty")),i.dataTreeCollapseElement?"string"==typeof i.dataTreeCollapseElement?((t=document.createElement("div")).innerHTML=i.dataTreeCollapseElement,this.collapseEl=t.firstChild):this.collapseEl=i.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>"),i.dataTreeExpandElement?"string"==typeof i.dataTreeExpandElement?((t=document.createElement("div")).innerHTML=i.dataTreeExpandElement,this.expandEl=t.firstChild):this.expandEl=i.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 i.dataTreeStartExpanded){case"boolean":this.startOpen=function(){return i.dataTreeStartExpanded};break;case"function":this.startOpen=i.dataTreeStartExpanded;break;default:this.startOpen=function(t,e){return i.dataTreeStartExpanded[e]}}this.subscribe("row-init",this.initializeRow.bind(this)),this.subscribe("row-layout-after",this.layoutRow.bind(this)),this.subscribe("row-deleting",this.rowDeleting.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(t){t&&this.table.rowManager.getRows().forEach((t=>{this.reinitializeRowChildren(t)}))}initializeElementField(){var t=this.table.columnManager.getFirstVisibleColumn();this.elementField=this.table.options.dataTreeElementColumn||!!t&&t.field}getRowChildren(t){return this.getTreeChildren(t,!0)}columnMoving(){var t=[];return this.table.rowManager.rows.forEach((i=>{t=t.concat(this.getTreeChildren(i,!1,!0))})),t}rowDataChanged(t,i,e){this.redrawNeeded(e)&&(this.initializeRow(t),i&&(this.layoutRow(t),this.refreshData(!0)))}cellValueChanged(t){t.column.getField()===this.elementField&&this.layoutRow(t.row)}initializeRow(t){var i=t.getData()[this.field],e=Array.isArray(i),s=e||!e&&"object"==typeof i&&null!==i;!s&&t.modules.dataTree&&t.modules.dataTree.branchEl&&t.modules.dataTree.branchEl.parentNode.removeChild(t.modules.dataTree.branchEl),!s&&t.modules.dataTree&&t.modules.dataTree.controlEl&&t.modules.dataTree.controlEl.parentNode.removeChild(t.modules.dataTree.controlEl),t.modules.dataTree={index:t.modules.dataTree?t.modules.dataTree.index:0,open:!!s&&(t.modules.dataTree?t.modules.dataTree.open:this.startOpen(t.getComponent(),0)),controlEl:!(!t.modules.dataTree||!s)&&t.modules.dataTree.controlEl,branchEl:!(!t.modules.dataTree||!s)&&t.modules.dataTree.branchEl,parent:!!t.modules.dataTree&&t.modules.dataTree.parent,children:s}}reinitializeRowChildren(t){this.getTreeChildren(t,!1,!0).forEach((function(t){t.reinitialize(!0)}))}layoutRow(t){var i=(this.elementField?t.getCell(this.elementField):t.getCells()[0]).getElement(),e=t.modules.dataTree;e.branchEl&&(e.branchEl.parentNode&&e.branchEl.parentNode.removeChild(e.branchEl),e.branchEl=!1),e.controlEl&&(e.controlEl.parentNode&&e.controlEl.parentNode.removeChild(e.controlEl),e.controlEl=!1),this.generateControlElement(t,i),t.getElement().classList.add("tabulator-tree-level-"+e.index),e.index&&(this.branchEl?(e.branchEl=this.branchEl.cloneNode(!0),i.insertBefore(e.branchEl,i.firstChild),this.table.rtl?e.branchEl.style.marginRight=(e.branchEl.offsetWidth+e.branchEl.style.marginLeft)*(e.index-1)+e.index*this.indent+"px":e.branchEl.style.marginLeft=(e.branchEl.offsetWidth+e.branchEl.style.marginRight)*(e.index-1)+e.index*this.indent+"px"):this.table.rtl?i.style.paddingRight=parseInt(window.getComputedStyle(i,null).getPropertyValue("padding-right"))+e.index*this.indent+"px":i.style.paddingLeft=parseInt(window.getComputedStyle(i,null).getPropertyValue("padding-left"))+e.index*this.indent+"px")}generateControlElement(t,i){var e=t.modules.dataTree,s=e.controlEl;i=i||t.getCells()[0].getElement(),!1!==e.children&&(e.open?(e.controlEl=this.collapseEl.cloneNode(!0),e.controlEl.addEventListener("click",(i=>{i.stopPropagation(),this.collapseRow(t)}))):(e.controlEl=this.expandEl.cloneNode(!0),e.controlEl.addEventListener("click",(i=>{i.stopPropagation(),this.expandRow(t)}))),e.controlEl.addEventListener("mousedown",(t=>{t.stopPropagation()})),s&&s.parentNode===i?s.parentNode.replaceChild(e.controlEl,s):i.insertBefore(e.controlEl,i.firstChild))}getRows(t){var i=[];return t.forEach((t=>{var e;i.push(t),t instanceof rt&&(t.create(),(e=t.modules.dataTree).index||!1===e.children||this.getChildren(t,!1,!0).forEach((t=>{t.create(),i.push(t)})))})),i}getChildren(t,i,e){var s=t.modules.dataTree,r=[],o=[];return!1!==s.children&&(s.open||i)&&(Array.isArray(s.children)||(s.children=this.generateChildren(t)),r=this.table.modExists("filter")&&this.table.options.dataTreeFilter?this.table.modules.filter.filter(s.children):s.children,this.table.modExists("sort")&&this.table.options.dataTreeSort&&this.table.modules.sort.sort(r,e),r.forEach((t=>{o.push(t),this.getChildren(t,!1,!0).forEach((t=>{o.push(t)}))}))),o}generateChildren(t){var i=[],e=t.getData()[this.field];return Array.isArray(e)||(e=[e]),e.forEach((e=>{var s=new rt(e||{},this.table.rowManager);s.create(),s.modules.dataTree.index=t.modules.dataTree.index+1,s.modules.dataTree.parent=t,s.modules.dataTree.children&&(s.modules.dataTree.open=this.startOpen(s.getComponent(),s.modules.dataTree.index)),i.push(s)})),i}expandRow(t,i){var e=t.modules.dataTree;!1!==e.children&&(e.open=!0,t.reinitialize(),this.refreshData(!0),this.dispatchExternal("dataTreeRowExpanded",t.getComponent(),t.modules.dataTree.index))}collapseRow(t){var i=t.modules.dataTree;!1!==i.children&&(i.open=!1,t.reinitialize(),this.refreshData(!0),this.dispatchExternal("dataTreeRowCollapsed",t.getComponent(),t.modules.dataTree.index))}toggleRow(t){var i=t.modules.dataTree;!1!==i.children&&(i.open?this.collapseRow(t):this.expandRow(t))}isRowExpanded(t){return t.modules.dataTree.open}getTreeParent(t){return!!t.modules.dataTree.parent&&t.modules.dataTree.parent.getComponent()}getTreeParentRoot(t){return t.modules.dataTree&&t.modules.dataTree.parent?this.getTreeParentRoot(t.modules.dataTree.parent):t}getFilteredTreeChildren(t){var i=t.modules.dataTree,e=[];return i.children&&(Array.isArray(i.children)||(i.children=this.generateChildren(t)),(this.table.modExists("filter")&&this.table.options.dataTreeFilter?this.table.modules.filter.filter(i.children):i.children).forEach((t=>{t instanceof rt&&e.push(t)}))),e}rowDeleting(t){var i=t.modules.dataTree;i&&i.children&&Array.isArray(i.children)&&i.children.forEach((t=>{t instanceof rt&&t.wipe()}))}rowDelete(t){var i,e=t.modules.dataTree.parent;e&&(!1!==(i=this.findChildIndex(t,e))&&e.data[this.field].splice(i,1),e.data[this.field].length||delete e.data[this.field],this.initializeRow(e),this.layoutRow(e)),this.refreshData(!0)}addTreeChildRow(t,i,e,s){var r=!1;"string"==typeof i&&(i=JSON.parse(i)),Array.isArray(t.data[this.field])||(t.data[this.field]=[],t.modules.dataTree.open=this.startOpen(t.getComponent(),t.modules.dataTree.index)),void 0!==s&&!1!==(r=this.findChildIndex(s,t))&&t.data[this.field].splice(e?r:r+1,0,i),!1===r&&(e?t.data[this.field].unshift(i):t.data[this.field].push(i)),this.initializeRow(t),this.layoutRow(t),this.refreshData(!0)}findChildIndex(t,i){var e=!1;return"object"==typeof t?t instanceof rt?e=t.data:t instanceof st?e=t._getSelf().data:"undefined"!=typeof HTMLElement&&t instanceof HTMLElement?i.modules.dataTree&&(e=i.modules.dataTree.children.find((i=>i instanceof rt&&i.element===t)))&&(e=e.data):null===t&&(e=!1):e=void 0!==t&&i.data[this.field].find((i=>i.data[this.table.options.index]==t)),e&&(Array.isArray(i.data[this.field])&&(e=i.data[this.field].indexOf(e)),-1==e&&(e=!1)),e}getTreeChildren(t,i,e){var s=t.modules.dataTree,r=[];return s&&s.children&&(Array.isArray(s.children)||(s.children=this.generateChildren(t)),s.children.forEach((t=>{t instanceof rt&&(r.push(i?t.getComponent():t),e&&this.getTreeChildren(t,i,e).forEach((t=>{r.push(t)})))}))),r}getChildField(){return this.field}redrawNeeded(t){return!!this.field&&void 0!==t[this.field]||!!this.elementField&&void 0!==t[this.elementField]}},DownloadModule:nt,EditModule:dt,ExportModule:ft,FilterModule:wt,FormatModule:xt,FrozenColumnsModule:class extends H{static moduleName="frozenColumns";constructor(t){super(t),this.leftColumns=[],this.rightColumns=[],this.initializationMode="left",this.active=!1,this.blocked=!0,this.registerColumnOption("frozen")}reset(){this.initializationMode="left",this.leftColumns=[],this.rightColumns=[],this.active=!1}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=!0}unblockLayout(){this.blocked=!1}layoutCell(t){this.layoutElement(t.element,t.column)}reinitializeColumns(){this.reset(),this.table.columnManager.columnsByIndex.forEach((t=>{this.initializeColumn(t)})),this.layout()}initializeColumn(t){var i={margin:0,edge:!1};t.isGroup||(this.frozenCheck(t)?(i.position=this.initializationMode,"left"==this.initializationMode?this.leftColumns.push(t):this.rightColumns.unshift(t),this.active=!0,t.modules.frozen=i):this.initializationMode="right")}frozenCheck(t){return t.parent.isGroup&&t.definition.frozen&&console.warn("Frozen Column Error - Parent column group must be frozen, not individual columns or sub column groups"),t.parent.isGroup?this.frozenCheck(t.parent):t.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(t){t.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(t){var i=[],e=0,s=0;this.leftColumns.forEach(((s,r)=>{if(s.modules.frozen.marginValue=e,s.modules.frozen.margin=s.modules.frozen.marginValue+"px",s.visible&&(e+=s.getWidth()),s.modules.frozen.edge=r==this.leftColumns.length-1,s.parent.isGroup){var o=this.getColGroupParentElement(s);i.includes(o)||(this.layoutElement(o,s),i.push(o)),o.classList.toggle("tabulator-frozen-left",s.modules.frozen.edge&&"left"===s.modules.frozen.position),o.classList.toggle("tabulator-frozen-right",s.modules.frozen.edge&&"right"===s.modules.frozen.position)}else this.layoutElement(s.getElement(),s);t&&s.cells.forEach((t=>{this.layoutElement(t.getElement(!0),s)}))})),this.rightColumns.forEach(((i,e)=>{i.modules.frozen.marginValue=s,i.modules.frozen.margin=i.modules.frozen.marginValue+"px",i.visible&&(s+=i.getWidth()),i.modules.frozen.edge=e==this.rightColumns.length-1,this.layoutElement(i.parent.isGroup?this.getColGroupParentElement(i):i.getElement(),i),t&&i.cells.forEach((t=>{this.layoutElement(t.getElement(!0),i)}))}))}getColGroupParentElement(t){return t.parent.isGroup?this.getColGroupParentElement(t.parent):t.getElement()}layout(){this.active&&!this.blocked&&(this.layoutColumnPosition(),this.reinitializeRows(),this.layoutCalcRows())}reinitializeRows(){var t=this.table.rowManager.getVisibleRows(!0);this.table.rowManager.getRows().filter((i=>!t.includes(i))).forEach((t=>{t.deinitialize()})),t.forEach((t=>{"row"===t.type&&this.layoutRow(t)}))}layoutRow(t){"fitDataFill"===this.table.options.layout&&this.rightColumns.length&&(this.table.rowManager.getTableElement().style.minWidth="calc(100% - "+this.rightMargin+")"),this.leftColumns.forEach((i=>{var e=t.getCell(i);e&&this.layoutElement(e.getElement(!0),i)})),this.rightColumns.forEach((i=>{var e=t.getCell(i);e&&this.layoutElement(e.getElement(!0),i)}))}layoutElement(t,i){i.modules.frozen&&t&&(t.style.position="sticky",t.style[this.table.rtl?"left"===i.modules.frozen.position?"right":"left":i.modules.frozen.position]=i.modules.frozen.margin,t.classList.add("tabulator-frozen"),t.classList.toggle("tabulator-frozen-left",i.modules.frozen.edge&&"left"===i.modules.frozen.position),t.classList.toggle("tabulator-frozen-right",i.modules.frozen.edge&&"right"===i.modules.frozen.position))}adjustForScrollbar(t){this.rightColumns.length&&(this.table.columnManager.getContentsElement().style.width="calc(100% - "+t+"px)")}getFrozenColumns(){return this.leftColumns.concat(this.rightColumns)}_calcSpace(t,i){var e=0;for(let s=0;s<i;s++)t[s].visible&&(e+=t[s].getWidth());return e}},FrozenRowsModule:class extends H{static moduleName="frozenRows";constructor(t){super(t),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",!1)}initialize(){var t=document.createDocumentFragment();this.rows=[],this.topElement.classList.add("tabulator-frozen-rows-holder"),t.appendChild(document.createElement("br")),t.appendChild(this.topElement),this.table.columnManager.getContentsElement().insertBefore(t,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((t=>{this.initializeRow(t)}))}initializeRow(t){var i=this.table.options.frozenRows,e=typeof i;"number"===e?t.getPosition()&&t.getPosition()+this.rows.length<=i&&this.freezeRow(t):"function"===e?i.call(this.table,t.getComponent())&&this.freezeRow(t):Array.isArray(i)&&i.includes(t.data[this.options("frozenRowsField")])&&this.freezeRow(t)}isRowFrozen(t){return this.rows.indexOf(t)>-1}isFrozen(){return!!this.rows.length}visibleRows(t,i){return this.rows.forEach((t=>{i.push(t)})),i}getRows(t){var i=t.slice(0);return this.rows.forEach((function(t){var e=i.indexOf(t);e>-1&&i.splice(e,1)})),i}freezeRow(t){t.modules.frozen?console.warn("Freeze Error - Row is already frozen"):(t.modules.frozen=!0,this.topElement.appendChild(t.getElement()),t.initialize(),t.normalizeHeight(),this.rows.push(t),this.refreshData(!1,"display"),this.table.rowManager.adjustTableSize(),this.styleRows())}unfreezeRow(t){t.modules.frozen?(t.modules.frozen=!1,this.detachRow(t),this.table.rowManager.adjustTableSize(),this.refreshData(!1,"display"),this.rows.length&&this.styleRows()):console.warn("Freeze Error - Row is already unfrozen")}detachRow(t){var i=this.rows.indexOf(t);if(i>-1){var e=t.getElement();e.parentNode&&e.parentNode.removeChild(e),this.rows.splice(i,1)}}styleRows(t){this.rows.forEach(((t,i)=>{this.table.rowManager.styleRow(t,i)}))}},GroupRowsModule:class extends H{static moduleName="groupRows";constructor(t){super(t),this.groupIDLookups=!1,this.startOpen=[function(){return!1}],this.headerGenerator=[function(){return""}],this.groupList=[],this.allowedValues=!1,this.groups={},this.displayHandler=this.getRows.bind(this),this.blockRedraw=!1,this.registerTableOption("groupBy",!1),this.registerTableOption("groupStartOpen",!0),this.registerTableOption("groupValues",!1),this.registerTableOption("groupUpdateOnCellEdit",!1),this.registerTableOption("groupHeader",!1),this.registerTableOption("groupHeaderPrint",null),this.registerTableOption("groupHeaderClipboard",null),this.registerTableOption("groupHeaderHtmlOutput",null),this.registerTableOption("groupHeaderDownload",null),this.registerTableOption("groupToggleElement","arrow"),this.registerTableOption("groupClosedShowCalcs",!1),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=!0)}_blockRedrawing(){this.blockRedraw=!0}_restore_redrawing(){this.blockRedraw=!1}configureGroupSetup(){if(this.table.options.groupBy){var t=this.table.options.groupBy,i=this.table.options.groupStartOpen,e=this.table.options.groupHeader;this.allowedValues=this.table.options.groupValues,Array.isArray(t)&&Array.isArray(e)&&t.length>e.length&&console.warn("Error creating group headers, groupHeader array is shorter than groupBy array"),this.headerGenerator=[function(){return""}],this.startOpen=[function(){return!1}],this.langBind("groups|item",((t,i)=>{this.headerGenerator[0]=(e,s)=>(void 0===e?"":e)+"<span>("+s+" "+(1===s?t:i.groups.items)+")</span>"})),this.groupIDLookups=[],t?this.table.modExists("columnCalcs")&&"table"!=this.table.options.columnCalcs&&"both"!=this.table.options.columnCalcs&&this.table.modules.columnCalcs.removeCalcs():this.table.modExists("columnCalcs")&&"group"!=this.table.options.columnCalcs&&this.table.columnManager.getRealColumns().forEach((t=>{t.definition.topCalc&&this.table.modules.columnCalcs.initializeTopRow(),t.definition.bottomCalc&&this.table.modules.columnCalcs.initializeBottomRow()})),Array.isArray(t)||(t=[t]),t.forEach(((t,i)=>{var e,s;e="function"==typeof t?t:(s=this.table.columnManager.getColumnByField(t))?function(t){return s.getFieldValue(t)}:function(i){return i[t]},this.groupIDLookups.push({field:"function"!=typeof t&&t,func:e,values:!!this.allowedValues&&this.allowedValues[i]})})),i&&(Array.isArray(i)||(i=[i]),i.forEach((()=>{})),this.startOpen=i),e&&(this.headerGenerator=Array.isArray(e)?e:[e])}else this.groupList=[],this.groups={}}rowSample(t,i){if(this.table.options.groupBy){var e=this.getGroups(!1)[0];i.push(e.getRows(!1)[0])}return i}virtualRenderFill(){var t=this.table.rowManager.tableElement,i=this.table.rowManager.getVisibleRows();if(!this.table.options.groupBy)return i;i=i.filter((t=>"group"!==t.type)),t.style.minWidth=i.length?"":this.table.columnManager.getWidth()+"px"}rowAddingIndex(t,i,e){if(this.table.options.groupBy){this.assignRowToGroup(t);var s=t.modules.group.rows;return s.length>1&&(!i||i&&-1==s.indexOf(i)?e?s[0]!==t&&this.table.rowManager.moveRowInArray(t.modules.group.rows,t,i=s[0],!e):s[s.length-1]!==t&&this.table.rowManager.moveRowInArray(t.modules.group.rows,t,i=s[s.length-1],!e):this.table.rowManager.moveRowInArray(t.modules.group.rows,t,i,!e)),i}}trackChanges(){this.dispatch("group-changed")}setGroupBy(t){this.table.options.groupBy=t,this.initialized||this.initialize(),this.configureGroupSetup(),!t&&this.table.modExists("columnCalcs")&&!0===this.table.options.columnCalcs&&this.table.modules.columnCalcs.reinitializeCalcs(),this.refreshData(),this.trackChanges()}setGroupValues(t){this.table.options.groupValues=t,this.configureGroupSetup(),this.refreshData(),this.trackChanges()}setGroupStartOpen(t){this.table.options.groupStartOpen=t,this.configureGroupSetup(),this.table.options.groupBy?(this.refreshData(),this.trackChanges()):console.warn("Grouping Update - cant refresh view, no groups have been set")}setGroupHeader(t){this.table.options.groupHeader=t,this.configureGroupSetup(),this.table.options.groupBy?(this.refreshData(),this.trackChanges()):console.warn("Grouping Update - cant refresh view, no groups have been set")}userGetGroups(t){return this.getGroups(!0)}userGetGroupedData(){return this.table.options.groupBy?this.getGroupedData():this.getData()}rowGetGroup(t){return!!t.modules.group&&t.modules.group.getComponent()}rowMoving(t,i,e){if(this.table.options.groupBy){!e&&i instanceof Ct&&(i=this.table.rowManager.prevDisplayRow(t)||i);var s=i instanceof Ct?i:i.modules.group,r=t instanceof Ct?t:t.modules.group;s===r?this.table.rowManager.moveRowInArray(s.rows,t,i,e):(r&&r.removeRow(t),s.insertRow(t,i,e))}}rowDeleting(t){this.table.options.groupBy&&t.modules.group&&t.modules.group.removeRow(t)}rowsUpdated(t){this.table.options.groupBy&&this.updateGroupRows(!0)}cellUpdated(t){this.table.options.groupBy&&this.reassignRowToGroup(t.row)}getRows(t){return this.table.options.groupBy&&this.groupIDLookups.length?(this.dispatchExternal("dataGrouping"),this.generateGroups(t),this.subscribedExternal("dataGrouped")&&this.dispatchExternal("dataGrouped",this.getGroups(!0)),this.updateGroupRows()):t.slice(0)}getGroups(t){var i=[];return this.groupList.forEach((function(e){i.push(t?e.getComponent():e)})),i}getChildGroups(t){var i=[];return t||(t=this),t.groupList.forEach((t=>{t.groupList.length?i=i.concat(this.getChildGroups(t)):i.push(t)})),i}wipe(){this.table.options.groupBy&&(this.groupList.forEach((function(t){t.wipe()})),this.groupList=[],this.groups={})}pullGroupListData(t){var i=[];return t.forEach((t=>{var e={level:0,rowCount:0,headerContent:""},s=[];t.hasSubGroups?(s=this.pullGroupListData(t.groupList),e.level=t.level,e.rowCount=s.length-t.groupList.length,e.headerContent=t.generator(t.key,e.rowCount,t.rows,t),i.push(e),i=i.concat(s)):(e.level=t.level,e.headerContent=t.generator(t.key,t.rows.length,t.rows,t),e.rowCount=t.getRows().length,i.push(e),t.getRows().forEach((t=>{i.push(t.getData("data"))})))})),i}getGroupedData(){return this.pullGroupListData(this.groupList)}getRowGroup(t){var i=!1;return this.options("dataTree")&&(t=this.table.modules.dataTree.getTreeParentRoot(t)),this.groupList.forEach((e=>{var s=e.getRowGroup(t);s&&(i=s)})),i}countGroups(){return this.groupList.length}generateGroups(t){var i=this.groups;this.groups={},this.groupList=[],this.allowedValues&&this.allowedValues[0]?(this.allowedValues[0].forEach((t=>{this.createGroup(t,0,i)})),t.forEach((t=>{this.assignRowToExistingGroup(t,i)}))):t.forEach((t=>{this.assignRowToGroup(t,i)})),Object.values(i).forEach((t=>{t.wipe(!0)}))}createGroup(t,i,e){var s,r=i+"_"+t;s=new Ct(this,!1,i,t,this.groupIDLookups[0].field,this.headerGenerator[0],(e=e||[])[r]),this.groups[r]=s,this.groupList.push(s)}assignRowToExistingGroup(t,i){var e="0_"+this.groupIDLookups[0].func(t.getData());this.groups[e]&&this.groups[e].addRow(t)}assignRowToGroup(t,i){var e=this.groupIDLookups[0].func(t.getData()),s=!this.groups["0_"+e];return s&&this.createGroup(e,0,i),this.groups["0_"+e].addRow(t),!s}reassignRowToGroup(t){if("row"===t.type){var i=t.modules.group,e=i.getPath(),s=this.getExpectedPath(t);e.length==s.length&&e.every(((t,i)=>t===s[i]))||(i.removeRow(t),this.assignRowToGroup(t,this.groups),this.refreshData(!0))}}getExpectedPath(t){var i=[],e=t.getData();return this.groupIDLookups.forEach((t=>{i.push(t.func(e))})),i}updateGroupRows(t){var i=[];return this.blockRedraw||(this.groupList.forEach((t=>{i=i.concat(t.getHeadersAndRows())})),t&&this.refreshData(!0)),i}scrollHeaders(t){this.table.options.groupBy&&("virtual"===this.table.options.renderHorizontal&&(t-=this.table.columnManager.renderer.vDomPadLeft),t+="px",this.groupList.forEach((i=>{i.scrollHeader(t)})))}removeGroup(t){var i,e=t.level+"_"+t.key;this.groups[e]&&(delete this.groups[e],(i=this.groupList.indexOf(t))>-1&&this.groupList.splice(i,1))}checkBasicModeGroupHeaderWidth(){var t=this.table.rowManager.tableElement,i=!0;this.table.rowManager.getDisplayRows().forEach(((e,s)=>{this.table.rowManager.styleRow(e,s),t.appendChild(e.getElement()),e.initialize(!0),"group"!==e.type&&(i=!1)})),t.style.minWidth=i?this.table.columnManager.getWidth()+"px":""}},HistoryModule:Mt,HtmlTableImportModule:class extends H{static moduleName="htmlTableImport";constructor(t){super(t),this.fieldIndex=[],this.hasIndex=!1}initialize(){this.tableElementCheck()}tableElementCheck(){this.table.originalElement&&"TABLE"===this.table.originalElement.tagName&&(this.table.originalElement.childNodes.length?this.parseTable():console.warn("Unable to parse data from empty table tag, Tabulator should be initialized on a div tag unless importing data from a table element."))}parseTable(){var t=this.table.originalElement,i=this.table.options,e=t.getElementsByTagName("th"),s=t.getElementsByTagName("tbody")[0],r=[];this.hasIndex=!1,this.dispatchExternal("htmlImporting"),s=s?s.getElementsByTagName("tr"):[],this._extractOptions(t,i),e.length?this._extractHeaders(e,s):this._generateBlankHeaders(e,s);for(var o=0;o<s.length;o++){var a=s[o].getElementsByTagName("td"),h={};this.hasIndex||(h[i.index]=o);for(var n=0;n<a.length;n++)void 0!==this.fieldIndex[n]&&(h[this.fieldIndex[n]]=a[n].innerHTML);r.push(h)}i.data=r,this.dispatchExternal("htmlImported")}_extractOptions(t,i,e){var s=t.attributes,r=Object.keys(e||i),o={};for(var a in r.forEach((t=>{o[t.toLowerCase()]=t})),s){var h,n=s[a];n&&"object"==typeof n&&n.name&&0===n.name.indexOf("tabulator-")&&(h=n.name.replace("tabulator-",""),void 0!==o[h]&&(i[o[h]]=this._attribValue(n.value)))}}_attribValue(t){return"true"===t||"false"!==t&&t}_findCol(t){return this.table.options.columns.find((i=>i.title===t))||!1}_extractHeaders(t,i){for(var e=0;e<t.length;e++){var s,r=t[e],o=!1,a=this._findCol(r.textContent);a?o=!0:a={title:r.textContent.trim()},a.field||(a.field=r.textContent.trim().toLowerCase().replaceAll(" ","_")),(s=r.getAttribute("width"))&&!a.width&&(a.width=s),this._extractOptions(r,a,this.table.columnManager.optionsList.registeredDefaults),this.fieldIndex[e]=a.field,a.field==this.table.options.index&&(this.hasIndex=!0),o||this.table.options.columns.push(a)}}_generateBlankHeaders(t,i){for(var e=0;e<t.length;e++){var s=t[e],r={title:"",field:"col"+e};this.fieldIndex[e]=r.field;var o=s.getAttribute("width");o&&(r.width=o),this.table.options.columns.push(r)}}},ImportModule:Tt,InteractionModule:class extends H{static moduleName="interaction";constructor(t){super(t),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(){Object.values(this.touchWatchers).forEach((t=>{for(let i in t)t[i]=null}))}cellContentsSelectionFixer(t,i){var e;if(!this.table.modExists("edit")||this.table.modules.edit.currentCell!==i){t.preventDefault();try{document.selection?((e=document.body.createTextRange()).moveToElementText(i.getElement()),e.select()):window.getSelection&&((e=document.createRange()).selectNode(i.getElement()),window.getSelection().removeAllRanges(),window.getSelection().addRange(e))}catch(t){}}}initializeExternalEvents(){for(let t in this.eventMap)this.subscriptionChangeExternal(t,this.subscriptionChanged.bind(this,t))}subscriptionChanged(t,i){i?this.subscribers[t]||(this.eventMap[t].includes("-")?(this.subscribers[t]=this.handle.bind(this,t),this.subscribe(this.eventMap[t],this.subscribers[t])):this.subscribeTouchEvents(t)):this.eventMap[t].includes("-")?!this.subscribers[t]||this.columnSubscribers[t]||this.subscribedExternal(t)||(this.unsubscribe(this.eventMap[t],this.subscribers[t]),delete this.subscribers[t]):this.unsubscribeTouchEvents(t)}subscribeTouchEvents(t){var i=this.eventMap[t];this.touchSubscribers[i+"-touchstart"]||(this.touchSubscribers[i+"-touchstart"]=this.handleTouch.bind(this,i,"start"),this.touchSubscribers[i+"-touchend"]=this.handleTouch.bind(this,i,"end"),this.subscribe(i+"-touchstart",this.touchSubscribers[i+"-touchstart"]),this.subscribe(i+"-touchend",this.touchSubscribers[i+"-touchend"])),this.subscribers[t]=!0}unsubscribeTouchEvents(t){var i=!0,e=this.eventMap[t];if(this.subscribers[t]&&!this.subscribedExternal(t)){delete this.subscribers[t];for(let t in this.eventMap)this.eventMap[t]===e&&this.subscribers[t]&&(i=!1);i&&(this.unsubscribe(e+"-touchstart",this.touchSubscribers[e+"-touchstart"]),this.unsubscribe(e+"-touchend",this.touchSubscribers[e+"-touchend"]),delete this.touchSubscribers[e+"-touchstart"],delete this.touchSubscribers[e+"-touchend"])}}initializeColumn(t){var i=t.definition;for(let e in this.eventMap)i[e]&&(this.subscriptionChanged(e,!0),this.columnSubscribers[e]||(this.columnSubscribers[e]=[]),this.columnSubscribers[e].push(t))}handle(t,i,e){this.dispatchEvent(t,i,e)}handleTouch(t,i,e,s){var r=this.touchWatchers[t];switch("column"===t&&(t="header"),i){case"start":r.tap=!0,clearTimeout(r.tapHold),r.tapHold=setTimeout((()=>{clearTimeout(r.tapHold),r.tapHold=null,r.tap=null,clearTimeout(r.tapDbl),r.tapDbl=null,this.dispatchEvent(t+"TapHold",e,s)}),1e3);break;case"end":r.tap&&(r.tap=null,this.dispatchEvent(t+"Tap",e,s)),r.tapDbl?(clearTimeout(r.tapDbl),r.tapDbl=null,this.dispatchEvent(t+"DblTap",e,s)):r.tapDbl=setTimeout((()=>{clearTimeout(r.tapDbl),r.tapDbl=null}),300),clearTimeout(r.tapHold),r.tapHold=null}}dispatchEvent(t,i,e){var s,r=e.getComponent();this.columnSubscribers[t]&&(e instanceof Q?s=e.column.definition[t]:e instanceof et&&(s=e.definition[t]),s&&s(i,r)),this.dispatchExternal(t,i,r)}},KeybindingsModule:Ft,MenuModule:class extends H{static moduleName="menu";constructor(t){super(t),this.menuContainer=null,this.nestedMenuBlock=!1,this.currentComponent=null,this.rootPopup=null,this.columnSubscribers={},this.registerTableOption("rowContextMenu",!1),this.registerTableOption("rowClickMenu",!1),this.registerTableOption("rowDblClickMenu",!1),this.registerTableOption("groupContextMenu",!1),this.registerTableOption("groupClickMenu",!1),this.registerTableOption("groupDblClickMenu",!1),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(){}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(t){var i=t.definition;i.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"))),i.headerClickMenu&&!this.columnSubscribers.headerClickMenu&&(this.columnSubscribers.headerClickMenu=this.loadMenuTableColumnEvent.bind(this,"headerClickMenu"),this.subscribe("column-click",this.columnSubscribers.headerClickMenu)),i.headerDblClickMenu&&!this.columnSubscribers.headerDblClickMenu&&(this.columnSubscribers.headerDblClickMenu=this.loadMenuTableColumnEvent.bind(this,"headerDblClickMenu"),this.subscribe("column-dblclick",this.columnSubscribers.headerDblClickMenu)),i.headerMenu&&this.initializeColumnHeaderMenu(t),i.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"))),i.clickMenu&&!this.columnSubscribers.clickMenu&&(this.columnSubscribers.clickMenu=this.loadMenuTableCellEvent.bind(this,"clickMenu"),this.subscribe("cell-click",this.columnSubscribers.clickMenu)),i.dblClickMenu&&!this.columnSubscribers.dblClickMenu&&(this.columnSubscribers.dblClickMenu=this.loadMenuTableCellEvent.bind(this,"dblClickMenu"),this.subscribe("cell-dblclick",this.columnSubscribers.dblClickMenu))}initializeColumnHeaderMenu(t){var i,e=t.definition.headerMenuIcon;(i=document.createElement("span")).classList.add("tabulator-header-popup-button"),e?("function"==typeof e&&(e=e(t.getComponent())),e instanceof HTMLElement?i.appendChild(e):i.innerHTML=e):i.innerHTML="⋮",i.addEventListener("click",(i=>{i.stopPropagation(),i.preventDefault(),this.loadMenuEvent(t.definition.headerMenu,i,t)})),t.titleElement.insertBefore(i,t.titleElement.firstChild)}loadMenuTableCellEvent(t,i,e){e._cell&&(e=e._cell),e.column.definition[t]&&this.loadMenuEvent(e.column.definition[t],i,e)}loadMenuTableColumnEvent(t,i,e){e._column&&(e=e._column),e.definition[t]&&this.loadMenuEvent(e.definition[t],i,e)}loadMenuEvent(t,i,e){e._group?e=e._group:e._row&&(e=e._row),t="function"==typeof t?t.call(this.table,i,e.getComponent()):t,this.loadMenu(i,e,t)}loadMenu(t,i,e,s,r){var o,a=!(t instanceof MouseEvent),h=document.createElement("div");if(h.classList.add("tabulator-menu"),a||t.preventDefault(),e&&e.length){if(s)o=r.child(h);else{if(this.nestedMenuBlock){if(this.rootPopup)return}else this.nestedMenuBlock=setTimeout((()=>{this.nestedMenuBlock=!1}),100);this.rootPopup&&this.rootPopup.hide(),this.rootPopup=o=this.popup(h)}e.forEach((t=>{var e=document.createElement("div"),s=t.label,r=t.disabled;t.separator?e.classList.add("tabulator-menu-separator"):(e.classList.add("tabulator-menu-item"),"function"==typeof s&&(s=s.call(this.table,i.getComponent())),s instanceof Node?e.appendChild(s):e.innerHTML=s,"function"==typeof r&&(r=r.call(this.table,i.getComponent())),r?(e.classList.add("tabulator-menu-item-disabled"),e.addEventListener("click",(t=>{t.stopPropagation()}))):t.menu&&t.menu.length?e.addEventListener("click",(s=>{s.stopPropagation(),this.loadMenu(s,i,t.menu,e,o)})):t.action&&e.addEventListener("click",(e=>{t.action(e,i.getComponent())})),t.menu&&t.menu.length&&e.classList.add("tabulator-menu-item-submenu")),h.appendChild(e)})),h.addEventListener("click",(()=>{this.rootPopup&&this.rootPopup.hide()})),o.show(s||t),o===this.rootPopup&&(this.rootPopup.hideOnBlur((()=>{this.rootPopup=null,this.currentComponent&&(this.dispatch("menu-closed",e,o),this.dispatchExternal("menuClosed",this.currentComponent.getComponent()),this.currentComponent=null)})),this.currentComponent=i,this.dispatch("menu-opened",e,o),this.dispatchExternal("menuOpened",i.getComponent()))}}},MoveColumnsModule:class extends H{static moduleName="moveColumn";constructor(t){super(t),this.placeholderElement=this.createPlaceholderElement(),this.hoverElement=!1,this.checkTimeout=!1,this.checkPeriod=250,this.moving=!1,this.toCol=!1,this.toColAfter=!1,this.startX=0,this.autoScrollMargin=40,this.autoScrollStep=5,this.autoScrollTimeout=!1,this.touchMove=!1,this.moveHover=this.moveHover.bind(this),this.endMove=this.endMove.bind(this),this.registerTableOption("movableColumns",!1)}createPlaceholderElement(){var t=document.createElement("div");return t.classList.add("tabulator-col"),t.classList.add("tabulator-col-placeholder"),t}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(t){var i,e=this,s={};t.modules.frozen||t.isGroup||t.isRowHeader||(i=t.getElement(),s.mousemove=function(s){t.parent===e.moving.parent&&((e.touchMove?s.touches[0].pageX:s.pageX)-N.elOffset(i).left+e.table.columnManager.contentsElement.scrollLeft>t.getWidth()/2?e.toCol===t&&e.toColAfter||(i.parentNode.insertBefore(e.placeholderElement,i.nextSibling),e.moveColumn(t,!0)):(e.toCol!==t||e.toColAfter)&&(i.parentNode.insertBefore(e.placeholderElement,i),e.moveColumn(t,!1)))}.bind(e),i.addEventListener("mousedown",(function(i){e.touchMove=!1,1===i.which&&(e.checkTimeout=setTimeout((function(){e.startMove(i,t)}),e.checkPeriod))})),i.addEventListener("mouseup",(function(t){1===t.which&&e.checkTimeout&&clearTimeout(e.checkTimeout)})),e.bindTouchEvents(t)),t.modules.moveColumn=s}bindTouchEvents(t){var i,e,s,r,o,a,h=t.getElement(),n=!1;h.addEventListener("touchstart",(h=>{this.checkTimeout=setTimeout((()=>{this.touchMove=!0,i=t.nextColumn(),s=i?i.getWidth()/2:0,e=t.prevColumn(),r=e?e.getWidth()/2:0,o=0,a=0,n=!1,this.startMove(h,t)}),this.checkPeriod)}),{passive:!0}),h.addEventListener("touchmove",(h=>{var l,u;this.moving&&(this.moveHover(h),n||(n=h.touches[0].pageX),(l=h.touches[0].pageX-n)>0?i&&l-o>s&&(u=i)!==t&&(n=h.touches[0].pageX,u.getElement().parentNode.insertBefore(this.placeholderElement,u.getElement().nextSibling),this.moveColumn(u,!0)):e&&-l-a>r&&(u=e)!==t&&(n=h.touches[0].pageX,u.getElement().parentNode.insertBefore(this.placeholderElement,u.getElement()),this.moveColumn(u,!1)),u&&(i=u.nextColumn(),o=s,s=i?i.getWidth()/2:0,e=u.prevColumn(),a=r,r=e?e.getWidth()/2:0))}),{passive:!0}),h.addEventListener("touchend",(t=>{this.checkTimeout&&clearTimeout(this.checkTimeout),this.moving&&this.endMove(t)}))}startMove(t,i){var e=i.getElement(),s=this.table.columnManager.getContentsElement(),r=this.table.columnManager.getHeadersElement();this.table.modules.selectRange&&this.table.modules.selectRange.columnSelection&&this.table.modules.selectRange.mousedown&&"column"===this.table.modules.selectRange.selecting||(this.moving=i,this.startX=(this.touchMove?t.touches[0].pageX:t.pageX)-N.elOffset(e).left,this.table.element.classList.add("tabulator-block-select"),this.placeholderElement.style.width=i.getWidth()+"px",this.placeholderElement.style.height=i.getHeight()+"px",e.parentNode.insertBefore(this.placeholderElement,e),e.parentNode.removeChild(e),this.hoverElement=e.cloneNode(!0),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(t),this.dispatch("column-moving",t,this.moving))}_bindMouseMove(){this.table.columnManager.columnsByIndex.forEach((function(t){t.modules.moveColumn.mousemove&&t.getElement().addEventListener("mousemove",t.modules.moveColumn.mousemove)}))}_unbindMouseMove(){this.table.columnManager.columnsByIndex.forEach((function(t){t.modules.moveColumn.mousemove&&t.getElement().removeEventListener("mousemove",t.modules.moveColumn.mousemove)}))}moveColumn(t,i){var e=this.moving.getCells();this.toCol=t,this.toColAfter=i,i?t.getCells().forEach((function(t,i){var s=t.getElement(!0);s.parentNode&&e[i]&&s.parentNode.insertBefore(e[i].getElement(),s.nextSibling)})):t.getCells().forEach((function(t,i){var s=t.getElement(!0);s.parentNode&&e[i]&&s.parentNode.insertBefore(e[i].getElement(),s)}))}endMove(t){(1===t.which||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=!1,this.toCol=!1,this.toColAfter=!1,this.touchMove||(document.body.removeEventListener("mousemove",this.moveHover),document.body.removeEventListener("mouseup",this.endMove)))}moveHover(t){var i,e=this.table.columnManager.getContentsElement(),s=e.scrollLeft,r=(this.touchMove?t.touches[0].pageX:t.pageX)-N.elOffset(e).left+s;this.hoverElement.style.left=r-this.startX+"px",r-s<this.autoScrollMargin&&(this.autoScrollTimeout||(this.autoScrollTimeout=setTimeout((()=>{i=Math.max(0,s-5),this.table.rowManager.getElement().scrollLeft=i,this.autoScrollTimeout=!1}),1))),s+e.clientWidth-r<this.autoScrollMargin&&(this.autoScrollTimeout||(this.autoScrollTimeout=setTimeout((()=>{i=Math.min(e.clientWidth,s+5),this.table.rowManager.getElement().scrollLeft=i,this.autoScrollTimeout=!1}),1)))}},MoveRowsModule:Ot,MutatorModule:_t,PageModule:At,PersistenceModule:Ut,PopupModule:class extends H{static moduleName="popup";constructor(t){super(t),this.columnSubscribers={},this.registerTableOption("rowContextPopup",!1),this.registerTableOption("rowClickPopup",!1),this.registerTableOption("rowDblClickPopup",!1),this.registerTableOption("groupContextPopup",!1),this.registerTableOption("groupClickPopup",!1),this.registerTableOption("groupDblClickPopup",!1),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(t,i,e){this.loadPopupEvent(i,null,t,e)}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(t){var i=t.definition;i.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"))),i.headerClickPopup&&!this.columnSubscribers.headerClickPopup&&(this.columnSubscribers.headerClickPopup=this.loadPopupTableColumnEvent.bind(this,"headerClickPopup"),this.subscribe("column-click",this.columnSubscribers.headerClickPopup)),i.headerDblClickPopup&&!this.columnSubscribers.headerDblClickPopup&&(this.columnSubscribers.headerDblClickPopup=this.loadPopupTableColumnEvent.bind(this,"headerDblClickPopup"),this.subscribe("column-dblclick",this.columnSubscribers.headerDblClickPopup)),i.headerPopup&&this.initializeColumnHeaderPopup(t),i.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"))),i.clickPopup&&!this.columnSubscribers.clickPopup&&(this.columnSubscribers.clickPopup=this.loadPopupTableCellEvent.bind(this,"clickPopup"),this.subscribe("cell-click",this.columnSubscribers.clickPopup)),i.dblClickPopup&&!this.columnSubscribers.dblClickPopup&&(this.columnSubscribers.dblClickPopup=this.loadPopupTableCellEvent.bind(this,"dblClickPopup"),this.subscribe("cell-click",this.columnSubscribers.dblClickPopup))}initializeColumnHeaderPopup(t){var i,e=t.definition.headerPopupIcon;(i=document.createElement("span")).classList.add("tabulator-header-popup-button"),e?("function"==typeof e&&(e=e(t.getComponent())),e instanceof HTMLElement?i.appendChild(e):i.innerHTML=e):i.innerHTML="⋮",i.addEventListener("click",(i=>{i.stopPropagation(),i.preventDefault(),this.loadPopupEvent(t.definition.headerPopup,i,t)})),t.titleElement.insertBefore(i,t.titleElement.firstChild)}loadPopupTableCellEvent(t,i,e){e._cell&&(e=e._cell),e.column.definition[t]&&this.loadPopupEvent(e.column.definition[t],i,e)}loadPopupTableColumnEvent(t,i,e){e._column&&(e=e._column),e.definition[t]&&this.loadPopupEvent(e.definition[t],i,e)}loadPopupEvent(t,i,e,s){var r;e._group?e=e._group:e._row&&(e=e._row),t="function"==typeof t?t.call(this.table,i,e.getComponent(),(function(t){r=t})):t,this.loadPopup(i,e,t,r,s)}loadPopup(t,i,e,s,r){var o,a,h=!(t instanceof MouseEvent);e instanceof HTMLElement?o=e:(o=document.createElement("div")).innerHTML=e,o.classList.add("tabulator-popup"),o.addEventListener("click",(t=>{t.stopPropagation()})),h||t.preventDefault(),a=this.popup(o),"function"==typeof s&&a.renderCallback(s),t?a.show(t):a.show(i.getElement(),r||"center"),a.hideOnBlur((()=>{this.dispatchExternal("popupClosed",i.getComponent())})),this.dispatchExternal("popupOpened",i.getComponent())}},PrintModule:class extends H{static moduleName="print";constructor(t){super(t),this.element=!1,this.manualBlock=!1,this.beforeprintEventHandler=null,this.afterprintEventHandler=null,this.registerTableOption("printAsHtml",!1),this.registerTableOption("printFormatter",!1),this.registerTableOption("printHeader",!1),this.registerTableOption("printFooter",!1),this.registerTableOption("printStyled",!0),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(t,i,e){var s,r,o=window.scrollX,a=window.scrollY,h=document.createElement("div"),n=document.createElement("div"),l=this.table.modules.export.generateTable(void 0!==e?e:this.table.options.printConfig,void 0!==i?i:this.table.options.printStyled,t||this.table.options.printRowRange,"print");this.manualBlock=!0,this.element=document.createElement("div"),this.element.classList.add("tabulator-print-fullscreen"),this.table.options.printHeader&&(h.classList.add("tabulator-print-header"),"string"==typeof(s="function"==typeof this.table.options.printHeader?this.table.options.printHeader.call(this.table):this.table.options.printHeader)?h.innerHTML=s:h.appendChild(s),this.element.appendChild(h)),this.element.appendChild(l),this.table.options.printFooter&&(n.classList.add("tabulator-print-footer"),"string"==typeof(r="function"==typeof this.table.options.printFooter?this.table.options.printFooter.call(this.table):this.table.options.printFooter)?n.innerHTML=r:n.appendChild(r),this.element.appendChild(n)),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(o,a),this.manualBlock=!1}},ReactiveDataModule:class extends H{static moduleName="reactiveData";constructor(t){super(t),this.data=!1,this.blocked=!1,this.origFuncs={},this.currentVersion=0,this.registerTableOption("reactiveData",!1)}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(t){var i,e=this;this.currentVersion++,i=this.currentVersion,this.unwatchData(),this.data=t,this.origFuncs.push=t.push,Object.defineProperty(this.data,"push",{enumerable:!1,configurable:!0,value:function(){var s,r=Array.from(arguments);return e.blocked||i!==e.currentVersion||(e.block("data-push"),r.forEach((t=>{e.table.rowManager.addRowActual(t,!1)})),s=e.origFuncs.push.apply(t,arguments),e.unblock("data-push")),s}}),this.origFuncs.unshift=t.unshift,Object.defineProperty(this.data,"unshift",{enumerable:!1,configurable:!0,value:function(){var s,r=Array.from(arguments);return e.blocked||i!==e.currentVersion||(e.block("data-unshift"),r.forEach((t=>{e.table.rowManager.addRowActual(t,!0)})),s=e.origFuncs.unshift.apply(t,arguments),e.unblock("data-unshift")),s}}),this.origFuncs.shift=t.shift,Object.defineProperty(this.data,"shift",{enumerable:!1,configurable:!0,value:function(){var s,r;return e.blocked||i!==e.currentVersion||(e.block("data-shift"),e.data.length&&(s=e.table.rowManager.getRowFromDataObject(e.data[0]))&&s.deleteActual(),r=e.origFuncs.shift.call(t),e.unblock("data-shift")),r}}),this.origFuncs.pop=t.pop,Object.defineProperty(this.data,"pop",{enumerable:!1,configurable:!0,value:function(){var s,r;return e.blocked||i!==e.currentVersion||(e.block("data-pop"),e.data.length&&(s=e.table.rowManager.getRowFromDataObject(e.data[e.data.length-1]))&&s.deleteActual(),r=e.origFuncs.pop.call(t),e.unblock("data-pop")),r}}),this.origFuncs.splice=t.splice,Object.defineProperty(this.data,"splice",{enumerable:!1,configurable:!0,value:function(){var s,r,o=Array.from(arguments),a=o[0]<0?t.length+o[0]:o[0],h=o[1],n=!!o[2]&&o.slice(2);if(!e.blocked&&i===e.currentVersion){if(e.block("data-splice"),n&&((s=!!t[a]&&e.table.rowManager.getRowFromDataObject(t[a]))?n.forEach((t=>{e.table.rowManager.addRowActual(t,!0,s,!0)})):(n=n.slice().reverse()).forEach((t=>{e.table.rowManager.addRowActual(t,!0,!1,!0)}))),0!==h){var l=t.slice(a,void 0===o[1]?o[1]:a+h);l.forEach(((t,i)=>{var s=e.table.rowManager.getRowFromDataObject(t);s&&s.deleteActual(i!==l.length-1)}))}(n||0!==h)&&e.table.rowManager.reRenderInPosition(),r=e.origFuncs.splice.apply(t,arguments),e.unblock("data-splice")}return r}})}unwatchData(){if(!1!==this.data)for(var t in this.origFuncs)Object.defineProperty(this.data,t,{enumerable:!0,configurable:!0,writable:!0,value:this.origFuncs.key})}watchRow(t){var i=t.getData();for(var e in i)this.watchKey(t,i,e);this.table.options.dataTree&&this.watchTreeChildren(t)}watchTreeChildren(t){var i=this,e=t.getData()[this.table.options.dataTreeChildField],s={};e&&(s.push=e.push,Object.defineProperty(e,"push",{enumerable:!1,configurable:!0,value:()=>{if(!i.blocked){i.block("tree-push");var r=s.push.apply(e,arguments);this.rebuildTree(t),i.unblock("tree-push")}return r}}),s.unshift=e.unshift,Object.defineProperty(e,"unshift",{enumerable:!1,configurable:!0,value:()=>{if(!i.blocked){i.block("tree-unshift");var r=s.unshift.apply(e,arguments);this.rebuildTree(t),i.unblock("tree-unshift")}return r}}),s.shift=e.shift,Object.defineProperty(e,"shift",{enumerable:!1,configurable:!0,value:()=>{if(!i.blocked){i.block("tree-shift");var r=s.shift.call(e);this.rebuildTree(t),i.unblock("tree-shift")}return r}}),s.pop=e.pop,Object.defineProperty(e,"pop",{enumerable:!1,configurable:!0,value:()=>{if(!i.blocked){i.block("tree-pop");var r=s.pop.call(e);this.rebuildTree(t),i.unblock("tree-pop")}return r}}),s.splice=e.splice,Object.defineProperty(e,"splice",{enumerable:!1,configurable:!0,value:()=>{if(!i.blocked){i.block("tree-splice");var r=s.splice.apply(e,arguments);this.rebuildTree(t),i.unblock("tree-splice")}return r}}))}rebuildTree(t){this.table.modules.dataTree.initializeRow(t),this.table.modules.dataTree.layoutRow(t),this.table.rowManager.refreshActiveData("tree",!1,!0)}watchKey(t,i,e){var s=this,r=Object.getOwnPropertyDescriptor(i,e),o=i[e],a=this.currentVersion;Object.defineProperty(i,e,{set:i=>{if(o=i,!s.blocked&&a===s.currentVersion){s.block("key");var h={};h[e]=i,t.updateData(h),s.unblock("key")}r.set&&r.set(i)},get:()=>(r.get&&r.get(),o)})}unwatchRow(t){var i=t.getData();for(var e in i)Object.defineProperty(i,e,{value:i[e]})}block(t){this.blocked||(this.blocked=t)}unblock(t){this.blocked===t&&(this.blocked=!1)}},ResizeColumnsModule:class extends H{static moduleName="resizeColumns";constructor(t){super(t),this.startColumn=!1,this.startX=!1,this.startWidth=!1,this.latestX=!1,this.handle=null,this.initialNextColumn=null,this.nextColumn=null,this.initialized=!1,this.registerColumnOption("resizable",!0),this.registerTableOption("resizableColumnFit",!1),this.registerTableOption("resizableColumnGuide",!1)}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=!0)}layoutCellHandles(t){"row"===t.row.type&&(this.deInitializeComponent(t),this.initializeColumn("cell",t,t.column,t.element))}layoutColumnHeader(t){t.definition.resizable&&(this.initializeEventWatchers(),this.deInitializeComponent(t),this.initializeColumn("header",t,t,t.element))}columnLayoutUpdated(t){var i=t.prevColumn();this.reinitializeColumn(t),i&&this.reinitializeColumn(i)}columnWidthUpdated(t){t.modules.frozen&&(this.table.modules.frozenColumns.leftColumns.includes(t)?this.table.modules.frozenColumns.leftColumns.forEach((t=>{this.reinitializeColumn(t)})):this.table.modules.frozenColumns.rightColumns.includes(t)&&this.table.modules.frozenColumns.rightColumns.forEach((t=>{this.reinitializeColumn(t)})))}frozenColumnOffset(t){var i=!1;return t.modules.frozen&&(i=t.modules.frozen.marginValue,"left"===t.modules.frozen.position?i+=t.getWidth()-3:i&&(i-=3)),!1!==i&&i+"px"}reinitializeColumn(t){var i=this.frozenColumnOffset(t);t.cells.forEach((e=>{e.modules.resize&&e.modules.resize.handleEl&&(i&&(e.modules.resize.handleEl.style[t.modules.frozen.position]=i,e.modules.resize.handleEl.style["z-index"]=11),e.element.after(e.modules.resize.handleEl))})),t.modules.resize&&t.modules.resize.handleEl&&(i&&(t.modules.resize.handleEl.style[t.modules.frozen.position]=i),t.element.after(t.modules.resize.handleEl))}initializeColumn(t,i,e,s){var r=this,o=e.definition.resizable,a={},h=e.getLastColumn();if("header"===t&&(a={variableHeight:"textarea"==e.definition.formatter||e.definition.variableHeight}),(!0===o||o==t)&&this._checkResizability(h)){var n=document.createElement("span");n.className="tabulator-col-resize-handle",n.addEventListener("click",(function(t){t.stopPropagation()}));var l=function(t){r.startColumn=e,r.initialNextColumn=r.nextColumn=h.nextColumn(),r._mouseDown(t,h,n)};n.addEventListener("mousedown",l),n.addEventListener("touchstart",l,{passive:!0}),n.addEventListener("dblclick",(t=>{var i=h.getWidth();t.stopPropagation(),h.reinitializeWidth(!0),i!==h.getWidth()&&(r.dispatch("column-resized",h),r.dispatchExternal("columnResized",h.getComponent()))})),e.modules.frozen&&(n.style.position="sticky",n.style[e.modules.frozen.position]=this.frozenColumnOffset(e)),a.handleEl=n,s.parentNode&&e.visible&&s.after(n)}i.modules.resize=a}deInitializeColumn(t){this.deInitializeComponent(t),t.cells.forEach((t=>{this.deInitializeComponent(t)}))}deInitializeComponent(t){var i;t.modules.resize&&(i=t.modules.resize.handleEl)&&i.parentElement&&i.parentElement.removeChild(i)}resizeHandle(t,i){t.modules.resize&&t.modules.resize.handleEl&&(t.modules.resize.handleEl.style.height=i)}resize(t,i){var e,s,r=void 0===t.clientX?t.touches[0].clientX:t.clientX,o=r-this.startX,a=r-this.latestX;if(this.latestX=r,this.table.rtl&&(o=-o,a=-a),e=i.width==i.minWidth||i.width==i.maxWidth,i.setWidth(this.startWidth+o),s=i.width==i.minWidth||i.width==i.maxWidth,a<0&&(this.nextColumn=this.initialNextColumn),this.table.options.resizableColumnFit&&this.nextColumn&&(!e||!s)){let t=this.nextColumn.getWidth();a>0&&t<=this.nextColumn.minWidth&&(this.nextColumn=this.nextColumn.nextColumn()),this.nextColumn&&this.nextColumn.setWidth(this.nextColumn.getWidth()-a)}this.table.columnManager.rerenderColumns(!0),!this.table.browserSlow&&i.modules.resize&&i.modules.resize.variableHeight&&i.checkCellHeights()}calcGuidePosition(t,i,e){var s=void 0===t.clientX?t.touches[0].clientX:t.clientX,r=e.getBoundingClientRect().x-this.table.element.getBoundingClientRect().x,o=this.table.element.getBoundingClientRect().x,a=i.element.getBoundingClientRect().left-o,h=Math.max(r+(s-this.startX),a+i.minWidth);return i.maxWidth&&(h=Math.min(h,a+i.maxWidth)),h}_checkResizability(t){return t.definition.resizable}_mouseDown(t,i,e){var s,r=this;function o(t){r.table.options.resizableColumnGuide?s.style.left=r.calcGuidePosition(t,i,e)+"px":r.resize(t,i)}function a(t){r.table.options.resizableColumnGuide&&(r.resize(t,i),s.remove()),r.startColumn.modules.edit&&(r.startColumn.modules.edit.blocked=!1),r.table.browserSlow&&i.modules.resize&&i.modules.resize.variableHeight&&i.checkCellHeights(),document.body.removeEventListener("mouseup",a),document.body.removeEventListener("mousemove",o),e.removeEventListener("touchmove",o),e.removeEventListener("touchend",a),r.table.element.classList.remove("tabulator-block-select"),r.startWidth!==i.getWidth()&&(r.table.columnManager.verticalAlignHeaders(),r.dispatch("column-resized",i),r.dispatchExternal("columnResized",i.getComponent()))}this.dispatchExternal("columnResizing",i.getComponent()),r.table.options.resizableColumnGuide&&((s=document.createElement("span")).classList.add("tabulator-col-resize-guide"),r.table.element.appendChild(s),setTimeout((()=>{s.style.left=r.calcGuidePosition(t,i,e)+"px"}))),r.table.element.classList.add("tabulator-block-select"),t.stopPropagation(),r.startColumn.modules.edit&&(r.startColumn.modules.edit.blocked=!0),r.startX=void 0===t.clientX?t.touches[0].clientX:t.clientX,r.latestX=r.startX,r.startWidth=i.getWidth(),document.body.addEventListener("mousemove",o),document.body.addEventListener("mouseup",a),e.addEventListener("touchmove",o,{passive:!0}),e.addEventListener("touchend",a)}},ResizeRowsModule:class extends H{static moduleName="resizeRows";constructor(t){super(t),this.startColumn=!1,this.startY=!1,this.startHeight=!1,this.handle=null,this.prevHandle=null,this.registerTableOption("resizableRows",!1),this.registerTableOption("resizableRowGuide",!1)}initialize(){this.table.options.resizableRows&&this.subscribe("row-layout-after",this.initializeRow.bind(this))}initializeRow(t){var i=this,e=t.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(t){t.stopPropagation()}));var o=function(e){i.startRow=t,i._mouseDown(e,t,s)};s.addEventListener("mousedown",o),s.addEventListener("touchstart",o,{passive:!0}),r.addEventListener("click",(function(t){t.stopPropagation()}));var a=function(e){var s=i.table.rowManager.prevDisplayRow(t);s&&(i.startRow=s,i._mouseDown(e,s,r))};r.addEventListener("mousedown",a),r.addEventListener("touchstart",a,{passive:!0}),e.appendChild(s),e.appendChild(r)}resize(t,i){i.setHeight(this.startHeight+((void 0===t.screenY?t.touches[0].screenY:t.screenY)-this.startY))}calcGuidePosition(t,i,e){var s=void 0===t.screenY?t.touches[0].screenY:t.screenY,r=e.getBoundingClientRect().y-this.table.element.getBoundingClientRect().y,o=this.table.element.getBoundingClientRect().y,a=i.element.getBoundingClientRect().top-o;return Math.max(r+(s-this.startY),a)}_mouseDown(t,i,e){var s,r=this;function o(t){r.table.options.resizableRowGuide?s.style.top=r.calcGuidePosition(t,i,e)+"px":r.resize(t,i)}function a(t){r.table.options.resizableRowGuide&&(r.resize(t,i),s.remove()),document.body.removeEventListener("mouseup",o),document.body.removeEventListener("mousemove",o),e.removeEventListener("touchmove",o),e.removeEventListener("touchend",a),r.table.element.classList.remove("tabulator-block-select"),r.dispatchExternal("rowResized",i.getComponent())}r.dispatchExternal("rowResizing",i.getComponent()),r.table.options.resizableRowGuide&&((s=document.createElement("span")).classList.add("tabulator-row-resize-guide"),r.table.element.appendChild(s),setTimeout((()=>{s.style.top=r.calcGuidePosition(t,i,e)+"px"}))),r.table.element.classList.add("tabulator-block-select"),t.stopPropagation(),r.startY=void 0===t.screenY?t.touches[0].screenY:t.screenY,r.startHeight=i.getHeight(),document.body.addEventListener("mousemove",o),document.body.addEventListener("mouseup",a),e.addEventListener("touchmove",o,{passive:!0}),e.addEventListener("touchend",a)}},ResizeTableModule:class extends H{static moduleName="resizeTable";constructor(t){super(t),this.binding=!1,this.visibilityObserver=!1,this.resizeObserver=!1,this.containerObserver=!1,this.tableHeight=0,this.tableWidth=0,this.containerHeight=0,this.containerWidth=0,this.autoResize=!1,this.visible=!1,this.initialized=!1,this.initialRedraw=!1,this.registerTableOption("autoResize",!0)}initialize(){if(this.table.options.autoResize){var t,i=this.table;this.tableHeight=i.element.clientHeight,this.tableWidth=i.element.clientWidth,i.element.parentNode&&(this.containerHeight=i.element.parentNode.clientHeight,this.containerWidth=i.element.parentNode.clientWidth),"undefined"!=typeof IntersectionObserver&&"undefined"!=typeof ResizeObserver&&"virtual"===i.rowManager.getRenderMode()?(this.initializeVisibilityObserver(),this.autoResize=!0,this.resizeObserver=new ResizeObserver((t=>{if(!i.browserMobile||i.browserMobile&&(!i.modules.edit||i.modules.edit&&!i.modules.edit.currentCell)){var e=Math.floor(t[0].contentRect.height),s=Math.floor(t[0].contentRect.width);this.tableHeight==e&&this.tableWidth==s||(this.tableHeight=e,this.tableWidth=s,i.element.parentNode&&(this.containerHeight=i.element.parentNode.clientHeight,this.containerWidth=i.element.parentNode.clientWidth),this.redrawTable())}})),this.resizeObserver.observe(i.element),t=window.getComputedStyle(i.element),this.table.element.parentNode&&!this.table.rowManager.fixedHeight&&(t.getPropertyValue("max-height")||t.getPropertyValue("min-height"))&&(this.containerObserver=new ResizeObserver((t=>{if(!i.browserMobile||i.browserMobile&&(!i.modules.edit||i.modules.edit&&!i.modules.edit.currentCell)){var e=Math.floor(t[0].contentRect.height),s=Math.floor(t[0].contentRect.width);this.containerHeight==e&&this.containerWidth==s||(this.containerHeight=e,this.containerWidth=s,this.tableHeight=i.element.clientHeight,this.tableWidth=i.element.clientWidth),this.redrawTable()}})),this.containerObserver.observe(this.table.element.parentNode)),this.subscribe("table-resize",this.tableResized.bind(this))):(this.binding=function(){(!i.browserMobile||i.browserMobile&&(!i.modules.edit||i.modules.edit&&!i.modules.edit.currentCell))&&(i.columnManager.rerenderColumns(!0),i.redraw())},window.addEventListener("resize",this.binding)),this.subscribe("table-destroy",this.clearBindings.bind(this))}}initializeVisibilityObserver(){this.visibilityObserver=new IntersectionObserver((t=>{this.visible=t[0].isIntersecting,this.initialized?this.visible&&(this.redrawTable(this.initialRedraw),this.initialRedraw=!1):(this.initialized=!0,this.initialRedraw=!this.visible)})),this.visibilityObserver.observe(this.table.element)}redrawTable(t){this.initialized&&this.visible&&(this.table.columnManager.rerenderColumns(!0),this.table.redraw(t))}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)}},ResponsiveLayoutModule:class extends H{static moduleName="responsiveLayout";static moduleExtensions=Bt;constructor(t){super(t),this.columns=[],this.hiddenColumns=[],this.mode="",this.index=0,this.collapseFormatter=[],this.collapseStartOpen=!0,this.collapseHandleColumn=!1,this.registerTableOption("responsiveLayout",!1),this.registerTableOption("responsiveLayoutCollapseStartOpen",!0),this.registerTableOption("responsiveLayoutCollapseUseFormatters",!0),this.registerTableOption("responsiveLayoutCollapseFormatter",!1),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)),"collapse"===this.table.options.responsiveLayout&&(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(t){-1===["fitColumns","fitDataStretch"].indexOf(this.layoutMode())&&(t||this.update())}initializeResponsivity(){var t=[];this.mode=this.table.options.responsiveLayout,this.collapseFormatter=this.table.options.responsiveLayoutCollapseFormatter||this.formatCollapsedData,this.collapseStartOpen=this.table.options.responsiveLayoutCollapseStartOpen,this.hiddenColumns=[],this.collapseFormatter&&(this.collapseFormatter=this.collapseFormatter.bind(this.table)),this.table.columnManager.columnsByIndex.forEach(((i,e)=>{i.modules.responsive&&i.modules.responsive.order&&i.modules.responsive.visible&&(i.modules.responsive.index=e,t.push(i),i.visible||"collapse"!==this.mode||this.hiddenColumns.push(i))})),t=(t=t.reverse()).sort(((t,i)=>i.modules.responsive.order-t.modules.responsive.order||i.modules.responsive.index-t.modules.responsive.index)),this.columns=t,"collapse"===this.mode&&this.generateCollapsedContent();for(let t of this.table.columnManager.columnsByIndex)if("responsiveCollapse"==t.definition.formatter){this.collapseHandleColumn=t;break}this.collapseHandleColumn&&(this.hiddenColumns.length?this.collapseHandleColumn.show():this.collapseHandleColumn.hide())}initializeColumn(t){var i=t.getDefinition();t.modules.responsive={order:void 0===i.responsive?1:i.responsive,visible:!1!==i.visible}}initializeRow(t){var i;"calc"!==t.type&&((i=document.createElement("div")).classList.add("tabulator-responsive-collapse"),t.modules.responsiveLayout={element:i,open:this.collapseStartOpen},this.collapseStartOpen||(i.style.display="none"))}layoutRow(t){var i=t.getElement();t.modules.responsiveLayout&&(i.appendChild(t.modules.responsiveLayout.element),this.generateCollapsedRowContent(t))}updateColumnVisibility(t,i){!i&&t.modules.responsive&&(t.modules.responsive.visible=t.visible,this.initializeResponsivity())}hideColumn(t){var i=this.hiddenColumns.length;t.hide(!1,!0),"collapse"===this.mode&&(this.hiddenColumns.unshift(t),this.generateCollapsedContent(),this.collapseHandleColumn&&!i&&this.collapseHandleColumn.show())}showColumn(t){var i;t.show(!1,!0),t.setWidth(t.getWidth()),"collapse"===this.mode&&((i=this.hiddenColumns.indexOf(t))>-1&&this.hiddenColumns.splice(i,1),this.generateCollapsedContent(),this.collapseHandleColumn&&!this.hiddenColumns.length&&this.collapseHandleColumn.hide())}update(){for(var t=!0;t;){let i="fitColumns"==this.table.modules.layout.getMode()?this.table.columnManager.getFlexBaseWidth():this.table.columnManager.getWidth(),e=(this.table.options.headerVisible?this.table.columnManager.element.clientWidth:this.table.element.clientWidth)-i;if(e<0){let i=this.columns[this.index];i?(this.hideColumn(i),this.index++):t=!1}else{let i=this.columns[this.index-1];i&&e>0&&e>=i.getWidth()?(this.showColumn(i),this.index--):t=!1}this.table.rowManager.activeRowsCount||this.table.rowManager.renderEmptyScroll()}}generateCollapsedContent(){this.table.rowManager.getDisplayRows().forEach((t=>{this.generateCollapsedRowContent(t)}))}generateCollapsedRowContent(t){var i,e;if(t.modules.responsiveLayout){for(i=t.modules.responsiveLayout.element;i.firstChild;)i.removeChild(i.firstChild);(e=this.collapseFormatter(this.generateCollapsedRowData(t)))&&i.appendChild(e),t.calcHeight(!0)}}generateCollapsedRowData(t){var i,e=t.getData(),s=[];return this.hiddenColumns.forEach((r=>{var o=r.getFieldValue(e);if(r.definition.title&&r.field)if(r.modules.format&&this.table.options.responsiveLayoutCollapseUseFormatters){function a(t){t()}i={value:!1,data:{},getValue:function(){return o},getData:function(){return e},getType:function(){return"cell"},getElement:function(){return document.createElement("div")},getRow:function(){return t.getComponent()},getColumn:function(){return r.getComponent()},getTable:()=>this.table},s.push({field:r.field,title:r.definition.title,value:r.modules.format.formatter.call(this.table.modules.format,i,r.modules.format.params,a)})}else s.push({field:r.field,title:r.definition.title,value:o})})),s}formatCollapsedData(t){var i=document.createElement("table");return t.forEach((t=>{var e,s=document.createElement("tr"),r=document.createElement("td"),o=document.createElement("td"),a=document.createElement("strong");r.appendChild(a),this.modules.localize.bind("columns|"+t.field,(function(i){a.innerHTML=i||t.title})),t.value instanceof Node?((e=document.createElement("div")).appendChild(t.value),o.appendChild(e)):o.innerHTML=t.value,s.appendChild(r),s.appendChild(o),i.appendChild(s)})),Object.keys(t).length?i:""}},SelectRangeModule:class extends H{static moduleName="selectRange";static moduleInitOrder=1;static moduleExtensions=qt;constructor(t){super(t),this.selecting="cell",this.mousedown=!1,this.ranges=[],this.overlay=null,this.rowHeader=null,this.layoutChangeTimeout=null,this.columnSelection=!1,this.rowSelection=!1,this.maxRanges=0,this.activeRange=!1,this.blockKeydown=!1,this.keyDownEvent=this._handleKeyDown.bind(this),this.mouseUpEvent=this._handleMouseUp.bind(this),this.registerTableOption("selectableRange",!1),this.registerTableOption("selectableRangeColumns",!1),this.registerTableOption("selectableRangeRows",!1),this.registerTableOption("selectableRangeClearCells",!1),this.registerTableOption("selectableRangeClearCellsValue",void 0),this.registerTableOption("selectableRangeAutoFocus",!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")?console.warn("SelectRange functionality cannot be used in conjunction with row selection"):(this.maxRanges=this.options("selectableRange"),this.initializeTable(),this.initializeWatchers()),this.options("columns").findIndex((t=>t.frozen))>0&&console.warn("Having frozen column in arbitrary position with selectRange option may result in unpredictable behavior."),this.options("columns").filter((t=>t.frozen))>1&&console.warn("Having multiple frozen columns with selectRange option may result in unpredictable behavior."))}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-moving",this.handleColumnMoving.bind(this)),this.subscribe("column-moved",this.handleColumnMoved.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(t){this.columnSelection&&t.definition.headerSort&&"icon"!==this.options("headerSortClickElement")&&console.warn("Using column headerSort with selectableRangeColumns option may result in unpredictable behavior. Consider using headerSortClickElement: 'icon'.")}updateHeaderColumn(){var t;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&&console.warn("Using column headerSort with selectableRangeRows option may result in unpredictable behavior"),this.rowHeader.definition.editor&&console.warn("Using column editor with selectableRangeRows option may result in unpredictable behavior"))),this.table.modules.frozenColumns&&this.table.modules.frozenColumns.active&&((t=this.table.modules.frozenColumns.getFrozenColumns()).length>1||1===t.length&&t[0]!==this.rowHeader)&&console.warn("Using frozen columns that are not the range header in combination with the selectRange option may result in unpredictable behavior")}getRanges(){return this.ranges.map((t=>t.getComponent()))}getRangesData(){return this.ranges.map((t=>t.getData()))}addRangeFromComponent(t,i){return this.addRange(t=t?t._cell:null,i=i?i._cell:null)}cellGetRanges(t){return this.ranges.filter(t.column===this.rowHeader?i=>i.occupiesRow(t.row):i=>i.occupies(t)).map((t=>t.getComponent()))}rowGetRanges(t){return this.ranges.filter((i=>i.occupiesRow(t))).map((t=>t.getComponent()))}colGetRanges(t){return this.ranges.filter((i=>i.occupiesColumn(t))).map((t=>t.getComponent()))}_handleMouseUp(t){this.mousedown=!1,document.removeEventListener("mouseup",this.mouseUpEvent)}_handleKeyDown(t){if(!this.blockKeydown&&(!this.table.modules.edit||this.table.modules.edit&&!this.table.modules.edit.currentCell)){if("Enter"===t.key){if(this.table.modules.edit&&this.table.modules.edit.currentCell)return;this.table.modules.edit.editCell(this.getActiveCell()),t.preventDefault()}"Backspace"!==t.key&&"Delete"!==t.key||!this.options("selectableRangeClearCells")||this.activeRange&&this.activeRange.clearValues()}}initializeFocus(t){var i;this.restoreFocus();try{document.selection?((i=document.body.createTextRange()).moveToElementText(t.getElement()),i.select()):window.getSelection&&((i=document.createRange()).selectNode(t.getElement()),window.getSelection().removeAllRanges(),window.getSelection().addRange(i))}catch(t){}}restoreFocus(t){return this.table.rowManager.element.focus(),!0}handleColumnResized(t){"column"!==this.selecting&&"all"!==this.selecting||this.ranges.some((i=>i.occupiesColumn(t)))&&this.ranges.forEach((i=>{i.getColumns(!0).forEach((i=>{i!==t&&i.setWidth(t.width)}))}))}handleColumnMoving(t,i){this.resetRanges().setBounds(i),this.overlay.style.visibility="hidden"}handleColumnMoved(t,i,e){this.activeRange.setBounds(t),this.layoutElement()}handleColumnMouseDown(t,i){(2!==t.button||"column"!==this.selecting&&"all"!==this.selecting||!this.activeRange.occupiesColumn(i))&&(this.table.options.movableColumns&&"column"===this.selecting&&this.activeRange.occupiesColumn(i)||(this.mousedown=!0,document.addEventListener("mouseup",this.mouseUpEvent),this.newSelection(t,i)))}handleColumnMouseMove(t,i){i!==this.rowHeader&&this.mousedown&&"all"!==this.selecting&&this.activeRange.setBounds(!1,i,!0)}renderCell(t){var i=t.getElement(),e=this.ranges.findIndex((i=>i.occupies(t)));i.classList.toggle("tabulator-range-selected",-1!==e),i.classList.toggle("tabulator-range-only-cell-selected",1===this.ranges.length&&this.ranges[0].atTopLeft(t)&&this.ranges[0].atBottomRight(t)),i.dataset.range=e}handleCellMouseDown(t,i){2===t.button&&(this.activeRange.occupies(i)||("row"===this.selecting||"all"===this.selecting)&&this.activeRange.occupiesRow(i.row))||(this.mousedown=!0,document.addEventListener("mouseup",this.mouseUpEvent),this.newSelection(t,i))}handleCellMouseMove(t,i){this.mousedown&&"all"!==this.selecting&&this.activeRange.setBounds(!1,i,!0)}handleCellClick(t,i){this.initializeFocus(i)}handleEditingCell(t){this.activeRange&&this.activeRange.setBounds(t)}finishEditingCell(){this.blockKeydown=!0,this.table.rowManager.element.focus(),setTimeout((()=>{this.blockKeydown=!1}),10)}keyNavigate(t,i){this.navigate(!1,!1,t),i.preventDefault()}keyNavigateRange(t,i,e,s){this.navigate(e,s,i),t.preventDefault()}navigate(t,i,e){var s,r,o,a,h,n,l,u,c,d,b;if(this.table.modules.edit&&this.table.modules.edit.currentCell)return!1;if(this.ranges.length>1&&(this.ranges=this.ranges.filter((t=>t===this.activeRange?(t.setEnd(t.start.row,t.start.col),!0):(t.destroy(),!1)))),o={top:(s=this.activeRange).top,bottom:s.bottom,left:s.left,right:s.right},a=(r=i?s.end:s.start).row,h=r.col,t)switch(e){case"left":h=this.findJumpCellLeft(s.start.row,r.col);break;case"right":h=this.findJumpCellRight(s.start.row,r.col);break;case"up":a=this.findJumpCellUp(r.row,s.start.col);break;case"down":a=this.findJumpCellDown(r.row,s.start.col)}else{if(i&&("row"===this.selecting&&("left"===e||"right"===e)||"column"===this.selecting&&("up"===e||"down"===e)))return;switch(e){case"left":h=Math.max(h-1,0);break;case"right":h=Math.min(h+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)}}return this.rowHeader&&0===h&&(h=1),i||s.setStart(a,h),s.setEnd(a,h),i||(this.selecting="cell"),o.top!==s.top||o.bottom!==s.bottom||o.left!==s.left||o.right!==s.right?(n=this.getRowByRangePos(s.end.row),l=this.getColumnByRangePos(s.end.col),u=n.getElement().getBoundingClientRect(),d=l.getElement().getBoundingClientRect(),c=this.table.rowManager.getElement().getBoundingClientRect(),b=this.table.columnManager.getElement().getBoundingClientRect(),u.top>=c.top&&u.bottom<=c.bottom||(n.getElement().parentNode&&l.getElement().parentNode?this.autoScroll(s,n.getElement(),l.getElement()):n.getComponent().scrollTo(void 0,!1)),d.left>=b.left+this.getRowHeaderWidth()&&d.right<=b.right||(n.getElement().parentNode&&l.getElement().parentNode?this.autoScroll(s,n.getElement(),l.getElement()):l.getComponent().scrollTo(void 0,!1)),this.layoutElement(),!0):void 0}rangeRemoved(t){this.ranges=this.ranges.filter((i=>i!==t)),this.activeRange===t&&(this.ranges.length?this.activeRange=this.ranges[this.ranges.length-1]:this.addRange()),this.layoutElement()}findJumpRow(t,i,e,s,r){return e&&(i=i.reverse()),this.findJumpItem(s,r,i,(function(i){return i.getData()[t.getField()]}))}findJumpCol(t,i,e,s,r){return e&&(i=i.reverse()),this.findJumpItem(s,r,i,(function(i){return t.getData()[i.getField()]}))}findJumpItem(t,i,e,s){var r;for(let o of e){let e=s(o);if(t){if(r=o,e)break}else if(i){if(r=o,e)break}else{if(!e)break;r=o}}return r}findJumpCellLeft(t,i){var e=this.getRowByRangePos(t),s=this.getTableColumns(),r=this.isEmpty(e.getData()[s[i].getField()]),o=!!s[i-1]&&this.isEmpty(e.getData()[s[i-1].getField()]),a=s.slice(this.rowHeader?1:0,i),h=this.findJumpCol(e,a,!0,r,o);return h?h.getPosition()-1:i}findJumpCellRight(t,i){var e=this.getRowByRangePos(t),s=this.getTableColumns(),r=this.isEmpty(e.getData()[s[i].getField()]),o=!!s[i+1]&&this.isEmpty(e.getData()[s[i+1].getField()]),a=this.findJumpCol(e,s.slice(i+1,s.length),!1,r,o);return a?a.getPosition()-1:i}findJumpCellUp(t,i){var e=this.getColumnByRangePos(i),s=this.getTableRows(),r=this.isEmpty(s[t].getData()[e.getField()]),o=!!s[t-1]&&this.isEmpty(s[t-1].getData()[e.getField()]),a=this.findJumpRow(e,s.slice(0,t),!0,r,o);return a?a.position-1:t}findJumpCellDown(t,i){var e=this.getColumnByRangePos(i),s=this.getTableRows(),r=this.isEmpty(s[t].getData()[e.getField()]),o=!!s[t+1]&&this.isEmpty(s[t+1].getData()[e.getField()]),a=this.findJumpRow(e,s.slice(t+1,s.length),!1,r,o);return a?a.position-1:t}newSelection(t,i){var e;if("column"===i.type){if(!this.columnSelection)return;if(i===this.rowHeader){e=this.resetRanges(),this.selecting="all";var s,r=this.getCell(-1,-1);return s=this.getCell(0,this.rowHeader?1:0),void e.setBounds(s,r)}this.selecting="column"}else this.selecting=i.column===this.rowHeader?"row":"cell";t.shiftKey?this.activeRange.setBounds(!1,i):t.ctrlKey?this.addRange().setBounds(i):this.resetRanges().setBounds(i)}autoScroll(t,i,e){var s,r,o,a=this.table.rowManager.element;void 0===i&&(i=this.getRowByRangePos(t.end.row).getElement()),void 0===e&&(e=this.getColumnByRangePos(t.end.col).getElement()),s={left:e.offsetLeft,right:e.offsetLeft+e.offsetWidth,top:i.offsetTop,bottom:i.offsetTop+i.offsetHeight},o=(r={left:a.scrollLeft+this.getRowHeaderWidth(),right:Math.ceil(a.scrollLeft+a.clientWidth),top:a.scrollTop,bottom:a.scrollTop+a.offsetHeight-this.table.rowManager.scrollbarWidth}).top<s.top&&s.top<r.bottom&&r.top<s.bottom&&s.bottom<r.bottom,r.left<s.left&&s.left<r.right&&r.left<s.right&&s.right<r.right||(s.left<r.left?a.scrollLeft=s.left-this.getRowHeaderWidth():s.right>r.right&&(a.scrollLeft=Math.min(s.right-a.clientWidth,s.left-this.getRowHeaderWidth()))),o||(s.top<r.top?a.scrollTop=s.top:s.bottom>r.bottom&&(a.scrollTop=s.bottom-a.clientHeight))}layoutChange(){this.overlay.style.visibility="hidden",clearTimeout(this.layoutChangeTimeout),this.layoutChangeTimeout=setTimeout(this.layoutRanges.bind(this),200)}redraw(t){t&&(this.selecting="cell",this.resetRanges(),this.layoutElement())}layoutElement(t){(t?this.table.rowManager.getVisibleRows(!0):this.table.rowManager.getRows()).forEach((t=>{"row"===t.type&&(this.layoutRow(t),t.cells.forEach((t=>this.renderCell(t))))})),this.getTableColumns().forEach((t=>{this.layoutColumn(t)})),this.layoutRanges()}layoutRow(t){var i=t.getElement(),e=!1,s=this.ranges.some((i=>i.occupiesRow(t)));"row"===this.selecting?e=s:"all"===this.selecting&&(e=!0),i.classList.toggle("tabulator-range-selected",e),i.classList.toggle("tabulator-range-highlight",s)}layoutColumn(t){var i=t.getElement(),e=!1,s=this.ranges.some((i=>i.occupiesColumn(t)));"column"===this.selecting?e=s:"all"===this.selecting&&(e=!0),i.classList.toggle("tabulator-range-selected",e),i.classList.toggle("tabulator-range-highlight",s)}layoutRanges(){var t,i,e;this.table.initialized&&(t=this.getActiveCell())&&(i=t.getElement(),e=t.row.getElement(),this.table.rtl?this.activeRangeCellElement.style.right=e.offsetWidth-i.offsetLeft-i.offsetWidth+"px":this.activeRangeCellElement.style.left=e.offsetLeft+i.offsetLeft+"px",this.activeRangeCellElement.style.top=e.offsetTop+"px",this.activeRangeCellElement.style.width=i.offsetWidth+"px",this.activeRangeCellElement.style.height=e.offsetHeight+"px",this.ranges.forEach((t=>t.layout())),this.overlay.style.visibility="visible")}getCell(t,i){var e;return i<0&&(i=this.getTableColumns().length+i)<0?null:(t<0&&(t=this.getTableRows().length+t),(e=this.table.rowManager.getRowFromPosition(t+1))?e.getCells(!1,!0).filter((t=>t.column.visible))[i]:null)}getActiveCell(){return this.getCell(this.activeRange.start.row,this.activeRange.start.col)}getRowByRangePos(t){return this.getTableRows()[t]}getColumnByRangePos(t){return this.getTableColumns()[t]}getTableRows(){return this.table.rowManager.getDisplayRows().filter((t=>"row"===t.type))}getTableColumns(){return this.table.columnManager.getVisibleColumnsByIndex()}addRange(t,i){var e;return!0!==this.maxRanges&&this.ranges.length>=this.maxRanges&&this.ranges.shift().destroy(),e=new Jt(this.table,this,t,i),this.activeRange=e,this.ranges.push(e),this.rangeContainer.appendChild(e.element),e}resetRanges(){var t,i,e;return this.ranges.forEach((t=>t.destroy())),this.ranges=[],t=this.addRange(),this.table.rowManager.activeRows.length&&(e=this.table.rowManager.activeRows[0].cells.filter((t=>t.column.visible)),(i=e[this.rowHeader?1:0])&&(t.setBounds(i),this.options("selectableRangeAutoFocus")&&this.initializeFocus(i))),t}tableDestroyed(){document.removeEventListener("mouseup",this.mouseUpEvent),this.table.rowManager.element.removeEventListener("keydown",this.keyDownEvent)}selectedRows(t){return t?this.activeRange.getRows().map((t=>t.getComponent())):this.activeRange.getRows()}selectedColumns(t){return t?this.activeRange.getColumns().map((t=>t.getComponent())):this.activeRange.getColumns()}getRowHeaderWidth(){return this.rowHeader?this.rowHeader.getElement().offsetWidth:0}isEmpty(t){return null==t||""===t}},SelectRowModule:class extends H{static moduleName="selectRow";static moduleExtensions=Gt;constructor(t){super(t),this.selecting=!1,this.lastClickedRow=!1,this.selectPrev=[],this.selectedRows=[],this.headerCheckboxElement=null,this.registerTableOption("selectableRows","highlight"),this.registerTableOption("selectableRowsRangeMode","drag"),this.registerTableOption("selectableRowsRollingSelection",!0),this.registerTableOption("selectableRowsPersistence",!0),this.registerTableOption("selectableRowsCheck",(function(){return!0})),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(),"highlight"===this.table.options.selectableRows&&this.table.options.selectableRange&&(this.table.options.selectableRows=!1),!1!==this.table.options.selectableRows&&(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(){}rowRetrieve(t,i){return"selected"===t?this.selectedRows:i}rowDeleted(t){this._deselectRow(t,!0)}clearSelectionData(t){var i=this.selectedRows.length;this.selecting=!1,this.lastClickedRow=!1,this.selectPrev=[],this.selectedRows=[],i&&!0!==t&&this._rowSelectionChanged()}initializeRow(t){var i=this,e=i.checkRowSelectability(t),s=t.getElement(),r=function(){setTimeout((function(){i.selecting=!1}),50),document.body.removeEventListener("mouseup",r)};t.modules.select={selected:!1},s.classList.toggle("tabulator-selectable",e),s.classList.toggle("tabulator-unselectable",!e),i.checkRowSelectability(t)&&i.table.options.selectableRows&&"highlight"!=i.table.options.selectableRows&&("click"===i.table.options.selectableRowsRangeMode?s.addEventListener("click",this.handleComplexRowClick.bind(this,t)):(s.addEventListener("click",(function(){i.table.modExists("edit")&&i.table.modules.edit.getCurrentCell()||i.table._clearSelection(),i.selecting||i.toggleRow(t)})),s.addEventListener("mousedown",(function(e){if(e.shiftKey)return i.table._clearSelection(),i.selecting=!0,i.selectPrev=[],document.body.addEventListener("mouseup",r),document.body.addEventListener("keyup",r),i.toggleRow(t),!1})),s.addEventListener("mouseenter",(function(){i.selecting&&(i.table._clearSelection(),i.toggleRow(t),i.selectPrev[1]==t&&i.toggleRow(i.selectPrev[0]))})),s.addEventListener("mouseout",(function(){i.selecting&&(i.table._clearSelection(),i.selectPrev.unshift(t))}))))}handleComplexRowClick(t,i){if(i.shiftKey){this.table._clearSelection(),this.lastClickedRow=this.lastClickedRow||t;var e=this.table.rowManager.getDisplayRowIndex(this.lastClickedRow),s=this.table.rowManager.getDisplayRowIndex(t),r=e<=s?e:s,o=e>=s?e:s,a=this.table.rowManager.getDisplayRows().slice(0).splice(r,o-r+1);i.ctrlKey||i.metaKey?(a.forEach((i=>{i!==this.lastClickedRow&&(!0===this.table.options.selectableRows||this.isRowSelected(t)||this.selectedRows.length<this.table.options.selectableRows)&&this.toggleRow(i)})),this.lastClickedRow=t):(this.deselectRows(void 0,!0),!0!==this.table.options.selectableRows&&a.length>this.table.options.selectableRows&&(a=a.slice(0,this.table.options.selectableRows)),this.selectRows(a)),this.table._clearSelection()}else i.ctrlKey||i.metaKey?(this.toggleRow(t),this.lastClickedRow=t):(this.deselectRows(void 0,!0),this.selectRows(t),this.lastClickedRow=t)}checkRowSelectability(t){return!(!t||"row"!==t.type)&&this.table.options.selectableRowsCheck.call(this.table,t.getComponent())}toggleRow(t){this.checkRowSelectability(t)&&(t.modules.select&&t.modules.select.selected?this._deselectRow(t):this._selectRow(t))}selectRows(t){var i,e,s=[];switch(typeof t){case"undefined":i=this.table.rowManager.rows;break;case"number":i=this.table.rowManager.findRow(t);break;case"string":(i=this.table.rowManager.findRow(t))||(i=this.table.rowManager.getRows(t));break;default:i=t}Array.isArray(i)?i.length&&(i.forEach((t=>{(e=this._selectRow(t,!0,!0))&&s.push(e)})),this._rowSelectionChanged(!1,s)):i&&this._selectRow(i,!1,!0)}_selectRow(t,i,e){if(!isNaN(this.table.options.selectableRows)&&!0!==this.table.options.selectableRows&&!e&&this.selectedRows.length>=this.table.options.selectableRows){if(!this.table.options.selectableRowsRollingSelection)return!1;this._deselectRow(this.selectedRows[0])}var s=this.table.rowManager.findRow(t);if(s){if(-1==this.selectedRows.indexOf(s))return s.getElement().classList.add("tabulator-selected"),s.modules.select||(s.modules.select={}),s.modules.select.selected=!0,s.modules.select.checkboxEl&&(s.modules.select.checkboxEl.checked=!0),this.selectedRows.push(s),this.table.options.dataTreeSelectPropagate&&this.childRowSelection(s,!0),this.dispatchExternal("rowSelected",s.getComponent()),this._rowSelectionChanged(i,s),s}else i||console.warn("Selection Error - No such row found, ignoring selection:"+t)}isRowSelected(t){return-1!==this.selectedRows.indexOf(t)}deselectRows(t,i){var e,s,r=[];switch(typeof t){case"undefined":e=Object.assign([],this.selectedRows);break;case"number":e=this.table.rowManager.findRow(t);break;case"string":(e=this.table.rowManager.findRow(t))||(e=this.table.rowManager.getRows(t));break;default:e=t}Array.isArray(e)?e.length&&(e.forEach((t=>{(s=this._deselectRow(t,!0,!0))&&r.push(s)})),this._rowSelectionChanged(i,[],r)):e&&this._deselectRow(e,i,!0)}_deselectRow(t,i){var e,s,r=this,o=r.table.rowManager.findRow(t);if(o){if((e=r.selectedRows.findIndex((function(t){return t==o})))>-1)return(s=o.getElement())&&s.classList.remove("tabulator-selected"),o.modules.select||(o.modules.select={}),o.modules.select.selected=!1,o.modules.select.checkboxEl&&(o.modules.select.checkboxEl.checked=!1),r.selectedRows.splice(e,1),this.table.options.dataTreeSelectPropagate&&this.childRowSelection(o,!1),this.dispatchExternal("rowDeselected",o.getComponent()),r._rowSelectionChanged(i,void 0,o),o}else i||console.warn("Deselection Error - No such row found, ignoring selection:"+t)}getSelectedData(){var t=[];return this.selectedRows.forEach((function(i){t.push(i.getData())})),t}getSelectedRows(){var t=[];return this.selectedRows.forEach((function(i){t.push(i.getComponent())})),t}_rowSelectionChanged(t,i=[],e=[]){this.headerCheckboxElement&&(0===this.selectedRows.length?(this.headerCheckboxElement.checked=!1,this.headerCheckboxElement.indeterminate=!1):this.table.rowManager.rows.length===this.selectedRows.length?(this.headerCheckboxElement.checked=!0,this.headerCheckboxElement.indeterminate=!1):(this.headerCheckboxElement.indeterminate=!0,this.headerCheckboxElement.checked=!1)),t||(Array.isArray(i)||(i=[i]),i=i.map((t=>t.getComponent())),Array.isArray(e)||(e=[e]),e=e.map((t=>t.getComponent())),this.dispatchExternal("rowSelectionChanged",this.getSelectedData(),this.getSelectedRows(),i,e))}registerRowSelectCheckbox(t,i){t._row.modules.select||(t._row.modules.select={}),t._row.modules.select.checkboxEl=i}registerHeaderSelectCheckbox(t){this.headerCheckboxElement=t}childRowSelection(t,i){var e=this.table.modules.dataTree.getChildren(t,!0,!0);if(i)for(let t of e)this._selectRow(t,!0);else for(let t of e)this._deselectRow(t,!0)}},SortModule:$t,SpreadsheetModule:class extends H{static moduleName="spreadsheet";constructor(t){super(t),this.sheets=[],this.element=null,this.registerTableOption("spreadsheet",!1),this.registerTableOption("spreadsheetRows",50),this.registerTableOption("spreadsheetColumns",50),this.registerTableOption("spreadsheetColumnDefinition",{}),this.registerTableOption("spreadsheetOutputFull",!1),this.registerTableOption("spreadsheetData",!1),this.registerTableOption("spreadsheetSheets",!1),this.registerTableOption("spreadsheetSheetTabs",!1),this.registerTableOption("spreadsheetSheetTabsElement",!1),this.registerTableFunction("setSheets",this.setSheets.bind(this)),this.registerTableFunction("addSheet",this.addSheet.bind(this)),this.registerTableFunction("getSheets",this.getSheets.bind(this)),this.registerTableFunction("getSheetDefinitions",this.getSheetDefinitions.bind(this)),this.registerTableFunction("setSheetData",this.setSheetData.bind(this)),this.registerTableFunction("getSheet",this.getSheet.bind(this)),this.registerTableFunction("getSheetData",this.getSheetData.bind(this)),this.registerTableFunction("clearSheet",this.clearSheet.bind(this)),this.registerTableFunction("removeSheet",this.removeSheetFunc.bind(this)),this.registerTableFunction("activeSheet",this.activeSheetFunc.bind(this))}initialize(){this.options("spreadsheet")&&(this.subscribe("table-initialized",this.tableInitialized.bind(this)),this.subscribe("data-loaded",this.loadRemoteData.bind(this)),this.table.options.index="_id",this.options("spreadsheetData")&&this.options("spreadsheetSheets")&&(console.warn("You cannot use spreadsheetData and spreadsheetSheets at the same time, ignoring spreadsheetData"),this.table.options.spreadsheetData=!1),this.compatibilityCheck(),this.options("spreadsheetSheetTabs")&&this.initializeTabset())}compatibilityCheck(){this.options("data")&&console.warn("Do not use the data option when working with spreadsheets, use either spreadsheetData or spreadsheetSheets to pass data into the table"),this.options("pagination")&&console.warn("The spreadsheet module is not compatible with the pagination module"),this.options("groupBy")&&console.warn("The spreadsheet module is not compatible with the row grouping module"),this.options("responsiveCollapse")&&console.warn("The spreadsheet module is not compatible with the responsive collapse module")}initializeTabset(){this.element=document.createElement("div"),this.element.classList.add("tabulator-spreadsheet-tabs");var t=this.options("spreadsheetSheetTabsElement");!t||t instanceof HTMLElement||(t=document.querySelector(t))||console.warn("Unable to find element matching spreadsheetSheetTabsElement selector:",this.options("spreadsheetSheetTabsElement")),t?t.appendChild(this.element):this.footerAppend(this.element)}tableInitialized(){this.sheets.length?this.loadSheet(this.sheets[0]):this.options("spreadsheetSheets")?this.loadSheets(this.options("spreadsheetSheets")):this.options("spreadsheetData")&&this.loadData(this.options("spreadsheetData"))}loadRemoteData(t,i,e){return console.log("data",t,i,e),Array.isArray(t)?(this.table.dataLoader.clearAlert(),this.dispatchExternal("dataLoaded",t),!t.length||Array.isArray(t[0])?this.loadData(t):this.loadSheets(t)):console.error("Spreadsheet Loading Error - Unable to process remote data due to invalid data type \nExpecting: array \nReceived: ",typeof t,"\nData: ",t),!1}loadData(t){this.loadSheet(this.newSheet({data:t}))}destroySheets(){this.sheets.forEach((t=>{t.destroy()})),this.sheets=[],this.activeSheet=null}loadSheets(t){Array.isArray(t)||(t=[]),this.destroySheets(),t.forEach((t=>{this.newSheet(t)})),this.loadSheet(this.sheets[0])}loadSheet(t){this.activeSheet!==t&&(this.activeSheet&&this.activeSheet.unload(),this.activeSheet=t,t.load())}newSheet(t={}){var i;return t.rows||(t.rows=this.options("spreadsheetRows")),t.columns||(t.columns=this.options("spreadsheetColumns")),i=new Qt(this,t),this.sheets.push(i),this.element&&this.element.appendChild(i.element),i}removeSheet(t){var i,e=this.sheets.indexOf(t);this.sheets.length>1?e>-1&&(this.sheets.splice(e,1),t.destroy(),this.activeSheet===t&&((i=this.sheets[e-1]||this.sheets[0])?this.loadSheet(i):this.activeSheet=null)):console.warn("Unable to remove sheet, at least one sheet must be active")}lookupSheet(t){return t?t instanceof Qt?t:t instanceof Yt?t._sheet:this.sheets.find((i=>i.key===t))||!1:this.activeSheet}setSheets(t){return this.loadSheets(t),this.getSheets()}addSheet(t){return this.newSheet(t).getComponent()}getSheetDefinitions(){return this.sheets.map((t=>t.getDefinition()))}getSheets(){return this.sheets.map((t=>t.getComponent()))}getSheet(t){var i=this.lookupSheet(t);return!!i&&i.getComponent()}setSheetData(t,i){t&&!i&&(i=t,t=!1);var e=this.lookupSheet(t);return!!e&&e.setData(i)}getSheetData(t){var i=this.lookupSheet(t);return!!i&&i.getData()}clearSheet(t){var i=this.lookupSheet(t);return!!i&&i.clear()}removeSheetFunc(t){var i=this.lookupSheet(t);i&&this.removeSheet(i)}activeSheetFunc(t){var i=this.lookupSheet(t);return!!i&&this.loadSheet(i)}},TooltipModule:class extends H{static moduleName="tooltip";constructor(t){super(t),this.tooltipSubscriber=null,this.headerSubscriber=null,this.timeout=null,this.popupInstance=null,this.registerTableOption("tooltipDelay",300),this.registerColumnOption("tooltip"),this.registerColumnOption("headerTooltip")}initialize(){this.deprecatedOptionsCheck(),this.subscribe("column-init",this.initializeColumn.bind(this))}deprecatedOptionsCheck(){}initializeColumn(t){t.definition.headerTooltip&&!this.headerSubscriber&&(this.headerSubscriber=!0,this.subscribe("column-mousemove",this.mousemoveCheck.bind(this,"headerTooltip")),this.subscribe("column-mouseout",this.mouseoutCheck.bind(this,"headerTooltip"))),t.definition.tooltip&&!this.tooltipSubscriber&&(this.tooltipSubscriber=!0,this.subscribe("cell-mousemove",this.mousemoveCheck.bind(this,"tooltip")),this.subscribe("cell-mouseout",this.mouseoutCheck.bind(this,"tooltip")))}mousemoveCheck(t,i,e){var s="tooltip"===t?e.column.definition.tooltip:e.definition.headerTooltip;s&&(this.clearPopup(),this.timeout=setTimeout(this.loadTooltip.bind(this,i,e,s),this.table.options.tooltipDelay))}mouseoutCheck(t,i,e){this.popupInstance||this.clearPopup()}clearPopup(t,i,e){clearTimeout(this.timeout),this.timeout=null,this.popupInstance&&this.popupInstance.hide()}loadTooltip(t,i,e){var s,r,o;"function"==typeof e&&(e=e(t,i.getComponent(),(function(t){r=t}))),e instanceof HTMLElement?s=e:(s=document.createElement("div"),!0===e&&(i instanceof Q?e=i.value:i.definition.field?this.langBind("columns|"+i.definition.field,(t=>{s.innerHTML=e=t||i.definition.title})):e=i.definition.title),s.innerHTML=e),(e||0===e||!1===e)&&(s.classList.add("tabulator-tooltip"),s.addEventListener("mousemove",(t=>t.preventDefault())),this.popupInstance=this.popup(s),"function"==typeof r&&this.popupInstance.renderCallback(r),o=this.popupInstance.containerEventCoords(t),this.popupInstance.show(o.x+15,o.y+15).hideOnBlur((()=>{this.dispatchExternal("TooltipClosed",i.getComponent()),this.popupInstance=null})),this.dispatchExternal("TooltipOpened",i.getComponent()))}},ValidateModule:ii}),si={debugEventsExternal:!1,debugEventsInternal:!1,debugInvalidOptions:!0,debugInvalidComponentFuncs:!0,debugInitialization:!0,debugDeprecation:!0,height:!1,minHeight:!1,maxHeight:!1,columnHeaderVertAlign:"top",popupContainer:!1,columns:[],columnDefaults:{},rowHeader:!1,data:!1,autoColumns:!1,autoColumnsDefinitions:!1,nestedFieldSeparator:".",footerElement:!1,index:"id",textDirection:"auto",addRowPos:"bottom",headerVisible:!0,renderVertical:"virtual",renderHorizontal:"basic",renderVerticalBuffer:0,scrollToRowPosition:"top",scrollToRowIfVisible:!0,scrollToColumnPosition:"left",scrollToColumnIfVisible:!0,rowFormatter:!1,rowFormatterPrint:null,rowFormatterClipboard:null,rowFormatterHtmlOutput:null,rowHeight:null,placeholder:!1,dataLoader:!0,dataLoaderLoading:!1,dataLoaderError:!1,dataLoaderErrorTimeout:3e3,dataSendParams:{},dataReceiveParams:{},dependencies:{}};class ri{constructor(t,i,e={}){this.table=t,this.msgType=i,this.registeredDefaults=Object.assign({},e)}register(t,i){this.registeredDefaults[t]=i}generate(t,i={}){var e=Object.assign({},this.registeredDefaults),s=this.table.options.debugInvalidOptions||!0===i.debugInvalidOptions;Object.assign(e,t);for(let t in i)e.hasOwnProperty(t)||(s&&console.warn("Invalid "+this.msgType+" option:",t),e[t]=i.key);for(let t in e)t in i?e[t]=i[t]:Array.isArray(e[t])?e[t]=Object.assign([],e[t]):"object"==typeof e[t]&&null!==e[t]?e[t]=Object.assign({},e[t]):void 0===e[t]&&delete e[t];return e}}class oi extends j{constructor(t){super(t),this.elementVertical=t.rowManager.element,this.elementHorizontal=t.columnManager.element,this.tableElement=t.rowManager.tableElement,this.verticalFillMode="fit"}initialize(){}clearRows(){}clearColumns(){}reinitializeColumnWidths(t){}renderRows(){}renderColumns(){}rerenderRows(t){t&&t()}rerenderColumns(t,i){}renderRowCells(t){}rerenderRowCells(t,i){}scrollColumns(t,i){}scrollRows(t,i){}resize(){}scrollToRow(t){}scrollToRowNearestTop(t){}visibleRows(t){return[]}rows(){return this.table.rowManager.getDisplayRows()}styleRow(t,i){var e=t.getElement();i%2?(e.classList.add("tabulator-row-even"),e.classList.remove("tabulator-row-odd")):(e.classList.add("tabulator-row-odd"),e.classList.remove("tabulator-row-even"))}clear(){this.clearRows(),this.clearColumns()}render(){this.renderRows(),this.renderColumns()}rerender(t){this.rerenderRows(),this.rerenderColumns()}scrollToRowPosition(t,i,e){var s=this.rows().indexOf(t),r=t.getElement(),o=0;return new Promise(((a,h)=>{if(s>-1){if(void 0===e&&(e=this.table.options.scrollToRowIfVisible),!e&&N.elVisible(r)&&(o=N.elOffset(r).top-N.elOffset(this.elementVertical).top)>0&&o<this.elementVertical.clientHeight-r.offsetHeight)return a(),!1;switch(void 0===i&&(i=this.table.options.scrollToRowPosition),"nearest"===i&&(i=this.scrollToRowNearestTop(t)?"top":"bottom"),this.scrollToRow(t),i){case"middle":case"center":this.elementVertical.scrollTop=this.elementVertical.scrollHeight-this.elementVertical.scrollTop==this.elementVertical.clientHeight?this.elementVertical.scrollTop+(r.offsetTop-this.elementVertical.scrollTop)-(this.elementVertical.scrollHeight-r.offsetTop)/2:this.elementVertical.scrollTop-this.elementVertical.clientHeight/2;break;case"bottom":this.elementVertical.scrollTop=this.elementVertical.scrollHeight-this.elementVertical.scrollTop==this.elementVertical.clientHeight?this.elementVertical.scrollTop-(this.elementVertical.scrollHeight-r.offsetTop)+r.offsetHeight:this.elementVertical.scrollTop-this.elementVertical.clientHeight+r.offsetHeight;break;case"top":this.elementVertical.scrollTop=r.offsetTop}a()}else console.warn("Scroll Error - Row not visible"),h("Scroll Error - Row not visible")}))}}class ai extends oi{constructor(t){super(t)}renderRowCells(t,i){const e=document.createDocumentFragment();t.cells.forEach((t=>{e.appendChild(t.getElement())})),t.element.appendChild(e),i||t.cells.forEach((t=>{t.cellRendered()}))}reinitializeColumnWidths(t){t.forEach((function(t){t.reinitializeWidth()}))}}class hi extends oi{constructor(t){super(t),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=!1,this.isFitData=!1,this.columns=[]}initialize(){this.compatibilityCheck(),this.layoutCheck(),this.vertScrollListen()}compatibilityCheck(){"fitDataTable"==this.options("layout")&&console.warn("Horizontal Virtual DOM is not compatible with fitDataTable layout mode"),this.options("responsiveLayout")&&console.warn("Horizontal Virtual DOM is not compatible with responsive columns"),this.options("rtl")&&console.warn("Horizontal Virtual DOM is not currently compatible with RTL text direction")}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(t,i){this.dataChange()}scrollColumns(t,i){this.scrollLeft!=t&&(this.scrollLeft=t,this.scroll(t-(this.vDomScrollPosLeft+this.windowBuffer)))}calcWindowBuffer(){var t=this.elementVertical.clientWidth;this.table.columnManager.columnsByIndex.forEach((i=>{if(i.visible){var e=i.getWidth();e>t&&(t=e)}})),this.windowBuffer=2*t}rerenderColumns(t,i){var e={cols:this.columns,leftCol:this.leftCol,rightCol:this.rightCol},s=0;t&&!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((t=>{var i,e={};t.visible&&(t.modules.frozen||(i=t.getWidth(),e.leftPos=s,e.rightPos=s+i,e.width=i,this.isFitData&&(e.fitDataCheck=!t.modules.vdomHoz||t.modules.vdomHoz.fitDataCheck),s+i>this.vDomScrollPosLeft&&s<this.vDomScrollPosRight?(-1==this.leftCol&&(this.leftCol=this.columns.length,this.vDomPadLeft=s),this.rightCol=this.columns.length):-1!==this.leftCol&&(this.vDomPadRight+=i),this.columns.push(t),t.modules.vdomHoz=e,s+=i))})),this.tableElement.style.paddingLeft=this.vDomPadLeft+"px",this.tableElement.style.paddingRight=this.vDomPadRight+"px",this.initialized=!0,i||t&&!this.reinitChanged(e)||this.reinitializeRows(),this.elementVertical.scrollLeft=this.scrollLeft)}renderRowCells(t){if(this.initialized)this.initializeRow(t);else{const i=document.createDocumentFragment();t.cells.forEach((t=>{i.appendChild(t.getElement())})),t.element.appendChild(i),t.cells.forEach((t=>{t.cellRendered()}))}}rerenderRowCells(t,i){this.reinitializeRow(t,i)}reinitializeColumnWidths(t){for(let t=this.leftCol;t<=this.rightCol;t++){let i=this.columns[t];i&&i.reinitializeWidth()}}deinitialize(){this.initialized=!1}clear(){this.columns=[],this.leftCol=-1,this.rightCol=0,this.vDomScrollPosLeft=0,this.vDomScrollPosRight=0,this.vDomPadLeft=0,this.vDomPadRight=0}dataChange(){var t,i,e=!1;if(this.isFitData){if(this.table.columnManager.columnsByIndex.forEach((t=>{!t.definition.width&&t.visible&&(e=!0)})),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])){i=t.getElement(),t.generateCells(),this.tableElement.appendChild(i);for(let e=0;e<t.cells.length;e++){let s=t.cells[e];i.appendChild(s.getElement()),s.column.reinitializeWidth()}i.parentNode.removeChild(i),this.rerenderColumns(!1,!0)}}else"fitColumns"===this.options("layout")&&(this.layoutRefresh(),this.rerenderColumns(!1,!0))}reinitChanged(t){var i=!0;return t.cols.length!==this.columns.length||t.leftCol!==this.leftCol||t.rightCol!==this.rightCol||(t.cols.forEach(((t,e)=>{t!==this.columns[e]&&(i=!1)})),!i)}reinitializeRows(){var t=this.getVisibleRows(),i=this.table.rowManager.getRows().filter((i=>!t.includes(i)));t.forEach((t=>{this.reinitializeRow(t,!0)})),i.forEach((t=>{t.deinitialize()}))}getVisibleRows(){return this.visibleRows||(this.visibleRows=this.table.rowManager.getVisibleRows()),this.visibleRows}scroll(t){this.vDomScrollPosLeft+=t,this.vDomScrollPosRight+=t,Math.abs(t)>this.windowBuffer/2?this.rerenderColumns():t>0?(this.addColRight(),this.removeColLeft()):(this.addColLeft(),this.removeColRight())}colPositionAdjust(t,i,e){for(let s=t;s<i;s++){let t=this.columns[s];t.modules.vdomHoz.leftPos+=e,t.modules.vdomHoz.rightPos+=e}}addColRight(){for(var t=!1,i=!0;i;){let e=this.columns[this.rightCol+1];e&&e.modules.vdomHoz.leftPos<=this.vDomScrollPosRight?(t=!0,this.getVisibleRows().forEach((t=>{if("group"!==t.type){var i=t.getCell(e);t.getElement().insertBefore(i.getElement(),t.getCell(this.columns[this.rightCol]).getElement().nextSibling),i.cellRendered()}})),this.fitDataColActualWidthCheck(e),this.rightCol++,this.getVisibleRows().forEach((t=>{"group"!==t.type&&(t.modules.vdomHoz.rightCol=this.rightCol)})),this.rightCol>=this.columns.length-1?this.vDomPadRight=0:this.vDomPadRight-=e.getWidth()):i=!1}t&&(this.tableElement.style.paddingRight=this.vDomPadRight+"px")}addColLeft(){for(var t=!1,i=!0;i;){let e=this.columns[this.leftCol-1];if(e)if(e.modules.vdomHoz.rightPos>=this.vDomScrollPosLeft){t=!0,this.getVisibleRows().forEach((t=>{if("group"!==t.type){var i=t.getCell(e);t.getElement().insertBefore(i.getElement(),t.getCell(this.columns[this.leftCol]).getElement()),i.cellRendered()}})),this.leftCol--,this.getVisibleRows().forEach((t=>{"group"!==t.type&&(t.modules.vdomHoz.leftCol=this.leftCol)})),this.leftCol<=0?this.vDomPadLeft=0:this.vDomPadLeft-=e.getWidth();let i=this.fitDataColActualWidthCheck(e);i&&(this.scrollLeft=this.elementVertical.scrollLeft=this.elementVertical.scrollLeft+i,this.vDomPadRight-=i)}else i=!1;else i=!1}t&&(this.tableElement.style.paddingLeft=this.vDomPadLeft+"px")}removeColRight(){for(var t=!1,i=!0;i;){let e=this.columns[this.rightCol];e&&e.modules.vdomHoz.leftPos>this.vDomScrollPosRight?(t=!0,this.getVisibleRows().forEach((t=>{if("group"!==t.type){var i=t.getCell(e);try{t.getElement().removeChild(i.getElement())}catch(t){console.warn("Could not removeColRight",t.message)}}})),this.vDomPadRight+=e.getWidth(),this.rightCol--,this.getVisibleRows().forEach((t=>{"group"!==t.type&&(t.modules.vdomHoz.rightCol=this.rightCol)}))):i=!1}t&&(this.tableElement.style.paddingRight=this.vDomPadRight+"px")}removeColLeft(){for(var t=!1,i=!0;i;){let e=this.columns[this.leftCol];e&&e.modules.vdomHoz.rightPos<this.vDomScrollPosLeft?(t=!0,this.getVisibleRows().forEach((t=>{if("group"!==t.type){var i=t.getCell(e);try{t.getElement().removeChild(i.getElement())}catch(t){console.warn("Could not removeColLeft",t.message)}}})),this.vDomPadLeft+=e.getWidth(),this.leftCol++,this.getVisibleRows().forEach((t=>{"group"!==t.type&&(t.modules.vdomHoz.leftCol=this.leftCol)}))):i=!1}t&&(this.tableElement.style.paddingLeft=this.vDomPadLeft+"px")}fitDataColActualWidthCheck(t){var i,e;return t.modules.vdomHoz.fitDataCheck&&(t.reinitializeWidth(),(e=(i=t.getWidth())-t.modules.vdomHoz.width)&&(t.modules.vdomHoz.rightPos+=e,t.modules.vdomHoz.width=i,this.colPositionAdjust(this.columns.indexOf(t)+1,this.columns.length,e)),t.modules.vdomHoz.fitDataCheck=!1),e}initializeRow(t){if("group"!==t.type){t.modules.vdomHoz={leftCol:this.leftCol,rightCol:this.rightCol},this.table.modules.frozenColumns&&this.table.modules.frozenColumns.leftColumns.forEach((i=>{this.appendCell(t,i)}));for(let i=this.leftCol;i<=this.rightCol;i++)this.appendCell(t,this.columns[i]);this.table.modules.frozenColumns&&this.table.modules.frozenColumns.rightColumns.forEach((i=>{this.appendCell(t,i)}))}}appendCell(t,i){if(i&&i.visible){let e=t.getCell(i);t.getElement().appendChild(e.getElement()),e.cellRendered()}}reinitializeRow(t,i){if("group"!==t.type&&(i||!t.modules.vdomHoz||t.modules.vdomHoz.leftCol!==this.leftCol||t.modules.vdomHoz.rightCol!==this.rightCol)){for(var e=t.getElement();e.firstChild;)e.removeChild(e.firstChild);this.initializeRow(t)}}}class ni extends j{constructor(t){super(t),this.blockHozScrollEvent=!1,this.headersElement=null,this.contentsElement=null,this.rowHeader=null,this.element=null,this.columns=[],this.columnsByIndex=[],this.columnsByField={},this.scrollLeft=0,this.optionsList=new ri(this.table,"column definition",it),this.redrawBlock=!1,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(t){this.table.rtl?this.headersElement.style.marginLeft=t+"px":this.headersElement.style.marginRight=t+"px"}initializeRenderer(){var t;(t="string"==typeof this.table.options.renderHorizontal?{virtual:hi,basic:ai}[this.table.options.renderHorizontal]:this.table.options.renderHorizontal)?(this.renderer=new t(this.table,this.element,this.tableElement),this.renderer.initialize()):console.error("Unable to find matching renderer:",this.table.options.renderHorizontal)}createHeadersElement(){var t=document.createElement("div");return t.classList.add("tabulator-headers"),t.setAttribute("role","row"),t}createHeaderContentsElement(){var t=document.createElement("div");return t.classList.add("tabulator-header-contents"),t.setAttribute("role","rowgroup"),t}createHeaderElement(){var t=document.createElement("div");return t.classList.add("tabulator-header"),t.setAttribute("role","rowgroup"),this.table.options.headerVisible||t.classList.add("tabulator-header-hidden"),t}getElement(){return this.element}getContentsElement(){return this.contentsElement}getHeadersElement(){return this.headersElement}scrollHorizontal(t){this.contentsElement.scrollLeft=t,this.scrollLeft=t,this.renderer.scrollColumns(t)}initializeScrollWheelWatcher(){this.contentsElement.addEventListener("wheel",(t=>{var i;t.deltaX&&(this.table.rowManager.scrollHorizontal(i=this.contentsElement.scrollLeft+t.deltaX),this.table.columnManager.scrollHorizontal(i))}))}generateColumnsFromRowData(t){var i=[],e={},s=this.table.options.autoColumnsDefinitions;if(t&&t.length){if(("full"===this.table.options.autoColumns?t:[t[0]]).forEach((t=>{Object.keys(t).forEach(((s,r)=>{let o,a=t[s];e[s]?!0!==e[s]&&void 0!==a&&(e[s].sorter=this.calculateSorterFromValue(a),e[s]=!0):(o={field:s,title:s,sorter:this.calculateSorterFromValue(a)},i.splice(r,0,o),e[s]=void 0!==a||o)}))})),s)switch(typeof s){case"function":this.table.options.columns=s.call(this.table,i);break;case"object":Array.isArray(s)?i.forEach((t=>{var i=s.find((i=>i.field===t.field));i&&Object.assign(t,i)})):i.forEach((t=>{s[t.field]&&Object.assign(t,s[t.field])})),this.table.options.columns=i}else this.table.options.columns=i;this.setColumns(this.table.options.columns)}}calculateSorterFromValue(t){var i;switch(typeof t){case"undefined":i="string";break;case"boolean":i="boolean";break;case"number":i="number";break;case"object":i=Array.isArray(t)?"array":"string";break;default:i=isNaN(t)||""===t?t.match(/((^[0-9]+[a-z]+)|(^[a-z]+[0-9]+))+$/i)?"alphanum":"string":"number"}return i}setColumns(t,i){for(;this.headersElement.firstChild;)this.headersElement.removeChild(this.headersElement.firstChild);this.columns=[],this.columnsByIndex=[],this.columnsByField={},this.dispatch("columns-loading"),this.dispatchExternal("columnsLoading"),this.table.options.rowHeader&&(this.rowHeader=new et(!0===this.table.options.rowHeader?{}:this.table.options.rowHeader,this,!0),this.columns.push(this.rowHeader),this.headersElement.appendChild(this.rowHeader.getElement()),this.rowHeader.columnRendered()),t.forEach((t=>{this._addColumn(t)})),this._reIndexColumns(),this.dispatch("columns-loaded"),this.subscribedExternal("columnsLoaded")&&this.dispatchExternal("columnsLoaded",this.getComponents()),this.rerenderColumns(!1,!0),this.redraw(!0)}_addColumn(t,i,e){var s=new et(t,this),r=s.getElement(),o=e?this.findColumnIndex(e):e;if(!i||!this.rowHeader||e&&e!==this.rowHeader||(i=!1,e=this.rowHeader,o=0),e&&o>-1){var a=e.getTopColumn(),h=this.columns.indexOf(a),n=a.getElement();i?(this.columns.splice(h,0,s),n.parentNode.insertBefore(r,n)):(this.columns.splice(h+1,0,s),n.parentNode.insertBefore(r,n.nextSibling))}else i?(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(t){t.definition.field&&(this.columnsByField[t.definition.field]=t)}registerColumnPosition(t){this.columnsByIndex.push(t)}_reIndexColumns(){this.columnsByIndex=[],this.columns.forEach((function(t){t.reRegisterPosition()}))}verticalAlignHeaders(){var t=0;this.redrawBlock||(this.headersElement.style.height="",this.columns.forEach((t=>{t.clearVerticalAlign()})),this.columns.forEach((i=>{var e=i.getHeight();e>t&&(t=e)})),this.headersElement.style.height=t+"px",this.columns.forEach((i=>{i.verticalAlign(this.table.options.columnHeaderVertAlign,t)})),this.table.rowManager.adjustTableSize())}findColumn(t){var i;return"object"!=typeof t?this.columnsByField[t]||!1:t instanceof et?t:t instanceof tt?t._getSelf()||!1:"undefined"!=typeof HTMLElement&&t instanceof HTMLElement&&(i=[],this.columns.forEach((t=>{i.push(t),i=i.concat(t.getColumns(!0))})),i.find((i=>i.element===t))||!1)}getColumnByField(t){return this.columnsByField[t]}getColumnsByFieldRoot(t){var i=[];return Object.keys(this.columnsByField).forEach((e=>{(this.table.options.nestedFieldSeparator?e.split(this.table.options.nestedFieldSeparator)[0]:e)===t&&i.push(this.columnsByField[e])})),i}getColumnByIndex(t){return this.columnsByIndex[t]}getFirstVisibleColumn(){var t=this.columnsByIndex.findIndex((t=>t.visible));return t>-1&&this.columnsByIndex[t]}getVisibleColumnsByIndex(){return this.columnsByIndex.filter((t=>t.visible))}getColumns(){return this.columns}findColumnIndex(t){return this.columnsByIndex.findIndex((i=>t===i))}getRealColumns(){return this.columnsByIndex}traverse(t){this.columnsByIndex.forEach(((i,e)=>{t(i,e)}))}getDefinitions(t){var i=[];return this.columnsByIndex.forEach((e=>{(!t||t&&e.visible)&&i.push(e.getDefinition())})),i}getDefinitionTree(){var t=[];return this.columns.forEach((i=>{t.push(i.getDefinition(!0))})),t}getComponents(t){var i=[];return(t?this.columns:this.columnsByIndex).forEach((t=>{i.push(t.getComponent())})),i}getWidth(){var t=0;return this.columnsByIndex.forEach((i=>{i.visible&&(t+=i.getWidth())})),t}moveColumn(t,i,e){i.element.parentNode.insertBefore(t.element,i.element),e&&i.element.parentNode.insertBefore(i.element,t.element),this.moveColumnActual(t,i,e),this.verticalAlignHeaders(),this.table.rowManager.reinitialize()}moveColumnActual(t,i,e){this._moveColumnInArray(t.parent.isGroup?t.parent.columns:this.columns,t,i,e),this._moveColumnInArray(this.columnsByIndex,t,i,e,!0),this.rerenderColumns(!0),this.dispatch("column-moved",t,i,e),this.subscribedExternal("columnMoved")&&this.dispatchExternal("columnMoved",t.getComponent(),this.table.columnManager.getComponents())}_moveColumnInArray(t,i,e,s,r){var o,a=t.indexOf(i);a>-1&&(t.splice(a,1),(o=t.indexOf(e))>-1?s&&(o+=1):o=a,t.splice(o,0,i),r&&(this.chain("column-moving-rows",[i,e,s],null,[])||[]).concat(this.table.rowManager.rows).forEach((function(t){if(t.cells.length){var i=t.cells.splice(a,1)[0];t.cells.splice(o,0,i)}})))}scrollToColumn(t,i,e){var s=0,r=t.getLeftOffset(),o=0,a=t.getElement();return new Promise(((h,n)=>{if(void 0===i&&(i=this.table.options.scrollToColumnPosition),void 0===e&&(e=this.table.options.scrollToColumnIfVisible),t.visible){switch(i){case"middle":case"center":o=-this.element.clientWidth/2;break;case"right":o=a.clientWidth-this.headersElement.clientWidth}if(!e&&r>0&&r+a.offsetWidth<this.element.clientWidth)return!1;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),h()}else console.warn("Scroll Error - Column not visible"),n("Scroll Error - Column not visible")}))}generateCells(t){var i=[];return this.columnsByIndex.forEach((e=>{i.push(e.generateCell(t))})),i}getFlexBaseWidth(){var t=this.table.element.clientWidth,i=0;return this.table.rowManager.element.scrollHeight>this.table.rowManager.element.clientHeight&&(t-=this.table.rowManager.element.offsetWidth-this.table.rowManager.element.clientWidth),this.columnsByIndex.forEach((function(e){var s,r,o;e.visible&&(s=e.definition.width||0,r=parseInt(e.minWidth),o="string"==typeof s?s.indexOf("%")>-1?t/100*parseInt(s):parseInt(s):s,i+=o>r?o:r)})),i}addColumn(t,i,e){return new Promise((s=>{var r=this._addColumn(t,i,e);this._reIndexColumns(),this.dispatch("column-add",t,i,e),"fitColumns"!=this.layoutMode()&&r.reinitializeWidth(),this.redraw(!0),this.table.rowManager.reinitialize(),this.rerenderColumns(),s(r)}))}deregisterColumn(t){var i,e=t.getField();e&&delete this.columnsByField[e],(i=this.columnsByIndex.indexOf(t))>-1&&this.columnsByIndex.splice(i,1),(i=this.columns.indexOf(t))>-1&&this.columns.splice(i,1),this.verticalAlignHeaders(),this.redraw()}rerenderColumns(t,i){this.redrawBlock?(!1===t||!0===t&&null===this.redrawBlockUpdate)&&(this.redrawBlockUpdate=t):this.renderer.rerenderColumns(t,i)}blockRedraw(){this.redrawBlock=!0,this.redrawBlockUpdate=null}restoreRedraw(){this.redrawBlock=!1,this.verticalAlignHeaders(),this.renderer.rerenderColumns(this.redrawBlockUpdate)}redraw(t){N.elVisible(this.element)&&this.verticalAlignHeaders(),t&&(this.table.rowManager.resetScroll(),this.table.rowManager.reinitialize()),this.confirm("table-redrawing",t)||this.layoutRefresh(t),this.dispatch("table-redraw",t),this.table.footerManager.redraw()}}class li extends oi{constructor(t){super(t),this.verticalFillMode="fill",this.scrollTop=0,this.scrollLeft=0,this.scrollTop=0,this.scrollLeft=0}clearRows(){for(var t=this.tableElement;t.firstChild;)t.removeChild(t.firstChild);t.scrollTop=0,t.scrollLeft=0,t.style.minWidth="",t.style.minHeight="",t.style.display="",t.style.visibility=""}renderRows(){var t=this.tableElement,i=!0,e=document.createDocumentFragment(),s=this.rows();s.forEach(((t,s)=>{this.styleRow(t,s),t.initialize(!1,!0),"group"!==t.type&&(i=!1),e.appendChild(t.getElement())})),t.appendChild(e),s.forEach((t=>{t.rendered(),t.heightInitialized||t.calcHeight(!0)})),s.forEach((t=>{t.heightInitialized||t.setCellHeight()})),t.style.minWidth=i?this.table.columnManager.getWidth()+"px":""}rerenderRows(t){this.clearRows(),t&&t(),this.renderRows(),this.rows().length||this.table.rowManager.tableEmpty()}scrollToRowNearestTop(t){var i=N.elOffset(t.getElement()).top;return!(Math.abs(this.elementVertical.scrollTop-i)>Math.abs(this.elementVertical.scrollTop+this.elementVertical.clientHeight-i))}scrollToRow(t){var i=t.getElement();this.elementVertical.scrollTop=N.elOffset(i).top-N.elOffset(this.elementVertical).top+this.elementVertical.scrollTop}visibleRows(t){return this.rows()}}class ui extends oi{constructor(t){super(t),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 t=this.tableElement;t.firstChild;)t.removeChild(t.firstChild);t.style.paddingTop="",t.style.paddingBottom="",t.style.minHeight="",t.style.display="",t.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(t){for(var i=this.elementVertical.scrollTop,e=!1,s=!1,r=this.table.rowManager.scrollLeft,o=this.rows(),a=this.vDomTop;a<=this.vDomBottom;a++)if(o[a]){var h=i-o[a].getElement().offsetTop;if(!(!1===s||Math.abs(h)<s))break;s=h,e=a}o.forEach((t=>{t.deinitializeHeight()})),t&&t(),this.rows().length?this._virtualRenderFill(!1===e?this.rows.length-1:e,!0,s||0):(this.clear(),this.table.rowManager.tableEmpty()),this.scrollColumns(r)}scrollColumns(t){this.table.rowManager.scrollHorizontal(t)}scrollRows(t,i){var e=t-this.vDomScrollPosTop,s=t-this.vDomScrollPosBottom,r=2*this.vDomWindowBuffer,o=this.rows();if(this.scrollTop=t,-e>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 i?(e<0&&this._addTopRow(o,-e),s<0&&(this.vDomScrollHeight-this.scrollTop>this.vDomWindowBuffer?this._removeBottomRow(o,-s):this.vDomScrollPosBottom=this.scrollTop)):(s>=0&&this._addBottomRow(o,s),e>=0&&(this.scrollTop>this.vDomWindowBuffer?this._removeTopRow(o,e):this.vDomScrollPosTop=this.scrollTop))}resize(){this.vDomWindowBuffer=this.table.options.renderVerticalBuffer||this.elementVertical.clientHeight}scrollToRowNearestTop(t){var i=this.rows().indexOf(t);return!(Math.abs(this.vDomTop-i)>Math.abs(this.vDomBottom-i))}scrollToRow(t){var i=this.rows().indexOf(t);i>-1&&this._virtualRenderFill(i,!0)}visibleRows(t){var i=this.elementVertical.scrollTop,e=this.elementVertical.clientHeight+i,s=!1,r=0,o=0,a=this.rows();if(t)r=this.vDomTop,o=this.vDomBottom;else for(var h=this.vDomTop;h<=this.vDomBottom;h++)if(a[h])if(s){if(!(e-a[h].getElement().offsetTop>=0))break;o=h}else if(i-a[h].getElement().offsetTop>=0)r=h;else{if(s=!0,!(e-a[h].getElement().offsetTop>=0))break;o=h}return a.slice(r,o+1)}_virtualRenderFill(t,i,e){var s,r,o=this.tableElement,a=this.elementVertical,h=0,n=0,l=0,u=0,c=0,d=0,b=this.rows(),p=b.length,m=0,g=[],f=0,v=0,w=this.table.rowManager.fixedHeight,y=this.elementVertical.clientHeight,x=this.table.options.rowHeight,k=!0;if(e=e||0,t=t||0){for(;o.firstChild;)o.removeChild(o.firstChild);(u=(p-t+1)*this.vDomRowHeight)<y&&(t-=Math.ceil((y-u)/this.vDomRowHeight))<0&&(t=0),t-=h=Math.min(Math.max(Math.floor(this.vDomWindowBuffer/this.vDomRowHeight),this.vDomWindowMinMarginRows),t)}else this.clear();if(p&&N.elVisible(this.elementVertical)){for(this.vDomTop=t,this.vDomBottom=t-1,w||this.table.options.maxHeight?(x&&(v=y/x+this.vDomWindowBuffer/x),v=Math.max(this.vDomWindowMinTotalRows,Math.ceil(v))):v=p;(v==p||n<=y+this.vDomWindowBuffer||f<this.vDomWindowMinTotalRows)&&this.vDomBottom<p-1;){for(g=[],r=document.createDocumentFragment(),d=0;d<v&&this.vDomBottom<p-1;)this.styleRow(s=b[m=this.vDomBottom+1],m),s.initialize(!1,!0),s.heightInitialized||this.table.options.rowHeight||s.clearCellHeight(),r.appendChild(s.getElement()),g.push(s),this.vDomBottom++,d++;if(!g.length)break;o.appendChild(r),g.forEach((t=>{t.rendered(),t.heightInitialized||t.calcHeight(!0)})),g.forEach((t=>{t.heightInitialized||t.setCellHeight()})),g.forEach((t=>{l=t.getHeight(),f<h?c+=l:n+=l,l>this.vDomWindowBuffer&&(this.vDomWindowBuffer=2*l),f++})),k=this.table.rowManager.adjustTableSize(),y=this.elementVertical.clientHeight,k&&(w||this.table.options.maxHeight)&&(x=n/f,v=Math.max(this.vDomWindowMinTotalRows,Math.ceil(y/x+this.vDomWindowBuffer/x)))}t?(this.vDomTopPad=i?this.vDomRowHeight*this.vDomTop+e:this.scrollTop-c,this.vDomBottomPad=this.vDomBottom==p-1?0:Math.max(this.vDomScrollHeight-this.vDomTopPad-n-c,0)):(this.vDomTopPad=0,this.vDomRowHeight=Math.floor((n+c)/f),this.vDomBottomPad=this.vDomRowHeight*(p-this.vDomBottom-1),this.vDomScrollHeight=c+n+this.vDomBottomPad-y),o.style.paddingTop=this.vDomTopPad+"px",o.style.paddingBottom=this.vDomBottomPad+"px",i&&(this.scrollTop=this.vDomTopPad+c+e-(this.elementVertical.scrollWidth>this.elementVertical.clientWidth?this.elementVertical.offsetHeight-y:0)),this.scrollTop=Math.min(this.scrollTop,this.elementVertical.scrollHeight-y),this.elementVertical.scrollWidth>this.elementVertical.clientWidth&&i&&(this.scrollTop+=this.elementVertical.offsetHeight-y),this.vDomScrollPosTop=this.scrollTop,this.vDomScrollPosBottom=this.scrollTop,a.scrollTop=this.scrollTop,this.dispatch("render-virtual-fill")}}_addTopRow(t,i){for(var e=this.tableElement,s=[],r=0,o=this.vDomTop-1,a=0,h=!0;h;)if(this.vDomTop){let n,l,u=t[o];u&&a<this.vDomMaxRenderChain?(n=u.getHeight()||this.vDomRowHeight,l=u.initialized,i>=n?(this.styleRow(u,o),e.insertBefore(u.getElement(),e.firstChild),u.initialized&&u.heightInitialized||s.push(u),u.initialize(),l||(n=u.getElement().offsetHeight,n>this.vDomWindowBuffer&&(this.vDomWindowBuffer=2*n)),i-=n,r+=n,this.vDomTop--,o--,a++):h=!1):h=!1}else h=!1;for(let t of s)t.clearCellHeight();this._quickNormalizeRowHeight(s),r&&(this.vDomTopPad-=r,this.vDomTopPad<0&&(this.vDomTopPad=o*this.vDomRowHeight),o<1&&(this.vDomTopPad=0),e.style.paddingTop=this.vDomTopPad+"px",this.vDomScrollPosTop-=r)}_removeTopRow(t,i){for(var e=[],s=0,r=0,o=!0;o;){let a,h=t[this.vDomTop];h&&r<this.vDomMaxRenderChain?(a=h.getHeight()||this.vDomRowHeight,i>=a?(this.vDomTop++,i-=a,s+=a,e.push(h),r++):o=!1):o=!1}for(let t of e){let i=t.getElement();i.parentNode&&i.parentNode.removeChild(i)}s&&(this.vDomTopPad+=s,this.tableElement.style.paddingTop=this.vDomTopPad+"px",this.vDomScrollPosTop+=this.vDomTop?s:s+this.vDomWindowBuffer)}_addBottomRow(t,i){for(var e=this.tableElement,s=[],r=0,o=this.vDomBottom+1,a=0,h=!0;h;){let n,l,u=t[o];u&&a<this.vDomMaxRenderChain?(n=u.getHeight()||this.vDomRowHeight,l=u.initialized,i>=n?(this.styleRow(u,o),e.appendChild(u.getElement()),u.initialized&&u.heightInitialized||s.push(u),u.initialize(),l||(n=u.getElement().offsetHeight,n>this.vDomWindowBuffer&&(this.vDomWindowBuffer=2*n)),i-=n,r+=n,this.vDomBottom++,o++,a++):h=!1):h=!1}for(let t of s)t.clearCellHeight();this._quickNormalizeRowHeight(s),r&&(this.vDomBottomPad-=r,(this.vDomBottomPad<0||o==t.length-1)&&(this.vDomBottomPad=0),e.style.paddingBottom=this.vDomBottomPad+"px",this.vDomScrollPosBottom+=r)}_removeBottomRow(t,i){for(var e=[],s=0,r=0,o=!0;o;){let a,h=t[this.vDomBottom];h&&r<this.vDomMaxRenderChain?(a=h.getHeight()||this.vDomRowHeight,i>=a?(this.vDomBottom--,i-=a,s+=a,e.push(h),r++):o=!1):o=!1}for(let t of e){let i=t.getElement();i.parentNode&&i.parentNode.removeChild(i)}s&&(this.vDomBottomPad+=s,this.vDomBottomPad<0&&(this.vDomBottomPad=0),this.tableElement.style.paddingBottom=this.vDomBottomPad+"px",this.vDomScrollPosBottom-=s)}_quickNormalizeRowHeight(t){for(let i of t)i.calcHeight();for(let i of t)i.setCellHeight()}}class ci extends j{constructor(t){super(t),this.element=this.createHolderElement(),this.tableElement=this.createTableElement(),this.heightFixer=this.createTableElement(),this.placeholder=null,this.placeholderContents=null,this.firstRender=!1,this.renderMode="virtual",this.fixedHeight=!1,this.rows=[],this.activeRowsPipeline=[],this.activeRows=[],this.activeRowsCount=0,this.displayRows=[],this.displayRowsCount=0,this.scrollTop=0,this.scrollLeft=0,this.redrawBlock=!1,this.redrawBlockRestoreConfig=!1,this.redrawBlockRenderInPosition=!1,this.dataPipeline=[],this.displayPipeline=[],this.scrollbarWidth=0,this.renderer=null}createHolderElement(){var t=document.createElement("div");return t.classList.add("tabulator-tableholder"),t.setAttribute("tabindex",0),t}createTableElement(){var t=document.createElement("div");return t.classList.add("tabulator-table"),t.setAttribute("role","rowgroup"),t}initializePlaceholder(){var t=this.table.options.placeholder;if("function"==typeof t&&(t=t.call(this.table)),t=this.chain("placeholder",[t],t,t)||t){let i=document.createElement("div");if(i.classList.add("tabulator-placeholder"),"string"==typeof t){let e=document.createElement("div");e.classList.add("tabulator-placeholder-contents"),e.innerHTML=t,i.appendChild(e),this.placeholderContents=e}else"undefined"!=typeof HTMLElement&&t instanceof HTMLElement?(i.appendChild(t),this.placeholderContents=t):(console.warn("Invalid placeholder provided, must be string or HTML Element",t),this.el=null);this.placeholder=i}}getElement(){return this.element}getTableElement(){return this.tableElement}initialize(){this.initializePlaceholder(),this.initializeRenderer(),this.element.appendChild(this.tableElement),this.firstRender=!0,this.element.addEventListener("scroll",(()=>{var t=this.element.scrollLeft,i=this.scrollLeft>t,e=this.element.scrollTop,s=this.scrollTop>e;this.scrollLeft!=t&&(this.scrollLeft=t,this.dispatch("scroll-horizontal",t,i),this.dispatchExternal("scrollHorizontal",t,i),this._positionPlaceholder()),this.scrollTop!=e&&(this.scrollTop=e,this.renderer.scrollRows(e,s),this.dispatch("scroll-vertical",e,s),this.dispatchExternal("scrollVertical",e,s))}))}findRow(t){return"object"!=typeof t?void 0!==t&&(this.rows.find((i=>i.data[this.table.options.index]==t))||!1):t instanceof rt?t:t instanceof st?t._getSelf()||!1:"undefined"!=typeof HTMLElement&&t instanceof HTMLElement&&this.rows.find((i=>i.getElement()===t))||!1}getRowFromDataObject(t){return this.rows.find((i=>i.data===t))||!1}getRowFromPosition(t){return this.getDisplayRows().find((i=>"row"===i.type&&i.getPosition()===t&&i.isDisplayed()))}scrollToRow(t,i,e){return this.renderer.scrollToRowPosition(t,i,e)}setData(t,i,e){return new Promise((s=>{i&&this.getDisplayRows().length?this.table.options.pagination?this._setDataActual(t,!0):this.reRenderInPosition((()=>{this._setDataActual(t)})):(this.table.options.autoColumns&&e&&this.table.initialized&&this.table.columnManager.generateColumnsFromRowData(t),this.resetScroll(),this._setDataActual(t)),s()}))}_setDataActual(t,i){this.dispatchExternal("dataProcessing",t),this._wipeElements(),Array.isArray(t)?(this.dispatch("data-processing",t),t.forEach((t=>{if(t&&"object"==typeof t){var i=new rt(t,this);this.rows.push(i)}else console.warn("Data Loading Warning - Invalid row data detected and ignored, expecting object but received:",t)})),this.refreshActiveData(!1,!1,i),this.dispatch("data-processed",t),this.dispatchExternal("dataProcessed",t)):console.error("Data Loading Error - Unable to process data due to invalid data type \nExpecting: array \nReceived: ",typeof t,"\nData: ",t)}_wipeElements(){this.dispatch("rows-wipe"),this.destroy(),this.adjustTableSize(),this.dispatch("rows-wiped")}destroy(){this.rows.forEach((t=>{t.wipe()})),this.rows=[],this.activeRows=[],this.activeRowsPipeline=[],this.activeRowsCount=0,this.displayRows=[],this.displayRowsCount=0}deleteRow(t,i){var e=this.rows.indexOf(t),s=this.activeRows.indexOf(t);s>-1&&this.activeRows.splice(s,1),e>-1&&this.rows.splice(e,1),this.setActiveRows(this.activeRows),this.displayRowIterator((i=>{var e=i.indexOf(t);e>-1&&i.splice(e,1)})),i||this.reRenderInPosition(),this.regenerateRowPositions(),this.dispatchExternal("rowDeleted",t.getComponent()),this.displayRowsCount||this.tableEmpty(),this.subscribedExternal("dataChanged")&&this.dispatchExternal("dataChanged",this.getData())}addRow(t,i,e,s){return this.addRowActual(t,i,e,s)}addRows(t,i,e,s){var r=[];return new Promise((o=>{i=this.findAddRowPos(i),Array.isArray(t)||(t=[t]),(void 0===e&&i||void 0!==e&&!i)&&t.reverse(),t.forEach((t=>{var s=this.addRow(t,i,e,!0);r.push(s),this.dispatch("row-added",s,t,i,e)})),this.refreshActiveData(!!s&&"displayPipeline",!1,!0),this.regenerateRowPositions(),this.displayRowsCount&&this._clearPlaceholder(),o(r)}))}findAddRowPos(t){return void 0===t&&(t=this.table.options.addRowPos),"pos"===t&&(t=!0),"bottom"===t&&(t=!1),t}addRowActual(t,i,e,s){var r,o,a=t instanceof rt?t:new rt(t||{},this),h=this.findAddRowPos(i),n=-1;return e||(o=this.chain("row-adding-position",[a,h],null,{index:e,top:h}),e=o.index,h=o.top),void 0!==e&&(e=this.findRow(e)),(e=this.chain("row-adding-index",[a,e,h],null,e))&&(n=this.rows.indexOf(e)),e&&n>-1?(r=this.activeRows.indexOf(e),this.displayRowIterator((function(t){var i=t.indexOf(e);i>-1&&t.splice(h?i:i+1,0,a)})),r>-1&&this.activeRows.splice(h?r:r+1,0,a),this.rows.splice(h?n:n+1,0,a)):h?(this.displayRowIterator((function(t){t.unshift(a)})),this.activeRows.unshift(a),this.rows.unshift(a)):(this.displayRowIterator((function(t){t.push(a)})),this.activeRows.push(a),this.rows.push(a)),this.setActiveRows(this.activeRows),this.dispatchExternal("rowAdded",a.getComponent()),this.subscribedExternal("dataChanged")&&this.dispatchExternal("dataChanged",this.table.rowManager.getData()),s||this.reRenderInPosition(),a}moveRow(t,i,e){this.dispatch("row-move",t,i,e),this.moveRowActual(t,i,e),this.regenerateRowPositions(),this.dispatch("row-moved",t,i,e),this.dispatchExternal("rowMoved",t.getComponent())}moveRowActual(t,i,e){this.moveRowInArray(this.rows,t,i,e),this.moveRowInArray(this.activeRows,t,i,e),this.displayRowIterator((s=>{this.moveRowInArray(s,t,i,e)})),this.dispatch("row-moving",t,i,e)}moveRowInArray(t,i,e,s){var r,o,a;if(i!==e&&((r=t.indexOf(i))>-1&&(t.splice(r,1),o=t.indexOf(e),t.splice(o>-1?s?o+1:o:r,0,i)),t===this.getDisplayRows())){a=o>r?o:r+1;for(let i=r<o?r:o;i<=a;i++)t[i]&&this.styleRow(t[i],i)}}clearData(){this.setData([])}getRowIndex(t){return this.findRowIndex(t,this.rows)}getDisplayRowIndex(t){var i=this.getDisplayRows().indexOf(t);return i>-1&&i}nextDisplayRow(t,i){var e=this.getDisplayRowIndex(t),s=!1;return!1!==e&&e<this.displayRowsCount-1&&(s=this.getDisplayRows()[e+1]),!s||s instanceof rt&&"row"==s.type?s:this.nextDisplayRow(s,i)}prevDisplayRow(t,i){var e=this.getDisplayRowIndex(t),s=!1;return e&&(s=this.getDisplayRows()[e-1]),!i||!s||s instanceof rt&&"row"==s.type?s:this.prevDisplayRow(s,i)}findRowIndex(t,i){var e;return!!((t=this.findRow(t))&&(e=i.indexOf(t))>-1)&&e}getData(t,i){var e=[];return this.getRows(t).forEach((function(t){"row"==t.type&&e.push(t.getData(i||"data"))})),e}getComponents(t){var i=[];return this.getRows(t).forEach((function(t){i.push(t.getComponent())})),i}getDataCount(t){return this.getRows(t).length}scrollHorizontal(t){this.scrollLeft=t,this.element.scrollLeft=t,this.dispatch("scroll-horizontal",t)}registerDataPipelineHandler(t,i){void 0!==i?(this.dataPipeline.push({handler:t,priority:i}),this.dataPipeline.sort(((t,i)=>t.priority-i.priority))):console.error("Data pipeline handlers must have a priority in order to be registered")}registerDisplayPipelineHandler(t,i){void 0!==i?(this.displayPipeline.push({handler:t,priority:i}),this.displayPipeline.sort(((t,i)=>t.priority-i.priority))):console.error("Display pipeline handlers must have a priority in order to be registered")}refreshActiveData(t,i,e){var s=this.table,r="",o=0,a=["all","dataPipeline","display","displayPipeline","end"];if(!this.table.destroyed){if("function"==typeof t)if((o=this.dataPipeline.findIndex((i=>i.handler===t)))>-1)r="dataPipeline",i&&(o==this.dataPipeline.length-1?r="display":o++);else{if(!((o=this.displayPipeline.findIndex((i=>i.handler===t)))>-1))return void console.error("Unable to refresh data, invalid handler provided",t);r="displayPipeline",i&&(o==this.displayPipeline.length-1?r="end":o++)}else r=t||"all",o=0;if(this.redrawBlock)return void((!this.redrawBlockRestoreConfig||this.redrawBlockRestoreConfig&&(this.redrawBlockRestoreConfig.stage===r&&o<this.redrawBlockRestoreConfig.index||a.indexOf(r)<a.indexOf(this.redrawBlockRestoreConfig.stage)))&&(this.redrawBlockRestoreConfig={handler:t,skipStage:i,renderInPosition:e,stage:r,index:o}));N.elVisible(this.element)?e?this.reRenderInPosition(this.refreshPipelines.bind(this,t,r,o,e)):(this.refreshPipelines(t,r,o,e),t||this.table.columnManager.renderer.renderColumns(),this.renderTable(),s.options.layoutColumnsOnNewData&&this.table.columnManager.redraw(!0)):this.refreshPipelines(t,r,o,e),this.dispatch("data-refreshed")}}refreshPipelines(t,i,e,s){switch(this.dispatch("data-refreshing"),t&&this.activeRowsPipeline[0]||(this.activeRowsPipeline[0]=this.rows.slice(0)),i){case"all":case"dataPipeline":for(let t=e;t<this.dataPipeline.length;t++){let i=this.dataPipeline[t].handler(this.activeRowsPipeline[t].slice(0));this.activeRowsPipeline[t+1]=i||this.activeRowsPipeline[t].slice(0)}this.setActiveRows(this.activeRowsPipeline[this.dataPipeline.length]);case"display":e=0,this.resetDisplayRows();case"displayPipeline":for(let t=e;t<this.displayPipeline.length;t++){let i=this.displayPipeline[t].handler((t?this.getDisplayRows(t-1):this.activeRows).slice(0),s);this.setDisplayRows(i||this.getDisplayRows(t-1).slice(0),t)}case"end":this.regenerateRowPositions()}this.getDisplayRows().length&&this._clearPlaceholder()}regenerateRowPositions(){var t=this.getDisplayRows(),i=1;t.forEach((t=>{"row"===t.type&&(t.setPosition(i),i++)}))}setActiveRows(t){this.activeRows=this.activeRows=Object.assign([],t),this.activeRowsCount=this.activeRows.length}resetDisplayRows(){this.displayRows=[],this.displayRows.push(this.activeRows.slice(0)),this.displayRowsCount=this.displayRows[0].length}setDisplayRows(t,i){this.displayRows[i]=t,i==this.displayRows.length-1&&(this.displayRowsCount=this.displayRows[this.displayRows.length-1].length)}getDisplayRows(t){return void 0===t?this.displayRows.length?this.displayRows[this.displayRows.length-1]:[]:this.displayRows[t]||[]}getVisibleRows(t,i){var e=Object.assign([],this.renderer.visibleRows(!i));return t&&(e=this.chain("rows-visible",[i],e,e)),e}displayRowIterator(t){this.activeRowsPipeline.forEach(t),this.displayRows.forEach(t),this.displayRowsCount=this.displayRows[this.displayRows.length-1].length}getRows(t){var i=[];switch(t){case"active":i=this.activeRows;break;case"display":i=this.table.rowManager.getDisplayRows();break;case"visible":i=this.getVisibleRows(!1,!0);break;default:i=this.chain("rows-retrieve",t,null,this.rows)||this.rows}return i}reRenderInPosition(t){this.redrawBlock?t?t():this.redrawBlockRenderInPosition=!0:(this.dispatchExternal("renderStarted"),this.renderer.rerenderRows(t),this.fixedHeight||this.adjustTableSize(),this.scrollBarCheck(),this.dispatchExternal("renderComplete"))}scrollBarCheck(){var t=0;this.element.scrollHeight>this.element.clientHeight&&(t=this.element.offsetWidth-this.element.clientWidth),t!==this.scrollbarWidth&&(this.scrollbarWidth=t,this.dispatch("scrollbar-vertical",t))}initializeRenderer(){var t;(t="string"==typeof this.table.options.renderVertical?{virtual:ui,basic:li}[this.table.options.renderVertical]:this.table.options.renderVertical)?(this.renderMode=this.table.options.renderVertical,this.renderer=new t(this.table,this.element,this.tableElement),this.renderer.initialize(),this.fixedHeight=!(!this.table.element.clientHeight&&!this.table.options.height||this.table.options.minHeight&&this.table.options.maxHeight)):console.error("Unable to find matching renderer:",this.table.options.renderVertical)}getRenderMode(){return this.renderMode}renderTable(){this.dispatchExternal("renderStarted"),this.element.scrollTop=0,this._clearTable(),this.displayRowsCount?(this.renderer.renderRows(),this.firstRender&&(this.firstRender=!1,this.fixedHeight||this.adjustTableSize(),this.layoutRefresh(!0))):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(t,i){var e=t.getElement();i%2?(e.classList.add("tabulator-row-even"),e.classList.remove("tabulator-row-odd")):(e.classList.add("tabulator-row-odd"),e.classList.remove("tabulator-row-even"))}normalizeHeight(t){this.activeRows.forEach((function(i){i.normalizeHeight(t)}))}adjustTableSize(){let t,i=this.element.clientHeight,e=!1;if("fill"===this.renderer.verticalFillMode){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";const i="calc(100% - "+s+"px)";this.element.style.minHeight=t||"calc(100% - "+s+"px)",this.element.style.height=i,this.element.style.maxHeight=i}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||i==this.element.clientHeight||(e=!0,this.subscribed("table-resize")?this.dispatch("table-resize"):this.redraw()),this.scrollBarCheck()}return this._positionPlaceholder(),e}reinitialize(){this.rows.forEach((function(t){t.reinitialize(!0)}))}blockRedraw(){this.redrawBlock=!0,this.redrawBlockRestoreConfig=!1}restoreRedraw(){this.redrawBlock=!1,this.redrawBlockRestoreConfig?(this.refreshActiveData(this.redrawBlockRestoreConfig.handler,this.redrawBlockRestoreConfig.skipStage,this.redrawBlockRestoreConfig.renderInPosition),this.redrawBlockRestoreConfig=!1):this.redrawBlockRenderInPosition&&this.reRenderInPosition(),this.redrawBlockRenderInPosition=!1}redraw(t){this.adjustTableSize(),this.table.tableWidth=this.table.element.clientWidth,t?this.renderTable():(this.reRenderInPosition(),this.scrollHorizontal(this.scrollLeft))}resetScroll(){if(this.element.scrollLeft=0,this.element.scrollTop=0,"ie"===this.table.browser){var t=document.createEvent("Event");t.initEvent("scroll",!1,!0),this.element.dispatchEvent(t)}else this.element.dispatchEvent(new Event("scroll"))}}class di extends j{constructor(t){super(t),this.active=!1,this.element=this.createElement(),this.containerElement=this.createContainerElement(),this.external=!1}initialize(){this.initializeElement()}createElement(){var t=document.createElement("div");return t.classList.add("tabulator-footer"),t}createContainerElement(){var t=document.createElement("div");return t.classList.add("tabulator-footer-contents"),this.element.appendChild(t),t}initializeElement(){this.table.options.footerElement&&("string"==typeof this.table.options.footerElement?"<"===this.table.options.footerElement[0]?this.containerElement.innerHTML=this.table.options.footerElement:(this.external=!0,this.containerElement=document.querySelector(this.table.options.footerElement)):this.element=this.table.options.footerElement)}getElement(){return this.element}append(t){this.activate(),this.containerElement.appendChild(t),this.table.rowManager.adjustTableSize()}prepend(t){this.activate(),this.element.insertBefore(t,this.element.firstChild),this.table.rowManager.adjustTableSize()}remove(t){t.parentNode.removeChild(t),this.deactivate()}deactivate(t){this.element.firstChild&&!t||(this.external||this.element.parentNode.removeChild(this.element),this.active=!1)}activate(){this.active||(this.active=!0,this.external||(this.table.element.appendChild(this.getElement()),this.table.element.style.display=""))}redraw(){this.dispatch("footer-redraw")}}class bi extends j{constructor(t){super(t),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=!1}initialize(){this.el=this.table.element,this.buildListenerMap(),this.bindSubscriptionWatchers()}buildListenerMap(){var t={};this.listeners.forEach((i=>{t[i]={handler:null,components:[]}})),this.listeners=t}bindPseudoEvents(){Object.keys(this.pseudoTrackers).forEach((t=>{this.pseudoTrackers[t].subscriber=this.pseudoMouseEnter.bind(this,t),this.subscribe(t+"-mouseover",this.pseudoTrackers[t].subscriber)})),this.pseudoTracking=!0}pseudoMouseEnter(t,i,e){this.pseudoTrackers[t].target!==e&&(this.pseudoTrackers[t].target&&this.dispatch(t+"-mouseleave",i,this.pseudoTrackers[t].target),this.pseudoMouseLeave(t,i),this.pseudoTrackers[t].target=e,this.dispatch(t+"-mouseenter",i,e))}pseudoMouseLeave(t,i){var e=Object.keys(this.pseudoTrackers),s={row:["cell"],cell:["row"]};(e=e.filter((i=>{var e=s[t];return i!==t&&(!e||e&&!e.includes(i))}))).forEach((t=>{this.pseudoTrackers[t].target&&(this.dispatch(t+"-mouseleave",i,this.pseudoTrackers[t].target),this.pseudoTrackers[t].target=null)}))}bindSubscriptionWatchers(){var t=Object.keys(this.listeners),i=Object.values(this.componentMap);for(let e of i)for(let i of t)this.subscriptionChange(e+"-"+i,this.subscriptionChanged.bind(this,e,i));this.subscribe("table-destroy",this.clearWatchers.bind(this))}subscriptionChanged(t,i,e){var s=this.listeners[i].components,r=s.indexOf(t),o=!1;e?-1===r&&(s.push(t),o=!0):this.subscribed(t+"-"+i)||r>-1&&(s.splice(r,1),o=!0),"mouseenter"!==i&&"mouseleave"!==i||this.pseudoTracking||this.bindPseudoEvents(),o&&this.updateEventListeners()}updateEventListeners(){for(let t in this.listeners){let i=this.listeners[t];i.components.length?i.handler||(i.handler=this.track.bind(this,t),this.el.addEventListener(t,i.handler)):i.handler&&(this.el.removeEventListener(t,i.handler),i.handler=null)}}track(t,i){var e=i.composedPath&&i.composedPath()||i.path,s=this.findTargets(e);s=this.bindComponents(t,s),this.triggerEvents(t,i,s),!this.pseudoTracking||"mouseover"!=t&&"mouseleave"!=t||Object.keys(s).length||this.pseudoMouseLeave("none",i)}findTargets(t){var i={};let e=Object.keys(this.componentMap);for(let s of t){let t=s.classList?[...s.classList]:[];if(t.filter((t=>this.abortClasses.includes(t))).length)break;let r=t.filter((t=>e.includes(t)));for(let t of r)i[this.componentMap[t]]||(i[this.componentMap[t]]=s)}return i.group&&i.group===i.row&&delete i.row,i}bindComponents(t,i){var e=Object.keys(i).reverse(),s=this.listeners[t],r={},o={},a={};for(let t of e){let e,o=i[t],h=this.previousTargets[t];if(h&&h.target===o)e=h.component;else switch(t){case"row":case"group":(s.components.includes("row")||s.components.includes("cell")||s.components.includes("group"))&&(e=this.table.rowManager.getVisibleRows(!0).find((t=>t.getElement()===o)),i.row&&i.row.parentNode&&i.row.parentNode.closest(".tabulator-row")&&(i[t]=!1));break;case"column":s.components.includes("column")&&(e=this.table.columnManager.findColumn(o));break;case"cell":s.components.includes("cell")&&(r.row instanceof rt?e=r.row.findCell(o):i.row&&console.warn("Event Target Lookup Error - The row this cell is attached to cannot be found, has the table been reinitialized without being destroyed first?"))}e&&(r[t]=e,a[t]={target:o,component:e})}return this.previousTargets=a,Object.keys(i).forEach((t=>{o[t]=r[t]})),o}triggerEvents(t,i,e){var s=this.listeners[t];for(let r in e)e[r]&&s.components.includes(r)&&this.dispatch(r+"-"+t,i,e[r])}clearWatchers(){for(let t in this.listeners){let i=this.listeners[t];i.handler&&(this.el.removeEventListener(t,i.handler),i.handler=null)}}}class pi{constructor(t){this.table=t,this.bindings={}}bind(t,i,e){this.bindings[t]||(this.bindings[t]={}),this.bindings[t][i]?console.warn("Unable to bind component handler, a matching function name is already bound",t,i,e):this.bindings[t][i]=e}handle(t,i,e){if(this.bindings[t]&&this.bindings[t][e]&&"function"==typeof this.bindings[t][e].bind)return this.bindings[t][e].bind(null,i);"then"===e||"string"!=typeof e||e.startsWith("_")||this.table.options.debugInvalidComponentFuncs&&console.error("The "+t+" component does not have a "+e+" function, have you checked that you have the correct Tabulator module installed?")}}class mi extends j{constructor(t){super(t),this.requestOrder=0,this.loading=!1}initialize(){}load(t,i,e,s,r,o){var a=++this.requestOrder;return this.table.destroyed?Promise.resolve():(this.dispatchExternal("dataLoading",t),!t||0!=t.indexOf("{")&&0!=t.indexOf("[")||(t=JSON.parse(t)),this.confirm("data-loading",[t,i,e,r])?(this.loading=!0,r||this.alertLoader(),i=this.chain("data-params",[t,e,r],i||{},i||{}),i=this.mapParams(i,this.table.options.dataSendParams),this.chain("data-load",[t,i,e,r],!1,Promise.resolve([])).then((t=>{if(this.table.destroyed)console.warn("Data Load Response Blocked - Table has been destroyed");else{Array.isArray(t)||"object"!=typeof t||(t=this.mapParams(t,this.objectInvert(this.table.options.dataReceiveParams)));var i=this.chain("data-loaded",[t],null,t);a==this.requestOrder?(this.clearAlert(),!1!==i&&(this.dispatchExternal("dataLoaded",i),this.table.rowManager.setData(i,s,void 0===o?!s:o))):console.warn("Data Load Response Blocked - An active data load request was blocked by an attempt to change table data while the request was being made")}})).catch((t=>{console.error("Data Load Error: ",t),this.dispatchExternal("dataLoadError",t),r||this.alertError(),setTimeout((()=>{this.clearAlert()}),this.table.options.dataLoaderErrorTimeout)})).finally((()=>{this.loading=!1}))):(this.dispatchExternal("dataLoaded",t),t||(t=[]),this.table.rowManager.setData(t,s,void 0===o?!s:o),Promise.resolve()))}mapParams(t,i){var e={};for(let s in t)e[i.hasOwnProperty(s)?i[s]:s]=t[s];return e}objectInvert(t){var i={};for(let e in t)i[t[e]]=e;return i}blockActiveLoad(){this.requestOrder++}alertLoader(){("function"==typeof this.table.options.dataLoader?this.table.options.dataLoader():this.table.options.dataLoader)&&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()}}class gi{constructor(t,i,e){this.table=t,this.events={},this.optionsList=i||{},this.subscriptionNotifiers={},this.dispatch=e?this._debugDispatch.bind(this):this._dispatch.bind(this),this.debug=e}subscriptionChange(t,i){this.subscriptionNotifiers[t]||(this.subscriptionNotifiers[t]=[]),this.subscriptionNotifiers[t].push(i),this.subscribed(t)&&this._notifySubscriptionChange(t,!0)}subscribe(t,i){this.events[t]||(this.events[t]=[]),this.events[t].push(i),this._notifySubscriptionChange(t,!0)}unsubscribe(t,i){var e;if(this.events[t]){if(i){if(!((e=this.events[t].findIndex((t=>t===i)))>-1))return void console.warn("Cannot remove event, no matching event found:",t,i);this.events[t].splice(e,1)}else delete this.events[t];this._notifySubscriptionChange(t,!1)}else console.warn("Cannot remove event, no events set on:",t)}subscribed(t){return this.events[t]&&this.events[t].length}_notifySubscriptionChange(t,i){var e=this.subscriptionNotifiers[t];e&&e.forEach((t=>{t(i)}))}_dispatch(){var t,i=Array.from(arguments),e=i.shift();return this.events[e]&&this.events[e].forEach(((e,s)=>{let r=e.apply(this.table,i);s||(t=r)})),t}_debugDispatch(){var t=Array.from(arguments),i=t[0];return t[0]="ExternalEvent:"+t[0],(!0===this.debug||this.debug.includes(i))&&console.log(...t),this._dispatch(...arguments)}}class fi{constructor(t){this.events={},this.subscriptionNotifiers={},this.dispatch=t?this._debugDispatch.bind(this):this._dispatch.bind(this),this.chain=t?this._debugChain.bind(this):this._chain.bind(this),this.confirm=t?this._debugConfirm.bind(this):this._confirm.bind(this),this.debug=t}subscriptionChange(t,i){this.subscriptionNotifiers[t]||(this.subscriptionNotifiers[t]=[]),this.subscriptionNotifiers[t].push(i),this.subscribed(t)&&this._notifySubscriptionChange(t,!0)}subscribe(t,i,e=1e4){this.events[t]||(this.events[t]=[]),this.events[t].push({callback:i,priority:e}),this.events[t].sort(((t,i)=>t.priority-i.priority)),this._notifySubscriptionChange(t,!0)}unsubscribe(t,i){var e;if(this.events[t]){if(i){if(!((e=this.events[t].findIndex((t=>t.callback===i)))>-1))return void console.warn("Cannot remove event, no matching event found:",t,i);this.events[t].splice(e,1)}this._notifySubscriptionChange(t,!1)}else console.warn("Cannot remove event, no events set on:",t)}subscribed(t){return this.events[t]&&this.events[t].length}_chain(t,i,e,s){var r=e;return Array.isArray(i)||(i=[i]),this.subscribed(t)?(this.events[t].forEach((t=>{r=t.callback.apply(this,i.concat([r]))})),r):"function"==typeof s?s():s}_confirm(t,i){var e=!1;return Array.isArray(i)||(i=[i]),this.subscribed(t)&&this.events[t].forEach((t=>{t.callback.apply(this,i)&&(e=!0)})),e}_notifySubscriptionChange(t,i){var e=this.subscriptionNotifiers[t];e&&e.forEach((t=>{t(i)}))}_dispatch(){var t=Array.from(arguments),i=t.shift();this.events[i]&&this.events[i].forEach((i=>{i.callback.apply(this,t)}))}_debugDispatch(){var t=Array.from(arguments),i=t[0];return t[0]="InternalEvent:"+i,(!0===this.debug||this.debug.includes(i))&&console.log(...t),this._dispatch(...arguments)}_debugChain(){var t=Array.from(arguments),i=t[0];return t[0]="InternalEvent:"+i,(!0===this.debug||this.debug.includes(i))&&console.log(...t),this._chain(...arguments)}_debugConfirm(){var t=Array.from(arguments),i=t[0];return t[0]="InternalEvent:"+i,(!0===this.debug||this.debug.includes(i))&&console.log(...t),this._confirm(...arguments)}}class vi extends j{constructor(t){super(t)}_warnUser(){this.options("debugDeprecation")&&console.warn(...arguments)}check(t,i,e){var s="";return void 0===this.options(t)||(s="Deprecated Setup Option - Use of the %c"+t+"%c option is now deprecated",i?(this._warnUser(s=s+", Please use the %c"+i+"%c option instead","font-weight: bold;","font-weight: normal;","font-weight: bold;","font-weight: normal;"),e&&(this.table.options[i]=this.table.options[t])):this._warnUser(s,"font-weight: bold;","font-weight: normal;"),!1)}checkMsg(t,i){return void 0===this.options(t)||(this._warnUser("%cDeprecated Setup Option - Use of the %c"+t+" %c option is now deprecated, "+i,"font-weight: normal;","font-weight: bold;","font-weight: normal;"),!1)}msg(t){this._warnUser(t)}}class wi extends j{constructor(t){super(t),this.deps={},this.props={}}initialize(){this.deps=Object.assign({},this.options("dependencies"))}lookup(t,i,e){if(!Array.isArray(t))return i?this.lookupProp(t,i,e):this.lookupKey(t,e);for(const e of t){var s=this.lookup(e,i,!0);if(s)break}if(s)return s;this.error(t)}lookupProp(t,i,e){var s;return this.props[t]&&this.props[t][i]?this.props[t][i]:(s=this.lookupKey(t,e))?(this.props[t]||(this.props[t]={}),this.props[t][i]=s[i]||s,this.props[t][i]):void 0}lookupKey(t,i){var e;return this.deps[t]?e=this.deps[t]:window[t]?(this.deps[t]=window[t],e=this.deps[t]):i||this.error(t),e}error(t){console.error("Unable to find dependency",t,"Please check documentation and ensure you have imported the required library into your project")}}function yi(t){t.forEach((function(t){t.reinitializeWidth()})),this.table.options.responsiveLayout&&this.table.modExists("responsiveLayout",!0)&&this.table.modules.responsiveLayout.update()}var xi={fitData:function(t,i){i&&this.table.columnManager.renderer.reinitializeColumnWidths(t),this.table.options.responsiveLayout&&this.table.modExists("responsiveLayout",!0)&&this.table.modules.responsiveLayout.update()},fitDataFill:yi,fitDataTable:yi,fitDataStretch:function(t){var i=0,e=this.table.rowManager.element.clientWidth,s=0,r=!1;t.forEach((t=>{t.widthFixed||t.reinitializeWidth(),(this.table.options.responsiveLayout?t.modules.responsive.visible:t.visible)&&(r=t),t.visible&&(i+=t.getWidth())})),r?(s=e-i+r.getWidth(),this.table.options.responsiveLayout&&this.table.modExists("responsiveLayout",!0)&&(r.setWidth(0),this.table.modules.responsiveLayout.update()),s>0?r.setWidth(s):r.reinitializeWidth()):this.table.options.responsiveLayout&&this.table.modExists("responsiveLayout",!0)&&this.table.modules.responsiveLayout.update()},fitColumns:function(t){var i,e,s=this.table.rowManager.element.getBoundingClientRect().width,r=0,o=0,a=0,h=[],n=[],l=0,u=0;function c(t){return"string"==typeof t?t.indexOf("%")>-1?s/100*parseInt(t):parseInt(t):t}function d(t,i,e,s){var r=[],o=0,h=0,n=0,l=a,u=0,b=0,p=[];function m(t){return e*(t.column.definition.widthGrow||1)}function g(t){return c(t.width)-e*(t.column.definition.widthShrink||0)}return t.forEach((function(t){var o=s?g(t):m(t);t.column.minWidth>=o?r.push(t):t.column.maxWidth&&t.column.maxWidth<o?(t.width=t.column.maxWidth,i-=t.column.maxWidth,(l-=s?t.column.definition.widthShrink||1:t.column.definition.widthGrow||1)&&(e=Math.floor(i/l))):(p.push(t),b+=s?t.column.definition.widthShrink||1:t.column.definition.widthGrow||1)})),r.length?(r.forEach((function(t){o+=s?t.width-t.column.minWidth:t.column.minWidth,t.width=t.column.minWidth})),h=i-o,n=b?Math.floor(h/b):h,u=d(p,h,n,s)):(u=b?i-Math.floor(i/b)*b:i,p.forEach((function(t){t.width=s?g(t):m(t)}))),u}this.table.options.responsiveLayout&&this.table.modExists("responsiveLayout",!0)&&this.table.modules.responsiveLayout.update(),this.table.rowManager.element.scrollHeight>this.table.rowManager.element.clientHeight&&(s-=this.table.rowManager.element.offsetWidth-this.table.rowManager.element.clientWidth),t.forEach((function(t){var i,e,s;t.visible&&(i=t.definition.width,e=parseInt(t.minWidth),i?(s=c(i),r+=s>e?s:e,t.definition.widthShrink&&(n.push({column:t,width:s>e?s:e}),l+=t.definition.widthShrink)):(h.push({column:t,width:0}),a+=t.definition.widthGrow||1))})),o=s-r,i=Math.floor(o/a),u=d(h,o,i,!1),h.length&&u>0&&(h[h.length-1].width+=u),h.forEach((function(t){o-=t.width})),(e=Math.abs(u)+o)>0&&l&&(u=d(n,e,Math.floor(e/l),!0)),u&&n.length&&(n[n.length-1].width-=u),h.forEach((function(t){t.column.setWidth(t.width)})),n.forEach((function(t){t.column.setWidth(t.width)}))}};class ki extends H{static moduleName="layout";static modes=xi;constructor(t){super(t,"layout"),this.mode=null,this.registerTableOption("layout","fitData"),this.registerTableOption("layoutColumnsOnNewData",!1),this.registerColumnOption("widthGrow"),this.registerColumnOption("widthShrink")}initialize(){var t=this.table.options.layout;ki.modes[t]?this.mode=t:(console.warn("Layout Error - invalid mode set, defaulting to 'fitData' : "+t),this.mode="fitData"),this.table.element.setAttribute("tabulator-layout",this.mode),this.subscribe("column-init",this.initializeColumn.bind(this))}initializeColumn(t){t.definition.widthGrow&&(t.definition.widthGrow=Number(t.definition.widthGrow)),t.definition.widthShrink&&(t.definition.widthShrink=Number(t.definition.widthShrink))}getMode(){return this.mode}layout(t){var i=this.table.columnManager.columnsByIndex.find((t=>t.definition.variableHeight||"textarea"===t.definition.formatter));this.dispatch("layout-refreshing"),ki.modes[this.mode].call(this,this.table.columnManager.columnsByIndex,t),i&&this.table.rowManager.normalizeHeight(!0),this.dispatch("layout-refreshed")}}var Ci={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:{}}}};class Ri extends H{static moduleName="localize";static langs=Ci;constructor(t){super(t),this.locale="default",this.lang=!1,this.bindings={},this.langList={},this.registerTableOption("locale",!1),this.registerTableOption("langs",{})}initialize(){this.langList=N.deepClone(Ri.langs),!1!==this.table.options.columnDefaults.headerFilterPlaceholder&&this.setHeaderFilterPlaceholder(this.table.options.columnDefaults.headerFilterPlaceholder);for(let t in this.table.options.langs)this.installLang(t,this.table.options.langs[t]);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(t){this.langList.default.headerFilters.default=t}installLang(t,i){this.langList[t]?this._setLangProp(this.langList[t],i):this.langList[t]=i}_setLangProp(t,i){for(let e in i)t[e]&&"object"==typeof t[e]?this._setLangProp(t[e],i[e]):t[e]=i[e]}setLocale(t){if(!0===(t=t||"default")&&navigator.language&&(t=navigator.language.toLowerCase()),t&&!this.langList[t]){let i=t.split("-")[0];this.langList[i]?(console.warn("Localization Error - Exact matching locale not found, using closest match: ",t,i),t=i):(console.warn("Localization Error - Matching locale not found, using default: ",t),t="default")}this.locale=t,this.lang=N.deepClone(this.langList.default||{}),"default"!=t&&function t(i,e){for(var s in i)"object"==typeof i[s]?(e[s]||(e[s]={}),t(i[s],e[s])):e[s]=i[s]}(this.langList[t],this.lang),this.dispatchExternal("localized",this.locale,this.lang),this._executeBindings()}getLocale(t){return this.locale}getLang(t){return t?this.langList[t]:this.lang}getText(t,i){var e=(i?t+"|"+i:t).split("|");return this._getLangElement(e,this.locale)||""}_getLangElement(t,i){var e=this.lang;return t.forEach((function(t){var i;e&&(e=void 0!==(i=e[t])&&i)})),e}bind(t,i){this.bindings[t]||(this.bindings[t]=[]),this.bindings[t].push(i),i(this.getText(t),this.lang)}_executeBindings(){for(let t in this.bindings)this.bindings[t].forEach((i=>{i(this.getText(t),this.lang)}))}}var Ei=Object.freeze({__proto__:null,CommsModule:class extends H{static moduleName="comms";constructor(t){super(t)}initialize(){this.registerTableFunction("tableComms",this.receive.bind(this))}getConnections(t){var i=[];return this.table.constructor.registry.lookupTable(t).forEach((t=>{this.table!==t&&i.push(t)})),i}send(t,i,e,s){var r=this.getConnections(t);r.forEach((t=>{t.tableComms(this.table.element,i,e,s)})),!r.length&&t&&console.warn("Table Connection Error - No tables matching selector found",t)}receive(t,i,e,s){if(this.table.modExists(i))return this.table.modules[i].commsReceived(t,e,s);console.warn("Inter-table Comms Error - no such module:",i)}},LayoutModule:ki,LocalizeModule:Ri});class zi{static registry={tables:[],register(t){zi.registry.tables.push(t)},deregister(t){var i=zi.registry.tables.indexOf(t);i>-1&&zi.registry.tables.splice(i,1)},lookupTable(t,i){var e,s,r=[];if("string"==typeof t){if((e=document.querySelectorAll(t)).length)for(var o=0;o<e.length;o++)(s=zi.registry.matchElement(e[o]))&&r.push(s)}else"undefined"!=typeof HTMLElement&&t instanceof HTMLElement||t instanceof zi?(s=zi.registry.matchElement(t))&&r.push(s):Array.isArray(t)?t.forEach((function(t){r=r.concat(zi.registry.lookupTable(t))})):i||console.warn("Table Connection Error - Invalid Selector",t);return r},matchElement:t=>zi.registry.tables.find((function(i){return t instanceof zi?i===t:i.element===t}))};static findTable(t){var i=zi.registry.lookupTable(t,!0);return!(Array.isArray(i)&&!i.length)&&i}}class Mi extends zi{static moduleBindings={};static moduleExtensions={};static modulesRegistered=!1;static defaultModules=!1;constructor(){super()}static initializeModuleBinder(t){Mi.modulesRegistered||(Mi.modulesRegistered=!0,Mi._registerModules(Ei,!0),t&&Mi._registerModules(t))}static _extendModule(t,i,e){if(Mi.moduleBindings[t]){var s=Mi.moduleBindings[t][i];if(s)if("object"==typeof e)for(let t in e)s[t]=e[t];else console.warn("Module Error - Invalid value type, it must be an object");else console.warn("Module Error - property does not exist:",i)}else console.warn("Module Error - module does not exist:",t)}static _registerModules(t,i){var e=Object.values(t);i&&e.forEach((t=>{t.prototype.moduleCore=!0})),Mi._registerModule(e)}static _registerModule(t){Array.isArray(t)||(t=[t]),t.forEach((t=>{Mi._registerModuleBinding(t),Mi._registerModuleExtensions(t)}))}static _registerModuleBinding(t){t.moduleName?Mi.moduleBindings[t.moduleName]=t:console.error("Unable to bind module, no moduleName defined",t.moduleName)}static _registerModuleExtensions(t){var i=t.moduleExtensions;if(t.moduleExtensions)for(let t in i){let e=i[t];if(Mi.moduleBindings[t])for(let i in e)Mi._extendModule(t,i,e[i]);else{Mi.moduleExtensions[t]||(Mi.moduleExtensions[t]={});for(let i in e)Mi.moduleExtensions[t][i]||(Mi.moduleExtensions[t][i]={}),Object.assign(Mi.moduleExtensions[t][i],e[i])}}Mi._extendModuleFromQueue(t)}static _extendModuleFromQueue(t){var i=Mi.moduleExtensions[t.moduleName];if(i)for(let e in i)Mi._extendModule(t.moduleName,e,i[e])}_bindModules(){var t=[],i=[],e=[];for(var s in this.modules={},Mi.moduleBindings){let r=Mi.moduleBindings[s],o=new r(this);this.modules[s]=o,r.prototype.moduleCore?this.modulesCore.push(o):r.moduleInitOrder?r.moduleInitOrder<0?t.push(o):i.push(o):e.push(o)}t.sort(((t,i)=>t.moduleInitOrder>i.moduleInitOrder?1:-1)),i.sort(((t,i)=>t.moduleInitOrder>i.moduleInitOrder?1:-1)),this.modulesRegular=t.concat(e.concat(i))}}class Si extends j{constructor(t){super(t),this.element=this._createAlertElement(),this.msgElement=this._createMsgElement(),this.type=null,this.element.appendChild(this.msgElement)}_createAlertElement(){var t=document.createElement("div");return t.classList.add("tabulator-alert"),t}_createMsgElement(){var t=document.createElement("div");return t.classList.add("tabulator-alert-msg"),t.setAttribute("role","alert"),t}_typeClass(){return"tabulator-alert-state-"+this.type}alert(t,i="msg"){if(t){for(this.clear(),this.dispatch("alert-show",i),this.type=i;this.msgElement.firstChild;)this.msgElement.removeChild(this.msgElement.firstChild);this.msgElement.classList.add(this._typeClass()),"function"==typeof t&&(t=t()),t instanceof HTMLElement?this.msgElement.appendChild(t):this.msgElement.innerHTML=t,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())}}class Ti extends Mi{static defaultOptions=si;static extendModule(){Ti.initializeModuleBinder(),Ti._extendModule(...arguments)}static registerModule(){Ti.initializeModuleBinder(),Ti._registerModule(...arguments)}constructor(t,i,e){super(),Ti.initializeModuleBinder(e),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=!1,this.browser="",this.browserSlow=!1,this.browserMobile=!1,this.rtl=!1,this.originalElement=null,this.componentFunctionBinder=new pi(this),this.dataLoader=!1,this.modules={},this.modulesCore=[],this.modulesRegular=[],this.deprecationAdvisor=new vi(this),this.optionsList=new ri(this,"table constructor"),this.dependencyRegistry=new wi(this),this.initialized=!1,this.destroyed=!1,this.initializeElement(t)&&(this.initializeCoreSystems(i),setTimeout((()=>{this._create()}))),this.constructor.registry.register(this)}initializeElement(t){return"undefined"!=typeof HTMLElement&&t instanceof HTMLElement?(this.element=t,!0):"string"==typeof t?(this.element=document.querySelector(t),!!this.element||(console.error("Tabulator Creation Error - no element found matching selector: ",t),!1)):(console.error("Tabulator Creation Error - Invalid element provided:",t),!1)}initializeCoreSystems(t){this.columnManager=new ni(this),this.rowManager=new ci(this),this.footerManager=new di(this),this.dataLoader=new mi(this),this.alertManager=new Si(this),this._bindModules(),this.options=this.optionsList.generate(Ti.defaultOptions,t),this._clearObjectPointers(),this._mapDeprecatedFunctionality(),this.externalEvents=new gi(this,this.options,this.options.debugEventsExternal),this.eventBus=new fi(this.options.debugEventsInternal),this.interactionMonitor=new bi(this),this.dataLoader.initialize(),this.footerManager.initialize(),this.dependencyRegistry.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.initialized=!0,this._loadInitialData().finally((()=>{this.eventBus.dispatch("table-initialized"),this.externalEvents.dispatch("tableBuilt")}))}_rtlCheck(){var t=window.getComputedStyle(this.element);switch(this.options.textDirection){case"auto":if("rtl"!==t.direction)break;case"rtl":this.element.classList.add("tabulator-rtl"),this.rtl=!0;break;case"ltr":this.element.classList.add("tabulator-ltr");default:this.rtl=!1}}_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 t,i=this.element,e=this.options;if("TABLE"===i.tagName){this.originalElement=this.element,t=document.createElement("div");var s=i.attributes;for(var r in s)"object"==typeof s[r]&&t.setAttribute(s[r].name,s[r].value);i.parentNode.replaceChild(t,i),this.element=i=t}for(i.classList.add("tabulator"),i.setAttribute("role","grid");i.firstChild;)i.removeChild(i.firstChild);e.height&&(e.height=isNaN(e.height)?e.height:e.height+"px",i.style.height=e.height),!1!==e.minHeight&&(e.minHeight=isNaN(e.minHeight)?e.minHeight:e.minHeight+"px",i.style.minHeight=e.minHeight),!1!==e.maxHeight&&(e.maxHeight=isNaN(e.maxHeight)?e.maxHeight:e.maxHeight+"px",i.style.maxHeight=e.maxHeight)}_initializeTable(){var t=this.element,i=this.options;this.interactionMonitor.initialize(),this.columnManager.initialize(),this.rowManager.initialize(),this._detectBrowser(),this.modulesCore.forEach((t=>{t.initialize()})),t.appendChild(this.columnManager.getElement()),t.appendChild(this.rowManager.getElement()),i.footerElement&&this.footerManager.activate(),i.autoColumns&&i.data&&this.columnManager.generateColumnsFromRowData(this.options.data),this.modulesRegular.forEach((t=>{t.initialize()})),this.columnManager.setColumns(i.columns),this.eventBus.dispatch("table-built")}_loadInitialData(){return this.dataLoader.load(this.options.data).finally((()=>{this.columnManager.verticalAlignHeaders()}))}destroy(){var t=this.element;for(this.destroyed=!0,this.constructor.registry.deregister(this),this.eventBus.dispatch("table-destroy"),this.rowManager.destroy();t.firstChild;)t.removeChild(t.firstChild);t.classList.remove("tabulator"),this.externalEvents.dispatch("tableDestroyed")}_detectBrowser(){var t=navigator.userAgent||navigator.vendor||window.opera;t.indexOf("Trident")>-1?(this.browser="ie",this.browserSlow=!0):t.indexOf("Edge")>-1?(this.browser="edge",this.browserSlow=!0):t.indexOf("Firefox")>-1?(this.browser="firefox",this.browserSlow=!1):t.indexOf("Mac OS")>-1?(this.browser="safari",this.browserSlow=!1):(this.browser="other",this.browserSlow=!1),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(t)||/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(t.slice(0,4))}initGuard(t,i){var e,s;return this.options.debugInitialization&&!this.initialized&&(t||(t=" "==(s="Error"==(e=(new Error).stack.split("\n"))[0]?e[2]:e[1])[0]?s.trim().split(" ")[1].split(".")[1]:s.trim().split("@")[0]),console.warn("Table Not Initialized - Calling the "+t+" function before the table is initialized may result in inconsistent behavior, Please wait for the `tableBuilt` event before calling this function."+(i?" "+i:""))),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(t,i,e){return this.initGuard(!1,"To set initial data please use the 'data' property in the table constructor."),this.dataLoader.load(t,i,e,!1)}clearData(){this.initGuard(),this.dataLoader.blockActiveLoad(),this.rowManager.clearData()}getData(t){return this.rowManager.getData(t)}getDataCount(t){return this.rowManager.getDataCount(t)}replaceData(t,i,e){return this.initGuard(),this.dataLoader.load(t,i,e,!0,!0)}updateData(t){var i=0;return this.initGuard(),new Promise(((e,s)=>{this.dataLoader.blockActiveLoad(),"string"==typeof t&&(t=JSON.parse(t)),t&&t.length>0?t.forEach((t=>{var r=this.rowManager.findRow(t[this.options.index]);r?(i++,r.updateData(t).then((()=>{--i||e()})).catch((i=>{s("Update Error - Unable to update row",t,i)}))):s("Update Error - Unable to find row",t)})):(console.warn("Update Error - No data provided"),s("Update Error - No data provided"))}))}addData(t,i,e){return this.initGuard(),new Promise(((s,r)=>{this.dataLoader.blockActiveLoad(),"string"==typeof t&&(t=JSON.parse(t)),t?this.rowManager.addRows(t,i,e).then((t=>{var i=[];t.forEach((function(t){i.push(t.getComponent())})),s(i)})):(console.warn("Update Error - No data provided"),r("Update Error - No data provided"))}))}updateOrAddData(t){var i=[],e=0;return this.initGuard(),new Promise(((s,r)=>{this.dataLoader.blockActiveLoad(),"string"==typeof t&&(t=JSON.parse(t)),t&&t.length>0?t.forEach((t=>{var r=this.rowManager.findRow(t[this.options.index]);e++,r?r.updateData(t).then((()=>{e--,i.push(r.getComponent()),e||s(i)})):this.rowManager.addRows(t).then((t=>{e--,i.push(t[0].getComponent()),e||s(i)}))})):(console.warn("Update Error - No data provided"),r("Update Error - No data provided"))}))}getRow(t){var i=this.rowManager.findRow(t);return i?i.getComponent():(console.warn("Find Error - No matching row found:",t),!1)}getRowFromPosition(t){var i=this.rowManager.getRowFromPosition(t);return i?i.getComponent():(console.warn("Find Error - No matching row found:",t),!1)}deleteRow(t){var i=[];this.initGuard(),Array.isArray(t)||(t=[t]);for(let e of t){let t=this.rowManager.findRow(e,!0);if(!t)return console.error("Delete Error - No matching row found:",e),Promise.reject("Delete Error - No matching row found");i.push(t)}return i.sort(((t,i)=>this.rowManager.rows.indexOf(t)>this.rowManager.rows.indexOf(i)?1:-1)),i.forEach((t=>{t.delete()})),this.rowManager.reRenderInPosition(),Promise.resolve()}addRow(t,i,e){return this.initGuard(),"string"==typeof t&&(t=JSON.parse(t)),this.rowManager.addRows(t,i,e,!0).then((t=>t[0].getComponent()))}updateOrAddRow(t,i){var e=this.rowManager.findRow(t);return this.initGuard(),"string"==typeof i&&(i=JSON.parse(i)),e?e.updateData(i).then((()=>e.getComponent())):this.rowManager.addRows(i).then((t=>t[0].getComponent()))}updateRow(t,i){var e=this.rowManager.findRow(t);return this.initGuard(),"string"==typeof i&&(i=JSON.parse(i)),e?e.updateData(i).then((()=>Promise.resolve(e.getComponent()))):(console.warn("Update Error - No matching row found:",t),Promise.reject("Update Error - No matching row found"))}scrollToRow(t,i,e){var s=this.rowManager.findRow(t);return s?this.rowManager.scrollToRow(s,i,e):(console.warn("Scroll Error - No matching row found:",t),Promise.reject("Scroll Error - No matching row found"))}moveRow(t,i,e){var s=this.rowManager.findRow(t);this.initGuard(),s?s.moveToRow(i,e):console.warn("Move Error - No matching row found:",t)}getRows(t){return this.rowManager.getComponents(t)}getRowPosition(t){var i=this.rowManager.findRow(t);return i?i.getPosition():(console.warn("Position Error - No matching row found:",t),!1)}setColumns(t){this.initGuard(!1,"To set initial columns please use the 'columns' property in the table constructor"),this.columnManager.setColumns(t)}getColumns(t){return this.columnManager.getComponents(t)}getColumn(t){var i=this.columnManager.findColumn(t);return i?i.getComponent():(console.warn("Find Error - No matching column found:",t),!1)}getColumnDefinitions(){return this.columnManager.getDefinitionTree()}showColumn(t){var i=this.columnManager.findColumn(t);if(this.initGuard(),!i)return console.warn("Column Show Error - No matching column found:",t),!1;i.show()}hideColumn(t){var i=this.columnManager.findColumn(t);if(this.initGuard(),!i)return console.warn("Column Hide Error - No matching column found:",t),!1;i.hide()}toggleColumn(t){var i=this.columnManager.findColumn(t);if(this.initGuard(),!i)return console.warn("Column Visibility Toggle Error - No matching column found:",t),!1;i.visible?i.hide():i.show()}addColumn(t,i,e){var s=this.columnManager.findColumn(e);return this.initGuard(),this.columnManager.addColumn(t,i,s).then((t=>t.getComponent()))}deleteColumn(t){var i=this.columnManager.findColumn(t);return this.initGuard(),i?i.delete():(console.warn("Column Delete Error - No matching column found:",t),Promise.reject())}updateColumnDefinition(t,i){var e=this.columnManager.findColumn(t);return this.initGuard(),e?e.updateDefinition(i):(console.warn("Column Update Error - No matching column found:",t),Promise.reject())}moveColumn(t,i,e){var s=this.columnManager.findColumn(t),r=this.columnManager.findColumn(i);this.initGuard(),s?r?this.columnManager.moveColumn(s,r,e):console.warn("Move Error - No matching column found:",r):console.warn("Move Error - No matching column found:",t)}scrollToColumn(t,i,e){return new Promise((()=>{var s=this.columnManager.findColumn(t);return s?this.columnManager.scrollToColumn(s,i,e):(console.warn("Scroll Error - No matching column found:",t),Promise.reject("Scroll Error - No matching column found"))}))}redraw(t){this.initGuard(),this.columnManager.redraw(t),this.rowManager.redraw(t)}setHeight(t){this.options.height=isNaN(t)?t:t+"px",this.element.style.height=this.options.height,this.rowManager.initializeRenderer(),this.rowManager.redraw(!0)}on(t,i){this.externalEvents.subscribe(t,i)}off(t,i){this.externalEvents.unsubscribe(t,i)}dispatchEvent(){Array.from(arguments).shift(),this.externalEvents.dispatch(...arguments)}alert(t,i){this.initGuard(),this.alertManager.alert(t,i)}clearAlert(){this.initGuard(),this.alertManager.clear()}modExists(t,i){return!!this.modules[t]||(i&&console.error("Tabulator Module Not Installed: "+t),!1)}module(t){var i=this.modules[t];return i||console.error("Tabulator module not installed: "+t),i}}var Di=Ti,Pi=class extends Di{static extendModule(){Di.initializeModuleBinder(ei),Di._extendModule(...arguments)}static registerModule(){Di.initializeModuleBinder(ei),Di._registerModule(...arguments)}constructor(t,i,e){super(t,i,ei)}};const{replace:Fi}="",ji=/[&<>'"]/g,Ni={"&":"&","<":"<",">":">","'":"'",'"':"""},Oi=t=>Ni[t];class Hi{constructor(t){this.pool=t,this.create=this.create.bind(this)}create(t){var i;const e={title:t.title,field:t.field,hozAlign:t.horizontalAlign,headerSort:t.headerSort,headerSortStartingDir:"desc"};return t.headerComponent&&(e.titleFormatter=_i(t)),((null===(i=t.component)||void 0===i?void 0:i.name)||t.formatter)&&(e.formatter=function(t,i){var e;return(null===(e=t.component)||void 0===e?void 0:e.name)?function(t){const i=t.component.name;if("string"==typeof i){const e=!i.includes("-"),s=customElements.get(t.component.name);return e||s}return!1}(t)?e=>{const s=Li(e,t);return function(t,i,e,s){const r=t.getField(),o=t.getData(),a=s.get(i.component.name);let h=i.component.props||{};return i.component.propsFactory&&(h=Object.assign(Object.assign({},h),i.component.propsFactory(o))),h=Object.assign(Object.assign({},h),{field:r,value:e,data:o}),a.style.display="inline-block",Ai(a,h),function(t,i){if(!("ResizeObserver"in window))return;const e=new ResizeObserver((()=>{const e=t.getBoundingClientRect().width+16;e<i.getWidth()||i.setWidth(e)}));e.observe(t),setTimeout((()=>{e.unobserve(t)}),1e3)}(a,t.getColumn()),a}(e,t,s,i)}:(console.warn(`Failed to render custom component for column "${t.field.toString()}". Custom element <${t.component.name}/> does not exist. Using the default formatter.`),Li):Li}(t,this.pool),e.formatterParams=t),t.aggregator&&(e.bottomCalc=function(t){const i=t.aggregator;return"function"==typeof i?(e,s)=>i(t,e,s):i}(t)),e}}const _i=t=>()=>{const i=document.createElement("div");i.setAttribute("class","lime-col-title__custom-component");const e=document.createElement("span");e.setAttribute("class","title-component-text"),e.textContent=t.title;const s=document.createElement(t.headerComponent.name);s.setAttribute("class","title-component-slot");let r=t.headerComponent.props||{};return t.headerComponent.propsFactory&&(r=Object.assign(Object.assign({},r),t.headerComponent.propsFactory(null))),Ai(s,r),i.append(e),i.append(s),i};function Li(t,i){const e=t.getData();let s=t.getValue();return i.formatter&&(s=i.formatter(s,e)),"string"!=typeof s||i.component||(s=Fi.call(s,ji,Oi)),s}function Ai(t,i){const e=F(i,k(Ii));Object.assign(t,e);const s=F(i,Ii);for(const[i,e]of Object.entries(s)){const s=(r=i).charAt(2).toLowerCase()+r.slice(3);t.addEventListener(s,e)}var r}function Ii(t,i){return"function"==typeof t&&/^on[A-Z]/.test(i)}const Vi=t=>i=>({column:t.find((t=>t.field===i.field)),direction:i.dir.toUpperCase()});class Ui{constructor(t){this.isFree=t=>!this.usedElements.has(t),this.document=t,this.releaseAll(),this.clear()}get(t){var i;let e=null===(i=this.pool[t])||void 0===i?void 0:i.find(this.isFree);return e||(e=this.createElement(t)),this.usedElements.set(e,!0),e}release(t){this.usedElements.delete(t)}releaseAll(){this.usedElements=new WeakMap}clear(){this.pool={}}createElement(t){const i=this.document.createElement(t);return t in this.pool||(this.pool[t]=[]),this.pool[t].push(i),i}}class Bi{constructor(t){this.getDataByIndex=t,this.toggleRange=(t,i)=>{const e=!this.selectedItems.has(this.getDataByIndex(i)),s=Math.min(t,i),r=Math.max(t,i),o=[],a=[];for(let t=s;t<=r;t++){const i=this.getDataByIndex(t);i&&(this.selectedItems.has(i)!==e&&(e?this.selectedItems.add(i):this.selectedItems.delete(i),o.push(t),a.push(i)))}return this.lastToggledIndex=i,{selected:e,items:a,indexes:o}},this.clear()}get size(){return this.selectedItems.size}get items(){return[...this.selectedItems]}set items(t){this.selectedItems=new Set(t),this.lastToggledIndex=-1}has(t){return this.selectedItems.has(t)}toggleSelection(t){return this.toggleRange(t,t)}toggleSelectionFromLastIndex(t){return this.lastToggledIndex<0?this.toggleSelection(t):this.toggleRange(this.lastToggledIndex,t)}clear(){this.selectedItems=new Set,this.lastToggledIndex=-1}}const Gi="limel-checkbox",Wi=t=>{var i;return null!==(i=t.id)&&void 0!==i?i:t};class Ji{constructor(t,i,e,s){this.getTable=t,this.pool=i,this.selectEvent=e,this.getTranslation=s,this.rowSelectorCellClick=(t,i)=>{t.stopPropagation(),t.preventDefault();const e=i.getRow().getPosition(!0);!1!==e&&(this.updateRowSelectors(t.shiftKey?this.selection.toggleSelectionFromLastIndex(e):this.selection.toggleSelection(e)),this.selectEvent.emit(this.selection.items.map(this.getRowData)))},this.getRowData=t=>"object"==typeof t?t:this.getTable().getRow(t).getData(),this.updateRowSelectors=t=>{for(const i of t.indexes.map(this.getRowByIndex))this.updateRowSelector(i,t.selected)},this.updateRowSelector=(t,i)=>{const e=t.getCells()[0];e&&(e.getElement().querySelector(Gi).checked=i)},this.getActiveRows=()=>{const t=this.getTable();return t?t.getRows("active"):[]},this.getRowByIndex=t=>this.getTable().getRowFromPosition(t,!0),this.selection=new Bi((t=>Wi(this.getRowByIndex(t).getData())))}get hasSelection(){return this.selection.size>0}clear(){this.selection.clear()}setSelection(t=[]){const i=t.map(Wi);if(this.selection.size===t.length&&this.selection.items.every(((t,e)=>t===i[e])))return;this.selection.items=i;const e=this.getActiveRows();for(const t of e)this.updateRowSelector(t,this.selection.has(Wi(t.getData())))}getColumnDefinitions(t){return[this.getRowSelectorColumnDefinition(),...t]}getRowSelectorColumnDefinition(){return{title:"",formatter:this.getRowSelectorFormatter(),cellClick:this.rowSelectorCellClick,headerClick:this.headerClick,headerSort:!1,cssClass:"limel-table--row-selector",resizable:!1,htmlOutput:!1,clipboard:!1}}headerClick(t){t.stopPropagation()}getRowSelectorFormatter(){return t=>{const i=this.pool.get(Gi);return Ai(i,{checked:this.selection.has(Wi(t.getData())),label:this.getTranslation("table.select-row")}),i.classList.add("hide-label"),i.style.display="inline-block",i}}}const qi=class{constructor(e){t(this,e),this.sort=i(this,"sort"),this.changePage=i(this,"changePage"),this.load=i(this,"load"),this.activate=i(this,"activate"),this.changeColumns=i(this,"changeColumns"),this.select=i(this,"select"),this.selectAll=i(this,"selectAll"),this.data=[],this.columns=[],this.mode="local",this.sorting=[],this.sortableColumns=!0,this.loading=!1,this.page=1,this.language="en",this.paginationLocation="bottom",this.initialized=!1,this.destroyed=!1,this.shouldSort=!1,this.getActiveRows=()=>this.tabulator?this.tabulator.getRows("active"):[],this.getActiveRowsData=()=>this.getActiveRows().map((t=>t.getData())),this.selectAllOnChange=t=>{const i=t.detail;t.stopPropagation(),t.preventDefault();const e=i?this.getActiveRowsData():[];this.select.emit(e),this.tableSelection.setSelection(e),this.selectAll.emit(i)},this.getColumnOptions=()=>this.movableColumns?{movableColumns:!0}:{},this.handleMoveColumn=(t,i)=>{if(!this.movableColumns)return;const e=i.map(this.findColumn).filter(Boolean);this.changeColumns.emit(e)},this.findColumn=t=>this.columns.find((i=>i.field===t.getField()&&i.title===t.getDefinition().title)),this.getTranslation=t=>E.get(t,this.language),this.handleDataSorting=this.handleDataSorting.bind(this),this.handlePageLoaded=this.handlePageLoaded.bind(this),this.handleRenderComplete=this.handleRenderComplete.bind(this),this.handleAjaxRequesting=this.handleAjaxRequesting.bind(this),this.requestData=this.requestData.bind(this),this.onClickRow=this.onClickRow.bind(this),this.formatRow=this.formatRow.bind(this),this.formatRows=this.formatRows.bind(this),this.updateMaxPage=this.updateMaxPage.bind(this),this.initTabulatorComponent=this.initTabulatorComponent.bind(this),this.setSelection=this.setSelection.bind(this),this.addColumnAggregator=this.addColumnAggregator.bind(this),this.pool=new Ui(document),this.columnFactory=new Hi(this.pool)}componentWillLoad(){this.initTableSelection()}componentDidLoad(){this.destroyed=!1,this.init()}disconnectedCallback(){this.destroyed=!0,this.initialized=!1,this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null),this.tabulator&&(this.tabulator.destroy(),this.tabulator=null),this.pool.clear()}totalRowsChanged(){this.updateMaxPage()}pageSizeChanged(){this.updateMaxPage()}pageChanged(){this.tabulator&&this.tabulator.getPage()!==this.page&&this.tabulator.setPage(this.page)}activeRowChanged(){this.tabulator&&this.formatRows()}updateData(t=[],i=[]){const e=this.getRowIds(t),s=this.getRowIds(i),r=this.shouldReplaceData(e,s),o=!((t,i)=>t.length===i.length&&t.every(((t,e)=>R(t,i[e]))))(t,i);setTimeout((()=>{if(this.tabulator&&this.initialized)return r?(this.pool.releaseAll(),this.tabulator.replaceData(t),void this.setSelection()):o?(this.tabulator.updateData(t),void this.setSelection()):void(t.length>0&&this.tabulator.updateOrAddData(t))}))}updateColumns(t,i){if(!this.tabulator)return;if(this.areSameColumns(t,i))return;const e=this.tabulator.getColumns().filter((t=>t.getField())).map((t=>i.find((i=>i.field===t.getField()))));this.areSameColumns(t,e)||(this.tabulator.setColumns(this.getColumnDefinitions()),this.shouldSort=!0)}updateAggregates(t,i){this.tabulator&&(R(t,i)||(this.haveSameAggregateFields(t,i)?(this.tabulator.recalc(),this.tabulator.rowManager.redraw()):this.init()))}updateSelection(t){this.tableSelection&&this.tableSelection.setSelection(t)}updateSelectable(){this.tableSelection&&!this.selectable&&(this.tableSelection=null),this.initTableSelection(),this.init()}updateSortableColumns(){this.tabulator&&(this.tabulator.setColumns(this.getColumnDefinitions()),this.shouldSort=!0)}updateSorting(t,i){const e=this.getColumnSorter(t),s=this.getColumnSorter(i);R(e,s)||this.tabulator.setSort(e)}shouldReplaceData(t,i){return!this.areEqualIds(t,i)||!this.isSameOrder(t,i)}getRowIds(t){return t.map((t=>{var i;return null!==(i=t.id)&&void 0!==i?i:t}))}areEqualIds(t,i){const e=new Set(t),s=new Set(i);return e.size===s.size&&t.every((t=>s.has(t)))}isSameOrder(t,i){return t.every(((t,e)=>t===i[e]))}areSameColumns(t,i){return t.length===i.length&&t.every((t=>i.includes(t)))}haveSameAggregateFields(t,i){const e=(null==i?void 0:i.map((t=>t.field)))||[];return(null==t?void 0:t.length)===(null==i?void 0:i.length)&&!!(null==t?void 0:t.every((t=>e.includes(t.field))))}init(){this.tabulator&&(this.pool.releaseAll(),this.tabulator.destroy(),this.initialized=!1);const t=this.host.shadowRoot.querySelector("#tabulator-table");this.initTabulatorComponent(t)}initTabulatorComponent(t){if(!("ResizeObserver"in window))return this.tabulator=this.createTabulator(t),void this.setSelection();this.resizeObserver=new ResizeObserver((()=>{requestAnimationFrame((()=>{var i,e;this.destroyed||(this.tabulator=this.createTabulator(t),this.setSelection(),null===(i=this.resizeObserver)||void 0===i||i.unobserve(t),null===(e=this.resizeObserver)||void 0===e||e.disconnect())}))})),this.resizeObserver.observe(t)}createTabulator(t){const i=new Pi(t,this.getOptions());return i.on("rowClick",this.onClickRow),i.on("dataSorting",this.handleDataSorting),i.on("pageLoaded",this.handlePageLoaded),i.on("columnMoved",this.handleMoveColumn),i.on("renderComplete",this.handleRenderComplete),i.on("tableBuilt",(()=>{var t;this.destroyed?i.destroy():(this.initialized=!0,this.isRemoteMode()&&!(null===(t=this.data)||void 0===t?void 0:t.length)?this.tabulator.setData():this.isRemoteMode()||this.updateData(this.data,[]))})),i}initTableSelection(){this.selectable&&(this.tableSelection=new Ji((()=>this.tabulator),this.pool,this.select,(t=>this.getTranslation(t))),this.tableSelection.setSelection(this.selection))}setSelection(){this.tabulator&&this.tableSelection&&this.tableSelection.setSelection(this.selection)}updateMaxPage(){var t;null===(t=this.tabulator)||void 0===t||t.setMaxPage(this.calculatePageCount())}getOptions(){const t=this.getAjaxOptions(),i=this.getPaginationOptions(),e=this.getColumnOptions();return Object.assign(Object.assign(Object.assign(Object.assign({data:this.data,layout:C(this.layout),columns:this.getColumnDefinitions()},t),i),{rowFormatter:this.formatRow,initialSort:this.getInitialSorting(),nestedFieldSeparator:!1}),e)}getInitialSorting(){return this.getColumnSorter(this.currentSorting&&this.currentSorting.length>0?this.currentSorting:this.sorting)}getColumnSorter(t){return t.map((t=>({column:String(t.column.field),dir:t.direction.toLocaleLowerCase()})))}getColumnDefinitions(){const t=this.columns.map(this.addColumnAggregator).map((t=>{var i;const e=this.columnFactory.create(t),s=null===(i=t.headerSort)||void 0===i||i;return e.headerSort=this.sortableColumns&&s,e}));return this.tableSelection?this.tableSelection.getColumnDefinitions(t):t}addColumnAggregator(t){var i;return!(null===(i=this.aggregates)||void 0===i?void 0:i.length)||t.aggregator||this.aggregates.find((i=>i.field===t.field))&&(t.aggregator=t=>{var i;if(!t)return;const e=null===(i=this.aggregates.find((i=>i.field===t.field)))||void 0===i?void 0:i.value;return t.formatter?t.formatter(e):e}),t}getAjaxOptions(){return this.isRemoteMode()?{ajaxSorting:!0,ajaxURL:"https://localhost",ajaxRequestFunc:this.requestData,ajaxRequesting:this.handleAjaxRequesting}:{}}handleAjaxRequesting(){return!this.destroyed}getPaginationOptions(){return this.pageSize?{pagination:!0,paginationMode:this.isRemoteMode()?"remote":"local",paginationSize:this.pageSize,paginationInitialPage:this.page}:{}}requestData(t,i,e){var s,r;if(this.destroyed)return Promise.reject();const o=null!==(s=e.sorters)&&void 0!==s?s:[],a=null!==(r=e.page)&&void 0!==r?r:1;this.page!==a&&this.changePage.emit(a);const h=o.map(Vi(this.columns)),n={page:a,sorters:h},l=Promise.resolve({last_page:this.calculatePageCount(),data:this.data});return R(this.currentLoad,n)||(this.currentSorting=h,this.currentLoad=n,this.load.emit(n)),l}isRemoteMode(){return"remote"===this.mode}handleDataSorting(t){var i,e;const s=t.map(Vi(this.columns));if(this.isRemoteMode()){const t=null===(e=null===(i=this.tabulator)||void 0===i?void 0:i.getPage)||void 0===e?void 0:e.call(i),r="number"==typeof t?t:this.page,o={page:null!=r?r:1,sorters:s};R(this.currentLoad,o)||(this.currentSorting=s,this.currentLoad=o,this.load.emit(o))}else 0!==s.length&&this.sort.emit(s)}handlePageLoaded(t){this.isRemoteMode()||this.changePage.emit(t)}handleRenderComplete(){this.tabulator&&this.shouldSort&&(this.shouldSort=!1,this.tabulator.setSort(this.getInitialSorting()))}onClickRow(t,i){void 0!==i.getPosition&&(t.defaultPrevented||(this.activeRow=this.isActiveRow(i)?null:i.getData(),this.activate.emit(this.activeRow)))}formatRows(){this.tabulator.getRows().forEach(this.formatRow)}formatRow(t){if(this.isActiveRow(t)?t.getElement().classList.add("active"):t.getElement().classList.remove("active"),0===t.getElement().querySelectorAll(".interactive-feedback").length){const i=t.getElement().ownerDocument.createElement("div");i.classList.add("interactive-feedback"),t.getElement().prepend(i)}}isActiveRow(t){var i;if(!this.activeRow)return!1;const e=null!==(i=this.activeRow.id)&&void 0!==i?i:null;return null!==e?e===t.getData().id:this.activeRow===t.getData()}calculatePageCount(){let t=this.totalRows;return t||(t=this.data.length),Math.ceil(t/this.pageSize)}hasAggregation(t){return t.some((t=>{return null!=(i=t)&&o(i,"aggregator",D);var i}))}render(){var t,i;const r=null!==(t=this.totalRows)&&void 0!==t?t:this.data.length;return e(s,{key:"454b02c38cb6c26cc74fb78f8cdcb27699277ece",class:{"has-low-density":"lowDensity"===this.layout,"has-pagination-on-top":"top"===this.paginationLocation}},e("div",{key:"3f29ea922ea001d29c262c61607c4258f77f0a3b",id:"tabulator-container",class:{"has-pagination":r>this.pageSize,"has-aggregation":this.hasAggregation(this.columns),"has-movable-columns":this.movableColumns,"has-rowselector":this.selectable,"has-selection":null===(i=this.tableSelection)||void 0===i?void 0:i.hasSelection}},e("div",{key:"158d493c9758eb0427302fe13559b31233dfb3c8",id:"tabulator-loader",style:{display:this.loading?"flex":"none"}},e("limel-spinner",{key:"435a8db60a8682d60613564ae4d7e2f0f653ff6f",size:"large"})),this.renderEmptyMessage(),this.renderSelectAll(),e("div",{key:"759d473e139cb9ec2fd0b4d0e7191a274d004da8",id:"tabulator-table"})))}renderSelectAll(){var t,i,s;if(this.selectable)return e("div",{class:"select-all",style:{display:!this.loading&&this.tableSelection?"inline-block":"none"}},e("limel-checkbox",{class:"hide-label",onChange:this.selectAllOnChange,disabled:0===this.data.length,checked:null===(t=this.tableSelection)||void 0===t?void 0:t.hasSelection,indeterminate:(null===(i=this.tableSelection)||void 0===i?void 0:i.hasSelection)&&(null===(s=this.selection)||void 0===s?void 0:s.length)<this.data.length,label:this.getTranslation("table.select-all")}))}renderEmptyMessage(){return e("div",{id:"tabulator-empty-text",style:{display:!this.loading&&0===this.data.length&&this.emptyMessage?"flex":"none"}},e("span",null,this.emptyMessage))}get host(){return r(this)}static get watchers(){return{totalRows:[{totalRowsChanged:0}],pageSize:[{pageSizeChanged:0}],page:[{pageChanged:0}],activeRow:[{activeRowChanged:0}],data:[{updateData:0}],columns:[{updateColumns:0}],aggregates:[{updateAggregates:0}],selection:[{updateSelection:0}],selectable:[{updateSelectable:0}],sortableColumns:[{updateSortableColumns:0}],sorting:[{updateSorting:0}]}}};qi.style='@charset "UTF-8";.tabulator{position:relative;border:1px solid #999;background-color:#888;font-size:14px;text-align:left;overflow:hidden;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);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{user-select:none}.tabulator.tabulator-ranges .tabulator-cell:not(.tabulator-editing){user-select:none}.tabulator .tabulator-header{position:relative;box-sizing:border-box;width:100%;border-bottom:1px solid #999;background-color:#e6e6e6;color:#555;font-weight:bold;white-space:nowrap;overflow:hidden;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;outline:none}.tabulator .tabulator-header.tabulator-header-hidden{display:none}.tabulator .tabulator-header .tabulator-header-contents{position:relative;overflow:hidden}.tabulator .tabulator-header .tabulator-header-contents .tabulator-headers{display:inline-block}.tabulator .tabulator-header .tabulator-col{display:inline-flex;position:relative;box-sizing:border-box;flex-direction:column;justify-content:flex-start;border-right:1px solid #aaa;background:#e6e6e6;text-align:left;vertical-align:bottom;overflow:hidden}.tabulator .tabulator-header .tabulator-col.tabulator-moving{position:absolute;border:1px solid #999;background:rgb(204.5, 204.5, 204.5);pointer-events:none}.tabulator .tabulator-header .tabulator-col.tabulator-range-highlight{background-color:#D6D6D6;color:#000000}.tabulator .tabulator-header .tabulator-col.tabulator-range-selected{background-color:#3876ca;color:#FFFFFF}.tabulator .tabulator-header .tabulator-col .tabulator-col-content{box-sizing:border-box;position:relative;padding:4px}.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:0.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;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title.tabulator-col-title-wrap{white-space:normal;text-overflow:initial}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title .tabulator-title-editor{box-sizing:border-box;width:100%;border:1px solid #999;padding:1px;background:#fff}.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{display:flex;align-items:center;position:absolute;top:0;bottom:0;right:4px}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #bbb}.tabulator .tabulator-header .tabulator-col.tabulator-col-group .tabulator-col-group-cols{position:relative;display:flex;border-top:1px solid #aaa;overflow:hidden;margin-right:-1px}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter{position:relative;box-sizing:border-box;margin-top:2px;width:100%;text-align:center}.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{width:0;height: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{cursor:pointer;background-color:rgb(204.5, 204.5, 204.5)}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter{color:#bbb}@media (hover: hover) and (pointer: fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{cursor:pointer;border-bottom:6px solid #555}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-top:none;border-bottom:6px solid #bbb}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter{color:#666}@media (hover: hover) and (pointer: fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{cursor:pointer;border-bottom:6px solid #555}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-top:none;border-bottom:6px solid #666}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter{color:#666}@media (hover: hover) and (pointer: fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{cursor:pointer;border-top:6px solid #555}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-bottom:none;border-top:6px solid #666;color:#666}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical .tabulator-col-content .tabulator-col-title{writing-mode:vertical-rl;text-orientation:mixed;display:flex;align-items:center;justify-content:center}.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-right:0;padding-bottom:20px}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable .tabulator-col-sorter{justify-content:center;left:0;right:0;top:4px;bottom:auto}.tabulator .tabulator-header .tabulator-frozen{position:sticky;left:0;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{box-sizing:border-box;display:inline-block;background:rgb(242.75, 242.75, 242.75) !important;border-top:1px solid #aaa;border-bottom:1px solid #aaa}.tabulator .tabulator-header .tabulator-calcs-holder .tabulator-row{background:rgb(242.75, 242.75, 242.75) !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{position:relative;width:100%;white-space:nowrap;overflow:auto;-webkit-overflow-scrolling:touch}.tabulator .tabulator-tableholder:focus{outline:none}.tabulator .tabulator-tableholder .tabulator-placeholder{box-sizing:border-box;display:flex;align-items:center;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{display:inline-block;text-align:center;padding:10px;color:#ccc;font-weight:bold;font-size:20px;white-space:normal}.tabulator .tabulator-tableholder .tabulator-table{position:relative;display:inline-block;background-color:#fff;white-space:nowrap;overflow:visible;color:#333}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs{font-weight:bold;background:rgb(226.25, 226.25, 226.25) !important}.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{position:absolute;inset:0;z-index:10;pointer-events:none}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range{position:absolute;box-sizing:border-box;border:1px solid #2975DD}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range.tabulator-range-active::after{content:"";position:absolute;right:-3px;bottom:-3px;width:6px;height:6px;background-color:#2975DD;border-radius:999px}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range-cell-active{position:absolute;box-sizing:border-box;border:2px solid #2975DD}.tabulator .tabulator-footer{border-top:1px solid #999;background-color:#e6e6e6;color:#555;font-weight:bold;white-space:nowrap;user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none}.tabulator .tabulator-footer .tabulator-footer-contents{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:5px 10px}.tabulator .tabulator-footer .tabulator-footer-contents:empty{display:none}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs{margin-top:-5px;overflow-x:auto}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs .tabulator-spreadsheet-tab{display:inline-block;padding:5px;border:#999 1px solid;border-top:none;border-bottom-left-radius:5px;border-bottom-right-radius:5px;font-size:0.9em}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs .tabulator-spreadsheet-tab:hover{cursor:pointer;opacity:0.7}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs .tabulator-spreadsheet-tab.tabulator-spreadsheet-tab-active{background:#fff}.tabulator .tabulator-footer .tabulator-calcs-holder{box-sizing:border-box;width:100%;text-align:left;background:rgb(242.75, 242.75, 242.75) !important;border-bottom:1px solid #aaa;border-top:1px solid #aaa;overflow:hidden}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row{display:inline-block;background:rgb(242.75, 242.75, 242.75) !important}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row .tabulator-col-resize-handle{display:none}.tabulator .tabulator-footer .tabulator-calcs-holder:only-child{margin-bottom:-5px;border-bottom:none}.tabulator .tabulator-footer>*+.tabulator-page-counter{margin-left:10px}.tabulator .tabulator-footer .tabulator-page-counter{font-weight:normal}.tabulator .tabulator-footer .tabulator-paginator{flex:1;text-align:right;color:#555;font-family:inherit;font-weight:inherit;font-size:inherit}.tabulator .tabulator-footer .tabulator-page-size{display:inline-block;margin:0 5px;padding:2px 5px;border:1px solid #aaa;border-radius:3px}.tabulator .tabulator-footer .tabulator-pages{margin:0 7px}.tabulator .tabulator-footer .tabulator-page{display:inline-block;margin:0 2px;padding:2px 5px;border:1px solid #aaa;border-radius:3px;background:rgba(255, 255, 255, 0.2)}.tabulator .tabulator-footer .tabulator-page.active{color:#d00}.tabulator .tabulator-footer .tabulator-page:disabled{opacity:0.5}@media (hover: hover) and (pointer: fine){.tabulator .tabulator-footer .tabulator-page:not(disabled):hover{cursor:pointer;background:rgba(0, 0, 0, 0.2);color:#fff}}.tabulator .tabulator-col-resize-handle{position:relative;display:inline-block;width:6px;margin-left:-3px;margin-right:-3px;z-index:11;vertical-align:middle}@media (hover: hover) and (pointer: fine){.tabulator .tabulator-col-resize-handle:hover{cursor:ew-resize}}.tabulator .tabulator-col-resize-handle:last-of-type{width:3px;margin-right:0}.tabulator .tabulator-col-resize-guide{position:absolute;top:0;width:4px;height:100%;margin-left:-0.5px;background-color:#999;opacity:0.5}.tabulator .tabulator-row-resize-guide{position:absolute;left:0;width:100%;height:4px;margin-top:-0.5px;background-color:#999;opacity:0.5}.tabulator .tabulator-alert{position:absolute;display:flex;align-items:center;top:0;left:0;z-index:100;height:100%;width:100%;background:rgba(0, 0, 0, 0.4);text-align:center}.tabulator .tabulator-alert .tabulator-alert-msg{display:inline-block;margin:0 auto;padding:10px 20px;border-radius:10px;background:#fff;font-weight:bold;font-size:16px}.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{position:relative;box-sizing:border-box;min-height:22px;background-color:#fff}.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{border:1px solid #000;background:#fff}.tabulator-row.tabulator-moving{position:absolute;border-top:1px solid #aaa;border-bottom:1px solid #aaa;pointer-events:none;z-index:15}.tabulator-row.tabulator-range-highlight .tabulator-cell.tabulator-range-row-header{background-color:#D6D6D6;color:#000000}.tabulator-row.tabulator-range-highlight.tabulator-range-selected .tabulator-cell.tabulator-range-row-header{background-color:#3876ca;color:#FFFFFF}.tabulator-row.tabulator-range-selected .tabulator-cell.tabulator-range-row-header{background-color:#3876ca;color:#FFFFFF}.tabulator-row .tabulator-row-resize-handle{position:absolute;right:0;bottom:0;left:0;height:5px}.tabulator-row .tabulator-row-resize-handle.prev{top:0;bottom:auto}@media (hover: hover) and (pointer: fine){.tabulator-row .tabulator-row-resize-handle:hover{cursor:ns-resize}}.tabulator-row .tabulator-responsive-collapse{box-sizing:border-box;padding:5px;border-top:1px solid #aaa;border-bottom:1px solid #aaa}.tabulator-row .tabulator-responsive-collapse:empty{display:none}.tabulator-row .tabulator-responsive-collapse table{font-size:14px}.tabulator-row .tabulator-responsive-collapse table tr td{position:relative}.tabulator-row .tabulator-responsive-collapse table tr td:first-of-type{padding-right:10px}.tabulator-row .tabulator-cell{display:inline-block;position:relative;box-sizing:border-box;padding:4px;border-right:1px solid #aaa;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;outline:none}.tabulator-row .tabulator-cell.tabulator-row-header{border-right:1px solid #999;border-bottom:1px solid #aaa;background:#e6e6e6}.tabulator-row .tabulator-cell.tabulator-frozen{display:inline-block;position:sticky;left:0;background-color:inherit;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{border:1px;background:transparent;outline:none}.tabulator-row .tabulator-cell.tabulator-validation-fail{border:1px solid #dd0000}.tabulator-row .tabulator-cell.tabulator-validation-fail input,.tabulator-row .tabulator-cell.tabulator-validation-fail select{border:1px;background:transparent;color:#dd0000}.tabulator-row .tabulator-cell.tabulator-row-handle{display:inline-flex;align-items:center;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{width:100%;height:3px;margin-top:2px;background:#666}.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{display:inline-block;vertical-align:middle;height:9px;width:7px;margin-top:-9px;margin-right:5px;border-bottom-left-radius:1px;border-left:2px solid #aaa;border-bottom:2px solid #aaa}.tabulator-row .tabulator-cell .tabulator-data-tree-control{display:inline-flex;justify-content:center;align-items:center;vertical-align:middle;height:11px;width:11px;margin-right:5px;border:1px solid #333;border-radius:2px;background:rgba(0, 0, 0, 0.1);overflow:hidden}@media (hover: hover) and (pointer: fine){.tabulator-row .tabulator-cell .tabulator-data-tree-control:hover{cursor:pointer;background:rgba(0, 0, 0, 0.2)}}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-collapse{display:inline-block;position:relative;height:7px;width:1px;background:transparent}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after{position:absolute;content:"";left:-3px;top:3px;height:1px;width:7px;background:#333}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand{display:inline-block;position:relative;height:7px;width:1px;background:#333}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{position:absolute;content:"";left:-3px;top:3px;height:1px;width:7px;background:#333}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle{display:inline-flex;align-items:center;justify-content:center;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;height:15px;width:15px;border-radius:20px;background:#666;color:#fff;font-weight:bold;font-size:1.1em}@media (hover: hover) and (pointer: fine){.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle:hover{opacity:0.7;cursor:pointer}}.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{display:inline-block;height:14px;width:14px;border-radius:14px}.tabulator-row.tabulator-group{box-sizing:border-box;border-bottom:1px solid #999;border-right:1px solid #aaa;border-top:1px solid #999;padding:5px;padding-left:10px;background:#ccc;font-weight:bold;min-width:100%}@media (hover: hover) and (pointer: fine){.tabulator-row.tabulator-group:hover{cursor:pointer;background-color:rgba(0, 0, 0, 0.1)}}.tabulator-row.tabulator-group.tabulator-group-visible .tabulator-arrow{margin-right:10px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #666;border-bottom:0}.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{display:inline-block;width:0;height:0;margin-right:16px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:0;border-left:6px solid #666;vertical-align:middle}.tabulator-row.tabulator-group span{margin-left:10px;color:#d00}.tabulator-toggle{box-sizing:border-box;display:flex;flex-direction:row;border:1px solid #ccc;background:#dcdcdc}.tabulator-toggle.tabulator-toggle-on{background:#1c6cc2}.tabulator-toggle .tabulator-toggle-switch{box-sizing:border-box;border:1px solid #ccc;background:#fff}.tabulator-popup-container{position:absolute;display:inline-block;box-sizing:border-box;background:#fff;border:1px solid #aaa;box-shadow:0 0 5px 0 rgba(0, 0, 0, 0.2);font-size:14px;overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:10000}.tabulator-popup{padding:5px;border-radius:3px}.tabulator-tooltip{max-width:min(500px, 100%);padding:3px 5px;border-radius:2px;box-shadow:none;font-size:12px;pointer-events:none}.tabulator-menu .tabulator-menu-item{position:relative;box-sizing:border-box;padding:5px 10px;user-select:none}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-disabled{opacity:0.5}@media (hover: hover) and (pointer: fine){.tabulator-menu .tabulator-menu-item:not(.tabulator-menu-item-disabled):hover{cursor:pointer;background:#EFEFEF}}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-submenu{padding-right:25px}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-submenu::after{display:inline-block;position:absolute;top:calc(5px + 0.4em);right:10px;height:7px;width:7px;content:"";border-width:1px 1px 0 0;border-style:solid;border-color:#aaa;vertical-align:top;transform:rotate(45deg)}.tabulator-menu .tabulator-menu-separator{border-top:1px solid #aaa}.tabulator-edit-list{max-height:200px;font-size:14px;overflow-y:auto;-webkit-overflow-scrolling:touch}.tabulator-edit-list .tabulator-edit-list-item{padding:4px;color:#333;outline:none}.tabulator-edit-list .tabulator-edit-list-item.active{color:#fff;background:#1D68CD}.tabulator-edit-list .tabulator-edit-list-item.active.focused{outline:1px solid rgba(255, 255, 255, 0.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{cursor:pointer;color:#fff;background:#1D68CD}}.tabulator-edit-list .tabulator-edit-list-placeholder{padding:4px;color:#333;text-align:center}.tabulator-edit-list .tabulator-edit-list-group{border-bottom:1px solid #aaa;padding:4px;padding-top:6px;color:#333;font-weight:bold}.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-2,.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-2{padding-left:12px}.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-3,.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-3{padding-left:20px}.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-4,.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-4{padding-left:28px}.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-5,.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-5{padding-left:36px}.tabulator.tabulator-ltr{direction:ltr}.tabulator.tabulator-rtl{text-align:initial;direction:rtl}.tabulator.tabulator-rtl .tabulator-header .tabulator-col{text-align:initial;border-left:1px solid #aaa;border-right:initial}.tabulator.tabulator-rtl .tabulator-header .tabulator-col.tabulator-col-group .tabulator-col-group-cols{margin-right:initial;margin-left:-1px}.tabulator.tabulator-rtl .tabulator-header .tabulator-col.tabulator-sortable .tabulator-col-title{padding-right:0;padding-left:25px}.tabulator.tabulator-rtl .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter{left:8px;right:initial}.tabulator.tabulator-rtl .tabulator-tableholder .tabulator-range-overlay .tabulator-range.tabulator-range-active::after{content:"";position:absolute;left:-3px;right:initial;bottom:-3px;width:6px;height:6px;background-color:#2975DD;border-radius:999px}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell{border-right:initial;border-left:1px solid #aaa}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell .tabulator-data-tree-branch{margin-right:initial;margin-left:5px;border-bottom-left-radius:initial;border-bottom-right-radius:1px;border-left:initial;border-right:2px solid #aaa}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell .tabulator-data-tree-control{margin-right:initial;margin-left:5px}.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{width:3px;margin-left:0;margin-right:-3px}.tabulator.tabulator-rtl .tabulator-footer .tabulator-calcs-holder{text-align:initial}.tabulator-print-fullscreen{position:absolute;top:0;bottom:0;left:0;right:0;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{display:inline-block;vertical-align:middle;height:9px;width:7px;margin-top:-9px;margin-right:5px;border-bottom-left-radius:1px;border-left:2px solid #aaa;border-bottom:2px solid #aaa}.tabulator-print-table .tabulator-print-table-group{box-sizing:border-box;border-bottom:1px solid #999;border-right:1px solid #aaa;border-top:1px solid #999;padding:5px;padding-left:10px;background:#ccc;font-weight:bold;min-width:100%}@media (hover: hover) and (pointer: fine){.tabulator-print-table .tabulator-print-table-group:hover{cursor:pointer;background-color:rgba(0, 0, 0, 0.1)}}.tabulator-print-table .tabulator-print-table-group.tabulator-group-visible .tabulator-arrow{margin-right:10px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #666;border-bottom:0}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-1 td{padding-left:30px !important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-2 td{padding-left:50px !important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-3 td{padding-left:70px !important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-4 td{padding-left:90px !important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-5 td{padding-left:110px !important}.tabulator-print-table .tabulator-print-table-group .tabulator-group-toggle{display:inline-block}.tabulator-print-table .tabulator-print-table-group .tabulator-arrow{display:inline-block;width:0;height:0;margin-right:16px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:0;border-left:6px solid #666;vertical-align:middle}.tabulator-print-table .tabulator-print-table-group span{margin-left:10px;color:#d00}.tabulator-print-table .tabulator-data-tree-control{display:inline-flex;justify-content:center;align-items:center;vertical-align:middle;height:11px;width:11px;margin-right:5px;border:1px solid #333;border-radius:2px;background:rgba(0, 0, 0, 0.1);overflow:hidden}@media (hover: hover) and (pointer: fine){.tabulator-print-table .tabulator-data-tree-control:hover{cursor:pointer;background:rgba(0, 0, 0, 0.2)}}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-collapse{display:inline-block;position:relative;height:7px;width:1px;background:transparent}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after{position:absolute;content:"";left:-3px;top:3px;height:1px;width:7px;background:#333}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand{display:inline-block;position:relative;height:7px;width:1px;background:#333}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{position:absolute;content:"";left:-3px;top:3px;height:1px;width:7px;background:#333}#tabulator-container,#tabulator-table{height:100%;width:100%}.tabulator{display:flex;flex-direction:column}.tabulator *{box-sizing:border-box}.tabulator .tabulator-header{flex-shrink:0}.tabulator .tabulator-tableholder{isolation:isolate;flex-grow:1;height:unset !important;max-height:unset !important;min-height:unset !important;padding-bottom:5rem}.tabulator .tabulator-footer{flex-shrink:0}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter{position:relative;cursor:pointer;transition:opacity 0.2s ease;right:0}.tabulator-sortable[aria-sort=none] .tabulator-col-sorter{opacity:0}.tabulator-sortable[aria-sort=none]:hover .tabulator-col-sorter{opacity:1}.tabulator-sortable[aria-sort=none]:hover .tabulator-col-sorter .tabulator-arrow{animation:indicate-sortable-unsorted-column 2s ease forwards}.tabulator-sortable[aria-sort=desc] .tabulator-col-sorter,.tabulator-sortable[aria-sort=asc] .tabulator-col-sorter{opacity:1}.tabulator-sortable[aria-sort=desc]:hover .tabulator-col-sorter,.tabulator-sortable[aria-sort=asc]:hover .tabulator-col-sorter{opacity:1;animation:indicate-sortable-sorted-column 0.5s ease}.tabulator-arrow{rotate:180deg;transition:border 0.2s ease;border-left:0.25rem solid transparent !important;border-right:0.25rem solid transparent !important}.tabulator#tabulator-table .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-arrow{height:0.75rem;border-top-width:0.25rem;border-top-style:solid;border-top-color:rgb(var(--table-arrow-color));border-bottom-width:0.25rem;border-bottom-style:solid;border-bottom-color:rgb(var(--table-arrow-color))}.tabulator#tabulator-table .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=desc] .tabulator-arrow{height:0;transform:translate3d(0, -0.2rem, 0);border-top-width:0.25rem;border-bottom-width:0;border-top-color:var(--table-arrow-color--active)}.tabulator#tabulator-table .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=asc] .tabulator-arrow{height:0;transform:translate3d(0, 0.2rem, 0);border-top-width:0;border-bottom-width:0.25rem;border-bottom-color:var(--table-arrow-color--active)}@keyframes indicate-sortable-sorted-column{0%,100%{transform:translate3d(0, 0, 0)}30%{transform:translate3d(0, -0.0875rem, 0)}60%{transform:translate3d(0, 0.0875rem, 0)}}@keyframes indicate-sortable-unsorted-column{0%,15%,45%,75%{border-top-color:transparent;border-bottom-color:transparent;transform:translate3d(0, 0, 0)}30%{border-top-color:transparent;border-bottom-color:var(--table-arrow-color--active);transform:translate3d(0, -0.3125rem, 0)}60%{border-top-color:var(--table-arrow-color--active);border-bottom-color:transparent;transform:translate3d(0, 0.3125rem, 0)}100%{border-top-color:rgb(var(--table-arrow-color));border-bottom-color:rgb(var(--table-arrow-color))}}#tabulator-container:not(.has-pagination) .tabulator-paginator{display:var(--limel-table-single-page-paginator-display, grid)}.tabulator .tabulator-footer .tabulator-paginator{box-sizing:border-box;display:grid;grid-auto-flow:column;justify-content:end;padding-top:0.25rem;padding-bottom:0.25rem}.tabulator .tabulator-footer .tabulator-paginator .tabulator-pages{margin:0 0.5rem}.tabulator .tabulator-footer .tabulator-paginator .tabulator-pages .tabulator-page{margin:0 0rem}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]){transition:color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);cursor:pointer;color:rgb(var(--contrast-1200)) !important;background-color:transparent}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):hover,.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):focus,.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):focus-visible{will-change:color, background-color, box-shadow, transform}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):hover,.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):focus-visible{transform:translate3d(0, 0.01rem, 0);color:var(--limel-theme-on-surface-color);background-color:var(--lime-elevated-surface-background-color)}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):hover{box-shadow:var(--button-shadow-hovered)}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):active{--limel-clickable-transform-timing-function:cubic-bezier( 0.83, -0.15, 0.49, 1.16 );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):hover,.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page{position:relative;height:1.75rem;min-width:1.75rem;padding:0 0.5rem;margin:0;border:none;border-radius:2.5rem;background-color:transparent}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page.active{background-color:var(--limel-theme-surface-background-color);box-shadow:var(--button-shadow-inset)}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:disabled{opacity:0.3;cursor:not-allowed}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:disabled:hover{background-color:transparent}button.tabulator-page{display:inline-flex !important;align-items:center;justify-content:center}button.tabulator-page[data-page=first],button.tabulator-page[data-page=prev],button.tabulator-page[data-page=next],button.tabulator-page[data-page=last]{font-size:0;color:transparent !important}button.tabulator-page[data-page=first]:before,button.tabulator-page[data-page=first]:after,button.tabulator-page[data-page=prev]:before,button.tabulator-page[data-page=prev]:after,button.tabulator-page[data-page=next]:before,button.tabulator-page[data-page=next]:after,button.tabulator-page[data-page=last]:before,button.tabulator-page[data-page=last]:after{content:"";transition:transform 0.2s ease;display:block;position:absolute}button.tabulator-page[data-page=first]:after,button.tabulator-page[data-page=prev]:after,button.tabulator-page[data-page=next]:after,button.tabulator-page[data-page=last]:after{border-style:solid;border-color:transparent;border-width:0.25rem 0 0.25rem 0.4rem;border-left-color:var(--limel-theme-on-surface-color)}button.tabulator-page[data-page=first]:before,button.tabulator-page[data-page=last]:before{height:0.5rem;width:0.125rem;background-color:var(--limel-theme-on-surface-color)}button.tabulator-page[data-page=first]:before{left:0.375rem}button.tabulator-page[data-page=last]:before{right:0.375rem}button.tabulator-page[data-page=first]:after,button.tabulator-page[data-page=prev]:after{transform:rotateZ(180deg)}button.tabulator-page[data-page=next]:not([disabled]):hover:after,button.tabulator-page[data-page=last]:not([disabled]):hover:after{transform:translate3d(0.09375rem, 0, 0)}button.tabulator-page[data-page=first]:not([disabled]):hover:after,button.tabulator-page[data-page=prev]:not([disabled]):hover:after{transform:translate3d(-0.09375rem, 0, 0) rotateZ(180deg)}@keyframes fade-in-tabulator-loader{0%{background:transparent}100%{background:rgba(var(--contrast-1400), 0.4)}}@keyframes spin-tabulator-loader{to{transform:rotate(360deg)}}.tabulator .tabulator-loader{animation:fade-in-tabulator-loader 0.5s ease 0.5s forwards;animation-iteration-count:1;cursor:progress;background:transparent}.tabulator .tabulator-loader .tabulator-loader-msg{animation:spin-tabulator-loader 0.4s linear infinite;color:transparent;font-size:0;border-radius:50%;border:0.1875rem solid rgb(var(--lime-brand-color-flexible-turquoise)) !important;border-top-color:transparent !important;width:1.25rem;height:1.25rem;background-color:transparent !important;padding:0}.interactive-feedback{position:absolute;inset:0;min-height:0.125rem;transition:color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);background-color:rgb(var(--limel-table-row-background-color))}.tabulator-row:active .interactive-feedback{--limel-clickable-transform-timing-function:cubic-bezier( 0.83, -0.15, 0.49, 1.16 )}.tabulator-row:hover .interactive-feedback,.tabulator-row:active .interactive-feedback{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}.tabulator-row:not(.tabulator-calcs){background-color:transparent}.tabulator-row:not(.tabulator-calcs).tabulator-row-odd{--limel-table-row-background-color:var( --table-row-background-color--odd )}.tabulator-row:not(.tabulator-calcs).tabulator-row-even{--limel-table-row-background-color:var( --table-row-background-color--even )}.tabulator-row:not(.tabulator-calcs) .tabulator-cell{pointer-events:none}.tabulator-row:not(.tabulator-calcs) .tabulator-cell>*{pointer-events:auto}.tabulator-row:not(.tabulator-calcs).tabulator-selectable:hover{background-color:var(--table-row-background-color--hover);z-index:var(--limel-table-interactive-selectable-row-z-index-hover)}.tabulator-row:not(.tabulator-calcs).tabulator-selectable.active:before{content:"";display:inline-block;box-sizing:border-box;position:sticky;z-index:calc(var(--limel-table-interactive-selectable-row-z-index-hover) + 1);inset:0 0 auto 0;border:0.2rem solid var(--lime-primary-color, var(--limel-theme-primary-color));border-radius:1rem;margin-right:-0.4rem}:host(.has-interactive-rows) .tabulator-row:not(.tabulator-calcs).tabulator-selectable .interactive-feedback:hover{box-shadow:var(--button-shadow-hovered)}:host(.has-interactive-rows) .tabulator-row:not(.tabulator-calcs).tabulator-selectable:active .interactive-feedback{box-shadow:var(--button-shadow-pressed);transform:translate3d(0, 0.05rem, 0)}:host(.has-interactive-rows) .tabulator-row:not(.tabulator-calcs).tabulator-selectable.active{--limel-table-row-background-color:var( --table-row-background-color--active )}:host(.has-interactive-rows) .tabulator-row:not(.tabulator-calcs).tabulator-selectable.active .interactive-feedback{opacity:0.2;background-color:var(--table-row-background-color--active);box-shadow:var(--button-shadow-inset-pressed)}:host(.has-interactive-rows) .tabulator-row:not(.tabulator-calcs).tabulator-selectable.active .interactive-feedback:hover{opacity:0.3}:host(.has-interactive-rows) .tabulator-row:not(.tabulator-calcs).tabulator-selectable:not(.active) .interactive-feedback:hover{background-color:var(--table-row-background-color--hover)}:host(.has-low-density) #tabulator-container{width:max-content;max-width:100%;margin:auto}:host(.has-low-density) .tabulator-table{background-color:transparent}:host(.has-low-density) .tabulator-header{border-radius:0.375rem}:host(.has-low-density) .tabulator-footer{border-radius:0.5rem}:host(.has-low-density) .tabulator-calcs-holder{border-radius:0.5rem 0.5rem 0 0}:host(.has-low-density) .tabulator-row{border-radius:0.5rem}:host(.has-low-density) .tabulator-row:not(.tabulator-calcs-bottom){margin-bottom:0.25rem}:host(.has-low-density) .tabulator-row:not(.tabulator-calcs-bottom):first-child{margin-top:0.75rem}:host(.has-low-density) .tabulator-row:not(.tabulator-calcs-bottom) .tabulator-cell{height:2.75rem !important}:host(.has-low-density) .tabulator-row:not(.tabulator-calcs-bottom) .tabulator-cell:first-child{border-radius:0.5rem 0 0 0.5rem}:host(.has-low-density) .tabulator-row:not(.tabulator-calcs-bottom) .tabulator-cell:last-child{border-radius:0 0.5rem 0.5rem 0}:host(.has-pagination-on-top) .tabulator .tabulator-header{order:2}:host(.has-pagination-on-top) .tabulator .tabulator-tableholder{order:3}:host(.has-pagination-on-top) .tabulator .tabulator-footer{order:1;background-color:transparent}:host(.has-pagination-on-top) .tabulator .tabulator-calcs-holder{position:absolute;bottom:0}:host(.has-pagination-on-top):has(.tabulator-calcs-holder) .tabulator-tableholder{margin-bottom:var(--limel-table-height-of-aggregations-row)}:host(.has-pagination-on-top) .select-all{top:2.5rem}.lime-col-title__custom-component{width:100%;display:flex;align-items:center;margin-right:1.25rem;gap:0.25rem}.title-component-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex-grow:1;flex-shrink:1;min-width:0}.title-component-slot{flex-shrink:0}@keyframes detach-a-column-header{0%{transform:rotate(0deg)}100%{transform:rotate(-2deg)}}.has-movable-columns .tabulator-header{overflow-y:visible}.has-movable-columns .tabulator-header .tabulator-col:not(.tabulator-frozen){cursor:move !important}.has-movable-columns .tabulator-header .tabulator-col:not(.tabulator-frozen).tabulator-sortable.tabulator-moving{animation:detach-a-column-header 0.2s ease forwards;opacity:0.9;border:none;border-radius:0.25rem;background-color:rgb(var(---table-header-background-color-when-being-dragged));box-shadow:var(--shadow-depth-16)}.has-movable-columns .tabulator-header .tabulator-col:not(.tabulator-frozen).tabulator-sortable.tabulator-moving:hover{background-color:rgb(var(---table-header-background-color-when-being-dragged))}.has-movable-columns .tabulator-header .tabulator-col:not(.tabulator-frozen).tabulator-sortable.tabulator-moving .tabulator-arrow:before{background-color:rgb(var(---table-header-background-color-when-being-dragged))}.tabulator .tabulator-footer{transition:transform 0.5s ease-out, opacity 0.35s ease;color:var(--table-text-color);background-color:rgb(var(--table-header-background-color--hover));border:none;user-select:auto}.tabulator .tabulator-footer .tabulator-footer-contents{padding:0 0.25rem}.tabulator .tabulator-footer .tabulator-calcs-holder{border-color:rgb(var(--contrast-500));background:rgb(var(--contrast-500)) !important;margin-top:0;margin-bottom:0}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row{height:var(--limel-table-height-of-aggregations-row);background:transparent !important}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-calcs{cursor:default}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-cell{height:var(--limel-table-height-of-aggregations-row) !important;padding-top:0.25rem;padding-bottom:0}.select-all,.limel-table--row-selector{--limel-checkbox-min-height:1.25rem;display:inline-flex !important;align-items:center;justify-content:center;text-overflow:unset !important;padding:0 !important}.select-all{position:absolute;z-index:var(--limel-table-row-selector-z-index);left:0.375rem;top:0.1875rem}.limel-table--row-selector{position:sticky !important;left:0;border-width:0;z-index:var(--limel-table-row-selector-z-index)}.limel-table--row-selector:before{content:"";inset:0.25rem 0;position:absolute;background-image:linear-gradient(to right, rgb(var(--limel-table-row-background-color)) 70%, rgb(var(--limel-table-row-background-color), 0))}.limel-table--row-selector limel-checkbox{transition:opacity 0.2s ease;opacity:0.3}.tabulator-row:hover .limel-table--row-selector limel-checkbox{opacity:1}.has-selection .limel-table--row-selector limel-checkbox{opacity:1}.limel-table--row-selector .tabulator-col-resize-handle{display:none}.limel-table--row-selector+.tabulator-col .tabulator-col-resize-handle.prev,.limel-table--row-selector+.tabulator-cell .tabulator-col-resize-handle.prev{display:none}.has-movable-columns .tabulator-header .tabulator-col.limel-table--row-selector{border:none;cursor:default !important;pointer-events:none;background-color:transparent;background-image:linear-gradient(to right, rgb(var(--table-header-background-color--hover)) 70%, rgb(var(--table-header-background-color--hover), 0));left:0}.has-selection .tabulator-calcs .tabulator-cell{color:var(--table-arrow-color--active)}:host(limel-table){--limel-table-interactive-selectable-row-z-index-hover:2;--limel-table-sorter-arrow-width:0.5rem;--limel-table-table-cell-padding:0.5rem;--limel-table-row-selector-z-index:1;--limel-table-height-of-aggregations-row:1.5rem;isolation:isolate;display:block;--table-header-background-color:var(--contrast-500);--table-header-background-color--hover:var(--contrast-400);--table-header-background-color-when-being-dragged:var(--contrast-100);--table-row-background-color--odd:var(--contrast-200);--table-row-background-color--even:var(--contrast-100);--table-row-background-color--hover:var( --lime-elevated-surface-background-color );--table-row-background-color--active:var(--mdc-theme-primary);--table-arrow-color:var(--contrast-800);--table-arrow-color--active:var( --lime-primary-color, var(--limel-theme-primary-color) );--table-text-color:var(--limel-theme-text-primary-on-background-color);--limel-chip-size:1.25rem}#tabulator-container{position:relative}#tabulator-container,#tabulator-table{background-color:transparent;border:none}.tabulator .tabulator-header{color:var(--table-text-color)}.tabulator .tabulator-tableholder .tabulator-table{color:var(--table-text-color);background-color:transparent}.tabulator .tabulator-header{border-bottom:0;background-color:rgb(var(--table-header-background-color))}.tabulator .tabulator-header .tabulator-headers{width:fit-content}.tabulator .tabulator-header .tabulator-col{transition:background-color 0.2s ease;background-color:rgb(var(--table-header-background-color));border-right-color:rgb(var(--contrast-200))}.tabulator .tabulator-header .tabulator-col.tabulator-sortable.tabulator-col-sorter-element:hover{background-color:rgb(var(--table-header-background-color--hover))}.tabulator .tabulator-header .tabulator-col .tabulator-col-content{padding:0 var(--limel-table-sorter-arrow-width) 0 0.25rem}.tabulator .tabulator-header .tabulator-col-title-holder{height:1.75rem;display:flex;align-items:center;gap:0.25rem}.tabulator .tabulator-header .tabulator-col-sorter{order:1}.tabulator .tabulator-header .tabulator-col-title{order:2;font-weight:500;padding-right:0 !important;line-height:1.25rem}.tabulator-row{height:2.25rem}.tabulator-row .tabulator-cell{border-right:transparent;padding:var(--limel-table-table-cell-padding);padding-left:calc(var(--limel-table-table-cell-padding) + var(--limel-table-sorter-arrow-width));height:inherit}.tabulator-row .tabulator-cell[style*="text-align: right;"]{justify-content:flex-end}.tabulator-row .tabulator-cell[style*="text-align: center;"]{justify-content:center}.tabulator-row .tabulator-col-resize-handle{display:none}.tabulator-col,.tabulator-cell{max-width:var(--table-max-column-width, 40rem)}#tabulator-loader,#tabulator-empty-text{position:absolute;width:100%;height:100%;z-index:1;display:flex;align-items:center;justify-content:center}#tabulator-loader{background-color:rgba(var(--contrast-100), 0.6);cursor:wait}#tabulator-empty-text{color:rgb(var(--contrast-800));font-weight:bold;font-size:1.25rem;pointer-events:none}limel-chip{transform:translateY(-0.15rem)}';export{qi as limel_table}
|