@digital-blueprint/esign-app
Version:
[GitHub Repository](https://github.com/digital-blueprint/esign-app) | [npmjs package](https://www.npmjs.com/package/@digital-blueprint/esign-app) | [Unpkg CDN](https://unpkg.com/browse/@digital-blueprint/esign-app/) | [Esign Bundle](https://gitlab.tugraz.
2,083 lines • 728 kB
JavaScript
var e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,ee,te,ne,re,ie,ae,oe,C,se,ce,w,le,ue,de,fe,pe,me,he,ge,_e,ve,ye,be,xe,Se,Ce,we,Te,Ee,De,Oe,T,ke,Ae,je,Me,Ne,Pe,Fe,Ie,Le,E,Re,D,ze,Be,Ve,He,Ue;function We(e,t){Ge(e,t),t.add(e)}function O(e,t,n){Ge(e,t),t.set(e,n)}function Ge(e,t){if(t.has(e))throw TypeError(`Cannot initialize the same private elements twice on an object`)}function k(e,t,n){return(t=Ke(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ke(e){var t=qe(e,`string`);return typeof t==`symbol`?t:t+``}function qe(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function A(e,t){return e.get(Je(e,t))}function j(e,t,n){return e.set(Je(e,t),n),n}function Je(e,t,n){if(typeof e==`function`?e===t:e.has(t))return arguments.length<3?t:n;throw TypeError(`Private element is not present on this object`)}
/*!
* License: LGPL-2.1-or-later
* Dependencies:
*
* @webcomponents/scoped-custom-element-registry: BSD-3-Clause
* @dbp-toolkit/app-shell: LGPL-2.1-or-later
* @dbp-toolkit/language-select: LGPL-2.1-or-later
* @dbp-toolkit/auth: LGPL-2.1-or-later
* lit-html: BSD-3-Clause
* @dbp-toolkit/notification: LGPL-2.1-or-later
* @dbp-toolkit/theme-switcher: LGPL-2.1-or-later
* universal-router: MIT
* @dbp-toolkit/matomo: LGPL-2.1-or-later
* @tugraz/web-components: LGPL-2.1-or-later
* exceljs: MIT
* fabric: MIT
* jspdf-autotable: MIT
* keycloak-js: Apache-2.0
* jszip: (MIT OR GPL-3.0-or-later)
* pdfjs-dist: Apache-2.0
* path2d: MIT
* fflate: MIT
* @babel/runtime: MIT
* iobuffer: MIT
* pako: (MIT AND Zlib)
* fast-png: MIT
* jspdf: MIT
* core-js: MIT
* performance-now: MIT
* raf: MIT
* rgbcolor: MIT OR SEE LICENSE IN FEEL-FREE.md
* svg-pathdata: MIT
* stackblur-canvas: MIT
* canvg: MIT
* dompurify: (MPL-2.0 OR Apache-2.0)
* html2canvas: MIT
* i18next: MIT
* @dbp-toolkit/common: LGPL-2.1-or-later
* @lit/reactive-element: BSD-3-Clause
* lit-element: BSD-3-Clause
* @open-wc/dedupe-mixin: MIT
* @open-wc/scoped-elements: MIT
* dialog-polyfill: BSD
* @digital-blueprint/annotpdf: MIT
* @dbp-toolkit/pdf-viewer: LGPL-2.1-or-later
* @popperjs/core: MIT
* tippy.js: MIT
* @dbp-toolkit/tooltip: LGPL-2.1-or-later
* jquery: MIT
* select2: MIT
* @dbp-toolkit/resource-select: LGPL-2.1-or-later
* @dbp-toolkit/tabulator-table: LGPL-2.1-or-later
* @dbp-toolkit/file-handling: LGPL-2.1-or-later
* webdav: MIT
* tabulator-tables: MIT
* jose: MIT
*/
import{A as Ye,C as Xe,M as Ze,O as Qe,Q as $e,T as et,Y as tt,Z as nt,b as rt,c as it,d as M,g as at,h as ot,j as st,k as ct,q as N,t as lt,x as ut,z as dt}from"./dbp-lit-element.DU4D3LIR.js";var ft={clipboard:{"add-files":`Dateien der Zwischenablage hinzufügen`,"add-files-btn":`Dateien hinzufügen`,"clear-clipboard-body":`Die Zwischenablage wurde erfolgreich geleert.`,"clear-clipboard-title":`Zwischenablage geleert`,"clear-count-clipboard-body_one":`Eine Datei wurde erfolgreich aus der Zwischenablage entfernt.`,"clear-count-clipboard-body_other":`{{count}} Dateien wurde erfolgreich aus der Zwischenablage entfernt.`,"clear-count-clipboard-title_one":`Datei entfernt`,"clear-count-clipboard-title_other":`Dateien entfernt`,"file-mod":`Geändert`,"file-name":`Name`,"file-size":`Größe`,"file-type":`Art`,"file-warning":`Achtung!`,"file-warning-body_one":`Es befindet sich noch eine Datei in der Zwischenablage. Die Zwischenablage wird beim Verlassen der Seite verworfen.`,"file-warning-body_other":`Es befinden sich noch {{count}} Dateien in der Zwischenablage. Die Zwischenablage wird beim Verlassen der Seite verworfen.`,"no-data":`Aktuell befinden sich keine Dateien in der Zwischenablage.`,"remove-all":`Alle Dateien aus der Zwischenablage entfernen`,"remove-all-btn":`Dateien entfernen`,"remove-count_one":`Eine Datei aus der Zwischenablage entfernen`,"remove-count_other":`{{count}} Dateien aus der Zwischenablage entfernen`,"remove-count-btn_one":`Datei entfernen`,"remove-count-btn_other":`{{count}} Dateien entfernen`,"save-all":`Alle Dateien aus der Zwischenablage sichern`,"save-all-btn":`Dateien sichern`,"save-count_one":`Eine Datei aus der Zwischenablage sichern`,"save-count_other":`{{count}} Dateien aus der Zwischenablage sichern`,"save-count-btn_one":`Datei sichern`,"save-count-btn_other":`{{count}} Dateien sichern`,"saved-files-body_one":`Eine Datei wurde erfolgreich temporär in der Zwischenablage abgelegt und kann jetzt innerhalb dieser Applikation verwendet werden.`,"saved-files-body_other":`{{count}} Dateien wurde erfolgreich temporär in der Zwischenablage abgelegt und können jetzt innerhalb dieser Applikation verwendet werden.`,"saved-files-title_one":`Datei erfolgreich abgelegt`,"saved-files-title_other":`Dateien erfolgreich abgelegt`,"select-all":`Alle auswählen`,"select-nothing":`Nichts auswählen`,"sink-btn_one":`{{count}} Datei ablegen`,"sink-btn_other":`{{count}} Dateien ablegen`,"sink-title":`Dateien in der Zwischenablage ablegen`,"source-btn_one":`Datei auswählen`,"source-btn_other":`{{count}} Dateien auswählen`,"source-btn-none":`Dateien auswählen`,"source-title":`Von der Zwischenablage auswählen`,"upload-area-text":`Sie können in diesem Bereich Dokumente per Drag & Drop oder per Direktauswahl hochladen.`,"upload-button-label":`Dateien auswählen`,warning:`Vorsicht! Wenn Sie den Browser schließen oder die Seite neu laden wird die bestehende Zwischenablage automatisch verworfen!`},"demo-title":`Datei Abgabe Demo`,"file-sink":{clipboard:`Zwischenablage`,"local-button_one":`Datei herunterladen`,"local-button_other":`Dateien herunterladen`,"local-intro_one":`{{count}} Datei herunterladen`,"local-intro_other":`{{count}} Dateien herunterladen`,"modal-close":`Dialog schließen`,"nav-local":`Lokaler Computer`,"select-directory":``,"upload-success-body_one":`Sie haben {{count}} Datei erfolgreich in {{name}} hochgeladen.`,"upload-success-body_other":`Sie haben {{count}} Dateien erfolgreich in {{name}} hochgeladen.`,"upload-success-title":`Erfolgreich hochgeladen`},"file-source":{clipboard:`Zwischenablage`,"empty-file-error-text":`{{filename}} hat size=0 und wird abgelehnt!`,"empty-file-error-title":`Leere Dateien sind nicht erlaubt`,"mime-type-body":`Das Dateiformat wird von dieser Applikation nicht unterstützt.`,"mime-type-title":`Nicht unterstützes Dateiformat`,"modal-close":`Dialog schließen`,"nav-local":`Lokaler Computer`,"no-usable-files-hint":`Laden Sie eine ZIP Datei mit Dateien von folgendem Typ hoch: `,"no-usable-files-in-zip":`ZIP Datei enthält keine verwendbaren Dateien`,"not-allowed-mime-type-file-error-text":`{{filename}} hat nicht erlaubt mime type`,"not-allowed-mime-type-file-error-title":`Nicht erlaubt MIME-Type`,"too-big-file-body":`Die Datei darf maximal {{size}} haben.`,"too-big-file-title":`Datei ist zu groß!`},intro:`Sie können in diesem Bereich Dateien per Drag & Drop oder per Direktauswahl hochladen. Die Dateien dürfen sich auch in ZIP-Archiven befinden.`,"nextcloud-file-picker":{abort:`Vorgang abbrechen`,"abort-message":`Vorgang wurde abgebrochen.`,"add-folder":`Neuen Ordner erstellen`,"add-folder-close":`Neuer Ordner Dialog schließen`,"add-folder-error":`Die Ressource "{{folder}}" ist bereits vorhanden.`,"add-folder-error-empty":`Der Ordnername darf nicht leer sein.`,"add-folder-open":`Neuer Ordner Dialog öffnen`,"add-folder-success":`Der Ordner "{{folder}}" wurde erfolgreich erstellt.`,"all-recent-files-link-text":`Alle neuesten Dateien`,"auth-info":`Eine neue Seite wird geöffnet, um Ihr Konto zu verbinden.`,"auth-progress":`Anmeldung läuft`,"connect-nextcloud":`{{name}} verbinden`,"error-save-to-favorites":`Speichern in Favoriten nicht möglich! Bitte wählen Sie einen Ordner innerhalb der Favoriten aus.`,"error-save-to-recent":`Speichern in den neuesten Dateien nicht möglich! Bitte wählen Sie einen Ordner innerhalb der neuesten Dateien aus.`,"favorites-link-text":`Meine Favoriten`,"favorites-title":`Favoriten`,"file-error":`Das Dateiformat wird nicht unterstützt oder die Datei ist fehlerhaft und konnte nicht hochgeladen werden.`,"file-upload-error":`Entschuldigung, etwas ist schief gelaufen. Bitte versuchen Sie es später noch einmal.`,filename:`Name`,"folder-home":`In das Home Verzeichnis springen`,forbidden:`Sie sind nicht berechtigt, diese Aktion in diesem Ordner auszuführen.`,"init-text-1":`Wählen Sie Ihre Dateien von {{name}}.`,"init-text-2":`Sie müssen sich zuerst authentifizieren.`,"last-modified":`Geändert`,"load-in-folder":`Ins aktuelle Verzeichnis laden`,"load-path-link":`Gehe zu {{path}}`,"load-to-folder":`Im ausgewählten Ordner hochladen`,"loadpath-nextcloud-file-picker":`Das {{name}} Verzeichnis wird geladen.`,"log-out":`Verbindung trennen`,"mime-type":`Art`,"more-menu":``,"my-recent-files-link-text":`Meine neuesten Dateien`,"my-recent-files-title":`Meine neuesten Dateien`,"new-folder-dialog-button-cancel":`Abbrechen`,"new-folder-dialog-button-ok":`Erstellen`,"new-folder-dialog-default-name":`Neuer Ordner`,"new-folder-dialog-label":`Name eingeben:`,"new-folder-dialog-title":`Neuen Ordner erstellen`,"new-folder-placeholder":`Neuer Ordner`,"no-data":`In diesem Ordner befinden sich keine Dateien.`,"no-data-type":`In diesem Ordner befinden sich keine Dateien vom benötigten Typ.`,"no-favorites":`Es wurden keine Favoriten des entsprechenden Typs gefunden. Definieren Sie Dateien und Ordner in Ihrer {{name}} als Favoriten, um diese hier anzuzeigen.`,"no-recent-files":`Es wurden keine entsprechenden Dateien und Ordner innerhalb der letzten 3 Monate gefunden.`,onlycreate:`Sie dürfen in diesem Ordner nur neue Dateien erstellen.`,onlyedit:`Sie dürfen in diesem Ordner nur Dateien bearbeiten.`,"open-nextcloud-file-picker":`Dateien von {{name}} wählen`,readonly:`Sie dürfen in diesem Ordner nichts hochladen.`,"recent-files-title":`Neueste Dateien`,"refresh-nextcloud-file-picker":`Erneut verbinden`,"remember-me":`Mit {{name}} verbunden bleiben`,"replace-cancel":`Abbrechen`,"replace-cancel-all":`Alle abbrechen`,"replace-mode-all":`Für alle zukünftigen Konflikte übernehmen`,"replace-new_name":`Neuer Name`,"replace-replace":`Ersetzen`,"replace-skip":`Überspringen`,"replace-text":`Was möchten Sie tun`,"replace-title-1":`Es ist bereits eine Datei mit dem Namen `,"replace-title-2":` vorhanden`,"select-files":`Dateien auswählen`,"select-files-btn_one":`Datei auswählen`,"select-files-btn_other":`{{count}} Dateien auswählen`,size:`Größe`,"something-went-wrong":`Etwas ist schief gelaufen. Bitte verbinden Sie sich erneut.`,"upload-to":`Es wird nach {{- path}} hochgeladen ...`,"webdav-error":`Etwas ist schief gelaufen: {{error}}`},"upload-label":`Dateiauswahl`},pt={clipboard:{"add-files":`Add files to clipboard`,"add-files-btn":`Add files`,"clear-clipboard-body":`The clipboard was successfully cleared.`,"clear-clipboard-title":`Clipboard cleared`,"clear-count-clipboard-body_one":`One file was successfully removed from clipboard.`,"clear-count-clipboard-body_other":`{{count}} files were successfully removed from clipboard.`,"clear-count-clipboard-title_one":`File removed`,"clear-count-clipboard-title_other":`Files removed`,"file-mod":`Last modified`,"file-name":`Name`,"file-size":`Size`,"file-type":`Type`,"file-warning":`Attention!`,"file-warning-body_one":`There is still a file on the clipboard. The clipboard is discarded when you exit the page.`,"file-warning-body_other":`There are still {{count}} files on the clipboard. The clipboard is discarded when you exit the page.`,"no-data":`There are no files`,"remove-all":`Remove all files from the clipboard`,"remove-all-btn":`Remove all`,"remove-count_one":`Remove file from the clipboard`,"remove-count_other":`Remove {{count}} files from the clipboard`,"remove-count-btn_one":`Remove file`,"remove-count-btn_other":`Remove {{count}} files`,"save-all":`Save all files from the clipboard`,"save-all-btn":`Save all`,"save-count_one":`Save one file from the clipboard`,"save-count_other":`Save {{count}} files from the clipboard`,"save-count-btn_one":`Save file`,"save-count-btn_other":`Save {{count}} files`,"saved-files-body_one":`A file was successfully stored temporarily in the clipboard and can now be used within this application.`,"saved-files-body_other":`{{count}} files were successfully stored temporarily in the clipboard and can now be used within this application.`,"saved-files-title_one":`File successfully filed`,"saved-files-title_other":`Files successfully filed`,"select-all":`Select all`,"select-nothing":`Select nothing`,"sink-btn_one":`Store {{count}} file`,"sink-btn_other":`Store {{count}} files`,"sink-title":`Store files on the clipboard`,"source-btn_one":`Select file`,"source-btn_other":`Select {{count}} files`,"source-btn-none":`Select files`,"source-title":`Select files from clipboard`,"upload-area-text":`In this area you can upload documents up to a size of 32MB via Drag & Drop or by selecting them directly. `,"upload-button-label":`Load to clipboard`,warning:`Attention! If you close the browser or reload the page the existing clipboard is automatically discarded!`},"demo-title":`File Upload Demo`,"file-sink":{clipboard:`Clipboard`,"local-button_one":`Download file`,"local-button_other":`Download files`,"local-intro_one":`Download {{count}} file`,"local-intro_other":`Download {{count}} files`,"modal-close":`Close dialog`,"nav-local":`My device`,"select-directory":``,"upload-success-body_one":`You have successfully uploaded {{count}} file to {{name}}.`,"upload-success-body_other":`You have successfully uploaded {{count}} files to {{name}}.`,"upload-success-title":`Successful uploaded`},"file-source":{clipboard:`Clipboard`,"empty-file-error-text":`{{filename}} has size=0 and is denied!`,"empty-file-error-title":`Empty files are not allowed`,"mime-type-body":`The file format is not supported by this application.`,"mime-type-title":`Unsupported file format`,"modal-close":`Close dialog`,"nav-local":`My device`,"no-usable-files-hint":`Upload a ZIP file with file type(s) of `,"no-usable-files-in-zip":`ZIP file does not contain any usable files`,"not-allowed-mime-type-file-error-text":`{{filename}} has not allowed MIME-Type`,"not-allowed-mime-type-file-error-title":`Not allowed MIME-Type`,"too-big-file-body":`The file can have a maximum of {{size}}.`,"too-big-file-title":`The file is too big!`},intro:`Upload multiple files with the file dialog or by dragging and dropping images onto the dashed region.`,"nextcloud-file-picker":{abort:`Cancel process`,"abort-message":`The process was canceled.`,"add-folder":`Add new folder`,"add-folder-close":`Close new folder dialogue`,"add-folder-error":`The resource "{{folder}}" you tried to create already exists.`,"add-folder-error-empty":`The folder name can not be empty.`,"add-folder-open":`Open new folder dialogue`,"add-folder-success":`The folder '{{folder}}' was created successfully.`,"all-recent-files-link-text":`All Recent Files`,"auth-info":`A new page will open to connect your account.`,"auth-progress":`Authentification in progress`,"connect-nextcloud":`Connect {{name}}`,"error-save-to-favorites":`Saving to Favorites not possible! Please select a folder within the Favorites.`,"error-save-to-recent":`Saving to Recent Files not possible! Please select a folder within the Recent Files.`,"favorites-link-text":`My Favorites`,"favorites-title":`Favorites`,"file-error":`The file format is not supported or the file is corrupt and could not be uploaded.`,"file-upload-error":`Sorry, something went wrong. Please try again later.`,filename:`Filename`,"folder-home":`Jump to the home directory`,forbidden:`You don't have permissions to perform this action in this folder.`,"init-text-1":`Chose your files from {{name}}.`,"init-text-2":`You need to authenticate first.`,"last-modified":`Last modified`,"load-in-folder":`Load into the current directory`,"load-path-link":`Go to {{path}}`,"load-to-folder":`Upload to the selected folder`,"loadpath-nextcloud-file-picker":`Loading directory from {{name}}.`,"log-out":`Disconnect`,"mime-type":`Type`,"more-menu":``,"my-recent-files-link-text":`My Recent Files`,"my-recent-files-title":`My Recent Files`,"new-folder-dialog-button-cancel":`Cancel`,"new-folder-dialog-button-ok":`Create`,"new-folder-dialog-default-name":`New folder`,"new-folder-dialog-label":`Enter a name:`,"new-folder-dialog-title":`Create a new folder`,"new-folder-placeholder":`New folder`,"no-data":`No data available in this folder.`,"no-data-type":`No data available in this folder.`,"no-favorites":`No favorites of the relevant type were found. Define files and folders as favorites in your {{name}} to display them here`,"no-recent-files":`No relevant files and folders were found within the last 3 months.`,onlycreate:`You are only allowed to create new files in this directory.`,onlyedit:`You are only allowed to edit files in this directory.`,"open-nextcloud-file-picker":`Select files from your {{name}}`,readonly:`You are not allowed to uploade files in this directory.`,"recent-files-title":`Recent Files`,"refresh-nextcloud-file-picker":`Connect again`,"remember-me":`Stay connected with {{name}}`,"replace-cancel":`Cancel`,"replace-cancel-all":`Cancel all`,"replace-mode-all":`Do this for the next conflicts`,"replace-new_name":`New Name`,"replace-replace":`Replace`,"replace-skip":`Ignore`,"replace-text":`What do you want to do`,"replace-title-1":`There is already a file with the name `,"replace-title-2":` in this location`,"select-files":`Select files`,"select-files-btn_one":`Select file`,"select-files-btn_other":`Select {{count}} files`,size:`Size`,"something-went-wrong":`Something went wrong. Please reload.`,"upload-to":`Uploading to {{- path}} ...`,"webdav-error":`Something went wrong`},"upload-label":`Select some files`};function mt(){return nt({en:pt,de:ft},`de`,`en`)}function ht(){return tt`
:host {
--dbp-tabulator-collapse-padding-left: 0;
--dbp-tabulator-cell-overflow: hidden;
--dbp-tabulator-cell-background-color: var(--dbp-background);
}
.tabulator {
margin-bottom: 1em;
}
.tabulator .tabulator-tableholder {
overflow-y: clip;
}
.tabulator .tabulator-header .tabulator-col {
justify-content: center;
}
.tabulator .tabulator-header .tabulator-col.tabulator-sortable .tabulator-col-title {
font-weight: normal;
font-size: 1rem;
}
.tabulator,
.tabulator .tabulator-header,
.tabulator .tabulator-header .tabulator-col,
.tabulator-row .tabulator-cell,
.tabulator-row.tabulator-row-even,
.tabulator .tabulator-header .tabulator-col.tabulator-sortable:hover {
background-color: unset;
background: unset;
color: unset;
border: none;
font-size: 1rem;
}
/* sticky hedaer */
.tabulator.sticky-header {
overflow: unset;
}
.tabulator.sticky-header .tabulator-header {
position: sticky;
top: 0;
z-index: 12;
background-color: var(--dbp-background);
border-bottom: 1px solid var(--dbp-content);
}
.tabulator.sticky-header .tabulator-row:first-child {
border-top: 0 none;
}
/* sticky hedaer end */
.tabulator-headers + br {
display: none;
}
.tabulator-row,
.tabulator-row.tabulator-row-even {
background-color: var(--dbp-background);
border-top: 1px solid var(--dbp-muted);
color: var(--dbp-content);
}
.tabulator-row:last-child {
border-bottom: 1px solid var(--dbp-muted);
}
.tabulator-row.tabulator-selectable.tabulator-selectable:hover {
background-color: var(--dbp-hover-background-color, var(--dbp-background));
color: var(--dbp-hover-color, var(--dbp-content));
}
.tabulator-row.tabulator-selectable.tabulator-selected:hover,
.tabulator-row.tabulator-selected {
background-color: var(--dbp-override-muted, var(--dbp-content-surface));
color: var(--dbp-hover-color, var(--dbp-on-content-surface));
}
.tabulator-selected .tabulator-responsive-collapse-toggle,
.tabulator-row.tabulator-selected .tabulator-responsive-collapse-toggle {
background-color: var(--dbp-hover-color, var(--dbp-on-content-surface));
}
.tabulator-row.tabulator-row-even.tabulator-selected {
color: var(--dbp-hover-color, var(--dbp-on-content-surface));
}
.tabulator-header {
padding-top: 10px;
padding-bottom: 10px;
}
.tabulator-row .tabulator-cell {
padding-top: 12px;
padding-bottom: 12px;
overflow: var(--dbp-tabulator-cell-overflow);
background-color: var(--dbp-tabulator-cell-background-color);
}
.tabulator-row.tabulator-selected .tabulator-cell {
background-color: var(--dbp-override-muted, var(--dbp-content-surface));
color: var(--dbp-hover-color, var(--dbp-on-content-surface));
}
/* hide first fake column used by select all checkbox in the header */
.tabulator-cell[tabulator-field='empty'] {
display: none !important;
}
.tabulator-col-title input[type='checkbox'],
.tabulator-cell.tabulator-row-header input[type='checkbox'] {
width: 24px;
height: 24px;
}
/* Toggle Button Styles */
.tabulator-row .tabulator-responsive-collapse {
border: none;
padding-left: var(--dbp-tabulator-collapse-padding-left);
}
.tabulator-row .tabulator-cell.tabulator-row-handle {
padding: 0px;
}
.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle {
height: 99%;
width: 99%;
}
.tabulator-responsive-collapse-toggle svg {
display: none !important;
}
.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle:hover {
opacity: 1;
}
.tabulator-responsive-collapse-toggle,
.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle {
-webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg version='1.1' id='Layer_2_1_' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 100 100' style='enable-background:new 0 0 100 100;' xml:space='preserve'%3E%3Cpath d='M2.4,29.6l44.4,44.2c0.9,0.9,2.1,1.3,3.3,1.3c1.2,0,2.4-0.5,3.3-1.3l44.2-44.2c1.1-1.1,1.1-2.8,0-3.9 c-0.5-0.5-1.2-0.8-1.9-0.8c-0.7,0-1.4,0.3-1.9,0.8L50.1,69.3L6.3,25.7c-1.1-1.1-2.8-1.1-3.9,0C1.3,26.8,1.3,28.5,2.4,29.6z'/%3E%3C/svg%3E");
mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg version='1.1' id='Layer_2_1_' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 100 100' style='enable-background:new 0 0 100 100;' xml:space='preserve'%3E%3Cpath d='M2.4,29.6l44.4,44.2c0.9,0.9,2.1,1.3,3.3,1.3c1.2,0,2.4-0.5,3.3-1.3l44.2-44.2c1.1-1.1,1.1-2.8,0-3.9 c-0.5-0.5-1.2-0.8-1.9-0.8c-0.7,0-1.4,0.3-1.9,0.8L50.1,69.3L6.3,25.7c-1.1-1.1-2.8-1.1-3.9,0C1.3,26.8,1.3,28.5,2.4,29.6z'/%3E%3C/svg%3E");
content: '';
background-color: var(--dbp-content);
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
-webkit-mask-position: center center;
mask-position: center center;
margin: 0;
padding: 0;
-webkit-mask-size: 24px;
mask-size: 24px;
transform: rotate(0);
}
.tabulator-responsive-collapse-toggle.open,
.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle.open {
transform: rotate(-180deg);
}
/* Define the style when the column is not sorted */
.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 var(--dbp-muted);
}
/* Define the style when the column is sorted in ascending order */
.tabulator
.tabulator-header
.tabulator-col.tabulator-sortable[aria-sort='asc']
.tabulator-col-content
.tabulator-col-sorter
.tabulator-arrow {
border-top: none;
border-bottom: 6px solid var(--dbp-accent);
}
/* Define the style when the column is sorted in descending order */
.tabulator
.tabulator-header
.tabulator-col.tabulator-sortable[aria-sort='desc']
.tabulator-col-content
.tabulator-col-sorter
.tabulator-arrow {
border-bottom: none;
border-top: 6px solid var(--dbp-accent);
color: var(--dbp-accent);
}
.tabulator-cell.tabulator-row-header.tabulator-row-handle {
background-color: var(--dbp-background-color);
border-style: none;
}
.tabulator-row,
.tabulator-row.tabulator-row-even,
.tabulator-row.tabulator-row-odd {
padding-top: 0px;
padding-bottom: 0px;
}
.tabulator .tabulator-tableholder .tabulator-placeholder .tabulator-placeholder-contents {
color: var(--dbp-muted);
font-size: 1rem;
font-weight: initial;
text-align: center;
}
.tabulator-placeholder {
border-top: 1px solid var(--dbp-muted);
padding-top: 10px;
}
.tabulator-row.no-select.tabulator-selected {
background-color: var(--dbp-background);
color: var(--dbp-muted);
}
.no-select,
.tabulator-row.tabulator-selected.no-select:hover,
.tabulator-row.no-select:hover,
.tabulator-row.tabulator-selectable.no-select:hover {
cursor: unset;
}
.no-select-styles,
.tabulator-row.tabulator-selectable.tabulator-selected.no-select-styles,
.tabulator-row.tabulator-selectable.tabulator-selected.no-select-styles:hover,
.no-select,
.tabulator-row.tabulator-selected.no-select:hover,
.tabulator-row.no-select:hover,
.tabulator-row.tabulator-selectable.no-select:hover,
.tabulator-row.tabulator-selected.no-select-styles:hover,
.tabulator-row.no-select-styles:hover,
.tabulator-row.tabulator-selectable.no-select-styles:hover {
color: var(--dbp-content);
background-color: var(--dbp-background);
}
.tabulator
.tabulator-header
.tabulator-col.tabulator-sortable.tabulator-col-sorter-element:hover {
background-color: unset;
}
/* Frozen select checkbox rows styles */
.tabulator-col.tabulator-row-header.tabulator-frozen,
.tabulator-cell.tabulator-row-header.tabulator-frozen {
border: none;
background-color: var(--dbp-background);
}
/* Frozen table header styles */
.tabulator .tabulator-header .tabulator-frozen.tabulator-frozen-left,
.tabulator .tabulator-header .tabulator-frozen.tabulator-frozen-right {
border: none;
background-color: var(--dbp-background);
}
/* Frozen table rows styles */
.tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-left,
.tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-right {
border: none;
}
.tabulator .tabulator-footer .tabulator-paginator {
text-align: center;
}
.tabulator[tabulator-layout='fitDataFill'] .tabulator-tableHolder .tabulator-table {
min-width: calc(100% - 41px);
}
`}
/*! For license information please see index.js.LICENSE.txt */
var gt={2:e=>{function t(e,t,i){e instanceof RegExp&&(e=n(e,i)),t instanceof RegExp&&(t=n(t,i));var a=r(e,t,i);return a&&{start:a[0],end:a[1],pre:i.slice(0,a[0]),body:i.slice(a[0]+e.length,a[1]),post:i.slice(a[1]+t.length)}}function n(e,t){var n=t.match(e);return n?n[0]:null}function r(e,t,n){var r,i,a,o,s,c=n.indexOf(e),l=n.indexOf(t,c+1),u=c;if(c>=0&&l>0){for(r=[],a=n.length;u>=0&&!s;)u==c?(r.push(u),c=n.indexOf(e,u+1)):r.length==1?s=[r.pop(),l]:((i=r.pop())<a&&(a=i,o=l),l=n.indexOf(t,u+1)),u=c<l&&c>=0?c:l;r.length&&(s=[a,o])}return s}e.exports=t,t.range=r},101:function(e,t,n){var r;e=n.nmd(e),function(i){var a=(e&&e.exports,typeof global==`object`&&global);a.global!==a&&a.window;var o=function(e){this.message=e};(o.prototype=Error()).name=`InvalidCharacterError`;var s=function(e){throw new o(e)},c=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,l=/[\t\n\f\r ]/g,u={encode:function(e){e=String(e),/[^\0-\xFF]/.test(e)&&s(`The string to be encoded contains characters outside of the Latin1 range.`);for(var t,n,r,i,a=e.length%3,o=``,l=-1,u=e.length-a;++l<u;)t=e.charCodeAt(l)<<16,n=e.charCodeAt(++l)<<8,r=e.charCodeAt(++l),o+=c.charAt((i=t+n+r)>>18&63)+c.charAt(i>>12&63)+c.charAt(i>>6&63)+c.charAt(63&i);return a==2?(t=e.charCodeAt(l)<<8,n=e.charCodeAt(++l),o+=c.charAt((i=t+n)>>10)+c.charAt(i>>4&63)+c.charAt(i<<2&63)+`=`):a==1&&(i=e.charCodeAt(l),o+=c.charAt(i>>2)+c.charAt(i<<4&63)+`==`),o},decode:function(e){var t=(e=String(e).replace(l,``)).length;t%4==0&&(t=(e=e.replace(/==?$/,``)).length),(t%4==1||/[^+a-zA-Z0-9/]/.test(e))&&s(`Invalid character: the string to be decoded is not correctly encoded.`);for(var n,r,i=0,a=``,o=-1;++o<t;)r=c.indexOf(e.charAt(o)),n=i%4?64*n+r:r,i++%4&&(a+=String.fromCharCode(255&n>>(-2*i&6)));return a},version:`1.0.0`};(r=function(){return u}.call(t,n,t,e))===void 0||(e.exports=r)}()},172:(e,t)=>{t.d=function(e){if(!e)return 0;for(var t=(e=e.toString()).length,n=e.length;n--;){var r=e.charCodeAt(n);56320<=r&&r<=57343&&n--,127<r&&r<=2047?t++:2047<r&&r<=65535&&(t+=2)}return t}},526:e=>{var t={utf8:{stringToBytes:function(e){return t.bin.stringToBytes(unescape(encodeURIComponent(e)))},bytesToString:function(e){return decodeURIComponent(escape(t.bin.bytesToString(e)))}},bin:{stringToBytes:function(e){for(var t=[],n=0;n<e.length;n++)t.push(255&e.charCodeAt(n));return t},bytesToString:function(e){for(var t=[],n=0;n<e.length;n++)t.push(String.fromCharCode(e[n]));return t.join(``)}}};e.exports=t},298:e=>{var t=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,n={rotl:function(e,t){return e<<t|e>>>32-t},rotr:function(e,t){return e<<32-t|e>>>t},endian:function(e){if(e.constructor==Number)return 16711935&n.rotl(e,8)|4278255360&n.rotl(e,24);for(var t=0;t<e.length;t++)e[t]=n.endian(e[t]);return e},randomBytes:function(e){for(var t=[];e>0;e--)t.push(Math.floor(256*Math.random()));return t},bytesToWords:function(e){for(var t=[],n=0,r=0;n<e.length;n++,r+=8)t[r>>>5]|=e[n]<<24-r%32;return t},wordsToBytes:function(e){for(var t=[],n=0;n<32*e.length;n+=8)t.push(e[n>>>5]>>>24-n%32&255);return t},bytesToHex:function(e){for(var t=[],n=0;n<e.length;n++)t.push((e[n]>>>4).toString(16)),t.push((15&e[n]).toString(16));return t.join(``)},hexToBytes:function(e){for(var t=[],n=0;n<e.length;n+=2)t.push(parseInt(e.substr(n,2),16));return t},bytesToBase64:function(e){for(var n=[],r=0;r<e.length;r+=3)for(var i=e[r]<<16|e[r+1]<<8|e[r+2],a=0;a<4;a++)8*r+6*a<=8*e.length?n.push(t.charAt(i>>>6*(3-a)&63)):n.push(`=`);return n.join(``)},base64ToBytes:function(e){e=e.replace(/[^A-Z0-9+\/]/gi,``);for(var n=[],r=0,i=0;r<e.length;i=++r%4)i!=0&&n.push((t.indexOf(e.charAt(r-1))&2**(-2*i+8)-1)<<2*i|t.indexOf(e.charAt(r))>>>6-2*i);return n}};e.exports=n},635:(e,t,n)=>{let r=n(31);e.exports={XMLParser:n(338),XMLValidator:r,XMLBuilder:n(221)}},118:e=>{e.exports=function(e){return typeof e==`function`?e:Array.isArray(e)?t=>{for(let n of e)if(typeof n==`string`&&t===n||n instanceof RegExp&&n.test(t))return!0}:()=>!1}},705:(e,t)=>{let n=`[:A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*`,r=RegExp(`^`+n+`$`);t.isExist=function(e){return e!==void 0},t.isEmptyObject=function(e){return Object.keys(e).length===0},t.merge=function(e,t,n){if(t){let r=Object.keys(t),i=r.length;for(let a=0;a<i;a++)e[r[a]]=n===`strict`?[t[r[a]]]:t[r[a]]}},t.getValue=function(e){return t.isExist(e)?e:``},t.isName=function(e){return r.exec(e)!=null},t.getAllMatches=function(e,t){let n=[],r=t.exec(e);for(;r;){let i=[];i.startIndex=t.lastIndex-r[0].length;let a=r.length;for(let e=0;e<a;e++)i.push(r[e]);n.push(i),r=t.exec(e)}return n},t.nameRegexp=n},31:(e,t,n)=>{let r=n(705),i={allowBooleanAttributes:!1,unpairedTags:[]};function a(e){return e===` `||e===` `||e===`
`||e===`\r`}function o(e,t){let n=t;for(;t<e.length;t++)if(!(e[t]!=`?`&&e[t]!=` `)){let r=e.substr(n,t-n);if(t>5&&r===`xml`)return f(`InvalidXml`,`XML declaration allowed only at the start of the document.`,m(e,t));if(e[t]==`?`&&e[t+1]==`>`){t++;break}}return t}function s(e,t){if(e.length>t+5&&e[t+1]===`-`&&e[t+2]===`-`){for(t+=3;t<e.length;t++)if(e[t]===`-`&&e[t+1]===`-`&&e[t+2]===`>`){t+=2;break}}else if(e.length>t+8&&e[t+1]===`D`&&e[t+2]===`O`&&e[t+3]===`C`&&e[t+4]===`T`&&e[t+5]===`Y`&&e[t+6]===`P`&&e[t+7]===`E`){let n=1;for(t+=8;t<e.length;t++)if(e[t]===`<`)n++;else if(e[t]===`>`&&(n--,n===0))break}else if(e.length>t+9&&e[t+1]===`[`&&e[t+2]===`C`&&e[t+3]===`D`&&e[t+4]===`A`&&e[t+5]===`T`&&e[t+6]===`A`&&e[t+7]===`[`){for(t+=8;t<e.length;t++)if(e[t]===`]`&&e[t+1]===`]`&&e[t+2]===`>`){t+=2;break}}return t}t.validate=function(e,t){t=Object.assign({},i,t);let n=[],l=!1,p=!1;e[0]===``&&(e=e.substr(1));for(let i=0;i<e.length;i++)if(e[i]===`<`&&e[i+1]===`?`){if(i+=2,i=o(e,i),i.err)return i}else{if(e[i]!==`<`){if(a(e[i]))continue;return f(`InvalidChar`,`char '`+e[i]+`' is not expected.`,m(e,i))}{let g=i;if(i++,e[i]===`!`){i=s(e,i);continue}{let _=!1;e[i]===`/`&&(_=!0,i++);let v=``;for(;i<e.length&&e[i]!==`>`&&e[i]!==` `&&e[i]!==` `&&e[i]!==`
`&&e[i]!==`\r`;i++)v+=e[i];if(v=v.trim(),v[v.length-1]===`/`&&(v=v.substring(0,v.length-1),i--),h=v,!r.isName(h)){let t;return t=v.trim().length===0?`Invalid space after '<'.`:`Tag '`+v+`' is an invalid name.`,f(`InvalidTag`,t,m(e,i))}let y=c(e,i);if(!1===y)return f(`InvalidAttr`,`Attributes for '`+v+`' have open quote.`,m(e,i));let b=y.value;if(i=y.index,b[b.length-1]===`/`){let n=i-b.length;b=b.substring(0,b.length-1);let r=u(b,t);if(!0!==r)return f(r.err.code,r.err.msg,m(e,n+r.err.line));l=!0}else if(_){if(!y.tagClosed)return f(`InvalidTag`,`Closing tag '`+v+`' doesn't have proper closing.`,m(e,i));if(b.trim().length>0)return f(`InvalidTag`,`Closing tag '`+v+`' can't have attributes or invalid starting.`,m(e,g));if(n.length===0)return f(`InvalidTag`,`Closing tag '`+v+`' has not been opened.`,m(e,g));{let t=n.pop();if(v!==t.tagName){let n=m(e,t.tagStartPos);return f(`InvalidTag`,`Expected closing tag '`+t.tagName+`' (opened in line `+n.line+`, col `+n.col+`) instead of closing tag '`+v+`'.`,m(e,g))}n.length==0&&(p=!0)}}else{let r=u(b,t);if(!0!==r)return f(r.err.code,r.err.msg,m(e,i-b.length+r.err.line));if(!0===p)return f(`InvalidXml`,`Multiple possible root nodes found.`,m(e,i));t.unpairedTags.indexOf(v)!==-1||n.push({tagName:v,tagStartPos:g}),l=!0}for(i++;i<e.length;i++)if(e[i]===`<`){if(e[i+1]===`!`){i++,i=s(e,i);continue}if(e[i+1]!==`?`)break;if(i=o(e,++i),i.err)return i}else if(e[i]===`&`){let t=d(e,i);if(t==-1)return f(`InvalidChar`,`char '&' is not expected.`,m(e,i));i=t}else if(!0===p&&!a(e[i]))return f(`InvalidXml`,`Extra text at the end`,m(e,i));e[i]===`<`&&i--}}}var h;return l?n.length==1?f(`InvalidTag`,`Unclosed tag '`+n[0].tagName+`'.`,m(e,n[0].tagStartPos)):!(n.length>0)||f(`InvalidXml`,`Invalid '`+JSON.stringify(n.map(e=>e.tagName),null,4).replace(/\r?\n/g,``)+`' found.`,{line:1,col:1}):f(`InvalidXml`,`Start tag expected.`,1)};function c(e,t){let n=``,r=``,i=!1;for(;t<e.length;t++){if(e[t]===`"`||e[t]===`'`)r===``?r=e[t]:r!==e[t]||(r=``);else if(e[t]===`>`&&r===``){i=!0;break}n+=e[t]}return r===``&&{value:n,index:t,tagClosed:i}}let l=RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,`g`);function u(e,t){let n=r.getAllMatches(e,l),i={};for(let e=0;e<n.length;e++){if(n[e][1].length===0)return f(`InvalidAttr`,`Attribute '`+n[e][2]+`' has no space in starting.`,h(n[e]));if(n[e][3]!==void 0&&n[e][4]===void 0)return f(`InvalidAttr`,`Attribute '`+n[e][2]+`' is without value.`,h(n[e]));if(n[e][3]===void 0&&!t.allowBooleanAttributes)return f(`InvalidAttr`,`boolean attribute '`+n[e][2]+`' is not allowed.`,h(n[e]));let r=n[e][2];if(!p(r))return f(`InvalidAttr`,`Attribute '`+r+`' is an invalid name.`,h(n[e]));if(i.hasOwnProperty(r))return f(`InvalidAttr`,`Attribute '`+r+`' is repeated.`,h(n[e]));i[r]=1}return!0}function d(e,t){if(e[++t]===`;`)return-1;if(e[t]===`#`)return function(e,t){let n=/\d/;for(e[t]===`x`&&(t++,n=/[\da-fA-F]/);t<e.length;t++){if(e[t]===`;`)return t;if(!e[t].match(n))break}return-1}(e,++t);let n=0;for(;t<e.length;t++,n++)if(!(e[t].match(/\w/)&&n<20)){if(e[t]===`;`)break;return-1}return t}function f(e,t,n){return{err:{code:e,msg:t,line:n.line||n,col:n.col}}}function p(e){return r.isName(e)}function m(e,t){let n=e.substring(0,t).split(/\r?\n/);return{line:n.length,col:n[n.length-1].length+1}}function h(e){return e.startIndex+e[1].length}},221:(e,t,n)=>{let r=n(87),i=n(118),a={attributeNamePrefix:`@_`,attributesGroupName:!1,textNodeName:`#text`,ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:` `,suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(e,t){return t},attributeValueProcessor:function(e,t){return t},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:RegExp(`&`,`g`),val:`&`},{regex:RegExp(`>`,`g`),val:`>`},{regex:RegExp(`<`,`g`),val:`<`},{regex:RegExp(`'`,`g`),val:`'`},{regex:RegExp(`"`,`g`),val:`"`}],processEntities:!0,stopNodes:[],oneListGroup:!1};function o(e){this.options=Object.assign({},a,e),!0===this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn=i(this.options.ignoreAttributes),this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=l),this.processTextOrObjNode=s,this.options.format?(this.indentate=c,this.tagEndChar=`>
`,this.newLine=`
`):(this.indentate=function(){return``},this.tagEndChar=`>`,this.newLine=``)}function s(e,t,n,r){let i=this.j2x(e,n+1,r.concat(t));return e[this.options.textNodeName]!==void 0&&Object.keys(e).length===1?this.buildTextValNode(e[this.options.textNodeName],t,i.attrStr,n):this.buildObjectNode(i.val,t,i.attrStr,n)}function c(e){return this.options.indentBy.repeat(e)}function l(e){return!(!e.startsWith(this.options.attributeNamePrefix)||e===this.options.textNodeName)&&e.substr(this.attrPrefixLen)}o.prototype.build=function(e){return this.options.preserveOrder?r(e,this.options):(Array.isArray(e)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(e={[this.options.arrayNodeName]:e}),this.j2x(e,0,[]).val)},o.prototype.j2x=function(e,t,n){let r=``,i=``,a=n.join(`.`);for(let o in e)if(Object.prototype.hasOwnProperty.call(e,o))if(e[o]===void 0)this.isAttribute(o)&&(i+=``);else if(e[o]===null)this.isAttribute(o)?i+=``:o[0]===`?`?i+=this.indentate(t)+`<`+o+`?`+this.tagEndChar:i+=this.indentate(t)+`<`+o+`/`+this.tagEndChar;else if(e[o]instanceof Date)i+=this.buildTextValNode(e[o],o,``,t);else if(typeof e[o]!=`object`){let n=this.isAttribute(o);if(n&&!this.ignoreAttributesFn(n,a))r+=this.buildAttrPairStr(n,``+e[o]);else if(!n)if(o===this.options.textNodeName){let t=this.options.tagValueProcessor(o,``+e[o]);i+=this.replaceEntitiesValue(t)}else i+=this.buildTextValNode(e[o],o,``,t)}else if(Array.isArray(e[o])){let r=e[o].length,a=``,s=``;for(let c=0;c<r;c++){let r=e[o][c];if(r!==void 0)if(r===null)o[0]===`?`?i+=this.indentate(t)+`<`+o+`?`+this.tagEndChar:i+=this.indentate(t)+`<`+o+`/`+this.tagEndChar;else if(typeof r==`object`)if(this.options.oneListGroup){let e=this.j2x(r,t+1,n.concat(o));a+=e.val,this.options.attributesGroupName&&r.hasOwnProperty(this.options.attributesGroupName)&&(s+=e.attrStr)}else a+=this.processTextOrObjNode(r,o,t,n);else if(this.options.oneListGroup){let e=this.options.tagValueProcessor(o,r);e=this.replaceEntitiesValue(e),a+=e}else a+=this.buildTextValNode(r,o,``,t)}this.options.oneListGroup&&(a=this.buildObjectNode(a,o,s,t)),i+=a}else if(this.options.attributesGroupName&&o===this.options.attributesGroupName){let t=Object.keys(e[o]),n=t.length;for(let i=0;i<n;i++)r+=this.buildAttrPairStr(t[i],``+e[o][t[i]])}else i+=this.processTextOrObjNode(e[o],o,t,n);return{attrStr:r,val:i}},o.prototype.buildAttrPairStr=function(e,t){return t=this.options.attributeValueProcessor(e,``+t),t=this.replaceEntitiesValue(t),this.options.suppressBooleanAttributes&&t===`true`?` `+e:` `+e+`="`+t+`"`},o.prototype.buildObjectNode=function(e,t,n,r){if(e===``)return t[0]===`?`?this.indentate(r)+`<`+t+n+`?`+this.tagEndChar:this.indentate(r)+`<`+t+n+this.closeTag(t)+this.tagEndChar;{let i=`</`+t+this.tagEndChar,a=``;return t[0]===`?`&&(a=`?`,i=``),!n&&n!==``||e.indexOf(`<`)!==-1?!1!==this.options.commentPropName&&t===this.options.commentPropName&&a.length===0?this.indentate(r)+`\x3c!--${e}--\x3e`+this.newLine:this.indentate(r)+`<`+t+n+a+this.tagEndChar+e+this.indentate(r)+i:this.indentate(r)+`<`+t+n+a+`>`+e+i}},o.prototype.closeTag=function(e){let t=``;return this.options.unpairedTags.indexOf(e)===-1?t=this.options.suppressEmptyNode?`/`:`></${e}`:this.options.suppressUnpairedNode||(t=`/`),t},o.prototype.buildTextValNode=function(e,t,n,r){if(!1!==this.options.cdataPropName&&t===this.options.cdataPropName)return this.indentate(r)+`<![CDATA[${e}]]>`+this.newLine;if(!1!==this.options.commentPropName&&t===this.options.commentPropName)return this.indentate(r)+`\x3c!--${e}--\x3e`+this.newLine;if(t[0]===`?`)return this.indentate(r)+`<`+t+n+`?`+this.tagEndChar;{let i=this.options.tagValueProcessor(t,e);return i=this.replaceEntitiesValue(i),i===``?this.indentate(r)+`<`+t+n+this.closeTag(t)+this.tagEndChar:this.indentate(r)+`<`+t+n+`>`+i+`</`+t+this.tagEndChar}},o.prototype.replaceEntitiesValue=function(e){if(e&&e.length>0&&this.options.processEntities)for(let t=0;t<this.options.entities.length;t++){let n=this.options.entities[t];e=e.replace(n.regex,n.val)}return e},e.exports=o},87:e=>{function t(e,o,s,c){let l=``,u=!1;for(let d=0;d<e.length;d++){let f=e[d],p=n(f);if(p===void 0)continue;let m=``;if(m=s.length===0?p:`${s}.${p}`,p===o.textNodeName){let e=f[p];i(m,o)||(e=o.tagValueProcessor(p,e),e=a(e,o)),u&&(l+=c),l+=e,u=!1;continue}if(p===o.cdataPropName){u&&(l+=c),l+=`<![CDATA[${f[p][0][o.textNodeName]}]]>`,u=!1;continue}if(p===o.commentPropName){l+=c+`\x3c!--${f[p][0][o.textNodeName]}--\x3e`,u=!0;continue}if(p[0]===`?`){let e=r(f[`:@`],o),t=p===`?xml`?``:c,n=f[p][0][o.textNodeName];n=n.length===0?``:` `+n,l+=t+`<${p}${n}${e}?>`,u=!0;continue}let h=c;h!==``&&(h+=o.indentBy);let g=c+`<${p}${r(f[`:@`],o)}`,_=t(f[p],o,m,h);o.unpairedTags.indexOf(p)===-1?_&&_.length!==0||!o.suppressEmptyNode?_&&_.endsWith(`>`)?l+=g+`>${_}${c}</${p}>`:(l+=g+`>`,_&&c!==``&&(_.includes(`/>`)||_.includes(`</`))?l+=c+o.indentBy+_+c:l+=_,l+=`</${p}>`):l+=g+`/>`:o.suppressUnpairedNode?l+=g+`>`:l+=g+`/>`,u=!0}return l}function n(e){let t=Object.keys(e);for(let n=0;n<t.length;n++){let r=t[n];if(e.hasOwnProperty(r)&&r!==`:@`)return r}}function r(e,t){let n=``;if(e&&!t.ignoreAttributes)for(let r in e){if(!e.hasOwnProperty(r))continue;let i=t.attributeValueProcessor(r,e[r]);i=a(i,t),!0===i&&t.suppressBooleanAttributes?n+=` ${r.substr(t.attributeNamePrefix.length)}`:n+=` ${r.substr(t.attributeNamePrefix.length)}="${i}"`}return n}function i(e,t){let n=(e=e.substr(0,e.length-t.textNodeName.length-1)).substr(e.lastIndexOf(`.`)+1);for(let r in t.stopNodes)if(t.stopNodes[r]===e||t.stopNodes[r]===`*.`+n)return!0;return!1}function a(e,t){if(e&&e.length>0&&t.processEntities)for(let n=0;n<t.entities.length;n++){let r=t.entities[n];e=e.replace(r.regex,r.val)}return e}e.exports=function(e,n){let r=``;return n.format&&n.indentBy.length>0&&(r=`
`),t(e,n,``,r)}},193:(e,t,n)=>{let r=n(705);function i(e,t){let n=``;for(;t<e.length&&e[t]!==`'`&&e[t]!==`"`;t++)n+=e[t];if(n=n.trim(),n.indexOf(` `)!==-1)throw Error(`External entites are not supported`);let r=e[t++],i=``;for(;t<e.length&&e[t]!==r;t++)i+=e[t];return[n,i,t]}function a(e,t){return e[t+1]===`!`&&e[t+2]===`-`&&e[t+3]===`-`}function o(e,t){return e[t+1]===`!`&&e[t+2]===`E`&&e[t+3]===`N`&&e[t+4]===`T`&&e[t+5]===`I`&&e[t+6]===`T`&&e[t+7]===`Y`}function s(e,t){return e[t+1]===`!`&&e[t+2]===`E`&&e[t+3]===`L`&&e[t+4]===`E`&&e[t+5]===`M`&&e[t+6]===`E`&&e[t+7]===`N`&&e[t+8]===`T`}function c(e,t){return e[t+1]===`!`&&e[t+2]===`A`&&e[t+3]===`T`&&e[t+4]===`T`&&e[t+5]===`L`&&e[t+6]===`I`&&e[t+7]===`S`&&e[t+8]===`T`}function l(e,t){return e[t+1]===`!`&&e[t+2]===`N`&&e[t+3]===`O`&&e[t+4]===`T`&&e[t+5]===`A`&&e[t+6]===`T`&&e[t+7]===`I`&&e[t+8]===`O`&&e[t+9]===`N`}function u(e){if(r.isName(e))return e;throw Error(`Invalid entity name ${e}`)}e.exports=function(e,t){let n={};if(e[t+3]!==`O`||e[t+4]!==`C`||e[t+5]!==`T`||e[t+6]!==`Y`||e[t+7]!==`P`||e[t+8]!==`E`)throw Error(`Invalid Tag instead of DOCTYPE`);{t+=9;let r=1,d=!1,f=!1,p=``;for(;t<e.length;t++)if(e[t]!==`<`||f)if(e[t]===`>`){if(f?e[t-1]===`-`&&e[t-2]===`-`&&(f=!1,r--):r--,r===0)break}else e[t]===`[`?d=!0:p+=e[t];else{if(d&&o(e,t)){let r,a;t+=7,[r,a,t]=i(e,t+1),a.indexOf(`&`)===-1&&(n[u(r)]={regx:RegExp(`&${r};`,`g`),val:a})}else if(d&&s(e,t))t+=8;else if(d&&c(e,t))t+=8;else if(d&&l(e,t))t+=9;else{if(!a)throw Error(`Invalid DOCTYPE`);f=!0}r++,p=``}if(r!==0)throw Error(`Unclosed DOCTYPE`)}return{entities:n,i:t}}},63:(e,t)=>{let n={preserveOrder:!1,attributeNamePrefix:`@_`,attributesGroupName:!1,textNodeName:`#text`,ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(e,t){return t},attributeValueProcessor:function(e,t){return t},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(e,t,n){return e}};t.buildOptions=function(e){return Object.assign({},n,e)},t.defaultOptions=n},299:(e,t,n)=>{let r=n(705),i=n(365),a=n(193),o=n(494),s=n(118);function c(e){let t=Object.keys(e);for(let n=0;n<t.length;n++){let r=t[n];this.lastEntities[r]={regex:RegExp(`&`+r+`;`,`g`),val:e[r]}}}function l(e,t,n,r,i,a,o){if(e!==void 0&&(this.options.trimValues&&!r&&(e=e.trim()),e.length>0)){o||(e=this.replaceEntitiesValue(e));let r=this.options.tagValueProcessor(t,e,n,i,a);return r==null?e:typeof r!=typeof e||r!==e?r:this.options.trimValues||e.trim()===e?x(e,this.options.parseTagValue,this.options.numberParseOptions):e}}function u(e){if(this.options.removeNSPrefix){let t=e.split(`:`),n=e.charAt(0)===`/`?`/`:``;if(t[0]===`xmlns`)return``;t.length===2&&(e=n+t[1])}return e}let d=RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,`gm`);function f(e,t,n){if(!0!==this.options.ignoreAttributes&&typeof e==`string`){let n=r.getAllMatches(e,d),i=n.length,a={};for(let e=0;e<i;e++){let r=this.resolveNameSpace(n[e][1]);if(this.ignoreAttributesFn(r,t))continue;let i=n[e][4],o=this.options.attributeNamePrefix+r;if(r.length)if(this.options.transformAttributeName&&(o=this.options.transformAttributeName(o)),o===`__proto__`&&(o=`#__proto__`),i!==void 0){this.options.trimValues&&(i=i.trim()),i=this.replaceEntitiesValue(i);let e=this.options.attributeValueProcessor(r,i,t);a[o]=e==null?i:typeof e!=typeof i||e!==i?e:x(i,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(a[o]=!0)}if(!Object.keys(a).length)return;if(this.options.attributesGroupName){let e={};return e[this.options.attributesGroupName]=a,e}return a}}let p=function(e){e=e.replace(/\r\n?/g,`
`);let t=new i(`!xml`),n=t,r=``,o=``;for(let s=0;s<e.length;s++)if(e[s]===`<`)if(e[s+1]===`/`){let t=v(e,`>`,s,`Closing Tag is not closed.`),i=e.substring(s+2,t).trim();if(this.options.removeNSPrefix){let e=i.indexOf(`:`);e!==-1&&(i=i.substr(e+1))}this.options.transformTagName&&(i=this.options.transformTagName(i)),n&&(r=this.saveTextToParentTag(r,n,o));let a=o.substring(o.lastIndexOf(`.`)+1);if(i&&this.options.unpairedTags.indexOf(i)!==-1)throw Error(`Unpaired tag can not be used as closing tag: </${i}>`);let c=0;a&&this.options.unpairedTags.indexOf(a)!==-1?(c=o.lastIndexOf(`.`,o.lastIndexOf(`.`)-1),this.tagsNodeStack.pop()):c=o.lastIndexOf(`.`),o=o.substring(0,c),n=this.tagsNodeStack.pop(),r=``,s=t}else if(e[s+1]===`?`){let t=y(e,s,!1,`?>`);if(!t)throw Error(`Pi Tag is not closed.`);if(r=this.saveTextToParentTag(r,n,o),!(this.options.ignoreDeclaration&&t.tagName===`?xml`||this.options.ignorePiTags)){let e=new i(t.tagName);e.add(this.options.textNodeName,``),t.tagName!==t.tagExp&&t.attrExpPresent&&(e[`:@`]=this.buildAttributesMap(t.tagExp,o,t.tagName)),this.addChild(n,e,o)}s=t.closeIndex+1}else if(e.substr(s+1,3)===`!--`){let t=v(e,`-->`,s+4,`Comment is not closed.`);if(this.options.commentPropName){let i=e.substring(s+4,t-2);r=this.saveTextToParentTag(r,n,o),n.add(this.options.commentPropName,[{[this.options.textNodeName]:i}])}s=t}else if(e.substr(s+1,2)===`!D`){let t=a(e,s);this.docTypeEntities=t.entities,s=t.i}else if(e.substr(s+1,2)===`![`){let t=v(e,`]]>`,s,`CDATA is not closed.`)-2,i=e.substring(s+9,t);r=this.saveTextToParentTag(r,n,o);let a=this.parseTextData(i,n.tagname,o,!0,!1,!0,!0);a??=``,this.options.cdataPropName?n.add(this.options.cdataPropName,[{[this.options.textNodeName]:i}]):n.add(this.options.textNodeName,a),s=t+2}else{let a=y(e,s,this.options.removeNSPrefix),c=a.tagName,l=a.rawTagName,u=a.tagExp,d=a.attrExpPresent,f=a.closeIndex;this.options.transformTagName&&(c=this.options.transformTagName(c)),n&&r&&n.tagname!==`!xml`&&(r=this.saveTextToParentTag(r,n,o,!1));let p=n;if(p&&this.options.unpairedTags.indexOf(p.tagname)!==-1&&(n=this.tagsNodeStack.pop(),o=o.substring(0,o.lastIndexOf(`.`))),c!==t.tagname&&(o+=o?`.`+c:c),this.isItStopNode(this.options.stopNodes,o,c)){let t=``;if(u.length>0&&u.lastIndexOf(`/`)===u.length-1)c[c.length-1]===`/`?(c=c.substr(0,c.length-1),o=o.substr(0,o.length-1),u=c):u=u.substr(0,u.length-1),s=a.closeIndex;else if(this.options.unpairedTags.indexOf(c)!==-1)s=a.closeIndex;else{let n=this.readStopNodeData(e,l,f+1);if(!n)throw Error(`Unexpected end of ${l}`);s=n.i,t=n.tagContent}let r=new i(c);c!==u&&d&&(r[`:@`]=this.buildAttributesMap(u,o,c)),t&&=this.parseTextData(t,c,o,!0,d,!0,!0),o=o.substr(0,o.lastIndexOf(`.`)),r.add(this.options.textNodeName,t),this.addChild(n,r,o)}else{if(u.length>0&&u.lastIndexOf(`/`)===u.length-1){c[c.length-1]===`/`?(c=c.substr(0,c.length-1),o=o.substr(0,o.length-1),u=c):u=u.substr(0,u.length-1),this.options.transformTagName&&(c=this.options.transformTagName(c));let e=new i(c);c!==u&&d&&(e[`:@`]=this.buildAttributesMap(u,o,c)),this.addChild(n,e,o),o=o.substr(0,o.lastIndexOf(`.`))}else{let e=new i(c);this.tagsNodeStack.push(n),c!==u&&d&&(e[`:@`]=this.buildAttributesMap(u,o,c)),this.addChild(n,e,o),n=e}r=``,s=f}}else r+=e[s];return t.child};function m(e,t,n){let r=this.options.updateTag(t.tagname,n,t[`:@`]);!1===r||(typeof r==`string`&&(t.tagname=r),e.addChild(t))}let h=function(e){if(this.options.processEntities){for(let t in this.docTypeEntities){let n=this.docTypeEntities[t];e=e.replace(n.regx,n.val)}for(let t in this.lastEntities){let n=this.lastEntities[t];e=e.replace(n.regex,n.val)}if(this.options.htmlEntities)for(let t in this.htmlEntities){let n=this.htmlEntities[t];e=e.replace(n.regex,n.val)}e=e.replace(this.ampEntity.regex,this.ampEntity.val)}return e};function g(e,t,n,r){return e&&=(r===void 0&&(r=Object.keys(t.child).length===0),(e=this.parseTextData(e,t.tagname,n,!1,!!t[`:@`]&&Object.keys(t[`:@`]).length!==0,r))!==void 0&&e!==``&&t.add(this.options.textNodeName,e),``),e}function _(e,t,n){let r=`*.`+n;for(let n in e){let i=e[n];if(r===i||t===i)return!0}return!1}function v(e,t,n,r){let i=e.indexOf(t,n);if(i===-1)throw Error(r);return i+t.length-1}function y(e,t,n){let r=function(e,t){let n,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:`>`,i=``;for(let a=t;a<e.length;a++){let t=e[a];if(n)t===n&&(n=``);else if(t===`"`||t===`'`)n=t;else if(t===r[0]){if(!r[1]||e[a+1]===r[1])return{data:i,index:a}}else t===` `&&(t=` `);i+=t}}(e,t+1,arguments.length>3&&arguments[3]!==void 0?arguments[3]:`>`);if(!r)return;let i=r.data,a=r.index,o=i.search(/\s/),s=i,c=!0;o!==-1&&(s=i.substring(0,o),i=i.substring(o+1).trimStart());let l=s;if(n){let e=s.indexOf(`:`);e!==-1&&(s=s.substr(e+1),c=s!==r.data.substr(e+1))}return{tagName:s,tagExp:i,closeIndex:a,attrExpPresent:c,rawTagName:l}}function b(e,t,n){let r=n,i=1;for(;n<e.length;n++)if(e[n]===`<`)if(e[n+1]===`/`){let a=v(e,`>`,n,`${t} is not closed`);if(e.substring(n+2,a).trim()===t&&(i--,i===0))return{tagContent:e.substring(r,n),i:a};n=a}else if(e[n+1]===`?`)n=v(e,`?>`,n+1,`StopNode is not closed.`);else if(e.substr(n+1,3)===`!--`)n=v(e,`-->`,n+3,`StopNode is not closed.`);else if(e.substr(n+1,2)===`![`)n=v(e,`]]>`,n,`StopNode is not closed.`)-2;else{let r=y(e,n,`>`);r&&((r&&r.tagName)===t&&r.tagExp[r.tagExp.length-1]!==`/`&&i++,n=r.closeIndex)}}function x(e,t,n){if(t&&typeof e==`string`){let t=e.trim();return t===`true`||t!==`false`&&o(e,n)}return r.isExist(e)?e:``}e.exports=class{constructor(e){this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:`'`},gt:{regex:/&(gt|#62|#x3E);/g,val:`>`},lt:{regex:/&(lt|#60|#x3C);/g,val:`<`},quot:{regex:/&(quot|#34|#x22);/g,val:`"`}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:`&`},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:` `},cent:{regex:/&(cent|#162);/g,val:`¢`},pound:{regex:/&(pound|#163);/g,val:`£`},yen:{regex:/&(yen|#165);/g,val:`¥`},euro:{regex:/&(euro|#8364);/g,val:`€`},copyright:{regex:/&(copy|#169);/g,val:`©`},reg:{regex:/&(reg|#174);/g,val:`®`},inr:{regex:/&(inr|#8377);/g,val:`₹`},num_dec:{regex:/&#([0-9]{1,7});/g,val:(e,t)=>String.fromCharCode(Number.parseInt(t,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(e,t)=>String.fromCharCode(Number.parseInt(t,16))}},this.addExternalEntities=c,this.parseXml=p,this.parseTextData=l,this.resolveNameSpace=u,this.buildAttributesMap=f,this.isItStopNode=_,this.replaceEntitiesValue=h,this.readStopNodeData=b,this.saveTextToParentTag=g,this.addChild=m,this.ignoreAttributesFn=s(this.options.ignoreAttributes)}}},338:(e,t,n)=>{let{buildOptions:r}=n(63),i=n(299),{prettify:a}=n(728),o=n(31);e.exports=class{constructor(e){this.externalEntities={},this.options=r(e)}parse(e,t){if(typeof e!=`string`){if(!e.toString)throw Error(`XML data is accepted in String or Bytes[] form.`);e=e.toString()}if(t){!0===t&&(t={});let n=o.validate(e,t);if(!0!==n)throw Error(`${n.err.msg}:${n.err.line}:${n.err.col}`)}let n=new i(this.options);n.addExternalEntities(this.externalEntities);let r=n.parseXml(e);return this.options.preserveOrder||r===void 0?r:a(r,this.options)}addEntity(e,t){if(t.indexOf(`&`)!==-1)throw Error(`Entity value can't have '&'`);if(e.indexOf(`&`)!==-1||e.indexOf(`;`)!==-1)throw Error(`An entity must be set without '&' and ';'. Eg. use '#xD' for '
'`);if(t===`&`)throw Error(`An entity with value '&' is not permitted`);this.externalEntities[e]=t}}},728:(e,t)=>{function n(e,t,o){let s,c={};for(let l=0;l<e.length;l++){let u=e[l],d=r(u),f=``;if(f=o===void 0?d:o+`.`+d,d===t.textNodeName)s===void 0?s=u[d]:s+=``+u[d];else{if(d===void 0)continue;if(u[d]){let e=n(u[d],t,f),r=a(e,t);u[`:@`]?i(e,u[`:@`],f,t):Object.keys(e).length!==1||e[t.textNodeName]===void 0||t.alwaysCreateTextNode?Object.keys(e).length===0&&(t.alwaysCreateTextNode?e[t.textNodeName]=``:e=``):e=e[t.textNodeName],c[d]!==void 0&&c.hasOwnProperty(d)?(Array.isArray(c[d])||(c[d]=[c[d]]),c[d].push(e)):t.isArray(d,f,r)?c[d]=[e]:c[d]=e}}}return typeof s==`string`?s.length>0&&(c[t.textNodeName]=s):s!==void 0&&(c[t.textNodeName]=s),c}function r(e){let t=Object.keys(e);for(let e=0;e<t.length;e++){let n=t[e];if(n!==`:@`)return n}}function i(e,t,n,r){if(t){let i=Object.keys(t),a=i.length;for(let o=0;o<a;o++){let a=i[o];r.isArray(a,n+`.`+a,!0,!0)?e[a]=[t[a]]:e[a]=t[a]}}}function a(e,t){let{textNodeName:n}=t,r=Object.keys(e).length;return r===0||!(r!==1||!e[n]&&typeof e[n]!=`boolean`&&e[n]!==0)}t.prettify=function(e,t){return n(e,t)}},365:e=>{e.exports=class{constructor(e){this.tagname=e,this.child=[],this[`:@`]={}}add(e,t){e===`__proto__`&&(e=`#__proto__`),this.child.push({[e]:t})}addChild(e){e.tagname===`__proto__`&&(e.tagname=`#__proto__`),e[`:@`]&&Object.keys(e[`:@`]).length>0?this.child.push({[e.tagname]:e.child,":@":e[`:@`]}):this.child.push({[e.tagname]:e.child})}}},135:e=>{function t(e){return!!e.constructor&&typeof e.constructor.isBuffer==`function`&&e.constructor.isBuffer(e)}e.exports=function(e){return e!=null&&(t(e)||function(e){return typeof e.readFloatLE==`function`&&typeof e.slice==`function`&&t(e.slice(0,0))}(e)||!!e._isBuffer)}},542:(e,t,n)=>{(function(){var t=n(298),r=n(526).utf8,i=n(135),a=n(526).bin,o=function(e,n){e.constructor==String?e=n&&n.encoding===`binary`?a.stringToBytes(e):r.stringToBytes(e):i(e)?e=Array.prototype.slice.call(e,0):Array.isArray(e)||e.constructor===Uint8Array||(e=e.toString());for(var s=t.bytesToWords(e),c=8*e.length,l=1732584193,u=-271733879,d=-1732584194,f=271733878,p=0;p<s.length;p++)s[p]=16711935&(s[p]<<8|s[p]>>>24)|4278255360&(s[p]<<24|s[p]>>>8);s[c>>>5]|=128<<c%32,s[14+(c+64>>>9<<4)]=c;var m=o._ff,h=o._gg,g=o._hh,_=o._ii;for(p=0;p<s.length;p+=16){var v=l,y=u,b=d,x=f;l=m(l,u,d,f,s[p+0],7,-680876936),f=m(f,l,u,d,s[p+1],12,-389564586),d=m(d,f,l,u,s[p+2],17,606105819),u=m(u,d,f,l,s[p+3],22,-1044525330),l=m(l,u,d,f,s[p+4],7,-176418897),f=m(f,l,u,d,s[p+5],12,1200080426),d=m(d,f,l,u,s[p+6],17,-1473231341),u=m(u,d,f,l,s[p+7],22,-45705983),l=m(l,u,d,f,s[p+8],7,1770035416),f=m(f,l,u,d,s[p+9],12,-1958414417),d=m(d,f,l,u,s[p+10],17,-42063),u=m(u,d,f,l,s[p+11],22,-1990404162),l=m(l,u,d,f,s[p+12],7,1804603682),f=m(f,l,u,d,s[p+13],12,-40341101),d=m(d,f,l,u,s[p+14],17,-1502002290),l=h(l,u=m(u,d,f,l,s[p+15],22,1236535329),d,f,s[p+1],5,-165796510),f=h(f,l,u,d,s[p+6],9,-1069501632),d=h(d,f,l,u,s[p+11],14,643717713),u=h(u,d,f,l,s[p+0],20,-373897302),l=h(l,u,d,f,s[p+5],5,-701558691),f=h(f,l,u,d,s[p+10],9,38016083),d=h(d,f,l,u,s[p+15],14,-660478335),u=h(u,d,f,l,s[p+4],20,-405537848),l=h(l,u,d,f,s[p+9],5,568446438),f=h(f,l,u,d,s[p+14],9,-1019803690),d=h(d,f,l,u,s[p+3],14,-187363961),u=h(u,d,f,l,s[p+8],20,1163531501),l=h(l,u,d,f,s[p+13],5,-1444681467),f=h(f,l,u,d,s[p+2],9,-51403784),d=h(d,f,l,u,s[p+7],14,1735328473),l=g(l,u=h(u,d,f,l,s[p+12],20,-1926607734),d,f,s[p+5],4,-378558),f=g(f,l,u,d,s[p+8],11,-2022574463),d=g(d,f,l,u,s[p+11],16,1839030562),u=g(u,d,f,l,s[p+14],23,-35309556),l=g(l,u,d,f,s[p+1],4,-1530992060),f=g(f,l,u,d,s[p+4],11,1272893353),d=g(d,f,l,u,s[p+7],16,-155497632),u=g(u,d,f,l,s[p+10],23,-1094730640),l=g(l,u,d,f,s[p+13],4,681279174),f=g(f,l,u,d,s[p+0],11,-358537222),d=g(d,f,l,u,s[p+3],16,-722521979),u=g(u,d,f,l,s[p+6],23,76029189),l=g(l,u,d,f,s[p+9],4,-640364487),f=g(f,l,u,d,s[p+12],11,-421815835),d=g(d,f,l,u,s[p+15],16,530742520),l=_(l,u=g(u,d,f,l,s[p+2],23,-995338651),d,f,s[p+0],6,-198630844),f=_(f,l,u,d,s[p+7],10,1126891415),d=_(d,f,l,u,s[p+14],15,-1416354905),u=_(u,d,f,l,s[p+5],21,-57434055),l=_(l,u,d,f,s[p+12],6,1700485571),f=_(f,l,u,d,s[p+3],10,-1894986606),d=_(d,f,l,u,s[p+10],15,-1051523),u=_(u,d,f,l,s[p+1],21,-2054922799),l=_(l,u,d,f,s[p+8],6,1873313359),f=_(f,l,u,d,s[p+15],10,-30611744),d=_(d,f,l,u,s[p+6],15,-1560198380),u=_(u,d,f,l,s[p+13],21,1309151649),l=_(l,u,d,f,s[p+4],6,-145523070),f=_(f,l,u,d,s[p+11],10,-1120210379),d=_(d,f,l,u,s[p+2],15,718787259),u=_(u,d,f,l,s[p+9],21,-343485551),l=l+v>>>0,u=u+y>>>0,d=d+b>>>0,f=f+x>>>0}return t.endian([l,u,d,f])};o._ff=function(e,t,n,r,i,a,o){var s=e+(t&n|~t&r)+(i>>>0)+o;return(s<<a|s>>>32-a)+t},o._gg=function(e,t,n,r,i,a,o){var s=e+(t&r|n&~r)+(i>>>0)+o;return(s<<a|s>>>32-a)+t},o._hh=function(e,t,n,r,i,a,o){var s=e+(t^n^r)+(i>>>0)+o;return(s<<a|s>>>32-a)+t},o._ii=function(e,t,n,r,i,a,o){var s=e+(n^(t|~r))+(i>>>0)+o;return(s<<a|s>>>32-a)+t},o._blocksize=16,o._digestsize=16,e.exports=function(e,n){if(e==null)throw Error(`Illegal argument `+e);var r=t.wordsToBytes(o(e,n));return n&&n.asBytes?r:n&&n.asString?a.bytesToString(r):t.bytesToHex(r)}})()},285:(e,t,n)=>{var r=n(2);e.exports=function(e){return e?(e.substr(0,2)===`{}`&&(e=`\\{\\}`+e.substr(2)),g(function(e){return e.split(`\\\\`).join(i).split(`\\{`).join(a).split(`\\}`).join(o).split(`\\,`).join(s).split(`\\.`).join(c)}(e),!0).map(u)):[]};var i=`\0SLASH`+Math.random()+`\0`,a=`\0OPEN`+Math.random()+`\0`,o=`\0CLOSE`+Math.random()+`\0`,s=`\0COMMA`+Math.random()+`\0`,c=`\0PERIOD`+Math.random()+`\0`;function l(e){return parseInt(e,10)==e?parseInt(e,10):e.charCodeAt(0)}function u(e){return e.split(i).join(`\\`).split(a).join(`{`).split(o).join(`}`).split(s).join(`,`).split(c).join(`.`)}function d(e){if(!e)return[``];var t=[],n=r(`{`,`}`,e);if(!n)return e.split(`,`);var i=n.pre,a=n.body,o=n.post,s=i.split(`,`);s[s.length-1]+=`{`+a+`}`;var c=d(o);return o.length&&(s[s.length-1]+=c.shift(),s.push.apply(s,c)),t.push.apply(t,s),t}function f(e){return`{`+e+`}`}function p(e){return/^-?0\d/.test(e)}function m(e,t){return e<=t}function h(e,t){return e>=t}function g(e,t){var n=[],i=r(`{`,`}`,e);if(!i)return[e];var a=i.pre,s=i.post.length?g(i.post,!1):[``];if(/\$$/.test(i.pre))for(var c=0;c<s.length;c++){var u=a+`{`+i.body+`}`+s[c];n.push(u)}else{var _,v,y=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(i.body),b=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(i.body),x=y||b,S=i.body.indexOf(`,`)>=0;if(!x&&!S)return i.post.match(/,.*\}/)?g(e=i.pre+`{`+i.body+o+i.post):[e];if(x)_=i.body.split(/\.\./);else if((_=d(i.body)).length===1&&(_=g(_[0],!1).map(f)).length===1)return s.map(function(e){return i.pre+_[0]+e});if(x){var ee=l(_[0]),te=l(_[1]),ne=Math.max(_[0].length,_[1].length),re=_.length==3?Math.abs(l(_[2])):1,ie=m;te<ee&&(re*=-1,ie=h);var ae=_.some(p);v=[];for(var oe=ee;ie(oe,te);oe+=re){var C;if(b)(C=String.fromCharCode(oe))===`\\`&&(C=``);else if(C=String(oe),ae){var se=ne-C.length;if(se>0){var ce=Array(se+1).join(`0`);C=oe<0?`-`+ce+C.slice(1):ce+C}}v.push(C)}}else{v=[];for(var w=0;w<_.length;w++)v.push.apply(v,g(_[w],!1))}for(w=0;w<v.length;w++)for(c=0;c<s.length;c++)u=a+v[w]+s[c],(!t||x||u)&&n.push(u)}return n}},829:e=>{function t(e){return t=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},t(e)}function n(e){var t=typeof Map==`function`?new Map:void 0;return n=function(e){if(e===null||(n=e,Function.toString.call(n).indexOf(`[native code]`)===-1))return e;var n;if(typeof e!=`function`)throw TypeError(`Super expression must either be null or a function`);if(t!==void 0){if(t.has(e))return t.get(e);t.set(e,o)}function o(){return r(e,arguments,a(this).constructor)}return o.prototype=Object.create(e.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),i(o,e)},n(e)}function r(e,t,n){return r=function(){if(typeof Reflect>`u`||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==`function`)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var a=new(Function.bind.apply(e,r));return n&&i(a,n.prototype),a},r.apply(null,arguments)}function i(e,t){return i=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},i(e,t)}function a(e){return a=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},a(e)}var o=function(e){function n(e){var r;return function(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}(this,n),(r=function(e,n){return!n||t(n)!==`object`&&typeof n!=`function`?function(e){if(e===void 0)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return e}(e):n}(this,a(n).call(this,e))).name=`ObjectPrototypeMutationError`,r}return function(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Super expression must either be null or a function`);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&i(e,t)}(n,e),n}(n(Error));function s(e,n){for(var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:function(){},i=n.split(`.`),a=i.length,o=function(t){var n=i[t];if(!e)return{v:void 0};if(n===`+`){if(Array.isArray(e))return{v:e.map(function(n,a){var o=i.slice(t+1);return o.length>0?s(n,o.join(`.`),r):r(e,a,i,t)})};var a=i.slice(0,t).join(`.`);throw Error(`Object at wildcard (${a}) is not an array`)}e=r(e,n,i,t)},c=0;c<a;c++){var l=o(c);if(t(l)===`object`)return l.v}return e}function c(e,t){return e.length===t+1}e.exports={set:function(e,n,r){if(t(e)!=`object`||e===null||n===void 0)return e;if(typeof n==`number`)return e[n]=r,e[n];try{return s(e,n,function(e,t,n,i){if(e===Reflect.getPrototypeOf({}))throw new o(`Attempting to mutate Object.prototype`);if(!e[t]){var a=Number.isInteger(Number(n[i+1])),s=n[i+1]===`+`;e[t]=a||s?[]:{}}return c(n,i)&&(e[t]=r),e[t]})}catch(t){if(t instanceof o)throw t;return e}},get:function(e,n){if(t(e)!=`object`||e===null||n===void 0)return e;if(typeof n==`number`)return e[n];try{return s(e,n,function(e,t){return e[t]})}catch{return e}},has:function(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(t(e)!=`object`||e===null||n===void 0)return!1;if(typeof n==`number`)return n in e;try{var i=!1;return s(e,n,function(e,t,n,a){if(!c(n,a))return e&&e[t];i=r.own?e.hasOwnProperty(t):t in e}),i}catch{return!1}},hasOwn:function(e,t,n){return this.has(e,t,n||{own:!0})},isIn:function(e,n,r){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};if(t(e)!=`object`||e===null||n===void 0)return!1;try{var a=!1,o=!1;return s(e,n,function(e,n,i,s){return a=a||e===r||!!e&&e[n]===r,o=c(i,s)&&t(e)===`object`&&n in e,e&&e[n]}),i.validPath?a&&o:a}catch{return!1}},ObjectPrototypeMutationError:o}},47:(e,t,n)=>{var r=n(410),i=function(e){return typeof e==`string`};function a(e,t){for(var n=[],r=0;r<e.length;r++){var i=e[r];i&&i!==`.`&&(i===`..`?n.length&&n[n.length-1]!==`..`?n.pop():t&&n.push(`..`):n.push(i))}return n}var o=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,s={};function c(e){return o.exec(e).slice(1)}s.resolve=function(){for(var e=``,t=!1,n=arguments.length-1;n>=-1&&!t;n--){var r=n>=0?arguments[n]:process.cwd();if(!i(r))throw TypeError(`Arguments to path.resolve must be strings`);r&&(e=r+`/`+e,t=r.charAt(0)===`/`)}return(t?`/`:``)+(e=a(e.split(`/`),!t).join(`/`))||`.`},s.normalize=function(e){var t=s.isAbsolute(e),n=e.substr(-1)===`/`;return(e=a(e.split(`/`),!t).join(`/`))||t||(e=`.`),e&&n&&(e+=`/`),(t?`/`:``)+e},s.isAbsolute=function(e){return e.charAt(0)===`/`},s.join=function(){for(var e=``,t=0;t<arguments.length;t++){var n=arguments[t];if(!i(n))throw TypeError(`Arguments to path.join must be strings`);n&&(e+=e?`/`+n:n)}return s.normalize(e)},s.relative=function(e,t){function n(e){for(var t=0;t<e.length&&e[t]===``;t++);for(var n=e.length-1;n>=0&&e[n]===``;n--);return t>n?[]:e.slice(t,n+1)}e=s.resolve(e).substr(1),t=s.resolve(t).substr(1);for(var r=n(e.split(`/`)),i=n(t.split(`/`)),a=Math.min(r.length,i.length),o=a,c=0;c<a;c++)if(r[c]!==i[c]){o=c;break}var l=[];for(c=o;c<r.length;c++)l.push(`..`);return(l=l.concat(i.slice(o))).join(`/`)},s._makeLong=function(e){return e},s.dirname=function(e){var t=c(e),n=t[0],r=t[1];return n||r?(r&&=r.substr(0,r.length-1),n+r):`.`},s.basename=function(e,t){var n=c(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},s.extname=function(e){return c(e)[3]},s.format=function(e){if(!r.isObject(e))throw TypeError(`Parameter 'pathObject' must be an object, not `+typeof e);if(!i(e.root||``))throw TypeError(`'pathObject.root' must be a string or undefined, not `+typeof e.root);return(e.dir?e.dir+s.sep:``)+(e.base||``)},s.parse=function(e){if(!i(e))throw TypeError(`Parameter 'pathString' must be a string, not `+typeof e);var t=c(e);if(!t||t.length!==4)throw TypeError(`Invalid path '`+e+`'`);return t[1]=t[1]||``,t[2]=t[2]||``,t[3]=t[3]||``,{root:t[0],dir:t[0]+t[1].slice(0,t[1].length-1),base:t[2],ext:t[3],name:t[2].slice(0,t[2].length-t[3].length)}},s.sep=`/`,s.delimiter=`:`,e.exports=s},647:(e,t)=>{var n=Object.prototype.hasOwnProperty;function r(e){try{return decodeURIComponent(e.replace(/\+/g,` `))}catch{return null}}function i(e){try{return encodeURIComponent(e)}catch{return null}}t.stringify=function(e,t){t||=``;var r,a,o=[];for(a in typeof t!=`string`&&(t=`?`),e)if(n.call(e,a)){if((r=e[a])||r!=null&&!isNaN(r)||(r=``),a=i(a),r=i(r),a===null||r===null)continue;o.push(a+`=`+r)}return o.length?t+o.join(`&`):``},t.parse=function(e){for(var t,n=/([^=?#&]+)=?([^&]*)/g,i={};t=n.exec(e);){var a=r(t[1]),o=r(t[2]);a===null||o===null||a in i||(i[a]=o)}return i}},670:e=>{e.exports=function(e,t){if(t=t.split(`:`)[0],!(e=+e))return!1;switch(t){case`http`:case`ws`:return e!==80;case`https`:case`wss`:return e!==443;case`ftp`:return e!==21;case`gopher`:return e!==70;case`file`:return!1}return e!==0}},494:e=>{let t=/^[-+]?0x[a-fA-F0-9]+$/,n=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);let r={hex:!0,leadingZeros:!0,decimalPoint:`.`,eNotation:!0};e.exports=function(e){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(i=Object.assign({},r,i),!e||typeof e!=`string`)return e;let a=e.trim();if(i.skipLike!==void 0&&i.skipLike.test(a))return e;if(i.hex&&t.test(a))return Number.parseInt(a,16);{let t=n.exec(a);if(t){let n=t[1],r=t[2],s=((o=t[3])&&o.indexOf(`.`)!==-1&&((o=o.replace(/0+$/,``))===`.`?o=`0`:o[0]===`.`?o=`0`+o:o[o.length-1]===`.`&&(o=o.substr(0,o.length-1))),o),c=t[4]||t[6];if(!i.leadingZeros&&r.length>0&&n&&a[2]!==`.`||!i.leadingZeros&&r.length>0&&!n&&a[1]!==`.`)return e;{let t=Number(a),o=``+t;return o.search(/[eE]/)!==-1||c?i.eNotation?t:e:a.indexOf(`.`)===-1?r?s===o||n+s===o?t:e:a===o||a===n+o?t:e:o===`0`&&s===``||o===s||n&&o===`-`+s?t:e}}return e}var o}},737:(e,t,n)=>{var r=n(670),i=n(647),a=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,o=/[\n\r\t]/g,s=/^[A-Za-z][A-Za-z0-9+-.]*:\/\//,c=/:\d+$/,l=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i,u=/^[a-zA-Z]:/;function d(e){return(e||``).toString().replace(a,``)}var f=[[`#`,`hash`],[`?`,`query`],function(e,t){return h(t.protocol)?e.replace(/\\/g,`/`):e},[`/`,`pathname`],[`@`,`auth`,1],[NaN,`host`,void 0,1,1],[/:(\d*)$/,`port`,void 0,1],[NaN,`hostname`,void 0,1,1]],p={hash:1,query:1};function m(e){var t,n=(typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:{}).location||{},r={},i=typeof(e||=n);if(e.protocol===`blob:`)r=new _(unescape(e.pathname),{});else if(i===`string`)for(t in r=new _(e,{}),p)delete r[t];else if(i===`object`){for(t in e)t in p||(r[t]=e[t]);r.slashes===void 0&&(r.slashes=s.test(e.href))}return r}function h(e){return e===`file:`||e===`ftp:`||e===`http:`||e===`https:`||e===`ws:`||e===`wss:`}function g(e,t){e=(e=d(e)).replace(o,``),t||={};var n,r=l.exec(e),i=r[1]?r[1].toLowerCase():``,a=!!r[2],s=!!r[3],c=0;return a?s?(n=r[2]+r[3]+r[4],c=r[2].length+r[3].length):(n=r[2]+r[4],c=r[2].length):s?(n=r[3]+r[4],c=r[3].length):n=r[4],i===`file:`?c>=2&&(n=n.slice(2)):h(i)?n=r[4]:i?a&&(n=n.slice(2)):c>=2&&h(t.protocol)&&(n=r[4]),{protocol:i,slashes:a||h(i),slashesCount:c,rest:n}}function _(e,t,n){if(e=(e=d(e)).replace(o,``),!(this instanceof _))return new _(e,t,n);var a,s,c,l,p,v,y=f.slice(),b=typeof t,x=this,S=0;for(b!==`object`&&b!==`string`&&(n=t,t=null),n&&typeof n!=`function`&&(n=i.parse),a=!(s=g(e||``,t=m(t))).protocol&&!s.slashes,x.slashes=s.slashes||a&&t.slashes,x.protocol=s.protocol||t.protocol||``,e=s.rest,(s.protocol===`file:`&&(s.slashesCount!==2||u.test(e))||!s.slashes&&(s.protocol||s.slashesCount<2||!h(x.protocol)))&&(y[3]=[/(.*)/,`pathname`]);S<y.length;S++)typeof(l=y[S])==`function`?e=l(e,x):(c=l[0],v=l[1],c==c?typeof c==`string`?~(p=c===`@`?e.lastIndexOf(c):e.indexOf(c))&&(typeof l[2]==`number`?(x[v]=e.slice(0,p),e=e.slice(p+l[2])):(x[v]=e.slice(p),e=e.slice(0,p))):(p=c.exec(e))&&(x[v]=p[1],e=e.slice(0,p.index)):x[v]=e,x[v]=x[v]||a&&l[3]&&t[v]||``,l[4]&&(x[v]=x[v].toLowerCase()));n&&(x.query=n(x.query)),a&&t.slashes&&x.pathname.charAt(0)!==`/`&&(x.pathname!==``||t.pathname!==``)&&(x.pathname=function(e,t){if(e===``)return t;for(var n=(t||`/`).split(`/`).slice(0,-1).concat(e.split(`/`)),r=n.length,i=n[r-1],a=!1,o=0;r--;)n[r]===`.`?n.splice(r,1):n[r]===`..`?(n.splice(r,1),o++):o&&(r===0&&(a=!0),n.splice(r,1),o--);return a&&n.unshift(``),i!==`.`&&i!==`..`||n.push(``),n.join(`/`)}(x.pathname,t.pathname)),x.pathname.charAt(0)!==`/`&&h(x.protocol)&&(x.pathname=`/`+x.pathname),r(x.port,x.protocol)||(x.host=x.hostname,x.port=``),x.username=x.password=``,x.auth&&=(~(p=x.auth.indexOf(`:`))?(x.username=x.auth.slice(0,p),x.username=encodeURIComponent(decodeURIComponent(x.username)),x.password=x.auth.slice(p+1),x.password=encodeURIComponent(decodeURIComponent(x.password))):x.username=encodeURIComponent(decodeURIComponent(x.auth)),x.password?x.username+`:`+x.password:x.username),x.origin=x.protocol!==`file:`&&h(x.protocol)&&x.host?x.protocol+`//`+x.host:`null`,x.href=x.toString()}_.prototype={set:function(e,t,n){var a=this;switch(e){case`query`:typeof t==`string`&&t.length&&(t=(n||i.parse)(t)),a[e]=t;break;case`port`:a[e]=t,r(t,a.protocol)?t&&(a.host=a.hostname+`:`+t):(a.host=a.hostname,a[e]=``);break;case`hostname`:a[e]=t,a.port&&(t+=`:`+a.port),a.host=t;break;case`host`:a[e]=t,c.test(t)?(t=t.split(`:`),a.port=t.pop(),a.hostname=t.join(`:`)):(a.hostname=t,a.port=``);break;case`protocol`:a.protocol=t.toLowerCase(),a.slashes=!n;break;case`pathname`:case`hash`:if(t){var o=e===`pathname`?`/`:`#`;a[e]=t.charAt(0)===o?t:o+t}else a[e]=t;break;case`username`:case`password`:a[e]=encodeURIComponent(t);break;case`auth`:var s=t.indexOf(`:`);~s?(a.username=t.slice(0,s),a.username=encodeURIComponent(decodeURIComponent(a.username)),a.password=t.slice(s+1),a.password=encodeURIComponent(decodeURIComponent(a.password))):a.username=encodeURIComponent(decodeURIComponent(t))}for(var l=0;l<f.length;l++){var u=f[l];u[4]&&(a[u[1]]=a[u[1]].toLowerCase())}return a.auth=a.password?a.username+`:`+a.password:a.username,a.origin=a.protocol!==`file:`&&h(a.protocol)&&a.host?a.protocol+`//`+a.host:`null`,a.href=a.toString(),a},toString:function(e){e&&typeof e==`function`||(e=i.stringify);var t,n=this,r=n.host,a=n.protocol;a&&a.charAt(a.length-1)!==`:`&&(a+=`:`);var o=a+(n.protocol&&n.slashes||h(n.protocol)?`//`:``);return n.username?(o+=n.username,n.password&&(o+=`:`+n.password),o+=`@`):n.password?(o+=`:`+n.password,o+=`@`):n.protocol!==`file:`&&h(n.protocol)&&!r&&n.pathname!==`/`&&(o+=`@`),(r[r.length-1]===`:`||c.test(n.hostname)&&!n.port)&&(r+=`:`),o+=r+n.pathname,(t=typeof n.query==`object`?e(n.query):n.query)&&(o+=t.charAt(0)===`?`?t:`?`+t),n.hash&&(o+=n.hash),o}},_.extractProtocol=g,_.location=m,_.trimLeft=d,_.qs=i,e.exports=_},410:()=>{},388:()=>{},805:()=>{},345:()=>{},800:()=>{}},_t={};function P(e){var t=_t[e];if(t!==void 0)return t.exports;var n=_t[e]={id:e,loaded:!1,exports:{}};return gt[e].call(n.exports,n,n.exports,P),n.loaded=!0,n.exports}P.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return P.d(t,{a:t}),t},P.d=(e,t)=>{for(var n in t)P.o(t,n)&&!P.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},P.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),P.nmd=e=>(e.paths=[],e.children||=[],e);var F={};P.d(F,{hT:()=>R,O4:()=>Ht,Kd:()=>Bt,YK:()=>Vt,UU:()=>ci,Gu:()=>Yt,ky:()=>pr,h4:()=>dr,ch:()=>fr,hq:()=>rr,i5:()=>mr});var vt=P(737),yt=P.n(vt);function bt(e){if(!xt(e))throw Error(`Parameter was not an error`)}function xt(e){return!!e&&typeof e==`object`&&(t=e,Object.prototype.toString.call(t))===`[object Error]`||e instanceof Error;var t}var St=class e extends Error{constructor(e,t){let{options:n,shortMessage:r}=function(e){let t,n=``;if(e.length===0)t={};else if(xt(e[0]))t={cause:e[0]},n=e.slice(1).join(` `)||``;else if(e[0]&&typeof e[0]==`object`)t=Object.assign({},e[0]),n=e.slice(1).join(` `)||``;else{if(typeof e[0]!=`string`)throw Error(`Invalid arguments passed to Layerr`);t={},n=n=e.join(` `)||``}return{options:t,shortMessage:n}}([...arguments]),i=r;if(n.cause&&(i=`${i}: ${n.cause.message}`),super(i),this.message=i,n.name&&typeof n.name==`string`?this.name=n.name:this.name=`Layerr`,n.cause&&Object.defineProperty(this,`_cause`,{value:n.cause}),Object.defineProperty(this,`_info`,{value:{}}),n.info&&typeof n.info==`object`&&Object.assign(this._info,n.info),Error.captureStackTrace){let e=n.constructorOpt||this.constructor;Error.captureStackTrace(this,e)}}static cause(e){return bt(e),e._cause&&xt(e._cause)?e._cause:null}static fullStack(t){bt(t);let n=e.cause(t);return n?`${t.stack}\ncaused by: ${e.fullStack(n)}`:t.stack??``}static info(t){bt(t);let n={},r=e.cause(t);return r&&Object.assign(n,e.info(r)),t._info&&Object.assign(n,t._info),n}toString(){let e=this.name||this.constructor.name||this.constructor.prototype.name;return this.message&&(e=`${e}: ${this.message}`),e}},Ct=P(47),wt=P.n(Ct);const Tt=`__PATH_SEPARATOR_POSIX__`,Et=`__PATH_SEPARATOR_WINDOWS__`;function I(e){try{let t=e.replace(/\//g,Tt).replace(/\\\\/g,Et);return encodeURIComponent(t).split(Et).join(`\\\\`).split(Tt).join(`/`)}catch(e){throw new St(e,`Failed encoding path`)}}function Dt(e){return e.startsWith(`/`)?e:`/`+e}function Ot(e){let t=e;return t[0]!==`/`&&(t=`/`+t),/^.+\/$/.test(t)&&(t=t.substr(0,t.length-1)),t}function kt(e){let t=new(yt())(e).pathname;return t.length<=0&&(t=`/`),Ot(t)}function L(){return function(){return function(e){var t=[];if(e.length===0)return``;if(typeof e[0]!=`string`)throw TypeError(`Url must be a string. Received `+e[0]);e[0].match(/^[^/:]+:\/*$/)&&e.length>1&&(e[0]=e.shift()+e[0]),e[0].match(/^file:\/\/\//)?e[0]=e[0].replace(/^([^/:]+):\/*/,`$1:///`):e[0]=e[0].replace(/^([^/:]+):\/*/,`$1://`);for(var n=0;n<e.length;n++){var r=e[n];if(typeof r!=`string`)throw TypeError(`Url must be a string. Received `+r);r!==``&&(n>0&&(r=r.replace(/^[\/]+/,``)),r=n<e.length-1?r.replace(/[\/]+$/,``):r.replace(/[\/]+$/,`/`),t.push(r))}var i=t.join(`/`),a=(i=i.replace(/\/(\?|&|#[^!])/g,`$1`)).split(`?`);return a.shift()+(a.length>0?`?`:``)+a.join(`&`)}(typeof arguments[0]==`object`?arguments[0]:[].slice.call(arguments))}([...arguments].reduce((e,t,n)=>((n===0||t!==`/`||t===`/`&&e[e.length-1]!==`/`)&&e.push(t),e),[]))}var At=P(542),jt=P.n(At);function Mt(e,t){let n=e.url.replace(`//`,``),r=n.indexOf(`/`)==-1?`/`:n.slice(n.indexOf(`/`)),i=e.method?e.method.toUpperCase():`GET`,a=!!/(^|,)\s*auth\s*($|,)/.test(t.qop)&&`auth`,o=`00000000${t.nc}`.slice(-8),s=function(e,t,n,r,i,a,o){let s=o||jt()(`${t}:${n}:${r}`);return e&&e.toLowerCase()===`md5-sess`?jt()(`${s}:${i}:${a}`):s}(t.algorithm,t.username,t.realm,t.password,t.nonce,t.cnonce,t.ha1),c=jt()(`${i}:${r}`),l=a?jt()(`${s}:${t.nonce}:${o}:${t.cnonce}:${a}:${c}`):jt()(`${s}:${t.nonce}:${c}`),u={username:t.username,realm:t.realm,nonce:t.nonce,uri:r,qop:a,response:l,nc:o,cnonce:t.cnonce,algorithm:t.algorithm,opaque:t.opaque},d=[];for(let e in u)u[e]&&(e===`qop`||e===`nc`||e===`algorithm`?d.push(`${e}=${u[e]}`):d.push(`${e}="${u[e]}"`));return`Digest ${d.join(`, `)}`}function Nt(e){return(e.headers&&e.headers.get(`www-authenticate`)||``).split(/\s/)[0].toLowerCase()===`digest`}var Pt=P(101),Ft=P.n(Pt);function It(e){return Ft().decode(e)}function Lt(e,t){var n;return`Basic ${n=`${e}:${t}`,Ft().encode(n)}`}const Rt=typeof WorkerGlobalScope<`u`&&self instanceof WorkerGlobalScope?self:typeof window<`u`?window:globalThis,zt=Rt.fetch.bind(Rt),Bt=(Rt.Headers,Rt.Request),Vt=Rt.Response;let R=function(e){return e.Auto=`auto`,e.Digest=`digest`,e.None=`none`,e.Password=`password`,e.Token=`token`,e}({}),Ht=function(e){return e.DataTypeNoLength=`data-type-no-length`,e.InvalidAuthType=`invalid-auth-type`,e.InvalidOutputFormat=`invalid-output-format`,e.LinkUnsupportedAuthType=`link-unsupported-auth`,e.InvalidUpdateRange=`invalid-update-range`,e.NotSupported=`not-supported`,e}({});function Ut(e,t,n,r,i){switch(e.authType){case R.Auto:t&&n&&(e.headers.Authorization=Lt(t,n));break;case R.Digest:e.digest=function(e,t,n){return{username:e,password:t,ha1:n,nc:0,algorithm:`md5`,hasDigestAuth:!1}}(t,n,i);break;case R.None:break;case R.Password:e.headers.Authorization=Lt(t,n);break;case R.Token:e.headers.Authorization=`${(a=r).token_type} ${a.access_token}`;break;default:throw new St({info:{code:Ht.InvalidAuthType}},`Invalid auth type: ${e.authType}`)}var a}P(345),P(800);const Wt=`@@HOTPATCHER`,Gt=()=>{};function Kt(e){return{original:e,methods:[e],final:!1}}var qt=class{constructor(){this._configuration={registry:{},getEmptyAction:`null`},this.__type__=Wt}get configuration(){return this._configuration}get getEmptyAction(){return this.configuration.getEmptyAction}set getEmptyAction(e){this.configuration.getEmptyAction=e}control(e){let t=arguments.length>1&&arguments[1]!==void 0&&arguments[1];if(!e||e.__type__!==Wt)throw Error(`Failed taking control of target HotPatcher instance: Invalid type or object`);return Object.keys(e.configuration.registry).forEach(n=>{this.configuration.registry.hasOwnProperty(n)?t&&(this.configuration.registry[n]=Object.assign({},e.configuration.registry[n])):this.configuration.registry[n]=Object.assign({},e.configuration.registry[n])}),e._configuration=this.configuration,this}execute(e){return(this.get(e)||Gt)(...[...arguments].slice(1))}get(e){let t=this.configuration.registry[e];if(!t)switch(this.getEmptyAction){case`null`:return null;case`throw`:throw Error(`Failed handling method request: No method provided for override: ${e}`);default:throw Error(`Failed handling request which resulted in an empty method: Invalid empty-action specified: ${this.getEmptyAction}`)}return function(){var e=[...arguments];if(e.length===0)throw Error(`Failed creating sequence: No functions provided`);return function(){let t=[...arguments],n=this;for(;e.length>0;)t=[e.shift().apply(n,t)];return t[0]}}(...t.methods)}isPatched(e){return!!this.configuration.registry[e]}patch(e,t){let{chain:n=!1}=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(this.configuration.registry[e]&&this.configuration.registry[e].final)throw Error(`Failed patching '${e}': Method marked as being final`);if(typeof t!=`function`)throw Error(`Failed patching '${e}': Provided method is not a function`);if(n)this.configuration.registry[e]?this.configuration.registry[e].methods.push(t):this.configuration.registry[e]=Kt(t);else if(this.isPatched(e)){let{original:n}=this.configuration.registry[e];this.configuration.registry[e]=Object.assign(Kt(t),{original:n})}else this.configuration.registry[e]=Kt(t);return this}patchInline(e,t){this.isPatched(e)||this.patch(e,t);var n=[...arguments].slice(2);return this.execute(e,...n)}plugin(e){return[...arguments].slice(1).forEach(t=>{this.patch(e,t,{chain:!0})}),this}restore(e){if(!this.isPatched(e))throw Error(`Failed restoring method: No method present for key: ${e}`);if(typeof this.configuration.registry[e].original!=`function`)throw Error(`Failed restoring method: Original method not found or of invalid type for key: ${e}`);return this.configuration.registry[e].methods=[this.configuration.registry[e].original],this}setFinal(e){if(!this.configuration.registry.hasOwnProperty(e))throw Error(`Failed marking '${e}' as final: No method found for key`);return this.configuration.registry[e].final=!0,this}};let Jt=null;function Yt(){return Jt||=new qt,Jt}function Xt(e){return function(e){if(typeof e!=`object`||!e||Object.prototype.toString.call(e)!=`[object Object]`)return!1;if(Object.getPrototypeOf(e)===null)return!0;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}(e)?Object.assign({},e):Object.setPrototypeOf(Object.assign({},e),Object.getPrototypeOf(e))}function Zt(){var e=[...arguments];let t=null,n=[...e];for(;n.length>0;){let e=n.shift();t=t?Qt(t,e):Xt(e)}return t}function Qt(e,t){let n=Xt(e);return Object.keys(t).forEach(e=>{n.hasOwnProperty(e)?Array.isArray(t[e])?n[e]=Array.isArray(n[e])?[...n[e],...t[e]]:[...t[e]]:typeof t[e]==`object`&&t[e]?n[e]=typeof n[e]==`object`&&n[e]?Qt(n[e],t[e]):Xt(t[e]):n[e]=t[e]:n[e]=t[e]}),n}function $t(e){let t={};for(let n of e.keys())t[n]=e.get(n);return t}function en(){var e=[...arguments];if(e.length===0)return{};let t={};return e.reduce((e,n)=>(Object.keys(n).forEach(r=>{let i=r.toLowerCase();t.hasOwnProperty(i)?e[t[i]]=n[r]:(t[i]=r,e[r]=n[r])}),e),{})}P(805);const tn=typeof ArrayBuffer==`function`,{toString:nn}=Object.prototype;function rn(e){return tn&&(e instanceof ArrayBuffer||nn.call(e)===`[object ArrayBuffer]`)}function an(e){return e!=null&&e.constructor!=null&&typeof e.constructor.isBuffer==`function`&&e.constructor.isBuffer(e)}function on(e){return function(){var t=[...arguments];try{return Promise.resolve(e.apply(this,t))}catch(e){return Promise.reject(e)}}}function sn(e,t,n){return n?t?t(e):e:(e&&e.then||(e=Promise.resolve(e)),t?e.then(t):e)}const cn=on(function(e){let t=e._digest;return delete e._digest,t.hasDigestAuth&&(e=Zt(e,{headers:{Authorization:Mt(e,t)}})),sn(un(e),function(n){let r=!1;return i=function(e){return r?e:n},(a=function(){if(n.status==401)return t.hasDigestAuth=function(e,t){if(!Nt(e))return!1;let n=/([a-z0-9_-]+)=(?:"([^"]+)"|([a-z0-9_-]+))/gi;for(;;){let r=e.headers&&e.headers.get(`www-authenticate`)||``,i=n.exec(r);if(!i)break;t[i[1]]=i[2]||i[3]}return t.nc+=1,t.cnonce=function(){let e=``;for(let t=0;t<32;++t)e=`${e}${`abcdef0123456789`[Math.floor(16*Math.random())]}`;return e}(),!0}(n,t),function(){if(t.hasDigestAuth)return sn(un(e=Zt(e,{headers:{Authorization:Mt(e,t)}})),function(e){return e.status==401?t.hasDigestAuth=!1:t.nc++,r=!0,e})}();t.nc++}())&&a.then?a.then(i):i(a);var i,a})}),ln=on(function(e,t){return sn(un(e),function(n){return n.ok?(t.authType=R.Password,n):n.status==401&&Nt(n)?(t.authType=R.Digest,Ut(t,t.username,t.password,void 0,void 0),e._digest=t.digest,cn(e)):n})}),z=on(function(e,t){return t.authType===R.Auto?ln(e,t):e._digest?cn(e):un(e)});function B(e,t,n){let r=Xt(e);return r.headers=en(t.headers,r.headers||{},n.headers||{}),n.data!==void 0&&(r.data=n.data),n.signal&&(r.signal=n.signal),t.httpAgent&&(r.httpAgent=t.httpAgent),t.httpsAgent&&(r.httpsAgent=t.httpsAgent),t.digest&&(r._digest=t.digest),typeof t.withCredentials==`boolean`&&(r.withCredentials=t.withCredentials),r}function un(e){let t=Yt();return t.patchInline(`request`,e=>t.patchInline(`fetch`,zt,e.url,function(e){let t={},n={method:e.method};if(e.headers&&(t=en(t,e.headers)),e.data!==void 0){let[r,i]=function(e){if(typeof e==`string`||an(e)||rn(e))return[e,{}];if(e&&typeof e==`object`)return[JSON.stringify(e),{"content-type":`application/json`}];throw Error(`Unable to convert request body: Unexpected body type: `+typeof e)}(e.data);n.body=r,t=en(t,i)}return e.signal&&(n.signal=e.signal),e.withCredentials&&(n.credentials=`include`),n.headers=t,n}(e)),e)}var dn=P(285);const fn=e=>{if(typeof e!=`string`)throw TypeError(`invalid pattern`);if(e.length>65536)throw TypeError(`pattern is too long`)},pn={"[:alnum:]":[`\\p{L}\\p{Nl}\\p{Nd}`,!0],"[:alpha:]":[`\\p{L}\\p{Nl}`,!0],"[:ascii:]":[`\\x00-\\x7f`,!1],"[:blank:]":[`\\p{Zs}\\t`,!0],"[:cntrl:]":[`\\p{Cc}`,!0],"[:digit:]":[`\\p{Nd}`,!0],"[:graph:]":[`\\p{Z}\\p{C}`,!0,!0],"[:lower:]":[`\\p{Ll}`,!0],"[:print:]":[`\\p{C}`,!0],"[:punct:]":[`\\p{P}`,!0],"[:space:]":[`\\p{Z}\\t\\r\\n\\v\\f`,!0],"[:upper:]":[`\\p{Lu}`,!0],"[:word:]":[`\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}`,!0],"[:xdigit:]":[`A-Fa-f0-9`,!1]},mn=e=>e.replace(/[[\]\\-]/g,`\\$&`),hn=e=>e.join(``),gn=(e,t)=>{let n=t;if(e.charAt(n)!==`[`)throw Error(`not in a brace expression`);let r=[],i=[],a=n+1,o=!1,s=!1,c=!1,l=!1,u=n,d=``;t:for(;a<e.length;){let t=e.charAt(a);if(t!==`!`&&t!==`^`||a!==n+1){if(t===`]`&&o&&!c){u=a+1;break}if(o=!0,t!==`\\`||c){if(t===`[`&&!c){for(let[t,[o,c,l]]of Object.entries(pn))if(e.startsWith(t,a)){if(d)return[`$.`,!1,e.length-n,!0];a+=t.length,l?i.push(o):r.push(o),s||=c;continue t}}c=!1,d?(t>d?r.push(mn(d)+`-`+mn(t)):t===d&&r.push(mn(t)),d=``,a++):e.startsWith(`-]`,a+1)?(r.push(mn(t+`-`)),a+=2):e.startsWith(`-`,a+1)?(d=t,a+=2):(r.push(mn(t)),a++)}else c=!0,a++}else l=!0,a++}if(u<a)return[``,!1,0,!1];if(!r.length&&!i.length)return[`$.`,!1,e.length-n,!0];if(i.length===0&&r.length===1&&/^\\?.$/.test(r[0])&&!l)return[(f=r[0].length===2?r[0].slice(-1):r[0],f.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,`\\$&`)),!1,u-n,!1];var f;let p=`[`+(l?`^`:``)+hn(r)+`]`,m=`[`+(l?``:`^`)+hn(i)+`]`;return[r.length&&i.length?`(`+p+`|`+m+`)`:r.length?p:m,s,u-n,!0]},_n=function(e){let{windowsPathsNoEscape:t=!1}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return t?e.replace(/\[([^\/\\])\]/g,`$1`):e.replace(/((?!\\).|^)\[([^\/\\])\]/g,`$1$2`).replace(/\\([^\/])/g,`$1`)},vn=new Set([`!`,`?`,`+`,`*`,`@`]),yn=e=>vn.has(e),bn=`(?!\\.)`,xn=new Set([`[`,`.`]),Sn=new Set([`..`,`.`]),Cn=new Set(`().*{}+?[]^$\\!`),wn=`[^/]`,Tn=wn+`*?`,En=wn+`+?`;var Dn=(t=new WeakMap,n=new WeakMap,r=new WeakMap,i=new WeakMap,a=new WeakMap,o=new WeakMap,s=new WeakMap,c=new WeakMap,l=new WeakMap,u=new WeakMap,d=new WeakMap,f=new WeakSet,e=class p{constructor(e,p){We(this,f),k(this,`type`,void 0),O(this,t,void 0),O(this,n,void 0),O(this,r,!1),O(this,i,[]),O(this,a,void 0),O(this,o,void 0),O(this,s,void 0),O(this,c,!1),O(this,l,void 0),O(this,u,void 0),O(this,d,!1);let m=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.type=e,e&&j(n,this,!0),j(a,this,p),j(t,this,A(a,this)?A(t,A(a,this)):this),j(l,this,A(t,this)===this?m:A(l,A(t,this))),j(s,this,A(t,this)===this?[]:A(s,A(t,this))),e!==`!`||A(c,A(t,this))||A(s,this).push(this),j(o,this,A(a,this)?A(i,A(a,this)).length:0)}get hasMagic(){if(A(n,this)!==void 0)return A(n,this);for(let e of A(i,this))if(typeof e!=`string`&&(e.type||e.hasMagic))return j(n,this,!0);return A(n,this)}toString(){return A(u,this)===void 0?this.type?j(u,this,this.type+`(`+A(i,this).map(e=>String(e)).join(`|`)+`)`):j(u,this,A(i,this).map(e=>String(e)).join(``)):A(u,this)}push(){var e=[...arguments];for(let t of e)if(t!==``){if(typeof t!=`string`&&!(t instanceof p&&A(a,t)===this))throw Error(`invalid part: `+t);A(i,this).push(t)}}toJSON(){let e=this.type===null?A(i,this).slice().map(e=>typeof e==`string`?e:e.toJSON()):[this.type,...A(i,this).map(e=>e.toJSON())];return this.isStart()&&!this.type&&e.unshift([]),this.isEnd()&&(this===A(t,this)||A(c,A(t,this))&&A(a,this)?.type===`!`)&&e.push({}),e}isStart(){if(A(t,this)===this)return!0;if(!A(a,this)?.isStart())return!1;if(A(o,this)===0)return!0;let e=A(a,this);for(let t=0;t<A(o,this);t++){let n=A(i,e)[t];if(!(n instanceof p&&n.type===`!`))return!1}return!0}isEnd(){if(A(t,this)===this||A(a,this)?.type===`!`)return!0;if(!A(a,this)?.isEnd())return!1;if(!this.type)return A(a,this)?.isEnd();let e=A(a,this)?A(i,A(a,this)).length:0;return A(o,this)===e-1}copyIn(e){typeof e==`string`?this.push(e):this.push(e.clone(this))}clone(e){let t=new p(this.type,e);for(let e of A(i,this))t.copyIn(e);return t}static fromGlob(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=new p(null,void 0,n);return Je(e,p,kn).call(p,t,r,0,n),r}toMMPattern(){if(this!==A(t,this))return A(t,this).toMMPattern();let e=this.toString(),[r,i,a,o]=this.toRegExpSource();if(!(a||A(n,this)||A(l,this).nocase&&!A(l,this).nocaseMagicOnly&&e.toUpperCase()!==e.toLowerCase()))return i;let s=(A(l,this).nocase?`i`:``)+(o?`u`:``);return Object.assign(RegExp(`^${r}$`,s),{_src:r,_glob:e})}get options(){return A(l,this)}toRegExpSource(o){let s=o??!!A(l,this).dot;if(A(t,this)===this&&Je(f,this,On).call(this),!this.type){let l=this.isStart()&&this.isEnd(),u=A(i,this).map(t=>{let[i,a,s,c]=typeof t==`string`?Je(e,p,jn).call(p,t,A(n,this),l):t.toRegExpSource(o);return j(n,this,A(n,this)||s),j(r,this,A(r,this)||c),i}).join(``),d=``;if(this.isStart()&&typeof A(i,this)[0]==`string`&&(A(i,this).length!==1||!Sn.has(A(i,this)[0]))){let e=xn,t=s&&e.has(u.charAt(0))||u.startsWith(`\\.`)&&e.has(u.charAt(2))||u.startsWith(`\\.\\.`)&&e.has(u.charAt(4)),n=!s&&!o&&e.has(u.charAt(0));d=t?`(?!(?:^|/)\\.\\.?(?:$|/))`:n?bn:``}let f=``;return this.isEnd()&&A(c,A(t,this))&&A(a,this)?.type===`!`&&(f=`(?:$|\\/)`),[d+u+f,_n(u),j(n,this,!!A(n,this)),A(r,this)]}let u=this.type===`*`||this.type===`+`,m=this.type===`!`?`(?:(?!(?:`:`(?:`,h=Je(f,this,An).call(this,s);if(this.isStart()&&this.isEnd()&&!h&&this.type!==`!`){let e=this.toString();return j(i,this,[e]),this.type=null,j(n,this,void 0),[e,_n(this.toString()),!1,!1]}let g=!u||o||s?``:Je(f,this,An).call(this,!0);g===h&&(g=``),g&&(h=`(?:${h})(?:${g})*?`);let _=``;return _=this.type===`!`&&A(d,this)?(this.isStart()&&!s?bn:``)+En:m+h+(this.type===`!`?`))`+(!this.isStart()||s||o?``:bn)+Tn+`)`:this.type===`@`?`)`:this.type===`?`?`)?`:this.type===`+`&&g?`)`:this.type===`*`&&g?`)?`:`)${this.type}`),[_,_n(h),j(n,this,!!A(n,this)),A(r,this)]}});function On(){if(this!==A(t,this))throw Error(`should only call on root`);if(A(c,this))return this;let e;for(this.toString(),j(c,this,!0);e=A(s,this).pop();){if(e.type!==`!`)continue;let t=e,n=A(a,t);for(;n;){for(let r=A(o,t)+1;!n.type&&r<A(i,n).length;r++)for(let t of A(i,e)){if(typeof t==`string`)throw Error(`string part in extglob AST??`);t.copyIn(A(i,n)[r])}t=n,n=A(a,t)}}return this}function kn(t,r,a,o){let s=!1,c=!1,l=-1,u=!1;if(r.type===null){let n=a,i=``;for(;n<t.length;){let a=t.charAt(n++);if(s||a===`\\`)s=!s,i+=a;else if(c)n===l+1?a!==`^`&&a!==`!`||(u=!0):a!==`]`||n===l+2&&u||(c=!1),i+=a;else if(a!==`[`)if(o.noext||!yn(a)||t.charAt(n)!==`(`)i+=a;else{r.push(i),i=``;let s=new e(a,r);n=Je(e,e,kn).call(e,t,s,n,o),r.push(s)}else c=!0,l=n,u=!1,i+=a}return r.push(i),n}let f=a+1,p=new e(null,r),m=[],h=``;for(;f<t.length;){let n=t.charAt(f++);if(s||n===`\\`)s=!s,h+=n;else if(c)f===l+1?n!==`^`&&n!==`!`||(u=!0):n!==`]`||f===l+2&&u||(c=!1),h+=n;else if(n!==`[`)if(yn(n)&&t.charAt(f)===`(`){p.push(h),h=``;let r=new e(n,p);p.push(r),f=Je(e,e,kn).call(e,t,r,f,o)}else if(n!==`|`){if(n===`)`)return h===``&&A(i,r).length===0&&j(d,r,!0),p.push(h),h=``,r.push(...m,p),f;h+=n}else p.push(h),h=``,m.push(p),p=new e(null,r);else c=!0,l=f,u=!1,h+=n}return r.type=null,j(n,r,void 0),j(i,r,[t.substring(a-1)]),f}function An(e){return A(i,this).map(t=>{if(typeof t==`string`)throw Error(`string type in extglob ast??`);let[n,i,a,o]=t.toRegExpSource(e);return j(r,this,A(r,this)||o),n}).filter(e=>!(this.isStart()&&this.isEnd()&&!e)).join(`|`)}function jn(e,t){let n=arguments.length>2&&arguments[2]!==void 0&&arguments[2],r=!1,i=``,a=!1;for(let o=0;o<e.length;o++){let s=e.charAt(o);if(r)r=!1,i+=(Cn.has(s)?`\\`:``)+s;else if(s!==`\\`){if(s===`[`){let[n,r,s,c]=gn(e,o);if(s){i+=n,a||=r,o+=s-1,t||=c;continue}}s===`*`?(i+=n&&e===`*`?En:Tn,t=!0):s===`?`?(i+=wn,t=!0):i+=s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,`\\$&`)}else o===e.length-1?i+=`\\\\`:r=!0}return[i,_n(e),!!t,a]}const V=function(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return fn(t),!(!n.nocomment&&t.charAt(0)===`#`)&&new tr(t,n).match(e)},Mn=/^\*+([^+@!?\*\[\(]*)$/,Nn=e=>t=>!t.startsWith(`.`)&&t.endsWith(e),Pn=e=>t=>t.endsWith(e),Fn=e=>(e=e.toLowerCase(),t=>!t.startsWith(`.`)&&t.toLowerCase().endsWith(e)),In=e=>(e=e.toLowerCase(),t=>t.toLowerCase().endsWith(e)),Ln=/^\*+\.\*+$/,Rn=e=>!e.startsWith(`.`)&&e.includes(`.`),zn=e=>e!==`.`&&e!==`..`&&e.includes(`.`),Bn=/^\.\*+$/,Vn=e=>e!==`.`&&e!==`..`&&e.startsWith(`.`),Hn=/^\*+$/,Un=e=>e.length!==0&&!e.startsWith(`.`),Wn=e=>e.length!==0&&e!==`.`&&e!==`..`,Gn=/^\?+([^+@!?\*\[\(]*)?$/,Kn=e=>{let[t,n=``]=e,r=Xn([t]);return n?(n=n.toLowerCase(),e=>r(e)&&e.toLowerCase().endsWith(n)):r},qn=e=>{let[t,n=``]=e,r=Zn([t]);return n?(n=n.toLowerCase(),e=>r(e)&&e.toLowerCase().endsWith(n)):r},Jn=e=>{let[t,n=``]=e,r=Zn([t]);return n?e=>r(e)&&e.endsWith(n):r},Yn=e=>{let[t,n=``]=e,r=Xn([t]);return n?e=>r(e)&&e.endsWith(n):r},Xn=e=>{let[t]=e,n=t.length;return e=>e.length===n&&!e.startsWith(`.`)},Zn=e=>{let[t]=e,n=t.length;return e=>e.length===n&&e!==`.`&&e!==`..`},Qn=typeof process==`object`&&process?typeof process.env==`object`&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:`posix`;V.sep=Qn===`win32`?`\\`:`/`;const H=Symbol(`globstar **`);V.GLOBSTAR=H,V.filter=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return n=>V(n,e,t)};const U=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Object.assign({},e,t)};V.defaults=e=>{if(!e||typeof e!=`object`||!Object.keys(e).length)return V;let t=V;return Object.assign(function(n,r){return t(n,r,U(e,arguments.length>2&&arguments[2]!==void 0?arguments[2]:{}))},{Minimatch:class extends t.Minimatch{constructor(t){super(t,U(e,arguments.length>1&&arguments[1]!==void 0?arguments[1]:{}))}static defaults(n){return t.defaults(U(e,n)).Minimatch}},AST:class extends t.AST{constructor(t,n){super(t,n,U(e,arguments.length>2&&arguments[2]!==void 0?arguments[2]:{}))}static fromGlob(n){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return t.AST.fromGlob(n,U(e,r))}},unescape:function(n){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return t.unescape(n,U(e,r))},escape:function(n){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return t.escape(n,U(e,r))},filter:function(n){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return t.filter(n,U(e,r))},defaults:n=>t.defaults(U(e,n)),makeRe:function(n){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return t.makeRe(n,U(e,r))},braceExpand:function(n){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return t.braceExpand(n,U(e,r))},match:function(n,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return t.match(n,r,U(e,i))},sep:t.sep,GLOBSTAR:H})};const $n=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return fn(e),t.nobrace||!/\{(?:(?!\{).)*\}/.test(e)?[e]:dn(e)};V.braceExpand=$n,V.makeRe=function(e){return new tr(e,arguments.length>1&&arguments[1]!==void 0?arguments[1]:{}).makeRe()},V.match=function(e,t){let n=new tr(t,arguments.length>2&&arguments[2]!==void 0?arguments[2]:{});return e=e.filter(e=>n.match(e)),n.options.nonull&&!e.length&&e.push(t),e};const er=/[?*]|[+@!]\(.*?\)|\[|\]/;var tr=class{constructor(e){k(this,`options`,void 0),k(this,`set`,void 0),k(this,`pattern`,void 0),k(this,`windowsPathsNoEscape`,void 0),k(this,`nonegate`,void 0),k(this,`negate`,void 0),k(this,`comment`,void 0),k(this,`empty`,void 0),k(this,`preserveMultipleSlashes`,void 0),k(this,`partial`,void 0),k(this,`globSet`,void 0),k(this,`globParts`,void 0),k(this,`nocase`,void 0),k(this,`isWindows`,void 0),k(this,`platform`,void 0),k(this,`windowsNoMagicRoot`,void 0),k(this,`regexp`,void 0);let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};fn(e),t||={},this.options=t,this.pattern=e,this.platform=t.platform||Qn,this.isWindows=this.platform===`win32`,this.windowsPathsNoEscape=!!t.windowsPathsNoEscape||!1===t.allowWindowsEscape,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,`/`)),this.preserveMultipleSlashes=!!t.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!t.nonegate,this.comment=!1,this.empty=!1,this.partial=!!t.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=t.windowsNoMagicRoot===void 0?!(!this.isWindows||!this.nocase):t.windowsNoMagicRoot,this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(let e of this.set)for(let t of e)if(typeof t!=`string`)return!0;return!1}debug(){}make(){let e=this.pattern,t=this.options;if(!t.nocomment&&e.charAt(0)===`#`)return void(this.comment=!0);if(!e)return void(this.empty=!0);this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],t.debug&&(this.debug=function(){return console.error(...arguments)}),this.debug(this.pattern,this.globSet);let n=this.globSet.map(e=>this.slashSplit(e));this.globParts=this.preprocess(n),this.debug(this.pattern,this.globParts);let r=this.globParts.map((e,t,n)=>{if(this.isWindows&&this.windowsNoMagicRoot){let t=!(e[0]!==``||e[1]!==``||e[2]!==`?`&&er.test(e[2])||er.test(e[3])),n=/^[a-z]:/i.test(e[0]);if(t)return[...e.slice(0,4),...e.slice(4).map(e=>this.parse(e))];if(n)return[e[0],...e.slice(1).map(e=>this.parse(e))]}return e.map(e=>this.parse(e))});if(this.debug(this.pattern,r),this.set=r.filter(e=>e.indexOf(!1)===-1),this.isWindows)for(let e=0;e<this.set.length;e++){let t=this.set[e];t[0]===``&&t[1]===``&&this.globParts[e][2]===`?`&&typeof t[3]==`string`&&/^[a-z]:$/i.test(t[3])&&(t[2]=`?`)}this.debug(this.pattern,this.set)}preprocess(e){if(this.options.noglobstar)for(let t=0;t<e.length;t++)for(let n=0;n<e[t].length;n++)e[t][n]===`**`&&(e[t][n]=`*`);let{optimizationLevel:t=1}=this.options;return t>=2?(e=this.firstPhasePreProcess(e),e=this.secondPhasePreProcess(e)):e=t>=1?this.levelOneOptimize(e):this.adjascentGlobstarOptimize(e),e}adjascentGlobstarOptimize(e){return e.map(e=>{let t=-1;for(;(t=e.indexOf(`**`,t+1))!==-1;){let n=t;for(;e[n+1]===`**`;)n++;n!==t&&e.splice(t,n-t)}return e})}levelOneOptimize(e){return e.map(e=>(e=e.reduce((e,t)=>{let n=e[e.length-1];return t===`**`&&n===`**`?e:t===`..`&&n&&n!==`..`&&n!==`.`&&n!==`**`?(e.pop(),e):(e.push(t),e)},[])).length===0?[``]:e)}levelTwoFileOptimize(e){Array.isArray(e)||(e=this.slashSplit(e));let t=!1;do{if(t=!1,!this.preserveMultipleSlashes){for(let n=1;n<e.length-1;n++){let r=e[n];n===1&&r===``&&e[0]===``||r!==`.`&&r!==``||(t=!0,e.splice(n,1),n--)}e[0]!==`.`||e.length!==2||e[1]!==`.`&&e[1]!==``||(t=!0,e.pop())}let n=0;for(;(n=e.indexOf(`..`,n+1))!==-1;){let r=e[n-1];r&&r!==`.`&&r!==`..`&&r!==`**`&&(t=!0,e.splice(n-1,2),n-=2)}}while(t);return e.length===0?[``]:e}firstPhasePreProcess(e){let t=!1;do{t=!1;for(let n of e){let r=-1;for(;(r=n.indexOf(`**`,r+1))!==-1;){let i=r;for(;n[i+1]===`**`;)i++;i>r&&n.splice(r+1,i-r);let a=n[r+1],o=n[r+2],s=n[r+3];if(a!==`..`||!o||o===`.`||o===`..`||!s||s===`.`||s===`..`)continue;t=!0,n.splice(r,1);let c=n.slice(0);c[r]=`**`,e.push(c),r--}if(!this.preserveMultipleSlashes){for(let e=1;e<n.length-1;e++){let r=n[e];e===1&&r===``&&n[0]===``||r!==`.`&&r!==``||(t=!0,n.splice(e,1),e--)}n[0]!==`.`||n.length!==2||n[1]!==`.`&&n[1]!==``||(t=!0,n.pop())}let i=0;for(;(i=n.indexOf(`..`,i+1))!==-1;){let e=n[i-1];if(e&&e!==`.`&&e!==`..`&&e!==`**`){t=!0;let e=i===1&&n[i+1]===`**`?[`.`]:[];n.splice(i-1,2,...e),n.length===0&&n.push(``),i-=2}}}}while(t);return e}secondPhasePreProcess(e){for(let t=0;t<e.length-1;t++)for(let n=t+1;n<e.length;n++){let r=this.partsMatch(e[t],e[n],!this.preserveMultipleSlashes);if(r){e[t]=[],e[n]=r;break}}return e.filter(e=>e.length)}partsMatch(e,t){let n=arguments.length>2&&arguments[2]!==void 0&&arguments[2],r=0,i=0,a=[],o=``;for(;r<e.length&&i<t.length;)if(e[r]===t[i])a.push(o===`b`?t[i]:e[r]),r++,i++;else if(n&&e[r]===`**`&&t[i]===e[r+1])a.push(e[r]),r++;else if(n&&t[i]===`**`&&e[r]===t[i+1])a.push(t[i]),i++;else if(e[r]!==`*`||!t[i]||!this.options.dot&&t[i].startsWith(`.`)||t[i]===`**`){if(t[i]!==`*`||!e[r]||!this.options.dot&&e[r].startsWith(`.`)||e[r]===`**`||o===`a`)return!1;o=`b`,a.push(t[i]),r++,i++}else{if(o===`b`)return!1;o=`a`,a.push(e[r]),r++,i++}return e.length===t.length&&a}parseNegate(){if(this.nonegate)return;let e=this.pattern,t=!1,n=0;for(let r=0;r<e.length&&e.charAt(r)===`!`;r++)t=!t,n++;n&&(this.pattern=e.slice(n)),this.negate=t}matchOne(e,t){let n=arguments.length>2&&arguments[2]!==void 0&&arguments[2],r=this.options;if(this.isWindows){let n=typeof e[0]==`string`&&/^[a-z]:$/i.test(e[0]),r=!n&&e[0]===``&&e[1]===``&&e[2]===`?`&&/^[a-z]:$/i.test(e[3]),i=typeof t[0]==`string`&&/^[a-z]:$/i.test(t[0]),a=r?3:n?0:void 0,o=!i&&t[0]===``&&t[1]===``&&t[2]===`?`&&typeof t[3]==`string`&&/^[a-z]:$/i.test(t[3])?3:i?0:void 0;if(typeof a==`number`&&typeof o==`number`){let[n,r]=[e[a],t[o]];n.toLowerCase()===r.toLowerCase()&&(t[o]=n,o>a?t=t.slice(o):a>o&&(e=e.slice(a)))}}let{optimizationLevel:i=1}=this.options;i>=2&&(e=this.levelTwoFileOptimize(e)),this.debug(`matchOne`,this,{file:e,pattern:t}),this.debug(`matchOne`,e.length,t.length);for(var a=0,o=0,s=e.length,c=t.length;a<s&&o<c;a++,o++){this.debug(`matchOne loop`);var l=t[o],u=e[a];if(this.debug(t,l,u),!1===l)return!1;if(l===H){this.debug(`GLOBSTAR`,[t,l,u]);var d=a,f=o+1;if(f===c){for(this.debug(`** at the end`);a<s;a++)if(e[a]===`.`||e[a]===`..`||!r.dot&&e[a].charAt(0)===`.`)return!1;return!0}for(;d<s;){var p=e[d];if(this.debug(`
globstar while`,e,d,t,f,p),this.matchOne(e.slice(d),t.slice(f),n))return this.debug(`globstar found match!`,d,s,p),!0;if(p===`.`||p===`..`||!r.dot&&p.charAt(0)===`.`){this.debug(`dot detected!`,e,d,t,f);break}this.debug(`globstar swallow a segment, and continue`),d++}return!(!n||(this.debug(`
>>> no match, partial?`,e,d,t,f),d!==s))}let i;if(typeof l==`string`?(i=u===l,this.debug(`string match`,l,u,i)):(i=l.test(u),this.debug(`pattern match`,l,u,i)),!i)return!1}if(a===s&&o===c)return!0;if(a===s)return n;if(o===c)return a===s-1&&e[a]===``;throw Error(`wtf?`)}braceExpand(){return $n(this.pattern,this.options)}parse(e){fn(e);let t=this.options;if(e===`**`)return H;if(e===``)return``;let n,r=null;(n=e.match(Hn))?r=t.dot?Wn:Un:(n=e.match(Mn))?r=(t.nocase?t.dot?In:Fn:t.dot?Pn:Nn)(n[1]):(n=e.match(Gn))?r=(t.nocase?t.dot?qn:Kn:t.dot?Jn:Yn)(n):(n=e.match(Ln))?r=t.dot?zn:Rn:(n=e.match(Bn))&&(r=Vn);let i=Dn.fromGlob(e,this.options).toMMPattern();return r&&typeof i==`object`&&Reflect.defineProperty(i,`test`,{value:r}),i}makeRe(){if(this.regexp||!1===this.regexp)return this.regexp;let e=this.set;if(!e.length)return this.regexp=!1,this.regexp;let t=this.options,n=t.noglobstar?`[^/]*?`:t.dot?`(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?`:`(?:(?!(?:\\/|^)\\.).)*?`,r=new Set(t.nocase?[`i`]:[]),i=e.map(e=>{let t=e.map(e=>{if(e instanceof RegExp)for(let t of e.flags.split(``))r.add(t);return typeof e==`string`?e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,`\\$&`):e===H?H:e._src});return t.forEach((e,r)=>{let i=t[r+1],a=t[r-1];e===H&&a!==H&&(a===void 0?i!==void 0&&i!==H?t[r+1]=`(?:\\/|`+n+`\\/)?`+i:t[r]=n:i===void 0?t[r-1]=a+`(?:\\/|`+n+`)?`:i!==H&&(t[r-1]=a+`(?:\\/|\\/`+n+`\\/)`+i,t[r+1]=H))}),t.filter(e=>e!==H).join(`/`)}).join(`|`),[a,o]=e.length>1?[`(?:`,`)`]:[``,``];i=`^`+a+i+o+`$`,this.negate&&(i=`^(?!`+i+`).+$`);try{this.regexp=new RegExp(i,[...r].join(``))}catch{this.regexp=!1}return this.regexp}slashSplit(e){return this.preserveMultipleSlashes?e.split(`/`):this.isWindows&&/^\/\/[^\/]+/.test(e)?[``,...e.split(/\/+/)]:e.split(/\/+/)}match(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.partial;if(this.debug(`match`,e,this.pattern),this.comment)return!1;if(this.empty)return e===``;if(e===`/`&&t)return!0;let n=this.options;this.isWindows&&(e=e.split(`\\`).join(`/`));let r=this.slashSplit(e);this.debug(this.pattern,`split`,r);let i=this.set;this.debug(this.pattern,`set`,i);let a=r[r.length-1];if(!a)for(let e=r.length-2;!a&&e>=0;e--)a=r[e];for(let e=0;e<i.length;e++){let o=i[e],s=r;if(n.matchBase&&o.length===1&&(s=[a]),this.matchOne(s,o,t))return!!n.flipNegate||!this.negate}return!n.flipNegate&&this.negate}static defaults(e){return V.defaults(e).Minimatch}};function nr(e){let t=Error(`${arguments.length>1&&arguments[1]!==void 0?arguments[1]:``}Invalid response: ${e.status} ${e.statusText}`);return t.status=e.status,t.response=e,t}function W(e,t){let{status:n}=t;if(n===401&&e.digest)return t;if(n>=400)throw nr(t);return t}function rr(e,t){return arguments.length>2&&arguments[2]!==void 0&&arguments[2]?{data:t,headers:e.headers?$t(e.headers):{},status:e.status,statusText:e.statusText}:t}V.AST=Dn,V.Minimatch=tr,V.escape=function(e){let{windowsPathsNoEscape:t=!1}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return t?e.replace(/[?*()[\]]/g,`[$&]`):e.replace(/[?*()[\]\\]/g,`\\$&`)},V.unescape=_n;const ir=(ar=function(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},i=B({url:L(e.remoteURL,I(t)),method:`COPY`,headers:{Destination:L(e.remoteURL,I(n)),Overwrite:!1===r.overwrite?`F`:`T`,Depth:r.shallow?`0`:`infinity`}},e,r);return o=function(t){W(e,t)},(a=z(i,e))&&a.then||(a=Promise.resolve(a)),o?a.then(o):a;var a,o},function(){var e=[...arguments];try{return Promise.resolve(ar.apply(this,e))}catch(e){return Promise.reject(e)}});var ar,or=P(635),sr=P(829),cr=P.n(sr),lr=function(e){return e.Array=`array`,e.Object=`object`,e.Original=`original`,e}(lr||{});function ur(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:lr.Original,r=cr().get(e,t);return n===`array`&&!1===Array.isArray(r)?[r]:n===`object`&&Array.isArray(r)?r[0]:r}function dr(e){return new Promise(t=>{t(function(e){let{multistatus:t}=e;if(t===``)return{multistatus:{response:[]}};if(!t)throw Error(`Invalid response: No root multistatus found`);let n={multistatus:Array.isArray(t)?t[0]:t};return cr().set(n,`multistatus.response`,ur(n,`multistatus.response`,lr.Array)),cr().set(n,`multistatus.response`,cr().get(n,`multistatus.response`).map(e=>function(e){let t=Object.assign({},e);return t.status?cr().set(t,`status`,ur(t,`status`,lr.Object)):(cr().set(t,`propstat`,ur(t,`propstat`,lr.Object)),cr().set(t,`propstat.prop`,ur(t,`propstat.prop`,lr.Object))),t}(e))),n}(new or.XMLParser({allowBooleanAttributes:!0,attributeNamePrefix:``,textNodeName:`text`,ignoreAttributes:!1,removeNSPrefix:!0,numberParseOptions:{hex:!0,leadingZeros:!1},attributeValueProcessor:(e,t,n)=>t===`true`||t===`false`?t===`true`:t,tagValueProcessor(e,t,n){if(!n.endsWith(`propstat.prop.displayname`))return t}}).parse(e)))})}function fr(e,t){let n=arguments.length>2&&arguments[2]!==void 0&&arguments[2],{getlastmodified:r=null,getcontentlength:i=`0`,resourcetype:a=null,getcontenttype:o=null,getetag:s=null}=e,c=a&&typeof a==`object`&&a.collection!==void 0?`directory`:`file`,l={filename:t,basename:wt().basename(t),lastmod:r,size:parseInt(i,10),type:c,etag:typeof s==`string`?s.replace(/"/g,``):null};return c===`file`&&(l.mime=o&&typeof o==`string`?o.split(`;`)[0]:``),n&&(e.displayname!==void 0&&(e.displayname=String(e.displayname)),l.props=e),l}function pr(e,t){let n=arguments.length>2&&arguments[2]!==void 0&&arguments[2],r=null;try{e.multistatus.response[0].propstat&&(r=e.multistatus.response[0])}catch{}if(!r)throw Error(`Failed getting item stat: bad response`);let{propstat:{prop:i,status:a}}=r,[o,s,c]=a.split(` `,3),l=parseInt(s,10);if(l>=400){let e=Error(`Invalid response: ${l} ${c}`);throw e.status=l,e}return fr(i,Ot(t),n)}function mr(e){switch(String(e)){case`-3`:return`unlimited`;case`-2`:case`-1`:return`unknown`;default:return parseInt(String(e),10)}}function hr(e,t,n){return n?t?t(e):e:(e&&e.then||(e=Promise.resolve(e)),t?e.then(t):e)}const gr=function(e){return function(){var t=[...arguments];try{return Promise.resolve(e.apply(this,t))}catch(e){return Promise.reject(e)}}}(function(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{details:r=!1}=n;return hr(z(B({url:L(e.remoteURL,I(t)),method:`PROPFIND`,headers:{Accept:`text/plain,application/xml`,Depth:`0`}},e,n),e),function(n){return W(e,n),hr(n.text(),function(e){return hr(dr(e),function(e){return rr(n,pr(e,t,r),r)})})})});function _r(e,t,n){return n?t?t(e):e:(e&&e.then||(e=Promise.resolve(e)),t?e.then(t):e)}const vr=yr(function(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=function(e){if(!e||e===`/`)return[];let t=e,n=[];do n.push(t),t=wt().dirname(t);while(t&&t!==`/`);return n}(Ot(t));r.sort((e,t)=>e.length>t.length?1:t.length>e.length?-1:0);let i=!1;return function(e,t,n){if(typeof e[Sr]==`function`){var r,i,a,o=e[Sr]();function n(e){try{for(;!(r=o.next()).done;)if((e=t(r.value))&&e.then){if(!wr(e))return void e.then(n,a||=G.bind(null,i=new Cr,2));e=e.v}i?G(i,1,e):i=e}catch(e){G(i||=new Cr,2,e)}}if(n(),o.return){var s=function(e){try{r.done||o.return()}catch{}return e};if(i&&i.then)return i.then(s,function(e){throw s(e)});s()}return i}if(!(`length`in e))throw TypeError(`Object is not iterable`);for(var c=[],l=0;l<e.length;l++)c.push(e[l]);return function(e,t,n){var r,i,a=-1;return function o(s){try{for(;++a<e.length&&(!n||!n());)if((s=t(a))&&s.then){if(!wr(s))return void s.then(o,i||=G.bind(null,r=new Cr,2));s=s.v}r?G(r,1,s):r=s}catch(e){G(r||=new Cr,2,e)}}(),r}(c,function(e){return t(c[e])},n)}(r,function(r){return a=function(){return function(n,i){try{var a=_r(gr(e,r),function(e){if(e.type!==`directory`)throw Error(`Path includes a file: ${t}`)})}catch(e){return i(e)}return a&&a.then?a.then(void 0,i):a}(0,function(t){let a=t;return function(){if(a.status===404)return i=!0,xr(Tr(e,r,{...n,recursive:!1}));throw t}()})},(o=function(){if(i)return xr(Tr(e,r,{...n,recursive:!1}))}())&&o.then?o.then(a):a();var a,o},function(){return!1})});function yr(e){return function(){var t=[...arguments];try{return Promise.resolve(e.apply(this,t))}catch(e){return Promise.reject(e)}}}function br(){}function xr(e,t){if(!t)return e&&e.then?e.then(br):Promise.resolve()}const Sr=typeof Symbol<`u`?Symbol.iterator||(Symbol.iterator=Symbol(`Symbol.iterator`)):`@@iterator`;function G(e,t,n){if(!e.s){if(n instanceof Cr){if(!n.s)return void(n.o=G.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(G.bind(null,e,t),G.bind(null,e,2));e.s=t,e.v=n;let r=e.o;r&&r(e)}}const Cr=function(){function e(){}return e.prototype.then=function(t,n){let r=new e,i=this.s;if(i){let e=1&i?t:n;if(e){try{G(r,1,e(this.v))}catch(e){G(r,2,e)}return r}return this}return this.o=function(e){try{let i=e.v;1&e.s?G(r,1,t?t(i):i):n?G(r,1,n(i)):G(r,2,i)}catch(e){G(r,2,e)}},r},e}();function wr(e){return e instanceof Cr&&1&e.s}const Tr=yr(function(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!0===n.recursive)return vr(e,t,n);let r=B({url:L(e.remoteURL,(i=I(t),i.endsWith(`/`)?i:i+`/`)),method:`MKCOL`},e,n);var i;return _r(z(r,e),function(t){W(e,t)})});var Er=P(388),Dr=P.n(Er);const Or=function(e){return function(){var t=[...arguments];try{return Promise.resolve(e.apply(this,t))}catch(e){return Promise.reject(e)}}}(function(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r={};if(typeof n.range==`object`&&typeof n.range.start==`number`){let e=`bytes=${n.range.start}-`;typeof n.range.end==`number`&&(e=`${e}${n.range.end}`),r.Range=e}let i=B({url:L(e.remoteURL,I(t)),method:`GET`,headers:r},e,n);return o=function(t){if(W(e,t),r.Range&&t.status!==206){let e=Error(`Invalid response code for partial request: ${t.status}`);throw e.status=t.status,e}return n.callback&&setTimeout(()=>{n.callback(t)},0),t.body},(a=z(i,e))&&a.then||(a=Promise.resolve(a)),o?a.then(o):a;var a,o}),kr=()=>{},Ar=function(e){return function(){var t=[...arguments];try{return Promise.resolve(e.apply(this,t))}catch(e){return Promise.reject(e)}}}(function(e,t,n){n.url||=L(e.remoteURL,I(t));let r=B(n,e,{});return a=function(t){return W(e,t),t},(i=z(r,e))&&i.then||(i=Promise.resolve(i)),a?i.then(a):i;var i,a}),jr=function(e){return function(){var t=[...arguments];try{return Promise.resolve(e.apply(this,t))}catch(e){return Promise.reject(e)}}}(function(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=B({url:L(e.remoteURL,I(t)),method:`DELETE`},e,n);return a=function(t){W(e,t)},(i=z(r,e))&&i.then||(i=Promise.resolve(i)),a?i.then(a):i;var i,a}),Mr=function(e){return function(){var t=[...arguments];try{return Promise.resolve(e.apply(this,t))}catch(e){return Promise.reject(e)}}}(function(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return function(r,i){try{var a=(o=gr(e,t,n),s=function(){return!0},c?s?s(o):o:(o&&o.then||(o=Promise.resolve(o)),s?o.then(s):o))}catch(e){return i(e)}var o,s,c;return a&&a.then?a.then(void 0,i):a}(0,function(e){if(e.status===404)return!1;throw e})});function Nr(e,t,n){return n?t?t(e):e:(e&&e.then||(e=Promise.resolve(e)),t?e.then(t):e)}const Pr=function(e){return function(){var t=[...arguments];try{return Promise.resolve(e.apply(this,t))}catch(e){return Promise.reject(e)}}}(function(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return Nr(z(B({url:L(e.remoteURL,I(t),`/`),method:`PROPFIND`,headers:{Accept:`text/plain,application/xml`,Depth:n.deep?`infinity`:`1`}},e,n),e),function(r){return W(e,r),Nr(r.text(),function(i){if(!i)throw Error(`Failed parsing directory contents: Empty response`);return Nr(dr(i),function(i){let a=Dt(t),o=function(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0&&arguments[3],i=arguments.length>4&&arguments[4]!==void 0&&arguments[4],a=wt().join(t,`/`),{multistatus:{response:o}}=e,s=o.map(e=>{let t=function(e){try{return e.replace(/^https?:\/\/[^\/]+/,``)}catch(e){throw new St(e,`Failed normalising HREF`)}}(e.href),{propstat:{prop:n}}=e;return fr(n,a===`/`?decodeURIComponent(Ot(t)):Ot(wt().relative(decodeURIComponent(a),decodeURIComponent(t))),r)});return i?s:s.filter(e=>e.basename&&(e.type===`file`||e.filename!==n.replace(/\/$/,``)))}(i,Dt(e.remoteBasePath||e.remotePath),a,n.details,n.includeSelf);return n.glob&&(o=function(e,t){return e.filter(e=>V(e.filename,t,{matchBase:!0}))}(o,n.glob)),rr(r,o,n.details)})})})});function Fr(e){return function(){var t=[...arguments];try{return Promise.resolve(e.apply(this,t))}catch(e){return Promise.reject(e)}}}const Ir=Fr(function(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return Lr(z(B({url:L(e.remoteURL,I(t)),method:`GET`,headers:{Accept:`text/plain`},transformResponse:[Br]},e,n),e),function(t){return W(e,t),Lr(t.text(),function(e){return rr(t,e,n.details)})})});function Lr(e,t,n){return n?t?t(e):e:(e&&e.then||(e=Promise.resolve(e)),t?e.then(t):e)}const Rr=Fr(function(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return Lr(z(B({url:L(e.remoteURL,I(t)),method:`GET`},e,n),e),function(t){let r;return W(e,t),function(e,t){var n=e();return n&&n.then?n.then(t):t()}(function(){return Lr(t.arrayBuffer(),function(e){r=e})},function(){return rr(t,r,n.details)})})}),zr=Fr(function(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{format:r=`binary`}=n;if(r!==`binary`&&r!==`text`)throw new St({info:{code:Ht.InvalidOutputFormat}},`Invalid output format: ${r}`);return r===`text`?Ir(e,t,n):Rr(e,t,n)}),Br=e=>e;function Vr(e){return new or.XMLBuilder({attributeNamePrefix:`@_`,format:!0,ignoreAttributes:!1,suppressEmptyNode:!0}).build(Hr({lockinfo:{"@_xmlns:d":`DAV:`,lockscope:{exclusive:{}},locktype:{write:{}},owner:{href:e}}},`d`))}function Hr(e,t){let n={...e};for(let e in n)n.hasOwnProperty(e)&&(n[e]&&typeof n[e]==`object`&&e.indexOf(`:`)===-1?(n[`${t}:${e}`]=Hr(n[e],t),delete n[e]):!1===/^@_/.test(e)&&(n[`${t}:${e}`]=n[e],delete n[e]));return n}function Ur(e,t,n){return n?t?t(e):e:(e&&e.then||(e=Promise.resolve(e)),t?e.then(t):e)}function Wr(e){return function(){var t=[...arguments];try{return Promise.resolve(e.apply(this,t))}catch(e){return Promise.reject(e)}}}const Gr=Wr(function(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return Ur(z(B({url:L(e.remoteURL,I(t)),method:`UNLOCK`,headers:{"Lock-Token":n}},e,r),e),function(t){if(W(e,t),t.status!==204&&t.status!==200)throw nr(t)})}),Kr=Wr(function(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{refreshToken:r,timeout:i=qr}=n,a={Accept:`text/plain,application/xml`,Timeout:i};return r&&(a.If=r),Ur(z(B({url:L(e.remoteURL,I(t)),method:`LOCK`,headers:a,data:Vr(e.contactHref)},e,n),e),function(t){return W(e,t),Ur(t.text(),function(e){let n=(a=e,new or.XMLParser({removeNSPrefix:!0,parseAttributeValue:!0,parseTagValue:!0}).parse(a)),r=cr().get(n,`prop.lockdiscovery.activelock.locktoken.href`),i=cr().get(n,`prop.lockdiscovery.activelock.timeout`);var a;if(!r)throw nr(t,`No lock token received: `);return{token:r,serverTimeout:i}})})}),qr=`Infinite, Second-4100000000`;function Jr(e,t,n){return n?t?t(e):e:(e&&e.then||(e=Promise.resolve(e)),t?e.then(t):e)}const Yr=function(e){return function(){var t=[...arguments];try{return Promise.resolve(e.apply(this,t))}catch(e){return Promise.reject(e)}}}(function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.path||`/`;return Jr(z(B({url:L(e.remoteURL,n),method:`PROPFIND`,headers:{Accept:`text/plain,application/xml`,Depth:`0`}},e,t),e),function(n){return W(e,n),Jr(n.text(),function(e){return Jr(dr(e),function(e){return rr(n,function(e){try{let[t]=e.multistatus.response,{propstat:{prop:{"quota-used-bytes":n,"quota-available-bytes":r}}}=t;return n!==void 0&&r!==void 0?{used:parseInt(String(n),10),available:mr(r)}:null}catch{}return null}(e),t.details)})})})});function Xr(e,t,n){return n?t?t(e):e:(e&&e.then||(e=Promise.resolve(e)),t?e.then(t):e)}const Zr=function(e){return function(){var t=[...arguments];try{return Promise.resolve(e.apply(this,t))}catch(e){return Promise.reject(e)}}}(function(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{details:r=!1}=n;return Xr(z(B({url:L(e.remoteURL,I(t)),method:`SEARCH`,headers:{Accept:`text/plain,application/xml`,"Content-Type":e.headers[`Content-Type`]||`application/xml; charset=utf-8`}},e,n),e),function(n){return W(e,n),Xr(n.text(),function(e){return Xr(dr(e),function(e){return rr(n,function(e,t,n){let r={truncated:!1,results:[]};return r.truncated=e.multistatus.response.some(e=>(e.status||e.propstat?.status).split(` `,3)?.[1]===`507`&&e.href.replace(/\/$/,``).endsWith(I(t).replace(/\/$/,``))),e.multistatus.response.forEach(e=>{if(e.propstat===void 0)return;let t=e.href.split(`/`).map(decodeURIComponent).join(`/`);r.results.push(fr(e.propstat.prop,t,n))}),r}(e,t,r),r)})})})}),Qr=function(e){return function(){var t=[...arguments];try{return Promise.resolve(e.apply(this,t))}catch(e){return Promise.reject(e)}}}(function(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},i=B({url:L(e.remoteURL,I(t)),method:`MOVE`,headers:{Destination:L(e.remoteURL,I(n)),Overwrite:!1===r.overwrite?`F`:`T`}},e,r);return o=function(t){W(e,t)},(a=z(i,e))&&a.then||(a=Promise.resolve(a)),o?a.then(o):a;var a,o});var $r=P(172);const ei=function(e){return function(){var t=[...arguments];try{return Promise.resolve(e.apply(this,t))}catch(e){return Promise.reject(e)}}}(function(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},{contentLength:i=!0,overwrite:a=!0}=r,o={"Content-Type":`application/octet-stream`};!1===i||(o[`Content-Length`]=typeof i==`number`?`${i}`:`${function(e){if(rn(e))return e.byteLength;if(an(e))return e.length;if(typeof e==`string`)return(0,$r.d)(e);throw new St({info:{code:Ht.DataTypeNoLength}},`Cannot calculate data length: Invalid type`)}(n)}`),a||(o[`If-None-Match`]=`*`);let s=B({url:L(e.remoteURL,I(t)),method:`PUT`,headers:o,data:n},e,r);return l=function(t){try{W(e,t)}catch(e){let t=e;if(t.status!==412||a)throw t;return!1}return!0},(c=z(s,e))&&c.then||(c=Promise.resolve(c)),l?c.then(l):c;var c,l}),ti=function(e){return function(){var t=[...arguments];try{return Promise.resolve(e.apply(this,t))}catch(e){return Promise.reject(e)}}}(function(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=B({url:L(e.remoteURL,I(t)),method:`OPTIONS`},e,n);return a=function(t){try{W(e,t)}catch(e){throw e}return{compliance:(t.headers.get(`DAV`)??``).split(`,`).map(e=>e.trim()),server:t.headers.get(`Server`)??``}},(i=z(r,e))&&i.then||(i=Promise.resolve(i)),a?i.then(a):i;var i,a});function ni(e,t,n){return n?t?t(e):e:(e&&e.then||(e=Promise.resolve(e)),t?e.then(t):e)}const ri=oi(function(e,t,n,r,i){let a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{};if(n>r||n<0)throw new St({info:{code:Ht.InvalidUpdateRange}},`Invalid update range ${n} for partial update`);let o={"Content-Type":`application/octet-stream`,"Content-Length":``+(r-n+1),"Content-Range":`bytes ${n}-${r}/*`};return ni(z(B({url:L(e.remoteURL,I(t)),method:`PUT`,headers:o,data:i},e,a),e),function(t){W(e,t)})});function ii(e,t){var n=e();return n&&n.then?n.then(t):t(n)}const ai=oi(function(e,t,n,r,i){let a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{};if(n>r||n<0)throw new St({info:{code:Ht.InvalidUpdateRange}},`Invalid update range ${n} for partial update`);let o={"Content-Type":`application/x-sabredav-partialupdate`,"Content-Length":``+(r-n+1),"X-Update-Range":`bytes=${n}-${r}`};return ni(z(B({url:L(e.remoteURL,I(t)),method:`PATCH`,headers:o,data:i},e,a),e),function(t){W(e,t)})});function oi(e){return function(){var t=[...arguments];try{return Promise.resolve(e.apply(this,t))}catch(e){return Promise.reject(e)}}}const si=oi(function(e,t,n,r,i){let a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{};return ni(ti(e,t,a),function(o){let s=!1;return ii(function(){if(o.compliance.includes(`sabredav-partialupdate`))return ni(ai(e,t,n,r,i,a),function(e){return s=!0,e})},function(c){let l=!1;return s?c:ii(function(){if(o.server.includes(`Apache`)&&o.compliance.includes(`<http://apache.org/dav/propset/fs/1>`))return ni(ri(e,t,n,r,i,a),function(e){return l=!0,e})},function(e){if(l)return e;throw new St({info:{code:Ht.NotSupported}},`Not supported`)})})})});function ci(e){let{authType:t=null,remoteBasePath:n,contactHref:r=`https://github.com/perry-mitchell/webdav-client/blob/master/LOCK_CONTACT.md`,ha1:i,headers:a={},httpAgent:o,httpsAgent:s,password:c,token:l,username:u,withCredentials:d}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},f=t;f||=u||c?R.Password:R.None;let p={authType:f,remoteBasePath:n,contactHref:r,ha1:i,headers:Object.assign({},a),httpAgent:o,httpsAgent:s,password:c,remotePath:kt(e),remoteURL:e,token:l,username:u,withCredentials:d};return Ut(p,u,c,l,i),{copyFile:(e,t,n)=>ir(p,e,t,n),createDirectory:(e,t)=>Tr(p,e,t),createReadStream:(e,t)=>function(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=new(Dr()).PassThrough;return Or(e,t,n).then(e=>{e.pipe(r)}).catch(e=>{r.emit(`error`,e)}),r}(p,e,t),createWriteStream:(e,t,n)=>function(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:kr,i=new(Dr()).PassThrough,a={};return!1===n.overwrite&&(a[`If-None-Match`]=`*`),z(B({url:L(e.remoteURL,I(t)),method:`PUT`,headers:a,data:i,maxRedirects:0},e,n),e).then(t=>W(e,t)).then(e=>{setTimeout(()=>{r(e)},0)}).catch(e=>{i.emit(`error`,e)}),i}(p,e,t,n),customRequest:(e,t)=>Ar(p,e,t),deleteFile:(e,t)=>jr(p,e,t),exists:(e,t)=>Mr(p,e,t),getDirectoryContents:(e,t)=>Pr(p,e,t),getFileContents:(e,t)=>zr(p,e,t),getFileDownloadLink:e=>function(e,t){let n=L(e.remoteURL,I(t)),r=/^https:/i.test(n)?`https`:`http`;switch(e.authType){case R.None:break;case R.Password:{let t=It(e.headers.Authorization.replace(/^Basic /i,``).trim());n=n.replace(/^https?:\/\//,`${r}://${t}@`);break}default:throw new St({info:{code:Ht.LinkUnsupportedAuthType}},`Unsupported auth type for file link: ${e.authType}`)}return n}(p,e),getFileUploadLink:e=>function(e,t){let n=`${L(e.remoteURL,I(t))}?Content-Type=application/octet-stream`,r=/^https:/i.test(n)?`https`:`http`;switch(e.authType){case R.None:break;case R.Password:{let t=It(e.headers.Authorization.replace(/^Basic /i,``).trim());n=n.replace(/^https?:\/\//,`${r}://${t}@`);break}default:throw new St({info:{code:Ht.LinkUnsupportedAuthType}},`Unsupported auth type for file link: ${e.authType}`)}return n}(p,e),getHeaders:()=>Object.assign({},p.headers),getQuota:e=>Yr(p,e),lock:(e,t)=>Kr(p,e,t),moveFile:(e,t,n)=>Qr(p,e,t,n),putFileContents:(e,t,n)=>ei(p,e,t,n),partialUpdateFileContents:(e,t,n,r,i)=>si(p,e,t,n,r,i),getDAVCompliance:e=>ti(p,e),search:(e,t)=>Zr(p,e,t),setHeaders:e=>{p.headers=Object.assign({},e)},stat:(e,t)=>gr(p,e,t),unlock:(e,t,n)=>Gr(p,e,t,n)}}F.hT,F.O4,F.Kd,F.YK;var li=F.UU;F.Gu,F.ky;var ui=F.h4;F.ch,F.hq,F.i5;var K=class{constructor(e){this.table=e}reloadData(e,t,n){return this.table.dataLoader.load(e,void 0,void 0,void 0,t,n)}langText(){return this.table.modules.localize.getText(...arguments)}langBind(){return this.table.modules.localize.bind(...arguments)}langLocale(){return this.table.modules.localize.getLocale(...arguments)}commsConnections(){return this.table.modules.comms.getConnections(...arguments)}commsSend(){return this.table.modules.comms.send(...arguments)}layoutMode(){return this.table.modules.layout.getMode()}layoutRefresh(e){return this.table.modules.layout.layout(e)}subscribe(){return this.table.eventBus.subscribe(...arguments)}unsubscribe(){return this.table.eventBus.unsubscribe(...arguments)}subscribed(e){return this.table.eventBus.subscribed(e)}subscriptionChange(){return this.table.eventBus.subscriptionChange(...arguments)}dispatch(){return this.table.eventBus.dispatch(...arguments)}chain(){return this.table.eventBus.chain(...arguments)}confirm(){return this.table.eventBus.confirm(...arguments)}dispatchExternal(){return this.table.externalEvents.dispatch(...arguments)}subscribedExternal(e){return this.table.externalEvents.subscribed(e)}subscriptionChangeExternal(){return this.table.externalEvents.subscriptionChange(...arguments)}options(e){return this.table.options[e]}setOption(e,t){return t!==void 0&&(this.table.options[e]=t),this.table.options[e]}deprecationCheck(e,t,n){return this.table.deprecationAdvisor.check(e,t,n)}deprecationCheckMsg(e,t){return this.table.deprecationAdvisor.checkMsg(e,t)}deprecationMsg(e){return this.table.deprecationAdvisor.msg(e)}module(e){return this.table.module(e)}},q=class{static elVisible(e){return!(e.offsetWidth<=0&&e.offsetHeight<=0)}static elOffset(e){var t=e.getBoundingClientRect();return{top:t.top+window.pageYOffset-document.documentElement.clientTop,left:t.left+window.pageXOffset-document.documentElement.clientLeft}}static retrieveNestedData(e,t,n){var r=e?t.split(e):[t],i=r.length,a;for(let e=0;e<i&&(n=n[r[e]],a=n,n);e++);return a}static deepClone(e,t,n=[]){var r={}.__proto__,i=[].__proto__;for(var a in t||=Object.assign(Array.isArray(e)?[]:{},e),e){let o=e[a],s,c;typeof o==`object`&&o&&(o.__proto__===r||o.__proto__===i)&&(s=n.findIndex(e=>e.subject===o),s>-1?t[a]=n[s].copy:(c=Object.assign(Array.isArray(o)?[]:{},o),n.unshift({subject:o,copy:c}),t[a]=this.deepClone(o,c,n)))}return t}};let di=class e extends K{constructor(e,t,n){super(e),this.element=t,this.container=this._lookupContainer(),this.parent=n,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 e=this.table.options.popupContainer;return typeof e==`string`?(e=document.querySelector(e),e||console.warn(`Menu Error - no container element found matching selector:`,this.table.options.popupContainer,`(defaulting to document body)`)):e===!0&&(e=this.table.element),e&&!this._checkContainerIsParent(e)&&(e=!1,console.warn(`Menu Error - container element does not contain this table:`,this.table.options.popupContainer,`(defaulting to document body)`)),e||=document.body,e}_checkContainerIsParent(e,t=this.table.element){return e===t?!0:t.parentNode?this._checkContainerIsParent(e,t.parentNode):!1}renderCallback(e){this.renderedCallback=e}containerEventCoords(e){var t=!(e instanceof MouseEvent),n=t?e.touches[0].pageX:e.pageX,r=t?e.touches[0].pageY:e.pageY;if(this.container!==document.body){let e=q.elOffset(this.container);n-=e.left,r-=e.top}return{x:n,y:r}}elementPositionCoords(e,t=`right`){var n=q.elOffset(e),r,i,a;switch(this.container!==document.body&&(r=q.elOffset(this.container),n.left-=r.left,n.top-=r.top),t){case`right`:i=n.left+e.offsetWidth,a=n.top-1;break;case`bottom`:i=n.left,a=n.top+e.offsetHeight;break;case`left`:i=n.left,a=n.top-1;break;case`top`:i=n.left,a=n.top;break;case`center`:i=n.left+e.offsetWidth/2,a=n.top+e.offsetHeight/2;break}return{x:i,y:a,offset:n}}show(e,t){var n,r,i,a,o;return this.destroyed||this.table.destroyed?this:(e instanceof HTMLElement?(i=e,o=this.elementPositionCoords(e,t),a=o.offset,n=o.x,r=o.y):typeof e==`number`?(a={top:0,left:0},n=e,r=t):(o=this.containerEventCoords(e),n=o.x,r=o.y,this.reversedX=!1),this.element.style.top=r+`px`,this.element.style.left=n+`px`,this.container.appendChild(this.element),typeof this.renderedCallback==`function`&&this.renderedCallback(),this._fitToScreen(n,r,i,a,t),this.visible=!0,this.subscribe(`table-destroy`,this.destroyBinding),this.element.addEventListener(`mousedown`,e=>{e.stopPropagation()}),this)}_fitToScreen(e,t,n,r,i){var a=this.container===document.body?document.documentElement.scrollTop:this.container.scrollTop;(e+this.element.offsetWidth>=this.container.offsetWidth||this.reversedX)&&(this.element.style.left=``,n?this.element.style.right=this.container.offsetWidth-r.left+`px`:this.element.style.right=this.container.offsetWidth-e+`px`,this.reversedX=!0);let o=Math.max(this.container.offsetHeight,a?this.container.scrollHeight:0);if(t+this.element.offsetHeight>o)if(n)switch(i){case`bottom`:this.element.style.top=parseInt(this.element.style.top)-this.element.offsetHeight-n.offsetHeight-1+`px`;break;default:this.element.style.top=parseInt(this.element.style.top)-this.element.offsetHeight+n.offsetHeight+1+`px`}else this.element.style.height=o+`px`}isVisible(){return this.visible}hideOnBlur(e){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=e),this}_escapeCheck(e){e.keyCode==27&&this.hide()}blockHide(){this.hideable=!1}restoreHide(){this.hideable=!0}hide(e=!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&&!e&&this.blurCallback(),this.unsubscribe(`table-destroy`,this.destroyBinding)),this}child(t){return this.childPopup&&this.childPopup.hide(),this.childPopup=new e(this.table,t,this),this.childPopup}};var J=class extends K{constructor(e,t){super(e),this._handler=null}initialize(){}registerTableOption(e,t){this.table.optionsList.register(e,t)}registerColumnOption(e,t){this.table.columnManager.optionsList.register(e,t)}registerTableFunction(e,t){this.table[e]===void 0?this.table[e]=(...n)=>(this.table.initGuard(e),t(...n)):console.warn(`Unable to bind table function, name already in use`,e)}registerComponentFunction(e,t,n){return this.table.componentFunctionBinder.bind(e,t,n)}registerDataHandler(e,t){this.table.rowManager.registerDataPipelineHandler(e,t),this._handler=e}registerDisplayHandler(e,t){this.table.rowManager.registerDisplayPipelineHandler(e,t),this._handler=e}displayRows(e){var t=this.table.rowManager.displayRows.length-1,n;if(this._handler&&(n=this.table.rowManager.displayPipeline.findIndex(e=>e.handler===this._handler),n>-1&&(t=n)),e&&(t+=e),this._handler)return t>-1?this.table.rowManager.getDisplayRows(t):this.activeRows()}activeRows(){return this.table.rowManager.activeRows}refreshData(e,t){t||=this._handler,t&&this.table.rowManager.refreshActiveData(t,!1,e)}footerAppend(e){return this.table.footerManager.append(e)}footerPrepend(e){return this.table.footerManager.prepend(e)}footerRemove(e){return this.table.footerManager.remove(e)}popup(e,t){return new di(this.table,e,t)}alert(e,t){return this.table.alertManager.alert(e,t)}clearAlert(){return this.table.alertManager.clear()}},fi=(p=class e extends J{constructor(e){super(e),this.allowedTypes=[``,`data`,`download`,`clipboard`,`print`,`htmlOutput`],this.registerColumnOption(`accessor`),this.registerColumnOption(`accessorParams`),this.registerColumnOption(`accessorData`),this.registerColumnOption(`accessorDataParams`),this.registerColumnOption(`accessorDownload`),this.registerColumnOption(`accessorDownloadParams`),this.registerColumnOption(`accessorClipboard`),this.registerColumnOption(`accessorClipboardParams`),this.registerColumnOption(`accessorPrint`),this.registerColumnOption(`accessorPrintParams`),this.registerColumnOption(`accessorHtmlOutput`),this.registerColumnOption(`accessorHtmlOutputParams`)}initialize(){this.subscribe(`column-layout`,this.initializeColumn.bind(this)),this.subscribe(`row-data-retrieve`,this.transformRow.bind(this))}initializeColumn(e){var t=!1,n={};this.allowedTypes.forEach(r=>{var i=`accessor`+(r.charAt(0).toUpperCase()+r.slice(1)),a;e.definition[i]&&(a=this.lookupAccessor(e.definition[i]),a&&(t=!0,n[i]={accessor:a,params:e.definition[i+`Params`]||{}}))}),t&&(e.modules.accessor=n)}lookupAccessor(t){var n=!1;switch(typeof t){case`string`:e.accessors[t]?n=e.accessors[t]:console.warn(`Accessor Error - No such accessor found, ignoring: `,t);break;case`function`:n=t;break}return n}transformRow(e,t){var n=`accessor`+(t.charAt(0).toUpperCase()+t.slice(1)),r=e.getComponent(),i=q.deepClone(e.data||{});return this.table.columnManager.traverse(function(e){var a,o,s,c;e.modules.accessor&&(o=e.modules.accessor[n]||e.modules.accessor.accessor||!1,o&&(a=e.getFieldValue(i),a!=`undefined`&&(c=e.getComponent(),s=typeof o.params==`function`?o.params(a,i,t,c,r):o.params,e.setFieldValue(i,o.accessor(a,i,t,s,c,r)))))}),i}},k(p,`moduleName`,`accessor`),k(p,`accessors`,{rownum:function(e,t,n,r,i,a){return a.getPosition()}}),p),pi={method:`GET`};function mi(e,t){var n=[];if(t||=``,Array.isArray(e))e.forEach((e,r)=>{n=n.concat(mi(e,t?t+`[`+r+`]`:r))});else if(typeof e==`object`)for(var r in e)n=n.concat(mi(e[r],t?t+`[`+r+`]`:r));else n.push({key:t,value:e});return n}function hi(e){var t=mi(e),n=[];return t.forEach(function(e){n.push(encodeURIComponent(e.key)+`=`+encodeURIComponent(e.value))}),n.join(`&`)}function gi(e,t,n){return e&&n&&Object.keys(n).length&&(!t.method||t.method.toLowerCase()==`get`)&&(t.method=`get`,e+=(e.includes(`?`)?`&`:`?`)+hi(n)),e}function _i(e,t,n){var r;return new Promise((i,a)=>{if(e=this.urlGenerator.call(this.table,e,t,n),t.method.toUpperCase()!=`GET`)if(r=typeof this.table.options.ajaxContentType==`object`?this.table.options.ajaxContentType:this.contentTypeFormatters[this.table.options.ajaxContentType],r){for(var o in r.headers)t.headers||={},t.headers[o]===void 0&&(t.headers[o]=r.headers[o]);t.body=r.body.call(this,e,t,n)}else console.warn(`Ajax Error - Invalid ajaxContentType value:`,this.table.options.ajaxContentType);e?(t.headers===void 0&&(t.headers={}),t.headers.Accept===void 0&&(t.headers.Accept=`application/json`),t.headers[`X-Requested-With`]===void 0&&(t.headers[`X-Requested-With`]=`XMLHttpRequest`),t.mode===void 0&&(t.mode=`cors`),t.mode==`cors`?(t.headers.Origin===void 0&&(t.headers.Origin=window.location.origin),t.credentials===void 0&&(t.credentials=`same-origin`)):t.credentials===void 0&&(t.credentials=`include`),fetch(e,t).then(e=>{e.ok?e.json().then(e=>{i(e)}).catch(e=>{a(e),console.warn(`Ajax Load Error - Invalid JSON returned`,e)}):(console.error(`Ajax Load Error - Connection Error: `+e.status,e.statusText),a(e))}).catch(e=>{console.error(`Ajax Load Error - Connection Error: `,e),a(e)})):(console.warn(`Ajax Load Error - No URL Set`),i([]))})}function vi(e,t){var n=[];if(t||=``,Array.isArray(e))e.forEach((e,r)=>{n=n.concat(vi(e,t?t+`[`+r+`]`:r))});else if(typeof e==`object`)for(var r in e)n=n.concat(vi(e[r],t?t+`[`+r+`]`:r));else n.push({key:t,value:e});return n}var yi=(m=class e extends J{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=e.contentTypeFormatters}initialize(){this.loaderPromise=this.table.options.ajaxRequestFunc||e.defaultLoaderPromise,this.urlGenerator=this.table.options.ajaxURLGenerator||e.defaultURLGenerator,this.table.options.ajaxURL&&this.setUrl(this.table.options.ajaxURL),this.setDefaultConfig(this.table.options.ajaxConfig),this.registerTableFunction(`getAjaxUrl`,this.getUrl.bind(this)),this.subscribe(`data-loading`,this.requestDataCheck.bind(this)),this.subscribe(`data-params`,this.requestParams.bind(this)),this.subscribe(`data-load`,this.requestData.bind(this))}requestParams(e,t,n,r){var i=this.table.options.ajaxParams;return i&&(typeof i==`function`&&(i=i.call(this.table)),r=Object.assign(Object.assign({},i),r)),r}requestDataCheck(e,t,n,r){return!!(!e&&this.url||typeof e==`string`)}requestData(e,t,n,r,i){var a;return!i&&this.requestDataCheck(e)?(e&&this.setUrl(e),a=this.generateConfig(n),this.sendRequest(this.url,t,a)):i}setDefaultConfig(t={}){this.config=Object.assign({},e.defaultConfig),typeof t==`string`?this.config.method=t:Object.assign(this.config,t)}generateConfig(e={}){var t=Object.assign({},this.config);return typeof e==`string`?t.method=e:Object.assign(t,e),t}setUrl(e){this.url=e}getUrl(){return this.url}sendRequest(e,t,n){return this.table.options.ajaxRequesting.call(this.table,e,t)===!1?Promise.reject():this.loaderPromise(e,n,t).then(n=>(this.table.options.ajaxResponse&&(n=this.table.options.ajaxResponse.call(this.table,e,t,n)),n))}},k(m,`moduleName`,`ajax`),k(m,`defaultConfig`,pi),k(m,`defaultURLGenerator`,gi),k(m,`defaultLoaderPromise`,_i),k(m,`contentTypeFormatters`,{json:{headers:{"Content-Type":`application/json`},body:function(e,t,n){return JSON.stringify(n)}},form:{headers:{},body:function(e,t,n){var r=vi(n),i=new FormData;return r.forEach(function(e){i.append(e.key,e.value)}),i}}}),m),bi=(h=class e extends J{constructor(e){super(e),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,(this.mode===!0||this.mode===`copy`)&&this.table.element.addEventListener(`copy`,e=>{var t,n,r;this.blocked||(e.preventDefault(),this.customSelection?(t=this.customSelection,this.table.options.clipboardCopyFormatter&&(t=this.table.options.clipboardCopyFormatter(`plain`,t))):(r=this.table.modules.export.generateExportList(this.table.options.clipboardCopyConfig,this.table.options.clipboardCopyStyled,this.rowRange,`clipboard`),n=this.table.modules.export.generateHTMLTable(r),t=n?this.generatePlainContent(r):``,this.table.options.clipboardCopyFormatter&&(t=this.table.options.clipboardCopyFormatter(`plain`,t),n=this.table.options.clipboardCopyFormatter(`html`,n))),window.clipboardData&&window.clipboardData.setData?window.clipboardData.setData(`Text`,t):e.clipboardData&&e.clipboardData.setData?(e.clipboardData.setData(`text/plain`,t),n&&e.clipboardData.setData(`text/html`,n)):e.originalEvent&&e.originalEvent.clipboardData.setData&&(e.originalEvent.clipboardData.setData(`text/plain`,t),n&&e.originalEvent.clipboardData.setData(`text/html`,n)),this.dispatchExternal(`clipboardCopied`,t,n),this.reset())}),(this.mode===!0||this.mode===`paste`)&&this.table.element.addEventListener(`paste`,e=>{this.paste(e)}),this.setPasteParser(this.table.options.clipboardPasteParser),this.setPasteAction(this.table.options.clipboardPasteAction),this.registerTableFunction(`copyToClipboard`,this.copy.bind(this))}reset(){this.blocked=!0,this.customSelection=!1}generatePlainContent(e){var t=[];return e.forEach(e=>{var n=[];e.columns.forEach(t=>{var r=``;if(t)if(e.type===`group`&&(t.value=t.component.getKey()),t.value===null)r=``;else switch(typeof t.value){case`object`:r=JSON.stringify(t.value);break;case`undefined`:r=``;break;default:r=t.value}n.push(r)}),t.push(n.join(` `))}),t.join(`
`)}copy(e,t){var n,r;this.blocked=!1,this.customSelection=!1,(this.mode===!0||this.mode===`copy`)&&(this.rowRange=e||this.table.options.clipboardCopyRowRange,window.getSelection!==void 0&&document.createRange!==void 0?(e=document.createRange(),e.selectNodeContents(this.table.element),n=window.getSelection(),n.toString()&&t&&(this.customSelection=n.toString()),n.removeAllRanges(),n.addRange(e)):document.selection!==void 0&&document.body.createTextRange!==void 0&&(r=document.body.createTextRange(),r.moveToElementText(this.table.element),r.select()),document.execCommand(`copy`),n&&n.removeAllRanges())}setPasteAction(t){switch(typeof t){case`string`:this.pasteAction=e.pasteActions[t],this.pasteAction||console.warn(`Clipboard Error - No such paste action found:`,t);break;case`function`:this.pasteAction=t;break}}setPasteParser(t){switch(typeof t){case`string`:this.pasteParser=e.pasteParsers[t],this.pasteParser||console.warn(`Clipboard Error - No such paste parser found:`,t);break;case`function`:this.pasteParser=t;break}}paste(e){var t,n,r;this.checkPasteOrigin(e)&&(t=this.getPasteData(e),n=this.pasteParser.call(this,t),n?(e.preventDefault(),this.table.modExists(`mutator`)&&(n=this.mutateData(n)),r=this.pasteAction.call(this,n),this.dispatchExternal(`clipboardPasted`,t,n,r)):this.dispatchExternal(`clipboardPasteError`,t))}mutateData(e){var t=[];return Array.isArray(e)?e.forEach(e=>{t.push(this.table.modules.mutator.transformRow(e,`clipboard`))}):t=e,t}checkPasteOrigin(e){var t=!0;return(this.confirm(`clipboard-paste`,[e])||![`DIV`,`SPAN`].includes(e.target.tagName))&&(t=!1),t}getPasteData(e){var t;return window.clipboardData&&window.clipboardData.getData?t=window.clipboardData.getData(`Text`):e.clipboardData&&e.clipboardData.getData?t=e.clipboardData.getData(`text/plain`):e.originalEvent&&e.originalEvent.clipboardData.getData&&(t=e.originalEvent.clipboardData.getData(`text/plain`)),t}},k(h,`moduleName`,`clipboard`),k(h,`moduleExtensions`,{keybindings:{bindings:{copyToClipboard:[`ctrl + 67`,`meta + 67`]},actions:{copyToClipboard:function(e){this.table.modules.edit.currentCell||this.table.modExists(`clipboard`,!0)&&this.table.modules.clipboard.copy(!1,!0)}}}}),k(h,`pasteActions`,{replace:function(e){return this.table.setData(e)},update:function(e){return this.table.updateOrAddData(e)},insert:function(e){return this.table.addData(e)}}),k(h,`pasteParsers`,{table:function(e){var t=[],n=!0,r=this.table.columnManager.columns,i=[],a=[];return e=e.split(`
`),e.forEach(function(e){t.push(e.split(` `))}),t.length&&!(t.length===1&&t[0].length<2)?(t[0].forEach(function(e){var t=r.find(function(t){return e&&t.definition.title&&e.trim()&&t.definition.title.trim()===e.trim()});t?i.push(t):n=!1}),n||(n=!0,i=[],t[0].forEach(function(e){var t=r.find(function(t){return e&&t.field&&e.trim()&&t.field.trim()===e.trim()});t?i.push(t):n=!1}),n||(i=this.table.columnManager.columnsByIndex)),n&&t.shift(),t.forEach(function(e){var t={};e.forEach(function(e,n){i[n]&&(t[i[n].field]=e)}),a.push(t)}),a):!1}}),h),xi=class{constructor(e){return this._row=e,new Proxy(this,{get:function(e,t,n){return e[t]===void 0?e._row.table.componentFunctionBinder.handle(`row`,e._row,t):e[t]}})}getData(e){return this._row.getData(e)}getElement(){return this._row.getElement()}getTable(){return this._row.table}getCells(){var e=[];return this._row.getCells().forEach(function(t){e.push(t.getComponent())}),e}getCell(e){var t=this._row.getCell(e);return t?t.getComponent():!1}_getSelf(){return this._row}},Si=class{constructor(e){return this._cell=e,new Proxy(this,{get:function(e,t,n){return e[t]===void 0?e._cell.table.componentFunctionBinder.handle(`cell`,e._cell,t):e[t]}})}getValue(){return this._cell.getValue()}getOldValue(){return this._cell.getOldValue()}getInitialValue(){return this._cell.initialValue}getElement(){return this._cell.getElement()}getRow(){return this._cell.row.getComponent()}getData(e){return this._cell.row.getData(e)}getType(){return`cell`}getField(){return this._cell.column.getField()}getColumn(){return this._cell.column.getComponent()}setValue(e,t){t===void 0&&(t=!0),this._cell.setValue(e,t)}restoreOldValue(){this._cell.setValueActual(this._cell.getOldValue())}restoreInitialValue(){this._cell.setValueActual(this._cell.initialValue)}checkHeight(){this._cell.checkHeight()}getTable(){return this._cell.table}_getSelf(){return this._cell}},Ci=class extends K{constructor(e,t){super(e.table),this.table=e.table,this.column=e,this.row=t,this.element=null,this.value=null,this.initialValue,this.oldValue=null,this.modules={},this.height=null,this.width=null,this.minWidth=null,this.component=null,this.loaded=!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 e=this.element,t=this.column.getField(),n={top:`flex-start`,bottom:`flex-end`,middle:`center`},r={left:`flex-start`,right:`flex-end`,center:`center`};e.style.textAlign=this.column.hozAlign,this.column.vertAlign&&(e.style.display=`inline-flex`,e.style.alignItems=n[this.column.vertAlign]||``,this.column.hozAlign&&(e.style.justifyContent=r[this.column.hozAlign]||``)),t&&e.setAttribute(`tabulator-field`,t),this.column.definition.cssClass&&this.column.definition.cssClass.split(` `).forEach(t=>{e.classList.add(t)}),this.dispatch(`cell-init`,this),this.column.visible||this.hide()}_generateContents(){var e=this.chain(`cell-format`,this,null,()=>this.element.innerHTML=this.value);switch(typeof e){case`object`:if(e instanceof Node){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.element.appendChild(e)}else this.element.innerHTML=``,e!=null&&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:`,e);break;case`undefined`:this.element.innerHTML=``;break;default:this.element.innerHTML=e}}cellRendered(){this.dispatch(`cell-rendered`,this)}getElement(e){return this.loaded||(this.loaded=!0,e||this.layoutElement()),this.element}getValue(){return this.value}getOldValue(){return this.oldValue}setValue(e,t,n){this.setValueProcessData(e,t,n)&&(this.dispatch(`cell-value-updated`,this),this.cellRendered(),this.column.definition.cellEdited&&this.column.definition.cellEdited.call(this.table,this.getComponent()),this.dispatchExternal(`cellEdited`,this.getComponent()),this.subscribedExternal(`dataChanged`)&&this.dispatchExternal(`dataChanged`,this.table.rowManager.getData()))}setValueProcessData(e,t,n){var r=!1;return(this.value!==e||n)&&(r=!0,t&&(e=this.chain(`cell-value-changing`,[this,e],null,e))),this.setValueActual(e),r&&this.dispatch(`cell-value-changed`,this),r}setValueActual(e){this.oldValue=this.value,this.value=e,this.dispatch(`cell-value-save-before`,this),this.column.setFieldValue(this.row.data,e),this.dispatch(`cell-value-save-after`,this),this.loaded&&this.layoutElement()}layoutElement(){this._generateContents(),this.dispatch(`cell-layout`,this)}setWidth(){this.width=this.column.width,this.element.style.width=this.column.widthStyled}clearWidth(){this.width=``,this.element.style.width=``}getWidth(){return this.width||this.element.offsetWidth}setMinWidth(){this.minWidth=this.column.minWidth,this.element.style.minWidth=this.column.minWidthStyled}setMaxWidth(){this.maxWidth=this.column.maxWidth,this.element.style.maxWidth=this.column.maxWidthStyled}checkHeight(){this.row.reinitializeHeight()}clearHeight(){this.element.style.height=``,this.height=null,this.dispatch(`cell-height`,this,``)}setHeight(){this.height=this.row.height,this.element.style.height=this.row.heightStyled,this.dispatch(`cell-height`,this,this.row.heightStyled)}getHeight(){return this.height||this.element.offsetHeight}show(){this.element.style.display=this.column.vertAlign?`inline-flex`:``}hide(){this.element.style.display=`none`}delete(){this.dispatch(`cell-delete`,this),!this.table.rowManager.redrawBlock&&this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.element=!1,this.column.deleteCell(this),this.row.deleteCell(this),this.calcs={}}getIndex(){return this.row.getCellIndex(this)}getComponent(){return this.component||=new Si(this),this.component}},wi=class{constructor(e){return this._column=e,this.type=`ColumnComponent`,new Proxy(this,{get:function(e,t,n){return e[t]===void 0?e._column.table.componentFunctionBinder.handle(`column`,e._column,t):e[t]}})}getElement(){return this._column.getElement()}getDefinition(){return this._column.getDefinition()}getField(){return this._column.getField()}getTitleDownload(){return this._column.getTitleDownload()}getCells(){var e=[];return this._column.cells.forEach(function(t){e.push(t.getComponent())}),e}isVisible(){return this._column.visible}show(){this._column.isGroup?this._column.columns.forEach(function(e){e.show()}):this._column.show()}hide(){this._column.isGroup?this._column.columns.forEach(function(e){e.hide()}):this._column.hide()}toggle(){this._column.visible?this.hide():this.show()}delete(){return this._column.delete()}getSubColumns(){var e=[];return this._column.columns.length&&this._column.columns.forEach(function(t){e.push(t.getComponent())}),e}getParentColumn(){return this._column.getParentComponent()}_getSelf(){return this._column}scrollTo(e,t){return this._column.table.columnManager.scrollToColumn(this._column,e,t)}getTable(){return this._column.table}move(e,t){var n=this._column.table.columnManager.findColumn(e);n?this._column.table.columnManager.moveColumn(this._column,n,t):console.warn(`Move Error - No matching column found:`,n)}getNextColumn(){var e=this._column.nextColumn();return e?e.getComponent():!1}getPrevColumn(){var e=this._column.prevColumn();return e?e.getComponent():!1}updateDefinition(e){return this._column.updateDefinition(e)}getWidth(){return this._column.getWidth()}setWidth(e){var t=e===!0?this._column.reinitializeWidth(!0):this._column.setWidth(e);return this._column.table.columnManager.rerenderColumns(!0),t}},Ti={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},Ei=(g=class e extends K{constructor(t,n,r){super(n.table),this.definition=t,this.parent=n,this.type=`column`,this.columns=[],this.cells=[],this.isGroup=!1,this.isRowHeader=r,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,n)=>{var r=new e(t,this);this.attachColumn(r)}),this.checkColumnVisibility()):n.registerColumnField(this),this._initialize()}createElement(){var e=document.createElement(`div`);switch(e.classList.add(`tabulator-col`),e.setAttribute(`role`,`columnheader`),e.setAttribute(`aria-sort`,`none`),this.isRowHeader&&e.classList.add(`tabulator-row-header`),this.table.options.columnHeaderVertAlign){case`middle`:e.style.justifyContent=`center`;break;case`bottom`:e.style.justifyContent=`flex-end`;break}return e}createGroupElement(){var e=document.createElement(`div`);return e.classList.add(`tabulator-col-group-cols`),e}mapDefinitions(){var t=this.table.options.columnDefaults;if(t)for(let e in t)this.definition[e]===void 0&&(this.definition[e]=t[e]);this.definition=this.table.columnManager.optionsList.generate(e.defaultOptionList,this.definition)}checkDefinition(){Object.keys(this.definition).forEach(t=>{e.defaultOptionList.indexOf(t)===-1&&console.warn(`Invalid column definition option in '`+(this.field||this.definition.title)+`' column:`,t)})}setField(e){this.field=e,this.fieldStructure=e?this.table.options.nestedFieldSeparator?e.split(this.table.options.nestedFieldSeparator):[e]:[],this.getFieldValue=this.fieldStructure.length>1?this._getNestedData:this._getFlatData,this.setFieldValue=this.fieldStructure.length>1?this._setNestedData:this._setFlatData}registerColumnPosition(e){this.parent.registerColumnPosition(e)}registerColumnField(e){this.parent.registerColumnField(e)}reRegisterPosition(){this.isGroup?this.columns.forEach(function(e){e.reRegisterPosition()}):this.registerColumnPosition(this)}_initialize(){for(var e=this.definition;this.element.firstChild;)this.element.removeChild(this.element.firstChild);e.headerVertical&&(this.element.classList.add(`tabulator-col-vertical`),e.headerVertical===`flip`&&this.element.classList.add(`tabulator-col-vertical-flip`)),this.contentElement=this._buildColumnHeaderContent(),this.element.appendChild(this.contentElement),this.isGroup?this._buildGroupHeader():this._buildColumnHeader(),this.dispatch(`column-init`,this)}_buildColumnHeader(){var e=this.definition;this.dispatch(`column-layout`,this),e.visible!==void 0&&(e.visible?this.show(!0):this.hide(!0)),e.cssClass&&e.cssClass.split(` `).forEach(e=>{this.element.classList.add(e)}),e.field&&this.element.setAttribute(`tabulator-field`,e.field),this.setMinWidth(parseInt(e.minWidth)),e.maxInitialWidth&&(this.maxInitialWidth=parseInt(e.maxInitialWidth)),e.maxWidth&&this.setMaxWidth(parseInt(e.maxWidth)),this.reinitializeWidth(),this.hozAlign=this.definition.hozAlign,this.vertAlign=this.definition.vertAlign,this.titleElement.style.textAlign=this.definition.headerHozAlign}_buildColumnHeaderContent(){var e=document.createElement(`div`);return e.classList.add(`tabulator-col-content`),this.titleHolderElement=document.createElement(`div`),this.titleHolderElement.classList.add(`tabulator-col-title-holder`),e.appendChild(this.titleHolderElement),this.titleElement=this._buildColumnHeaderTitle(),this.titleHolderElement.appendChild(this.titleElement),e}_buildColumnHeaderTitle(){var e=this.definition,t=document.createElement(`div`);if(t.classList.add(`tabulator-col-title`),e.headerWordWrap&&t.classList.add(`tabulator-col-title-wrap`),e.editableTitle){var n=document.createElement(`input`);n.classList.add(`tabulator-title-editor`),n.addEventListener(`click`,e=>{e.stopPropagation(),n.focus()}),n.addEventListener(`mousedown`,e=>{e.stopPropagation()}),n.addEventListener(`change`,()=>{e.title=n.value,this.dispatchExternal(`columnTitleChanged`,this.getComponent())}),t.appendChild(n),e.field?this.langBind(`columns|`+e.field,t=>{n.value=t||e.title||` `}):n.value=e.title||` `}else e.field?this.langBind(`columns|`+e.field,n=>{this._formatColumnHeaderTitle(t,n||e.title||` `)}):this._formatColumnHeaderTitle(t,e.title||` `);return t}_formatColumnHeaderTitle(e,t){var n=this.chain(`column-format`,[this,t,e],null,()=>t);switch(typeof n){case`object`:n instanceof Node?e.appendChild(n):(e.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:`,n));break;case`undefined`:e.innerHTML=``;break;default:e.innerHTML=n}}_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(e=>{this.element.classList.add(e)}),this.titleElement.style.textAlign=this.definition.headerHozAlign,this.element.appendChild(this.groupElement)}_getFlatData(e){return e[this.field]}_getNestedData(e){var t=e,n=this.fieldStructure,r=n.length,i;for(let e=0;e<r&&(t=t[n[e]],i=t,t);e++);return i}_setFlatData(e,t){this.field&&(e[this.field]=t)}_setNestedData(e,t){var n=e,r=this.fieldStructure,i=r.length;for(let e=0;e<i;e++)if(e==i-1)n[r[e]]=t;else{if(!n[r[e]])if(t!==void 0)n[r[e]]={};else break;n=n[r[e]]}}attachColumn(e){this.groupElement?(this.columns.push(e),this.groupElement.appendChild(e.getElement()),e.columnRendered()):console.warn(`Column Warning - Column being attached to another column instead of column group`)}verticalAlign(e,t){var n=this.parent.isGroup?this.parent.getGroupElement().clientHeight:t||this.parent.getHeadersElement().clientHeight;this.element.style.height=n+`px`,this.dispatch(`column-height`,this,this.element.style.height),this.isGroup&&(this.groupElement.style.minHeight=n-this.contentElement.offsetHeight+`px`),this.columns.forEach(function(t){t.verticalAlign(e)})}clearVerticalAlign(){this.element.style.paddingTop=``,this.element.style.height=``,this.element.style.minHeight=``,this.groupElement.style.minHeight=``,this.columns.forEach(function(e){e.clearVerticalAlign()}),this.dispatch(`column-height`,this,``)}getElement(){return this.element}getGroupElement(){return this.groupElement}getField(){return this.field}getTitleDownload(){return this.titleDownload}getFirstColumn(){return this.isGroup?this.columns.length?this.columns[0].getFirstColumn():!1:this}getLastColumn(){return this.isGroup?this.columns.length?this.columns[this.columns.length-1].getLastColumn():!1:this}getColumns(e){var t=[];return e?this.columns.forEach(e=>{t.push(e),t=t.concat(e.getColumns(!0))}):t=this.columns,t}getCells(){return this.cells}getTopColumn(){return this.parent.isGroup?this.parent.getTopColumn():this}getDefinition(e){var t=[];return this.isGroup&&e&&(this.columns.forEach(function(e){t.push(e.getDefinition(!0))}),this.definition.columns=t),this.definition}checkColumnVisibility(){var e=!1;this.columns.forEach(function(t){t.visible&&(e=!0)}),e?(this.show(),this.dispatchExternal(`columnVisibilityChanged`,this.getComponent(),!1)):this.hide()}show(e,t){this.visible||(this.visible=!0,this.element.style.display=``,this.parent.isGroup&&this.parent.checkColumnVisibility(),this.cells.forEach(function(e){e.show()}),!this.isGroup&&this.width===null&&this.reinitializeWidth(),this.table.columnManager.verticalAlignHeaders(),this.dispatch(`column-show`,this,t),e||this.dispatchExternal(`columnVisibilityChanged`,this.getComponent(),!0),this.parent.isGroup&&this.parent.matchChildWidths(),this.silent||this.table.columnManager.rerenderColumns())}hide(e,t){this.visible&&(this.visible=!1,this.element.style.display=`none`,this.table.columnManager.verticalAlignHeaders(),this.parent.isGroup&&this.parent.checkColumnVisibility(),this.cells.forEach(function(e){e.hide()}),this.dispatch(`column-hide`,this,t),e||this.dispatchExternal(`columnVisibilityChanged`,this.getComponent(),!1),this.parent.isGroup&&this.parent.matchChildWidths(),this.silent||this.table.columnManager.rerenderColumns())}matchChildWidths(){var e=0;this.contentElement&&this.columns.length&&(this.columns.forEach(function(t){t.visible&&(e+=t.getWidth())}),this.contentElement.style.maxWidth=e-1+`px`,this.table.initialized&&(this.element.style.width=e+`px`),this.parent.isGroup&&this.parent.matchChildWidths())}removeChild(e){var t=this.columns.indexOf(e);t>-1&&this.columns.splice(t,1),this.columns.length||this.delete()}setWidth(e){this.widthFixed=!0,this.setWidthActual(e)}setWidthActual(e){isNaN(e)&&(e=Math.floor(this.table.element.clientWidth/100*parseInt(e))),e=Math.max(this.minWidth,e),this.maxWidth&&(e=Math.min(this.maxWidth,e)),this.width=e,this.widthStyled=e?e+`px`:``,this.element.style.width=this.widthStyled,this.isGroup||this.cells.forEach(function(e){e.setWidth()}),this.parent.isGroup&&this.parent.matchChildWidths(),this.dispatch(`column-width`,this),this.subscribedExternal(`columnWidth`)&&this.dispatchExternal(`columnWidth`,this.getComponent())}checkCellHeights(){var e=[];this.cells.forEach(function(t){t.row.heightInitialized&&(t.row.getElement().offsetParent===null?t.row.heightInitialized=!1:(e.push(t.row),t.row.clearCellHeight()))}),e.forEach(function(e){e.calcHeight()}),e.forEach(function(e){e.setCellHeight()})}getWidth(){var e=0;return this.isGroup?this.columns.forEach(function(t){t.visible&&(e+=t.getWidth())}):e=this.width,e}getLeftOffset(){var e=this.element.offsetLeft;return this.parent.isGroup&&(e+=this.parent.getLeftOffset()),e}getHeight(){return Math.ceil(this.element.getBoundingClientRect().height)}setMinWidth(e){this.maxWidth&&e>this.maxWidth&&(e=this.maxWidth,console.warn(`the minWidth (`+e+`px) for column '`+this.field+`' cannot be bigger that its maxWidth (`+this.maxWidthStyled+`)`)),this.minWidth=e,this.minWidthStyled=e?e+`px`:``,this.element.style.minWidth=this.minWidthStyled,this.cells.forEach(function(e){e.setMinWidth()})}setMaxWidth(e){this.minWidth&&e<this.minWidth&&(e=this.minWidth,console.warn(`the maxWidth (`+e+`px) for column '`+this.field+`' cannot be smaller that its minWidth (`+this.minWidthStyled+`)`)),this.maxWidth=e,this.maxWidthStyled=e?e+`px`:``,this.element.style.maxWidth=this.maxWidthStyled,this.cells.forEach(function(e){e.setMaxWidth()})}delete(){return new Promise((e,t)=>{this.isGroup&&this.columns.forEach(function(e){e.delete()}),this.dispatch(`column-delete`,this);var n=this.cells.length;for(let e=0;e<n;e++)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),e()})}columnRendered(){this.titleFormatterRendered&&this.titleFormatterRendered(),this.dispatch(`column-rendered`,this)}generateCell(e){var t=new Ci(this,e);return this.cells.push(t),t}nextColumn(){var e=this.table.columnManager.findColumnIndex(this);return e>-1?this._nextVisibleColumn(e+1):!1}_nextVisibleColumn(e){var t=this.table.columnManager.getColumnByIndex(e);return!t||t.visible?t:this._nextVisibleColumn(e+1)}prevColumn(){var e=this.table.columnManager.findColumnIndex(this);return e>-1?this._prevVisibleColumn(e-1):!1}_prevVisibleColumn(e){var t=this.table.columnManager.getColumnByIndex(e);return!t||t.visible?t:this._prevVisibleColumn(e-1)}reinitializeWidth(e){this.widthFixed=!1,this.definition.width!==void 0&&!e&&this.setWidth(this.definition.width),this.dispatch(`column-width-fit-before`,this),this.fitToData(e),this.dispatch(`column-width-fit-after`,this)}fitToData(e){if(!this.isGroup){this.widthFixed||(this.element.style.width=``,this.cells.forEach(e=>{e.clearWidth()}));var t=this.element.offsetWidth;if((!this.width||!this.widthFixed)&&(this.cells.forEach(e=>{var n=e.getWidth();n>t&&(t=n)}),t)){var n=t+1;e?this.setWidth(n):(this.maxInitialWidth&&!e&&(n=Math.min(n,this.maxInitialWidth)),this.setWidthActual(n))}}}updateDefinition(e){var t;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`)):(t=Object.assign({},this.getDefinition()),t=Object.assign(t,e),this.table.columnManager.addColumn(t,!1,this).then(e=>(t.field==this.field&&(this.field=!1),this.delete().then(()=>e.getComponent()))))}deleteCell(e){var t=this.cells.indexOf(e);t>-1&&this.cells.splice(t,1)}getComponent(){return this.component||=new wi(this),this.component}getPosition(){return this.table.columnManager.getVisibleColumnsByIndex().indexOf(this)+1}getParentComponent(){return this.parent instanceof e?this.parent.getComponent():!1}},k(g,`defaultOptionList`,Ti),g),Di=class{constructor(e){return this._row=e,new Proxy(this,{get:function(e,t,n){return e[t]===void 0?e._row.table.componentFunctionBinder.handle(`row`,e._row,t):e[t]}})}getData(e){return this._row.getData(e)}getElement(){return this._row.getElement()}getCells(){var e=[];return this._row.getCells().forEach(function(t){e.push(t.getComponent())}),e}getCell(e){var t=this._row.getCell(e);return t?t.getComponent():!1}getIndex(){return this._row.getData(`data`)[this._row.table.options.index]}getPosition(){return this._row.getPosition()}watchPosition(e){return this._row.watchPosition(e)}delete(){return this._row.delete()}scrollTo(e,t){return this._row.table.rowManager.scrollToRow(this._row,e,t)}move(e,t){this._row.moveToRow(e,t)}update(e){return this._row.updateData(e)}normalizeHeight(){this._row.normalizeHeight(!0)}_getSelf(){return this._row}reformat(){return this._row.reinitialize()}getTable(){return this._row.table}getNextRow(){var e=this._row.nextRow();return e&&e.getComponent()}getPrevRow(){var e=this._row.prevRow();return e&&e.getComponent()}},Y=class extends K{constructor(e,t,n=`row`){super(t.table),this.parent=t,this.data={},this.type=n,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(e)}create(){this.created||(this.created=!0,this.generateElement())}createElement(){var e=document.createElement(`div`);e.classList.add(`tabulator-row`),e.setAttribute(`role`,`row`),this.element=e}getElement(){return this.create(),this.element}detachElement(){this.element&&this.element.parentNode&&this.element.parentNode.removeChild(this.element)}generateElement(){this.createElement(),this.dispatch(`row-init`,this)}generateCells(){this.cells=this.table.columnManager.generateCells(this)}initialize(e,t){if(this.create(),!this.initialized||e){for(this.deleteCells();this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.dispatch(`row-layout-before`,this),this.generateCells(),this.initialized=!0,this.table.columnManager.renderer.renderRowCells(this,t),e&&this.normalizeHeight(),this.dispatch(`row-layout`,this),this.table.options.rowFormatter&&this.table.options.rowFormatter(this.getComponent()),this.dispatch(`row-layout-after`,this)}else this.table.columnManager.renderer.rerenderRowCells(this,t)}rendered(){this.cells.forEach(e=>{e.cellRendered()})}reinitializeHeight(){this.heightInitialized=!1,this.element&&this.element.offsetParent!==null&&this.normalizeHeight(!0)}deinitialize(){this.initialized=!1}deinitializeHeight(){this.heightInitialized=!1}reinitialize(e){this.initialized=!1,this.heightInitialized=!1,this.manualHeight||(this.height=0,this.heightStyled=``),this.element&&this.element.offsetParent!==null&&this.initialize(!0),this.dispatch(`row-relayout`,this)}calcHeight(e){var t=0,n=0;this.table.options.rowHeight?this.height=this.table.options.rowHeight:(n=this.calcMinHeight(),t=this.calcMaxHeight(),e?this.height=Math.max(t,n):this.height=this.manualHeight?this.height:Math.max(t,n)),this.heightStyled=this.height?this.height+`px`:``,this.outerHeight=this.element.offsetHeight}calcMinHeight(){return this.table.options.resizableRows?this.element.clientHeight:0}calcMaxHeight(){var e=0;return this.cells.forEach(function(t){var n=t.getHeight();n>e&&(e=n)}),e}setCellHeight(){this.cells.forEach(function(e){e.setHeight()}),this.heightInitialized=!0}clearCellHeight(){this.cells.forEach(function(e){e.clearHeight()})}normalizeHeight(e){e&&!this.table.options.rowHeight&&this.clearCellHeight(),this.calcHeight(e),this.setCellHeight()}setHeight(e,t){(this.height!=e||t)&&(this.manualHeight=!0,this.height=e,this.heightStyled=e?e+`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(e){var t=this.cells.indexOf(e);t>-1&&this.cells.splice(t,1)}setData(e){this.data=this.chain(`row-data-init-before`,[this,e],void 0,e),this.dispatch(`row-data-init-after`,this)}updateData(e){var t=this.element&&q.elVisible(this.element),n={},r;return new Promise((i,a)=>{for(let t in typeof e==`string`&&(e=JSON.parse(e)),this.dispatch(`row-data-save-before`,this),this.subscribed(`row-data-changing`)&&(n=Object.assign(n,this.data),n=Object.assign(n,e)),r=this.chain(`row-data-changing`,[this,n,e],null,e),r)this.data[t]=r[t];for(let n in this.dispatch(`row-data-save-after`,this),e)this.table.columnManager.getColumnsByFieldRoot(n).forEach(e=>{let n=this.getCell(e.getField());if(n){let i=e.getFieldValue(r);n.getValue()!==i&&(n.setValueProcessData(i),t&&n.cellRendered())}});t?(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,t,e),this.dispatchExternal(`rowUpdated`,this.getComponent()),this.subscribedExternal(`dataChanged`)&&this.dispatchExternal(`dataChanged`,this.table.rowManager.getData()),i()})}getData(e){return e?this.chain(`row-data-retrieve`,[this,e],null,this.data):this.data}getCell(e){var t=!1;return e=this.table.columnManager.findColumn(e),!this.initialized&&this.cells.length===0&&this.generateCells(),t=this.cells.find(function(t){return t.column===e}),t}getCellIndex(e){return this.cells.findIndex(function(t){return t===e})}findCell(e){return this.cells.find(t=>t.element===e)}getCells(){return!this.initialized&&this.cells.length===0&&this.generateCells(),this.cells}nextRow(){return this.table.rowManager.nextDisplayRow(this,!0)||!1}prevRow(){return this.table.rowManager.prevDisplayRow(this,!0)||!1}moveToRow(e,t){var n=this.table.rowManager.findRow(e);n?(this.table.rowManager.moveRowActual(this,n,!t),this.table.rowManager.refreshActiveData(`display`,!1,!0)):console.warn(`Move Error - No matching row found:`,e)}delete(){return this.dispatch(`row-delete`,this),this.deleteActual(),Promise.resolve()}deleteActual(e){this.detachModules(),this.table.rowManager.deleteRow(this,e),this.deleteCells(),this.initialized=!1,this.heightInitialized=!1,this.element=!1,this.dispatch(`row-deleted`,this)}detachModules(){this.dispatch(`row-deleting`,this)}deleteCells(){var e=this.cells.length;for(let t=0;t<e;t++)this.cells[0].delete()}wipe(){if(this.detachModules(),this.deleteCells(),this.element){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.element.parentNode&&this.element.parentNode.removeChild(this.element)}this.element=!1,this.modules={}}isDisplayed(){return this.table.rowManager.getDisplayRows().includes(this)}getPosition(){return this.isDisplayed()?this.position:!1}setPosition(e){e!=this.position&&(this.position=e,this.positionWatchers.forEach(e=>{e(this.position)}))}watchPosition(e){this.positionWatchers.push(e),e(this.position)}getGroup(){return this.modules.group||!1}getComponent(){return this.component||=new Di(this),this.component}},Oi=(_=class e extends J{constructor(e){super(e),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 e=document.createElement(`div`);return e.classList.add(`tabulator-calcs-holder`),e}initialize(){this.genColumn=new Ei({field:`value`},this),this.subscribe(`cell-value-changed`,this.cellValueChanged.bind(this)),this.subscribe(`column-init`,this.initializeColumnCheck.bind(this)),this.subscribe(`row-deleted`,this.rowsUpdated.bind(this)),this.subscribe(`scroll-horizontal`,this.scrollHorizontal.bind(this)),this.subscribe(`row-added`,this.rowsUpdated.bind(this)),this.subscribe(`column-moved`,this.recalcActiveRows.bind(this)),this.subscribe(`column-add`,this.recalcActiveRows.bind(this)),this.subscribe(`data-refreshed`,this.recalcActiveRowsRefresh.bind(this)),this.subscribe(`table-redraw`,this.tableRedraw.bind(this)),this.subscribe(`rows-visible`,this.visibleRows.bind(this)),this.subscribe(`scrollbar-vertical`,this.adjustForScrollbar.bind(this)),this.subscribe(`redraw-blocked`,this.blockRedraw.bind(this)),this.subscribe(`redraw-restored`,this.restoreRedraw.bind(this)),this.subscribe(`table-redrawing`,this.resizeHolderWidth.bind(this)),this.subscribe(`column-resized`,this.resizeHolderWidth.bind(this)),this.subscribe(`column-show`,this.resizeHolderWidth.bind(this)),this.subscribe(`column-hide`,this.resizeHolderWidth.bind(this)),this.registerTableFunction(`getCalcResults`,this.getResults.bind(this)),this.registerTableFunction(`recalc`,this.userRecalc.bind(this)),this.resizeHolderWidth()}resizeHolderWidth(){this.topElement.style.minWidth=this.table.columnManager.headersElement.offsetWidth+`px`}tableRedraw(e){this.recalc(this.table.rowManager.activeRows),e&&this.redraw()}blockRedraw(){this.blocked=!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(e,t){return this.topRow&&t.unshift(this.topRow),this.botRow&&t.push(this.botRow),t}rowsUpdated(e){this.table.options.groupBy?this.recalcRowGroup(e):this.recalcActiveRows()}recalcActiveRowsRefresh(){this.table.options.groupBy&&this.table.options.dataTreeStartExpanded&&this.table.options.dataTree?this.recalcAll():this.recalcActiveRows()}recalcActiveRows(){this.recalc(this.table.rowManager.activeRows)}cellValueChanged(e){(e.column.definition.topCalc||e.column.definition.bottomCalc)&&(this.table.options.groupBy?((this.table.options.columnCalcs==`table`||this.table.options.columnCalcs==`both`)&&this.recalcActiveRows(),this.table.options.columnCalcs!=`table`&&this.recalcRowGroup(e.row)):this.recalcActiveRows())}initializeColumnCheck(e){(e.definition.topCalc||e.definition.bottomCalc)&&this.initializeColumn(e)}initializeColumn(t){var n=t.definition,r={topCalcParams:n.topCalcParams||{},botCalcParams:n.bottomCalcParams||{}};if(n.topCalc){switch(typeof n.topCalc){case`string`:e.calculations[n.topCalc]?r.topCalc=e.calculations[n.topCalc]:console.warn(`Column Calc Error - No such calculation found, ignoring: `,n.topCalc);break;case`function`:r.topCalc=n.topCalc;break}r.topCalc&&(t.modules.columnCalcs=r,this.topCalcs.push(t),this.table.options.columnCalcs!=`group`&&this.initializeTopRow())}if(n.bottomCalc){switch(typeof n.bottomCalc){case`string`:e.calculations[n.bottomCalc]?r.botCalc=e.calculations[n.bottomCalc]:console.warn(`Column Calc Error - No such calculation found, ignoring: `,n.bottomCalc);break;case`function`:r.botCalc=n.bottomCalc;break}r.botCalc&&(t.modules.columnCalcs=r,this.botCalcs.push(t),this.table.options.columnCalcs!=`group`&&this.initializeBottomRow())}}registerColumnField(){}removeCalcs(){var e=!1;this.topInitialized&&(this.topInitialized=!1,this.topElement.parentNode.removeChild(this.topElement),e=!0),this.botInitialized&&(this.botInitialized=!1,this.footerRemove(this.botElement),e=!0),e&&this.table.rowManager.adjustTableSize()}reinitializeCalcs(){this.topCalcs.length&&this.initializeTopRow(),this.botCalcs.length&&this.initializeBottomRow()}initializeTopRow(){var e=document.createDocumentFragment();this.topInitialized||=(e.appendChild(document.createElement(`br`)),e.appendChild(this.topElement),this.table.columnManager.getContentsElement().insertBefore(e,this.table.columnManager.headersElement.nextSibling),!0)}initializeBottomRow(){this.botInitialized||=(this.footerPrepend(this.botElement),!0)}scrollHorizontal(e){this.botInitialized&&this.botRow&&(this.botElement.scrollLeft=e)}recalc(e){var t,n;if(!this.blockCheck()&&(this.topInitialized||this.botInitialized)){if(t=this.rowsToData(e),this.topInitialized){for(this.topRow&&this.topRow.deleteCells(),n=this.generateRow(`top`,t),this.topRow=n;this.topElement.firstChild;)this.topElement.removeChild(this.topElement.firstChild);this.topElement.appendChild(n.getElement()),n.initialize(!0)}if(this.botInitialized){for(this.botRow&&this.botRow.deleteCells(),n=this.generateRow(`bottom`,t),this.botRow=n;this.botElement.firstChild;)this.botElement.removeChild(this.botElement.firstChild);this.botElement.appendChild(n.getElement()),n.initialize(!0)}this.table.rowManager.adjustTableSize(),this.table.modExists(`frozenColumns`)&&this.table.modules.frozenColumns.layout()}}recalcRowGroup(e){this.recalcGroup(this.table.modules.groupRows.getRowGroup(e))}recalcAll(){(this.topCalcs.length||this.botCalcs.length)&&(this.table.options.columnCalcs!==`group`&&this.recalcActiveRows(),this.table.options.groupBy&&this.table.options.columnCalcs!==`table`&&this.table.modules.groupRows.getChildGroups().forEach(e=>{this.recalcGroup(e)}))}recalcGroup(e){var t,n;this.blockCheck()||e&&e.calcs&&(e.calcs.bottom&&(t=this.rowsToData(e.rows),n=this.generateRowData(`bottom`,t),e.calcs.bottom.updateData(n),e.calcs.bottom.reinitialize()),e.calcs.top&&(t=this.rowsToData(e.rows),n=this.generateRowData(`top`,t),e.calcs.top.updateData(n),e.calcs.top.reinitialize()))}generateTopRow(e){return this.generateRow(`top`,this.rowsToData(e))}generateBottomRow(e){return this.generateRow(`bottom`,this.rowsToData(e))}rowsToData(e){var t=[],n=this.table.options.dataTree&&this.table.options.dataTreeChildColumnCalcs,r=this.table.modules.dataTree;return e.forEach(e=>{t.push(e.getData()),n&&e.modules.dataTree?.open&&this.rowsToData(r.getFilteredTreeChildren(e)).forEach(n=>{t.push(e)})}),t}generateRow(e,t){var n=this.generateRowData(e,t),r;return this.table.modExists(`mutator`)&&this.table.modules.mutator.disable(),r=new Y(n,this,`calc`),this.table.modExists(`mutator`)&&this.table.modules.mutator.enable(),r.getElement().classList.add(`tabulator-calcs`,`tabulator-calcs-`+e),r.component=!1,r.getComponent=()=>(r.component||=new xi(r),r.component),r.generateCells=()=>{var t=[];this.table.columnManager.columnsByIndex.forEach(n=>{this.genColumn.setField(n.getField()),this.genColumn.hozAlign=n.hozAlign,n.definition[e+`CalcFormatter`]&&this.table.modExists(`format`)?this.genColumn.modules.format={formatter:this.table.modules.format.lookupFormatter(n.definition[e+`CalcFormatter`]),params:n.definition[e+`CalcFormatterParams`]||{}}:this.genColumn.modules.format={formatter:this.table.modules.format.lookupFormatter(`plaintext`),params:{}},this.genColumn.definition.cssClass=n.definition.cssClass;var i=new Ci(this.genColumn,r);i.getElement(),i.column=n,i.setWidth(),n.cells.push(i),t.push(i),n.visible||i.hide()}),r.cells=t},r}generateRowData(e,t){var n={},r=e==`top`?this.topCalcs:this.botCalcs,i=e==`top`?`topCalc`:`botCalc`,a,o;return r.forEach(function(e){var r=[];e.modules.columnCalcs&&e.modules.columnCalcs[i]&&(t.forEach(function(t){r.push(e.getFieldValue(t))}),o=i+`Params`,a=typeof e.modules.columnCalcs[o]==`function`?e.modules.columnCalcs[o](r,t):e.modules.columnCalcs[o],e.setFieldValue(n,e.modules.columnCalcs[i](r,t,a)))}),n}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 e={},t;return this.table.options.groupBy&&this.table.modExists(`groupRows`)?(t=this.table.modules.groupRows.getGroups(!0),t.forEach(t=>{e[t.getKey()]=this.getGroupResults(t)})):e={top:this.topRow?this.topRow.getData():{},bottom:this.botRow?this.botRow.getData():{}},e}getGroupResults(e){var t=e._getSelf(),n=e.getSubGroups(),r={},i={};return n.forEach(e=>{r[e.getKey()]=this.getGroupResults(e)}),i={top:t.calcs.top?t.calcs.top.getData():{},bottom:t.calcs.bottom?t.calcs.bottom.getData():{},groups:r},i}adjustForScrollbar(e){this.botRow&&(this.table.rtl?this.botElement.style.paddingLeft=e+`px`:this.botElement.style.paddingRight=e+`px`)}},k(_,`moduleName`,`columnCalcs`),k(_,`calculations`,{avg:function(e,t,n){var r=0,i=n.precision===void 0?2:n.precision;return e.length&&(r=e.reduce(function(e,t){return Number(e)+Number(t)}),r/=e.length,r=i===!1?r:r.toFixed(i)),parseFloat(r).toString()},max:function(e,t,n){var r=null,i=n.precision===void 0?!1:n.precision;return e.forEach(function(e){e=Number(e),(e>r||r===null)&&(r=e)}),r===null?``:i===!1?r:r.toFixed(i)},min:function(e,t,n){var r=null,i=n.precision===void 0?!1:n.precision;return e.forEach(function(e){e=Number(e),(e<r||r===null)&&(r=e)}),r===null?``:i===!1?r:r.toFixed(i)},sum:function(e,t,n){var r=0,i=n.precision===void 0?!1:n.precision;return e.length&&e.forEach(function(e){e=Number(e),r+=isNaN(e)?0:Number(e)}),i===!1?r:r.toFixed(i)},concat:function(e,t,n){var r=0;return e.length&&(r=e.reduce(function(e,t){return String(e)+String(t)})),r},count:function(e,t,n){var r=0;return e.length&&e.forEach(function(e){e&&r++}),r},unique:function(e,t,n){return e.filter((t,n)=>(e||t===0)&&e.indexOf(t)===n).length}}),_),ki=(v=class extends J{constructor(e){super(e),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 e=null,t=this.table.options;switch(this.field=t.dataTreeChildField,this.indent=t.dataTreeChildIndent,this.options(`movableRows`)&&console.warn(`The movableRows option is not available with dataTree enabled, moving of child rows could result in unpredictable behavior`),t.dataTreeBranchElement?t.dataTreeBranchElement===!0?(this.branchEl=document.createElement(`div`),this.branchEl.classList.add(`tabulator-data-tree-branch`)):typeof t.dataTreeBranchElement==`string`?(e=document.createElement(`div`),e.innerHTML=t.dataTreeBranchElement,this.branchEl=e.firstChild):this.branchEl=t.dataTreeBranchElement:(this.branchEl=document.createElement(`div`),this.branchEl.classList.add(`tabulator-data-tree-branch-empty`)),t.dataTreeCollapseElement?typeof t.dataTreeCollapseElement==`string`?(e=document.createElement(`div`),e.innerHTML=t.dataTreeCollapseElement,this.collapseEl=e.firstChild):this.collapseEl=t.dataTreeCollapseElement:(this.collapseEl=document.createElement(`div`),this.collapseEl.classList.add(`tabulator-data-tree-control`),this.collapseEl.tabIndex=0,this.collapseEl.innerHTML=`<div class='tabulator-data-tree-control-collapse'></div>`),t.dataTreeExpandElement?typeof t.dataTreeExpandElement==`string`?(e=document.createElement(`div`),e.innerHTML=t.dataTreeExpandElement,this.expandEl=e.firstChild):this.expandEl=t.dataTreeExpandElement:(this.expandEl=document.createElement(`div`),this.expandEl.classList.add(`tabulator-data-tree-control`),this.expandEl.tabIndex=0,this.expandEl.innerHTML=`<div class='tabulator-data-tree-control-expand'></div>`),typeof t.dataTreeStartExpanded){case`boolean`:this.startOpen=function(e,n){return t.dataTreeStartExpanded};break;case`function`:this.startOpen=t.dataTreeStartExpanded;break;default:this.startOpen=function(e,n){return t.dataTreeStartExpanded[n]};break}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(e){var t;e&&(t=this.table.rowManager.getRows(),t.forEach(e=>{this.reinitializeRowChildren(e)}))}initializeElementField(){var e=this.table.columnManager.getFirstVisibleColumn();this.elementField=this.table.options.dataTreeElementColumn||(e?e.field:!1)}getRowChildren(e){return this.getTreeChildren(e,!0)}columnMoving(){var e=[];return this.table.rowManager.rows.forEach(t=>{e=e.concat(this.getTreeChildren(t,!1,!0))}),e}rowDataChanged(e,t,n){this.redrawNeeded(n)&&(this.initializeRow(e),t&&(this.layoutRow(e),this.refreshData(!0)))}cellValueChanged(e){e.column.getField()===this.elementField&&this.layoutRow(e.row)}initializeRow(e){var t=e.getData()[this.field],n=Array.isArray(t),r=n||!n&&typeof t==`object`&&!!t;!r&&e.modules.dataTree&&e.modules.dataTree.branchEl&&e.modules.dataTree.branchEl.parentNode.removeChild(e.modules.dataTree.branchEl),!r&&e.modules.dataTree&&e.modules.dataTree.controlEl&&e.modules.dataTree.controlEl.parentNode.removeChild(e.modules.dataTree.controlEl),e.modules.dataTree={index:e.modules.dataTree?e.modules.dataTree.index:0,open:r?e.modules.dataTree?e.modules.dataTree.open:this.startOpen(e.getComponent(),0):!1,controlEl:e.modules.dataTree&&r?e.modules.dataTree.controlEl:!1,branchEl:e.modules.dataTree&&r?e.modules.dataTree.branchEl:!1,parent:e.modules.dataTree?e.modules.dataTree.parent:!1,children:r}}reinitializeRowChildren(e){this.getTreeChildren(e,!1,!0).forEach(function(e){e.reinitialize(!0)})}layoutRow(e){var t=(this.elementField?e.getCell(this.elementField):e.getCells()[0]).getElement(),n=e.modules.dataTree;n.branchEl&&=(n.branchEl.parentNode&&n.branchEl.parentNode.removeChild(n.branchEl),!1),n.controlEl&&=(n.controlEl.parentNode&&n.controlEl.parentNode.removeChild(n.controlEl),!1),this.generateControlElement(e,t),e.getElement().classList.add(`tabulator-tree-level-`+n.index),n.index&&(this.branchEl?(n.branchEl=this.branchEl.cloneNode(!0),t.insertBefore(n.branchEl,t.firstChild),this.table.rtl?n.branchEl.style.marginRight=(n.branchEl.offsetWidth+n.branchEl.style.marginLeft)*(n.index-1)+n.index*this.indent+`px`:n.branchEl.style.marginLeft=(n.branchEl.offsetWidth+n.branchEl.style.marginRight)*(n.index-1)+n.index*this.indent+`px`):this.table.rtl?t.style.paddingRight=parseInt(window.getComputedStyle(t,null).getPropertyValue(`padding-right`))+n.index*this.indent+`px`:t.style.paddingLeft=parseInt(window.getComputedStyle(t,null).getPropertyValue(`padding-left`))+n.index*this.indent+`px`)}generateControlElement(e,t){var n=e.modules.dataTree,r=n.controlEl;t||=e.getCells()[0].getElement(),n.children!==!1&&(n.open?(n.controlEl=this.collapseEl.cloneNode(!0),n.controlEl.addEventListener(`click`,t=>{t.stopPropagation(),this.collapseRow(e)})):(n.controlEl=this.expandEl.cloneNode(!0),n.controlEl.addEventListener(`click`,t=>{t.stopPropagation(),this.expandRow(e)})),n.controlEl.addEventListener(`mousedown`,e=>{e.stopPropagation()}),r&&r.parentNode===t?r.parentNode.replaceChild(n.controlEl,r):t.insertBefore(n.controlEl,t.firstChild))}getRows(e){var t=[];return e.forEach((e,n)=>{var r,i;t.push(e),e instanceof Y&&(e.create(),r=e.modules.dataTree,!r.index&&r.children!==!1&&(i=this.getChildren(e,!1,!0),i.forEach(e=>{e.create(),t.push(e)})))}),t}getChildren(e,t,n){var r=e.modules.dataTree,i=[],a=[];return r.children!==!1&&(r.open||t)&&(Array.isArray(r.children)||(r.children=this.generateChildren(e)),i=this.table.modExists(`filter`)&&this.table.options.dataTreeFilter?this.table.modules.filter.filter(r.children):r.children,this.table.modExists(`sort`)&&this.table.options.dataTreeSort&&this.table.modules.sort.sort(i,n),i.forEach(e=>{a.push(e),this.getChildren(e,!1,!0).forEach(e=>{a.push(e)})})),a}generateChildren(e){var t=[],n=e.getData()[this.field];return Array.isArray(n)||(n=[n]),n.forEach(n=>{var r=new Y(n||{},this.table.rowManager);r.create(),r.modules.dataTree.index=e.modules.dataTree.index+1,r.modules.dataTree.parent=e,r.modules.dataTree.children&&(r.modules.dataTree.open=this.startOpen(r.getComponent(),r.modules.dataTree.index)),t.push(r)}),t}expandRow(e,t){var n=e.modules.dataTree;n.children!==!1&&(n.open=!0,e.reinitialize(),this.refreshData(!0),this.dispatchExternal(`dataTreeRowExpanded`,e.getComponent(),e.modules.dataTree.index))}collapseRow(e){var t=e.modules.dataTree;t.children!==!1&&(t.open=!1,e.reinitialize(),this.refreshData(!0),this.dispatchExternal(`dataTreeRowCollapsed`,e.getComponent(),e.modules.dataTree.index))}toggleRow(e){var t=e.modules.dataTree;t.children!==!1&&(t.open?this.collapseRow(e):this.expandRow(e))}isRowExpanded(e){return e.modules.dataTree.open}getTreeParent(e){return e.modules.dataTree.parent?e.modules.dataTree.parent.getComponent():!1}getTreeParentRoot(e){return e.modules.dataTree&&e.modules.dataTree.parent?this.getTreeParentRoot(e.modules.dataTree.parent):e}getFilteredTreeChildren(e){var t=e.modules.dataTree,n=[],r;return t.children&&(Array.isArray(t.children)||(t.children=this.generateChildren(e)),r=this.table.modExists(`filter`)&&this.table.options.dataTreeFilter?this.table.modules.filter.filter(t.children):t.children,r.forEach(e=>{e instanceof Y&&n.push(e)})),n}rowDeleting(e){var t=e.modules.dataTree;t&&t.children&&Array.isArray(t.children)&&t.children.forEach(e=>{e instanceof Y&&e.wipe()})}rowDelete(e){var t=e.modules.dataTree.parent,n;t&&(n=this.findChildIndex(e,t),n!==!1&&t.data[this.field].splice(n,1),t.data[this.field].length||delete t.data[this.field],this.initializeRow(t),this.layoutRow(t)),this.refreshData(!0)}addTreeChildRow(e,t,n,r){var i=!1;typeof t==`string`&&(t=JSON.parse(t)),Array.isArray(e.data[this.field])||(e.data[this.field]=[],e.modules.dataTree.open=this.startOpen(e.getComponent(),e.modules.dataTree.index)),r!==void 0&&(i=this.findChildIndex(r,e),i!==!1&&e.data[this.field].splice(n?i:i+1,0,t)),i===!1&&(n?e.data[this.field].unshift(t):e.data[this.field].push(t)),this.initializeRow(e),this.layoutRow(e),this.refreshData(!0)}findChildIndex(e,t){var n=!1;return typeof e==`object`?e instanceof Y?n=e.data:e instanceof Di?n=e._getSelf().data:typeof HTMLElement<`u`&&e instanceof HTMLElement?t.modules.dataTree&&(n=t.modules.dataTree.children.find(t=>t instanceof Y?t.element===e:!1),n&&=n.data):e===null&&(n=!1):n=e===void 0?!1:t.data[this.field].find(t=>t.data[this.table.options.index]==e),n&&(Array.isArray(t.data[this.field])&&(n=t.data[this.field].indexOf(n)),n==-1&&(n=!1)),n}getTreeChildren(e,t,n){var r=e.modules.dataTree,i=[];return r&&r.children&&(Array.isArray(r.children)||(r.children=this.generateChildren(e)),r.children.forEach(e=>{e instanceof Y&&(i.push(t?e.getComponent():e),n&&this.getTreeChildren(e,t,n).forEach(e=>{i.push(e)}))})),i}getChildField(){return this.field}redrawNeeded(e){return(this.field?e[this.field]!==void 0:!1)||(this.elementField?e[this.elementField]!==void 0:!1)}},k(v,`moduleName`,`dataTree`),v);function Ai(e,t={},n){var r=t.delimiter?t.delimiter:`,`,i=[],a=[];e.forEach(e=>{var t=[];switch(e.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`:e.columns.forEach((e,t)=>{e&&e.depth===1&&(a[t]=e.value===void 0||e.value===null?``:`"`+String(e.value).split(`"`).join(`""`)+`"`)});break;case`row`:e.columns.forEach(e=>{if(e){switch(typeof e.value){case`object`:e.value=e.value===null?``:JSON.stringify(e.value);break;case`undefined`:e.value=``;break}t.push(`"`+String(e.value).split(`"`).join(`""`)+`"`)}}),i.push(t.join(r));break}}),a.length&&i.unshift(a.join(r)),i=i.join(`
`),t.bom&&(i=``+i),n(i,`text/csv`)}function ji(e,t,n){var r=[];e.forEach(e=>{var t={};switch(e.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`:e.columns.forEach(e=>{e&&(t[e.component.getTitleDownload()||e.component.getField()]=e.value)}),r.push(t);break}}),r=JSON.stringify(r,null,` `),n(r,`application/json`)}function Mi(e,t={},n){var r=[],i=[],a={},o=t.rowGroupStyles||{fontStyle:`bold`,fontSize:12,cellPadding:6,fillColor:220},s=t.rowCalcStyles||{fontStyle:`bold`,fontSize:10,cellPadding:4,fillColor:232},c=t.jsPDF||{},l=t.title?t.title:``,u,d;c.orientation||=t.orientation||`landscape`,c.unit||=`pt`,e.forEach(e=>{switch(e.type){case`header`:r.push(f(e));break;case`group`:i.push(f(e,o));break;case`calc`:i.push(f(e,s));break;case`row`:i.push(f(e));break}});function f(e,t){var n=[];return e.columns.forEach(e=>{var r;if(e){switch(typeof e.value){case`object`:e.value=e.value===null?``:JSON.stringify(e.value);break;case`undefined`:e.value=``;break}r={content:e.value,colSpan:e.width,rowSpan:e.height},t&&(r.styles=t),n.push(r)}}),n}u=this.dependencyRegistry.lookup(`jspdf`,`jsPDF`),d=new u(c),t.autoTable&&(a=typeof t.autoTable==`function`?t.autoTable(d)||{}:t.autoTable),l&&(a.didDrawPage=function(e){d.text(l,40,30)}),a.head=r,a.body=i,d.autoTable(a),t.documentProcessing&&t.documentProcessing(d),n(d.output(`arraybuffer`),`application/pdf`)}function Ni(e,t,n){var r=this,i=t.sheetName||`Sheet1`,a=this.dependencyRegistry.lookup(`XLSX`),o=a.utils.book_new(),s=new K(this),c=`compress`in t?t.compress:!0,l=t.writeOptions||{bookType:`xlsx`,bookSST:!0,compression:c},u;l.type=`binary`,o.SheetNames=[],o.Sheets={};function d(){var t=[],n=[],r={},i={s:{c:0,r:0},e:{c:e[0]?e[0].columns.reduce((e,t)=>e+(t&&t.width?t.width:1),0):0,r:e.length}};return e.forEach((e,r)=>{var i=[];e.columns.forEach(function(e,t){e?(i.push(!(e.value instanceof Date)&&typeof e.value==`object`?JSON.stringify(e.value):e.value),(e.width>1||e.height>-1)&&(e.height>1||e.width>1)&&n.push({s:{r,c:t},e:{r:r+e.height-1,c:t+e.width-1}})):i.push(``)}),t.push(i)}),a.utils.sheet_add_aoa(r,t),r[`!ref`]=a.utils.encode_range(i),n.length&&(r[`!merges`]=n),r}if(t.sheetOnly){n(d());return}if(t.sheets)for(var f in t.sheets)t.sheets[f]===!0?(o.SheetNames.push(f),o.Sheets[f]=d()):(o.SheetNames.push(f),s.commsSend(t.sheets[f],`download`,`intercept`,{type:`xlsx`,options:{sheetOnly:!0},active:r.active,intercept:function(e){o.Sheets[f]=e}}));else o.SheetNames.push(i),o.Sheets[i]=d();t.documentProcessing&&(o=t.documentProcessing(o));function p(e){for(var t=new ArrayBuffer(e.length),n=new Uint8Array(t),r=0;r!=e.length;++r)n[r]=e.charCodeAt(r)&255;return t}u=a.write(o,l),n(p(u),`application/octet-stream`)}function Pi(e,t,n){this.modExists(`export`,!0)&&n(this.modules.export.generateHTMLTable(e),`text/html`)}function Fi(e,t,n){let r=[];e.forEach(e=>{let t={};switch(e.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`:e.columns.forEach(e=>{e&&(t[e.component.getTitleDownload()||e.component.getField()]=e.value)}),r.push(JSON.stringify(t));break}}),n(r.join(`
`),`application/x-ndjson`)}var Ii={csv:Ai,json:ji,jsonLines:Fi,pdf:Mi,xlsx:Ni,html:Pi},Li=(y=class e extends J{constructor(e){super(e),this.registerTableOption(`downloadEncoder`,function(e,t){return new Blob([e],{type:t})}),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(e,t,n,r){this.download(e,t,n,r,!0)}download(t,n,r,i,a){var o=!1;function s(e,r){a?a===!0?this.triggerDownload(e,r,t,n,!0):a(e):this.triggerDownload(e,r,t,n)}if(typeof t==`function`?o=t:e.downloaders[t]?o=e.downloaders[t]:console.warn(`Download Error - No such download type found: `,t),o){var c=this.generateExportList(i);o.call(this.table,c,r||{},s.bind(this))}}generateExportList(e){var t=this.table.modules.export.generateExportList(this.table.options.downloadConfig,!1,e||this.table.options.downloadRowRange,`download`),n=this.table.options.groupHeaderDownload;return n&&!Array.isArray(n)&&(n=[n]),t.forEach(e=>{var t;e.type===`group`&&(t=e.columns[0],n&&n[e.indent]&&(t.value=n[e.indent](t.value,e.component._group.getRowCount(),e.component._group.getData(),e.component)))}),t}triggerDownload(e,t,n,r,i){var a=document.createElement(`a`),o=this.table.options.downloadEncoder(e,t);o&&(i?window.open(window.URL.createObjectURL(o)):(r||=`Tabulator.`+(typeof n==`function`?`txt`:n),navigator.msSaveOrOpenBlob?navigator.msSaveOrOpenBlob(o,r):(a.setAttribute(`href`,window.URL.createObjectURL(o)),a.setAttribute(`download`,r),a.style.display=`none`,document.body.appendChild(a),a.click(),document.body.removeChild(a))),this.dispatchExternal(`downloadComplete`))}commsReceived(e,t,n){switch(t){case`intercept`:this.download(n.type,``,n.options,n.active,n.intercept);break}}},k(y,`moduleName`,`download`),k(y,`downloaders`,Ii),y);function Ri(e,t){var n=t.mask,r=t.maskLetterChar===void 0?`A`:t.maskLetterChar,i=t.maskNumberChar===void 0?`9`:t.maskNumberChar,a=t.maskWildcardChar===void 0?`*`:t.maskWildcardChar;function o(t){var s=n[t];s!==void 0&&s!==a&&s!==r&&s!==i&&(e.value=e.value+``+s,o(t+1))}e.addEventListener(`keydown`,t=>{var o=e.value.length,s=t.key;if(t.keyCode>46&&!t.ctrlKey&&!t.metaKey){if(o>=n.length)return t.preventDefault(),t.stopPropagation(),!1;switch(n[o]){case r:if(s.toUpperCase()==s.toLowerCase())return t.preventDefault(),t.stopPropagation(),!1;break;case i:if(isNaN(s))return t.preventDefault(),t.stopPropagation(),!1;break;case a:break;default:if(s!==n[o])return t.preventDefault(),t.stopPropagation(),!1}}}),e.addEventListener(`keyup`,n=>{n.keyCode>46&&t.maskAutoFill&&o(e.value.length)}),e.placeholder||=n,t.maskAutoFill&&o(e.value.length)}function zi(e,t,n,r,i){var a=e.getValue(),o=document.createElement(`input`);if(o.setAttribute(`type`,i.search?`search`:`text`),o.style.padding=`4px`,o.style.width=`100%`,o.style.boxSizing=`border-box`,i.elementAttributes&&typeof i.elementAttributes==`object`)for(let e in i.elementAttributes)e.charAt(0)==`+`?(e=e.slice(1),o.setAttribute(e,o.getAttribute(e)+i.elementAttributes[`+`+e])):o.setAttribute(e,i.elementAttributes[e]);o.value=a===void 0?``:a,t(function(){e.getType()===`cell`&&(o.focus({preventScroll:!0}),o.style.height=`100%`,i.selectContents&&o.select())});function s(e){a==null&&o.value!==``||o.value!==a?n(o.value)&&(a=o.value):r()}return o.addEventListener(`change`,s),o.addEventListener(`blur`,s),o.addEventListener(`keydown`,function(e){switch(e.keyCode){case 13:s();break;case 27:r();break;case 35:case 36:e.stopPropagation();break}}),i.mask&&Ri(o,i),o}function Bi(e,t,n,r,i){var a=e.getValue(),o=i.verticalNavigation||`hybrid`,s=String(a??``),c=document.createElement(`textarea`),l=0;if(c.style.display=`block`,c.style.padding=`2px`,c.style.height=`100%`,c.style.width=`100%`,c.style.boxSizing=`border-box`,c.style.whiteSpace=`pre-wrap`,c.style.resize=`none`,i.elementAttributes&&typeof i.elementAttributes==`object`)for(let e in i.elementAttributes)e.charAt(0)==`+`?(e=e.slice(1),c.setAttribute(e,c.getAttribute(e)+i.elementAttributes[`+`+e])):c.setAttribute(e,i.elementAttributes[e]);c.value=s,t(function(){e.getType()===`cell`&&(c.focus({preventScroll:!0}),c.style.height=`100%`,c.scrollHeight,c.style.height=c.scrollHeight+`px`,e.getRow().normalizeHeight(),i.selectContents&&c.select())});function u(t){a==null&&c.value!==``||c.value!==a?(n(c.value)&&(a=c.value),setTimeout(function(){e.getRow().normalizeHeight()},300)):r()}return c.addEventListener(`change`,u),c.addEventListener(`blur`,u),c.addEventListener(`keyup`,function(){c.style.height=``;var t=c.scrollHeight;c.style.height=t+`px`,t!=l&&(l=t,e.getRow().normalizeHeight())}),c.addEventListener(`keydown`,function(e){switch(e.keyCode){case 13:e.shiftKey&&i.shiftEnterSubmit&&u();break;case 27:r();break;case 38:(o==`editor`||o==`hybrid`&&c.selectionStart)&&(e.stopImmediatePropagation(),e.stopPropagation());break;case 40:(o==`editor`||o==`hybrid`&&c.selectionStart!==c.value.length)&&(e.stopImmediatePropagation(),e.stopPropagation());break;case 35:case 36:e.stopPropagation();break}}),i.mask&&Ri(c,i),c}function Vi(e,t,n,r,i){var a=e.getValue(),o=i.verticalNavigation||`editor`,s=document.createElement(`input`);if(s.setAttribute(`type`,`number`),i.max!==void 0&&s.setAttribute(`max`,i.max),i.min!==void 0&&s.setAttribute(`min`,i.min),i.step!==void 0&&s.setAttribute(`step`,i.step),s.style.padding=`4px`,s.style.width=`100%`,s.style.boxSizing=`border-box`,i.elementAttributes&&typeof i.elementAttributes==`object`)for(let e in i.elementAttributes)e.charAt(0)==`+`?(e=e.slice(1),s.setAttribute(e,s.getAttribute(e)+i.elementAttributes[`+`+e])):s.setAttribute(e,i.elementAttributes[e]);s.value=a;var c=function(e){l()};t(function(){e.getType()===`cell`&&(s.removeEventListener(`blur`,c),s.focus({preventScroll:!0}),s.style.height=`100%`,s.addEventListener(`blur`,c),i.selectContents&&s.select())});function l(){var e=s.value;!isNaN(e)&&e!==``&&(e=Number(e)),e===a?r():n(e)&&(a=e)}return s.addEventListener(`keydown`,function(e){switch(e.keyCode){case 13:l();break;case 27:r();break;case 38:case 40:o==`editor`&&(e.stopImmediatePropagation(),e.stopPropagation());break;case 35:case 36:e.stopPropagation();break}}),i.mask&&Ri(s,i),s}function Hi(e,t,n,r,i){var a=e.getValue(),o=document.createElement(`input`);if(o.setAttribute(`type`,`range`),i.max!==void 0&&o.setAttribute(`max`,i.max),i.min!==void 0&&o.setAttribute(`min`,i.min),i.step!==void 0&&o.setAttribute(`step`,i.step),o.style.padding=`4px`,o.style.width=`100%`,o.style.boxSizing=`border-box`,i.elementAttributes&&typeof i.elementAttributes==`object`)for(let e in i.elementAttributes)e.charAt(0)==`+`?(e=e.slice(1),o.setAttribute(e,o.getAttribute(e)+i.elementAttributes[`+`+e])):o.setAttribute(e,i.elementAttributes[e]);o.value=a,t(function(){e.getType()===`cell`&&(o.focus({preventScroll:!0}),o.style.height=`100%`)});function s(){var e=o.value;!isNaN(e)&&e!==``&&(e=Number(e)),e==a?r():n(e)&&(a=e)}return o.addEventListener(`blur`,function(e){s()}),o.addEventListener(`keydown`,function(e){switch(e.keyCode){case 13:s();break;case 27:r();break}}),o}function Ui(e,t,n,r,i){var a=i.format,o=i.verticalNavigation||`editor`,s=a?window.DateTime||luxon.DateTime:null,c=e.getValue(),l=document.createElement(`input`);function u(e){return(s.isDateTime(e)?e:a===`iso`?s.fromISO(String(e)):s.fromFormat(String(e),a)).toFormat(`yyyy-MM-dd`)}if(l.type=`date`,l.style.padding=`4px`,l.style.width=`100%`,l.style.boxSizing=`border-box`,i.max&&l.setAttribute(`max`,a?u(i.max):i.max),i.min&&l.setAttribute(`min`,a?u(i.min):i.min),i.elementAttributes&&typeof i.elementAttributes==`object`)for(let e in i.elementAttributes)e.charAt(0)==`+`?(e=e.slice(1),l.setAttribute(e,l.getAttribute(e)+i.elementAttributes[`+`+e])):l.setAttribute(e,i.elementAttributes[e]);c=c===void 0?``:c,a&&(s?c=u(c):console.error(`Editor Error - 'date' editor 'format' param is dependant on luxon.js`)),l.value=c,t(function(){e.getType()===`cell`&&(l.focus({preventScroll:!0}),l.style.height=`100%`,i.selectContents&&l.select())});function d(){var e=l.value,t;if(c==null&&e!==``||e!==c){if(e&&a)switch(t=s.fromFormat(String(e),`yyyy-MM-dd`),a){case!0:e=t;break;case`iso`:e=t.toISO();break;default:e=t.toFormat(a)}n(e)&&(c=l.value)}else r()}return l.addEventListener(`blur`,function(e){(e.relatedTarget||e.rangeParent||e.explicitOriginalTarget!==l)&&d()}),l.addEventListener(`keydown`,function(e){switch(e.keyCode){case 13:d();break;case 27:r();break;case 35:case 36:e.stopPropagation();break;case 38:case 40:o==`editor`&&(e.stopImmediatePropagation(),e.stopPropagation());break}}),l}function Wi(e,t,n,r,i){var a=i.format,o=i.verticalNavigation||`editor`,s=a?window.DateTime||luxon.DateTime:null,c,l=e.getValue(),u=document.createElement(`input`);if(u.type=`time`,u.style.padding=`4px`,u.style.width=`100%`,u.style.boxSizing=`border-box`,i.elementAttributes&&typeof i.elementAttributes==`object`)for(let e in i.elementAttributes)e.charAt(0)==`+`?(e=e.slice(1),u.setAttribute(e,u.getAttribute(e)+i.elementAttributes[`+`+e])):u.setAttribute(e,i.elementAttributes[e]);l=l===void 0?``:l,a&&(s?(c=s.isDateTime(l)?l:a===`iso`?s.fromISO(String(l)):s.fromFormat(String(l),a),l=c.toFormat(`HH:mm`)):console.error(`Editor Error - 'date' editor 'format' param is dependant on luxon.js`)),u.value=l,t(function(){e.getType()==`cell`&&(u.focus({preventScroll:!0}),u.style.height=`100%`,i.selectContents&&u.select())});function d(){var e=u.value,t;if(l==null&&e!==``||e!==l){if(e&&a)switch(t=s.fromFormat(String(e),`hh:mm`),a){case!0:e=t;break;case`iso`:e=t.toISO();break;default:e=t.toFormat(a)}n(e)&&(l=u.value)}else r()}return u.addEventListener(`blur`,function(e){(e.relatedTarget||e.rangeParent||e.explicitOriginalTarget!==u)&&d()}),u.addEventListener(`keydown`,function(e){switch(e.keyCode){case 13:d();break;case 27:r();break;case 35:case 36:e.stopPropagation();break;case 38:case 40:o==`editor`&&(e.stopImmediatePropagation(),e.stopPropagation());break}}),u}function Gi(e,t,n,r,i){var a=i.format,o=i.verticalNavigation||`editor`,s=a?this.table.dependencyRegistry.lookup([`luxon`,`DateTime`],`DateTime`):null,c,l=e.getValue(),u=document.createElement(`input`);if(u.type=`datetime-local`,u.style.padding=`4px`,u.style.width=`100%`,u.style.boxSizing=`border-box`,i.elementAttributes&&typeof i.elementAttributes==`object`)for(let e in i.elementAttributes)e.charAt(0)==`+`?(e=e.slice(1),u.setAttribute(e,u.getAttribute(e)+i.elementAttributes[`+`+e])):u.setAttribute(e,i.elementAttributes[e]);l=l===void 0?``:l,a&&(s?(c=s.isDateTime(l)?l:a===`iso`?s.fromISO(String(l)):s.fromFormat(String(l),a),l=c.toFormat(`yyyy-MM-dd`)+`T`+c.toFormat(`HH:mm`)):console.error(`Editor Error - 'date' editor 'format' param is dependant on luxon.js`)),u.value=l,t(function(){e.getType()===`cell`&&(u.focus({preventScroll:!0}),u.style.height=`100%`,i.selectContents&&u.select())});function d(){var e=u.value,t;if(l==null&&e!==``||e!==l){if(e&&a)switch(t=s.fromISO(String(e)),a){case!0:e=t;break;case`iso`:e=t.toISO();break;default:e=t.toFormat(a)}n(e)&&(l=u.value)}else r()}return u.addEventListener(`blur`,function(e){(e.relatedTarget||e.rangeParent||e.explicitOriginalTarget!==u)&&d()}),u.addEventListener(`keydown`,function(e){switch(e.keyCode){case 13:d();break;case 27:r();break;case 35:case 36:e.stopPropagation();break;case 38:case 40:o==`editor`&&(e.stopImmediatePropagation(),e.stopPropagation());break}}),u}let Ki=class{constructor(e,t,n,r,i,a){this.edit=e,this.table=e.table,this.cell=t,this.params=this._initializeParams(a),this.data=[],this.displayItems=[],this.currentItems=[],this.focusedItem=null,this.input=this._createInputElement(),this.listEl=this._createListElement(),this.initialValues=null,this.isFilter=t.getType()===`header`,this.filterTimeout=null,this.filtered=!1,this.typing=!1,this.values=[],this.popup=null,this.listIteration=0,this.lastAction=``,this.filterTerm=``,this.blurable=!0,this.actions={success:r,cancel:i},this._deprecatedOptionsCheck(),this._initializeValue(),n(this._onRendered.bind(this))}_deprecatedOptionsCheck(){}_initializeValue(){var e=this.cell.getValue();e===void 0&&this.params.defaultValue!==void 0&&(e=this.params.defaultValue),this.initialValues=this.params.multiselect?e:[e],this.isFilter&&(this.input.value=this.initialValues?this.initialValues.join(`,`):``,this.headerFilterInitialListGen())}_onRendered(){var e=this.cell.getElement();function t(e){e.stopPropagation()}this.isFilter||(this.input.style.height=`100%`,this.input.focus({preventScroll:!0})),e.addEventListener(`click`,t),setTimeout(()=>{e.removeEventListener(`click`,t)},1e3),this.input.addEventListener(`mousedown`,this._preventPopupBlur.bind(this))}_createListElement(){var e=document.createElement(`div`);return e.classList.add(`tabulator-edit-list`),e.addEventListener(`mousedown`,this._preventBlur.bind(this)),e.addEventListener(`keydown`,this._inputKeyDown.bind(this)),e}_setListWidth(){var e=this.isFilter?this.input:this.cell.getElement();this.listEl.style.minWidth=e.offsetWidth+`px`,this.params.maxWidth&&(this.params.maxWidth===!0?this.listEl.style.maxWidth=e.offsetWidth+`px`:typeof this.params.maxWidth==`number`?this.listEl.style.maxWidth=this.params.maxWidth+`px`:this.listEl.style.maxWidth=this.params.maxWidth)}_createInputElement(){var e=this.params.elementAttributes,t=document.createElement(`input`);if(t.setAttribute(`type`,this.params.clearable?`search`:`text`),t.style.padding=`4px`,t.style.width=`100%`,t.style.boxSizing=`border-box`,this.params.autocomplete||(t.style.cursor=`default`,t.style.caretColor=`transparent`),e&&typeof e==`object`)for(let n in e)n.charAt(0)==`+`?(n=n.slice(1),t.setAttribute(n,t.getAttribute(n)+e[`+`+n])):t.setAttribute(n,e[n]);return this.params.mask&&Ri(t,this.params),this._bindInputEvents(t),t}_initializeParams(e){var t=[`values`,`valuesURL`,`valuesLookup`],n;return e=Object.assign({},e),e.verticalNavigation=e.verticalNavigation||`editor`,e.placeholderLoading=e.placeholderLoading===void 0?`Searching ...`:e.placeholderLoading,e.placeholderEmpty=e.placeholderEmpty===void 0?`No Results Found`:e.placeholderEmpty,e.filterDelay=e.filterDelay===void 0?300:e.filterDelay,e.emptyValue=Object.keys(e).includes(`emptyValue`)?e.emptyValue:``,n=Object.keys(e).filter(e=>t.includes(e)).length,n?n>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`),e.autocomplete?e.multiselect&&(e.multiselect=!1,console.warn(`list editor config error - multiselect option is not available when autocomplete is enabled`)):(e.freetext&&(e.freetext=!1,console.warn(`list editor config error - freetext option is only available when autocomplete is enabled`)),e.filterFunc&&(e.filterFunc=!1,console.warn(`list editor config error - filterFunc option is only available when autocomplete is enabled`)),e.filterRemote&&(e.filterRemote=!1,console.warn(`list editor config error - filterRemote option is only available when autocomplete is enabled`)),e.mask&&(e.mask=!1,console.warn(`list editor config error - mask option is only available when autocomplete is enabled`)),e.allowEmpty&&(e.allowEmpty=!1,console.warn(`list editor config error - allowEmpty option is only available when autocomplete is enabled`)),e.listOnEmpty&&(e.listOnEmpty=!1,console.warn(`list editor config error - listOnEmpty option is only available when autocomplete is enabled`))),e.filterRemote&&!(typeof e.valuesLookup==`function`||e.valuesURL)&&(e.filterRemote=!1,console.warn(`list editor config error - filterRemote option should only be used when values list is populated from a remote source`)),e}_bindInputEvents(e){e.addEventListener(`focus`,this._inputFocus.bind(this)),e.addEventListener(`click`,this._inputClick.bind(this)),e.addEventListener(`blur`,this._inputBlur.bind(this)),e.addEventListener(`keydown`,this._inputKeyDown.bind(this)),e.addEventListener(`search`,this._inputSearch.bind(this)),this.params.autocomplete&&e.addEventListener(`keyup`,this._inputKeyUp.bind(this))}_inputFocus(e){this.rebuildOptionsList()}_filter(){this.params.filterRemote?(clearTimeout(this.filterTimeout),this.filterTimeout=setTimeout(()=>{this.rebuildOptionsList()},this.params.filterDelay)):this._filterList()}_inputClick(e){e.stopPropagation()}_inputBlur(e){this.blurable&&(this.popup?this.popup.hide():this._resolveValue(!0))}_inputSearch(){this._clearChoices()}_inputKeyDown(e){switch(e.keyCode){case 38:this._keyUp(e);break;case 40:this._keyDown(e);break;case 37:case 39:this._keySide(e);break;case 13:this._keyEnter();break;case 27:this._keyEsc();break;case 36:case 35:this._keyHomeEnd(e);break;case 9:this._keyTab(e);break;default:this._keySelectLetter(e)}}_inputKeyUp(e){switch(e.keyCode){case 38:case 37:case 39:case 40:case 13:case 27:break;default:this._keyAutoCompLetter(e)}}_preventPopupBlur(){this.popup&&this.popup.blockHide(),setTimeout(()=>{this.popup&&this.popup.restoreHide()},10)}_preventBlur(){this.blurable=!1,setTimeout(()=>{this.blurable=!0},10)}_keyTab(e){this.params.autocomplete&&this.lastAction===`typing`?this._resolveValue(!0):this.focusedItem&&this._chooseItem(this.focusedItem,!0)}_keyUp(e){var t=this.displayItems.indexOf(this.focusedItem);(this.params.verticalNavigation==`editor`||this.params.verticalNavigation==`hybrid`&&t)&&(e.stopImmediatePropagation(),e.stopPropagation(),e.preventDefault(),t>0&&this._focusItem(this.displayItems[t-1]))}_keyDown(e){var t=this.displayItems.indexOf(this.focusedItem);(this.params.verticalNavigation==`editor`||this.params.verticalNavigation==`hybrid`&&t<this.displayItems.length-1)&&(e.stopImmediatePropagation(),e.stopPropagation(),e.preventDefault(),t<this.displayItems.length-1&&(t==-1?this._focusItem(this.displayItems[0]):this._focusItem(this.displayItems[t+1])))}_keySide(e){this.params.autocomplete||(e.stopImmediatePropagation(),e.stopPropagation(),e.preventDefault())}_keyEnter(e){this.params.autocomplete&&this.lastAction===`typing`?this._resolveValue(!0):this.focusedItem&&this._chooseItem(this.focusedItem)}_keyEsc(e){this._cancel()}_keyHomeEnd(e){this.params.autocomplete&&e.stopImmediatePropagation()}_keySelectLetter(e){this.params.autocomplete||(e.preventDefault(),e.keyCode>=38&&e.keyCode<=90&&this._scrollToValue(e.keyCode))}_keyAutoCompLetter(e){this._filter(),this.lastAction=`typing`,this.typing=!0}_scrollToValue(e){clearTimeout(this.filterTimeout);var t=String.fromCharCode(e).toLowerCase();this.filterTerm+=t.toLowerCase();var n=this.displayItems.find(e=>e.label!==void 0&&e.label.toLowerCase().startsWith(this.filterTerm));n&&this._focusItem(n),this.filterTimeout=setTimeout(()=>{this.filterTerm=``},800)}_focusItem(e){this.lastAction=`focus`,this.focusedItem&&this.focusedItem.element&&this.focusedItem.element.classList.remove(`focused`),this.focusedItem=e,e&&e.element&&(e.element.classList.add(`focused`),e.element.scrollIntoView({behavior:`smooth`,block:`nearest`,inline:`start`}))}headerFilterInitialListGen(){this._generateOptions(!0)}rebuildOptionsList(){this._generateOptions().then(this._sortOptions.bind(this)).then(this._buildList.bind(this)).then(this._showList.bind(this)).catch(e=>{Number.isInteger(e)||console.error(`List generation error`,e)})}_filterList(){this._buildList(this._filterOptions()),this._showList()}_generateOptions(e){var t=[],n=++this.listIteration;return this.filtered=!1,this.params.values?t=this.params.values:this.params.valuesURL?t=this._ajaxRequest(this.params.valuesURL,this.input.value):typeof this.params.valuesLookup==`function`?t=this.params.valuesLookup(this.cell,this.input.value):this.params.valuesLookup&&(t=this._uniqueColumnValues(this.params.valuesLookupField)),t instanceof Promise?(e||this._addPlaceholder(this.params.placeholderLoading),t.then().then(e=>this.listIteration===n?this._parseList(e):Promise.reject(n))):Promise.resolve(this._parseList(t))}_addPlaceholder(e){var t=document.createElement(`div`);typeof e==`function`&&(e=e(this.cell.getComponent(),this.listEl)),e&&(this._clearList(),e instanceof HTMLElement?t=e:(t.classList.add(`tabulator-edit-list-placeholder`),t.innerHTML=e),this.listEl.appendChild(t),this._showList())}_ajaxRequest(e,t){var n=this.params.filterRemote?{term:t}:{};return e=gi(e,{},n),fetch(e).then(e=>e.ok?e.json().catch(e=>(console.warn(`List Ajax Load Error - Invalid JSON returned`,e),Promise.reject(e))):(console.error(`List Ajax Load Error - Connection Error: `+e.status,e.statusText),Promise.reject(e))).catch(e=>(console.error(`List Ajax Load Error - Connection Error: `,e),Promise.reject(e)))}_uniqueColumnValues(e){var t={},n=this.table.getData(this.params.valuesLookup),r=e?this.table.columnManager.getColumnByField(e):this.cell.getColumn()._getSelf();return r?n.forEach(e=>{var n=r.getFieldValue(e);this._emptyValueCheck(n)||(this.params.multiselect&&Array.isArray(n)?n.forEach(e=>{this._emptyValueCheck(e)||(t[e]=!0)}):t[n]=!0)}):(console.warn(`unable to find matching column to create select lookup list:`,e),t=[]),Object.keys(t)}_emptyValueCheck(e){return e==null||e===``}_parseList(e){var t=[];return Array.isArray(e)||(e=Object.entries(e).map(([e,t])=>({label:t,value:e}))),e.forEach(e=>{typeof e!=`object`&&(e={label:e,value:e}),this._parseListItem(e,t,0)}),!this.currentItems.length&&this.params.freetext&&(this.input.value=this.initialValues,this.typing=!0,this.lastAction=`typing`),this.data=t,t}_parseListItem(e,t,n){var r={};e.options?r=this._parseListGroup(e,n+1):(r={label:e.label,value:e.value,itemParams:e.itemParams,elementAttributes:e.elementAttributes,element:!1,selected:!1,visible:!0,level:n,original:e},this.initialValues&&this.initialValues.indexOf(e.value)>-1&&this._chooseItem(r,!0)),t.push(r)}_parseListGroup(e,t){var n={label:e.label,group:!0,itemParams:e.itemParams,elementAttributes:e.elementAttributes,element:!1,visible:!0,level:t,options:[],original:e};return e.options.forEach(e=>{this._parseListItem(e,n.options,t)}),n}_sortOptions(e){var t;return this.params.sort&&(t=typeof this.params.sort==`function`?this.params.sort:this._defaultSortFunction.bind(this),this._sortGroup(t,e)),e}_sortGroup(e,t){t.sort((t,n)=>e(t.label,n.label,t.value,n.value,t.original,n.original)),t.forEach(t=>{t.group&&this._sortGroup(e,t.options)})}_defaultSortFunction(e,t){var n,r,i,a,o=0,s,c=/(\d+)|(\D+)/g,l=/\d/,u=0;if(this.params.sort===`desc`&&([e,t]=[t,e]),!e&&e!==0)u=!t&&t!==0?0:-1;else if(!t&&t!==0)u=1;else{if(isFinite(e)&&isFinite(t))return e-t;if(n=String(e).toLowerCase(),r=String(t).toLowerCase(),n===r)return 0;if(!(l.test(n)&&l.test(r)))return n>r?1:-1;for(n=n.match(c),r=r.match(c),s=n.length>r.length?r.length:n.length;o<s;)if(i=n[o],a=r[o++],i!==a)return isFinite(i)&&isFinite(a)?(i.charAt(0)===`0`&&(i=`.`+i),a.charAt(0)===`0`&&(a=`.`+a),i-a):i>a?1:-1;return n.length>r.length}return u}_filterOptions(){var e=this.params.filterFunc||this._defaultFilterFunc,t=this.input.value;return t?(this.filtered=!0,this.data.forEach(n=>{this._filterItem(e,t,n)})):this.filtered=!1,this.data}_filterItem(e,t,n){var r=!1;return n.group?(n.options.forEach(n=>{this._filterItem(e,t,n)&&(r=!0)}),n.visible=r):n.visible=e(t,n.label,n.value,n.original),n.visible}_defaultFilterFunc(e,t,n,r){return e=String(e).toLowerCase(),t!=null&&(String(t).toLowerCase().indexOf(e)>-1||String(n).toLowerCase().indexOf(e)>-1)}_clearList(){for(;this.listEl.firstChild;)this.listEl.removeChild(this.listEl.firstChild);this.displayItems=[]}_buildList(e){this._clearList(),e.forEach(e=>{this._buildItem(e)}),this.displayItems.length||this._addPlaceholder(this.params.placeholderEmpty)}_buildItem(e){var t=e.element,n;if(!this.filtered||e.visible){if(!t){if(t=document.createElement(`div`),t.tabIndex=0,n=this.params.itemFormatter?this.params.itemFormatter(e.label,e.value,e.original,t):e.label,n instanceof HTMLElement?t.appendChild(n):t.innerHTML=n,e.group?t.classList.add(`tabulator-edit-list-group`):t.classList.add(`tabulator-edit-list-item`),t.classList.add(`tabulator-edit-list-group-level-`+e.level),e.elementAttributes&&typeof e.elementAttributes==`object`)for(let n in e.elementAttributes)n.charAt(0)==`+`?(n=n.slice(1),t.setAttribute(n,this.input.getAttribute(n)+e.elementAttributes[`+`+n])):t.setAttribute(n,e.elementAttributes[n]);e.group?t.addEventListener(`click`,this._groupClick.bind(this,e)):t.addEventListener(`click`,this._itemClick.bind(this,e)),t.addEventListener(`mousedown`,this._preventBlur.bind(this)),e.element=t}this._styleItem(e),this.listEl.appendChild(t),e.group?e.options.forEach(e=>{this._buildItem(e)}):this.displayItems.push(e)}}_showList(){var e=this.popup&&this.popup.isVisible();if(this.input.parentNode){if(this.params.autocomplete&&this.input.value===``&&!this.params.listOnEmpty){this.popup&&this.popup.hide(!0);return}this._setListWidth(),this.popup||=this.edit.popup(this.listEl),this.popup.show(this.cell.getElement(),`bottom`),e||setTimeout(()=>{this.popup.hideOnBlur(this._resolveValue.bind(this,!0))},10)}}_styleItem(e){e&&e.element&&(e.selected?e.element.classList.add(`active`):e.element.classList.remove(`active`))}_itemClick(e,t){t.stopPropagation(),this._chooseItem(e)}_groupClick(e,t){t.stopPropagation()}_cancel(){this.popup.hide(!0),this.actions.cancel()}_clearChoices(){this.typing=!0,this.currentItems.forEach(e=>{e.selected=!1,this._styleItem(e)}),this.currentItems=[],this.focusedItem=null}_chooseItem(e,t){var n;this.typing=!1,this.params.multiselect?(n=this.currentItems.indexOf(e),n>-1?(this.currentItems.splice(n,1),e.selected=!1):(this.currentItems.push(e),e.selected=!0),this.input.value=this.currentItems.map(e=>e.label).join(`,`),this._styleItem(e)):(this.currentItems=[e],e.selected=!0,this.input.value=e.label,this._styleItem(e),t||this._resolveValue()),this._focusItem(e)}_resolveValue(e){var t,n;if(this.popup&&this.popup.hide(!0),this.params.multiselect)t=this.currentItems.map(e=>e.value);else if(e&&this.params.autocomplete&&this.typing)if(this.params.freetext||this.params.allowEmpty&&this.input.value===``)t=this.input.value;else{this.actions.cancel();return}else this.currentItems[0]?t=this.currentItems[0].value:(n=Array.isArray(this.initialValues)?this.initialValues[0]:this.initialValues,t=n==null||n===``?n:this.params.emptyValue);t===``&&(t=this.params.emptyValue),this.actions.success(t),this.isFilter&&(this.initialValues=t&&!Array.isArray(t)?[t]:t,this.currentItems=[])}};function qi(e,t,n,r,i){return new Ki(this,e,t,n,r,i).input}function Ji(e,t,n,r,i){var a=this,o=e.getElement(),s=e.getValue(),c=o.getElementsByTagName(`svg`).length||5,l=o.getElementsByTagName(`svg`)[0]?o.getElementsByTagName(`svg`)[0].getAttribute(`width`):14,u=[],d=document.createElement(`div`),f=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`);function p(e){u.forEach(function(t,n){n<e?(a.table.browser==`ie`?t.setAttribute(`class`,`tabulator-star-active`):t.classList.replace(`tabulator-star-inactive`,`tabulator-star-active`),t.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 "/>`):(a.table.browser==`ie`?t.setAttribute(`class`,`tabulator-star-inactive`):t.classList.replace(`tabulator-star-active`,`tabulator-star-inactive`),t.innerHTML=`<polygon fill="#010155" stroke="#686868" stroke-width="37.6152" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="259.216,29.942 330.27,173.919 489.16,197.007 374.185,309.08 401.33,467.31 259.216,392.612 117.104,467.31 144.25,309.08 29.274,197.007 188.165,173.919 "/>`)})}function m(e){var t=document.createElement(`span`),r=f.cloneNode(!0);u.push(r),t.addEventListener(`mouseenter`,function(t){t.stopPropagation(),t.stopImmediatePropagation(),p(e)}),t.addEventListener(`mousemove`,function(e){e.stopPropagation(),e.stopImmediatePropagation()}),t.addEventListener(`click`,function(t){t.stopPropagation(),t.stopImmediatePropagation(),n(e),o.blur()}),t.appendChild(r),d.appendChild(t)}function h(e){s=e,p(e)}if(o.style.whiteSpace=`nowrap`,o.style.overflow=`hidden`,o.style.textOverflow=`ellipsis`,d.style.verticalAlign=`middle`,d.style.display=`inline-block`,d.style.padding=`4px`,f.setAttribute(`width`,l),f.setAttribute(`height`,l),f.setAttribute(`viewBox`,`0 0 512 512`),f.setAttribute(`xml:space`,`preserve`),f.style.padding=`0 1px`,i.elementAttributes&&typeof i.elementAttributes==`object`)for(let e in i.elementAttributes)e.charAt(0)==`+`?(e=e.slice(1),d.setAttribute(e,d.getAttribute(e)+i.elementAttributes[`+`+e])):d.setAttribute(e,i.elementAttributes[e]);for(var g=1;g<=c;g++)m(g);return s=Math.min(parseInt(s),c),p(s),d.addEventListener(`mousemove`,function(e){p(0)}),d.addEventListener(`click`,function(e){n(0)}),o.addEventListener(`blur`,function(e){r()}),o.addEventListener(`keydown`,function(e){switch(e.keyCode){case 39:h(s+1);break;case 37:h(s-1);break;case 13:n(s);break;case 27:r();break}}),d}function Yi(e,t,n,r,i){var a=e.getElement(),o=i.max===void 0?a.getElementsByTagName(`div`)[0]&&a.getElementsByTagName(`div`)[0].getAttribute(`max`)||100:i.max,s=i.min===void 0?a.getElementsByTagName(`div`)[0]&&a.getElementsByTagName(`div`)[0].getAttribute(`min`)||0:i.min,c=(o-s)/100,l=e.getValue()||0,u=document.createElement(`div`),d=document.createElement(`div`),f,p;function m(){var e=window.getComputedStyle(a,null),t=c*Math.round(d.offsetWidth/((a.clientWidth-parseInt(e.getPropertyValue(`padding-left`))-parseInt(e.getPropertyValue(`padding-right`)))/100))+s;n(t),a.setAttribute(`aria-valuenow`,t),a.setAttribute(`aria-label`,l)}if(u.style.position=`absolute`,u.style.right=`0`,u.style.top=`0`,u.style.bottom=`0`,u.style.width=`5px`,u.classList.add(`tabulator-progress-handle`),d.style.display=`inline-block`,d.style.position=`relative`,d.style.height=`100%`,d.style.backgroundColor=`#488CE9`,d.style.maxWidth=`100%`,d.style.minWidth=`0%`,i.elementAttributes&&typeof i.elementAttributes==`object`)for(let e in i.elementAttributes)e.charAt(0)==`+`?(e=e.slice(1),d.setAttribute(e,d.getAttribute(e)+i.elementAttributes[`+`+e])):d.setAttribute(e,i.elementAttributes[e]);return a.style.padding=`4px 4px`,l=Math.min(parseFloat(l),o),l=Math.max(parseFloat(l),s),l=Math.round((l-s)/c),d.style.width=l+`%`,a.setAttribute(`aria-valuemin`,s),a.setAttribute(`aria-valuemax`,o),d.appendChild(u),u.addEventListener(`mousedown`,function(e){f=e.screenX,p=d.offsetWidth}),u.addEventListener(`mouseover`,function(){u.style.cursor=`ew-resize`}),a.addEventListener(`mousemove`,function(e){f&&(d.style.width=p+e.screenX-f+`px`)}),a.addEventListener(`mouseup`,function(e){f&&(e.stopPropagation(),e.stopImmediatePropagation(),f=!1,p=!1,m())}),a.addEventListener(`keydown`,function(e){switch(e.keyCode){case 39:e.preventDefault(),d.style.width=d.clientWidth+a.clientWidth/100+`px`;break;case 37:e.preventDefault(),d.style.width=d.clientWidth-a.clientWidth/100+`px`;break;case 9:case 13:m();break;case 27:r();break}}),a.addEventListener(`blur`,function(){r()}),d}function Xi(e,t,n,r,i){var a=e.getValue(),o=document.createElement(`input`),s=i.tristate,c=i.indeterminateValue===void 0?null:i.indeterminateValue,l=!1,u=Object.keys(i).includes(`trueValue`),d=Object.keys(i).includes(`falseValue`);if(o.setAttribute(`type`,`checkbox`),o.style.marginTop=`5px`,o.style.boxSizing=`border-box`,i.elementAttributes&&typeof i.elementAttributes==`object`)for(let e in i.elementAttributes)e.charAt(0)==`+`?(e=e.slice(1),o.setAttribute(e,o.getAttribute(e)+i.elementAttributes[`+`+e])):o.setAttribute(e,i.elementAttributes[e]);o.value=a,s&&(a===void 0||a===c||a===``)&&(l=!0,o.indeterminate=!0),this.table.browser!=`firefox`&&this.table.browser!=`safari`&&t(function(){e.getType()===`cell`&&o.focus({preventScroll:!0})}),o.checked=u?a===i.trueValue:a===!0||a===`true`||a===`True`||a===1;function f(e){var t=o.checked;return u&&t?t=i.trueValue:d&&!t&&(t=i.falseValue),s?e?l?c:t:o.checked&&!l?(o.checked=!1,o.indeterminate=!0,l=!0,c):(l=!1,t):t}return o.addEventListener(`change`,function(e){n(f())}),o.addEventListener(`blur`,function(e){n(f(!0))}),o.addEventListener(`keydown`,function(e){e.keyCode==13&&n(f()),e.keyCode==27&&r()}),o}function Zi(e,t,n,r,i){var a=e._getSelf().column,o,s,c;function l(e){var t=e.getValue(),n=`input`;switch(typeof t){case`number`:n=`number`;break;case`boolean`:n=`tickCross`;break;case`string`:t.includes(`
`)&&(n=`textarea`);break}return n}return o=i.editorLookup?i.editorLookup(e):l(e),i.paramsLookup&&(c=typeof i.paramsLookup==`function`?i.paramsLookup(o,e):i.paramsLookup[o]),s=this.table.modules.edit.lookupEditor(o,a),s.call(this,e,t,n,r,c||{})}var Qi={input:zi,textarea:Bi,number:Vi,range:Hi,date:Ui,time:Wi,datetime:Gi,list:qi,star:Ji,progress:Yi,tickCross:Xi,adaptable:Zi},$i=(b=class e extends J{constructor(t){super(t),this.currentCell=!1,this.mouseClick=!1,this.recursionBlock=!1,this.invalidEdit=!1,this.editedCells=[],this.convertEmptyValues=!1,this.editors=e.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(e){if(this.currentCell)return!0}keybindingNavigateNext(e){var t=this.currentCell,n=this.options(`tabEndNewRow`);t&&(this.navigateNext(t,e)||n&&(t.getElement().firstChild.blur(),this.invalidEdit||(n=n===!0?this.table.addRow({}):typeof n==`function`?this.table.addRow(n(t.row.getComponent())):this.table.addRow(Object.assign({},n)),n.then(()=>{setTimeout(()=>{t.getComponent().navigateNext()})}))))}cellIsEdited(e){return!!e.modules.edit&&e.modules.edit.edited}cellCancelEdit(e){e===this.currentCell?this.table.modules.edit.cancelEdit():console.warn(`Cancel Editor Error - This cell is not currently being edited `)}updateCellClass(e){this.allowEdit(e)?e.getElement().classList.add(`tabulator-editable`):e.getElement().classList.remove(`tabulator-editable`)}clearCellEdited(e){e||=this.table.modules.edit.getEditedCells(),Array.isArray(e)||(e=[e]),e.forEach(e=>{this.table.modules.edit.clearEdited(e._getSelf())})}navigatePrev(e=this.currentCell,t){var n,r;if(e){if(t&&t.preventDefault(),n=this.navigateLeft(),n)return!0;if(r=this.table.rowManager.prevDisplayRow(e.row,!0),r&&(n=this.findPrevEditableCell(r,r.cells.length),n))return n.getComponent().edit(),!0}return!1}navigateNext(e=this.currentCell,t){var n,r;if(e){if(t&&t.preventDefault(),n=this.navigateRight(),n)return!0;if(r=this.table.rowManager.nextDisplayRow(e.row,!0),r&&(n=this.findNextEditableCell(r,-1),n))return n.getComponent().edit(),!0}return!1}navigateLeft(e=this.currentCell,t){var n,r;return e&&(t&&t.preventDefault(),n=e.getIndex(),r=this.findPrevEditableCell(e.row,n),r)?(r.getComponent().edit(),!0):!1}navigateRight(e=this.currentCell,t){var n,r;return e&&(t&&t.preventDefault(),n=e.getIndex(),r=this.findNextEditableCell(e.row,n),r)?(r.getComponent().edit(),!0):!1}navigateUp(e=this.currentCell,t){var n,r;return e&&(t&&t.preventDefault(),n=e.getIndex(),r=this.table.rowManager.prevDisplayRow(e.row,!0),r)?(r.cells[n].getComponent().edit(),!0):!1}navigateDown(e=this.currentCell,t){var n,r;return e&&(t&&t.preventDefault(),n=e.getIndex(),r=this.table.rowManager.nextDisplayRow(e.row,!0),r)?(r.cells[n].getComponent().edit(),!0):!1}findNextEditableCell(e,t){var n=!1;if(t<e.cells.length-1)for(var r=t+1;r<e.cells.length;r++){let t=e.cells[r];if(t.column.modules.edit&&q.elVisible(t.getElement())&&this.allowEdit(t)){n=t;break}}return n}findPrevEditableCell(e,t){var n=!1;if(t>0)for(var r=t-1;r>=0;r--){let t=e.cells[r];if(t.column.modules.edit&&q.elVisible(t.getElement())&&this.allowEdit(t)){n=t;break}}return n}initializeColumnCheck(e){e.definition.editor!==void 0&&this.initializeColumn(e)}columnDeleteCheck(e){this.currentCell&&this.currentCell.column===e&&this.cancelEdit()}rowDeleteCheck(e){this.currentCell&&this.currentCell.row===e&&this.cancelEdit()}rowEditableCheck(e){e.getCells().forEach(e=>{e.column.modules.edit&&typeof e.column.modules.edit.check==`function`&&this.updateCellClass(e)})}initializeColumn(e){var t=Object.keys(e.definition).includes(`editorEmptyValue`),n={editor:!1,blocked:!1,check:e.definition.editable,params:e.definition.editorParams||{},convertEmptyValues:t,editorEmptyValue:e.definition.editorEmptyValue,editorEmptyValueFunc:e.definition.editorEmptyValueFunc};n.editor=this.lookupEditor(e.definition.editor,e),n.editor&&(e.modules.edit=n)}lookupEditor(e,t){var n;switch(typeof e){case`string`:this.editors[e]?n=this.editors[e]:console.warn(`Editor Error - No such editor found: `,e);break;case`function`:n=e;break;case`boolean`:e===!0&&(typeof t.definition.formatter==`function`?console.warn(`Editor Error - Cannot auto lookup editor for a custom formatter: `,t.definition.formatter):n=this.editors[t.definition.formatter]?this.editors[t.definition.formatter]:this.editors.input);break}return n}getCurrentCell(){return this.currentCell?this.currentCell.getComponent():!1}clearEditor(e){var t=this.currentCell,n;if(this.invalidEdit=!1,t){for(this.currentCell=!1,n=t.getElement(),this.dispatch(`edit-editor-clear`,t,e),n.classList.remove(`tabulator-editing`);n.firstChild;)n.removeChild(n.firstChild);t.row.getElement().classList.remove(`tabulator-editing`),t.table.element.classList.remove(`tabulator-editing`)}}cancelEdit(){if(this.currentCell){var e=this.currentCell,t=this.currentCell.getComponent();this.clearEditor(!0),e.setValueActual(e.getValue()),e.cellRendered(),(e.column.definition.editor==`textarea`||e.column.definition.variableHeight)&&e.row.normalizeHeight(!0),e.column.definition.cellEditCancelled&&e.column.definition.cellEditCancelled.call(this.table,t),this.dispatch(`edit-cancelled`,e),this.dispatchExternal(`cellEditCancelled`,t)}}bindEditor(e){if(e.column.modules.edit){var t=this,n=e.getElement(!0);this.updateCellClass(e),n.setAttribute(`tabindex`,0),n.addEventListener(`mousedown`,function(e){e.button===2?e.preventDefault():t.mouseClick=!0}),this.options(`editTriggerEvent`)===`dblclick`&&n.addEventListener(`dblclick`,function(r){n.classList.contains(`tabulator-editing`)||(n.focus({preventScroll:!0}),t.edit(e,r,!1))}),(this.options(`editTriggerEvent`)===`focus`||this.options(`editTriggerEvent`)===`click`)&&n.addEventListener(`click`,function(r){n.classList.contains(`tabulator-editing`)||(n.focus({preventScroll:!0}),t.edit(e,r,!1))}),this.options(`editTriggerEvent`)===`focus`&&n.addEventListener(`focus`,function(n){t.recursionBlock||t.edit(e,n,!1)})}}focusCellNoEvent(e,t){this.recursionBlock=!0,t&&this.table.browser===`ie`||e.getElement().focus({preventScroll:!0}),this.recursionBlock=!1}editCell(e,t){this.focusCellNoEvent(e),this.edit(e,!1,t)}focusScrollAdjust(e){if(this.table.rowManager.getRenderMode()==`virtual`){var t=this.table.rowManager.element.scrollTop,n=this.table.rowManager.element.clientHeight+this.table.rowManager.element.scrollTop,r=e.row.getElement();r.offsetTop<t?this.table.rowManager.element.scrollTop-=t-r.offsetTop:r.offsetTop+r.offsetHeight>n&&(this.table.rowManager.element.scrollTop+=r.offsetTop+r.offsetHeight-n);var i=this.table.rowManager.element.scrollLeft,a=this.table.rowManager.element.clientWidth+this.table.rowManager.element.scrollLeft,o=e.getElement();this.table.modExists(`frozenColumns`)&&(i+=parseInt(this.table.modules.frozenColumns.leftMargin||0),a-=parseInt(this.table.modules.frozenColumns.rightMargin||0)),this.table.options.renderHorizontal===`virtual`&&(i-=parseInt(this.table.columnManager.renderer.vDomPadLeft),a-=parseInt(this.table.columnManager.renderer.vDomPadLeft)),o.offsetLeft<i?this.table.rowManager.element.scrollLeft-=i-o.offsetLeft:o.offsetLeft+o.offsetWidth>a&&(this.table.rowManager.element.scrollLeft+=o.offsetLeft+o.offsetWidth-a)}}allowEdit(e){var t=!!e.column.modules.edit;if(e.column.modules.edit)switch(typeof e.column.modules.edit.check){case`function`:e.row.initialized&&(t=e.column.modules.edit.check(e.getComponent()));break;case`string`:t=!!e.row.data[e.column.modules.edit.check];break;case`boolean`:t=e.column.modules.edit.check;break}return t}edit(e,t,n){var r=this,i=!0,a=function(){},o=e.getElement(),s=!1,c,l,u;if(this.currentCell){!this.invalidEdit&&this.currentCell!==e&&this.cancelEdit();return}function d(t){if(r.currentCell===e&&!s){var n=r.chain(`edit-success`,[e,t],!0,!0);return n===!0||r.table.options.validationMode===`highlight`?(s=!0,r.clearEditor(),e.modules.edit||(e.modules.edit={}),e.modules.edit.edited=!0,r.editedCells.indexOf(e)==-1&&r.editedCells.push(e),t=r.transformEmptyValues(t,e),e.setValue(t,!0),n===!0):(s=!0,r.invalidEdit=!0,r.focusCellNoEvent(e,!0),a(),setTimeout(()=>{s=!1},10),!1)}}function f(){r.currentCell===e&&!s&&r.cancelEdit()}function p(e){a=e}if(e.column.modules.edit.blocked)return this.mouseClick=!1,this.blur(o),!1;if(t&&t.stopPropagation(),i=this.allowEdit(e),i||n){if(r.cancelEdit(),r.currentCell=e,this.focusScrollAdjust(e),l=e.getComponent(),this.mouseClick&&(this.mouseClick=!1,e.column.definition.cellClick&&e.column.definition.cellClick.call(this.table,t,l)),e.column.definition.cellEditing&&e.column.definition.cellEditing.call(this.table,l),this.dispatch(`cell-editing`,e),this.dispatchExternal(`cellEditing`,l),u=typeof e.column.modules.edit.params==`function`?e.column.modules.edit.params(l):e.column.modules.edit.params,c=e.column.modules.edit.editor.call(r,l,p,d,f,u),this.currentCell&&c!==!1)if(c instanceof Node){for(o.classList.add(`tabulator-editing`),e.row.getElement().classList.add(`tabulator-editing`),e.table.element.classList.add(`tabulator-editing`);o.firstChild;)o.removeChild(o.firstChild);o.appendChild(c),a();for(var m=o.children,h=0;h<m.length;h++)m[h].addEventListener(`click`,function(e){e.stopPropagation()})}else return console.warn(`Edit Error - Editor should return an instance of Node, the editor returned:`,c),this.blur(o),!1;else return this.blur(o),!1;return!0}else return this.mouseClick=!1,this.blur(o),!1}emptyValueCheck(e){return e===``||e==null}transformEmptyValues(e,t){var n=t.column.modules.edit,r=n.convertEmptyValues||this.convertEmptyValues,i;return r&&(i=n.editorEmptyValueFunc||this.options(`editorEmptyValueFunc`),i&&i(e)&&(e=n.convertEmptyValues?n.editorEmptyValue:this.options(`editorEmptyValue`))),e}blur(e){this.confirm(`edit-blur`,[e])||e.blur()}getEditedCells(){var e=[];return this.editedCells.forEach(t=>{e.push(t.getComponent())}),e}clearEdited(e){var t;e.modules.edit&&e.modules.edit.edited&&(e.modules.edit.edited=!1,this.dispatch(`edit-edited-clear`,e)),t=this.editedCells.indexOf(e),t>-1&&this.editedCells.splice(t,1)}},k(b,`moduleName`,`edit`),k(b,`editors`,Qi),b),ea=class{constructor(e,t,n,r){this.type=e,this.columns=t,this.component=n||!1,this.indent=r||0}},ta=class{constructor(e,t,n,r,i){this.value=e,this.component=t||!1,this.width=n,this.height=r,this.depth=i}},na=(x=class e extends J{constructor(e){super(e),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,n,r,i){var a,o,s,c;return this.cloneTableStyle=n,this.config=t||{},this.colVisProp=i,this.colVisPropAttach=this.colVisProp.charAt(0).toUpperCase()+this.colVisProp.slice(1),c=e.columnLookups[r],c&&(s=c.call(this.table),s=s.filter(e=>this.columnVisCheck(e))),a=this.config.columnHeaders===!1?[]:this.headersToExportRows(this.generateColumnGroupHeaders(s)),s&&=s.map(e=>e.getComponent()),o=this.bodyToExportRows(this.rowLookup(r),s),a.concat(o)}generateTable(e,t,n,r){var i=this.generateExportList(e,t,n,r);return this.generateTableElement(i)}rowLookup(t){var n=[],r;return typeof t==`function`?t.call(this.table).forEach(e=>{e=this.table.rowManager.findRow(e),e&&n.push(e)}):(r=e.rowLookups[t]||e.rowLookups.active,n=r.call(this.table)),Object.assign([],n)}generateColumnGroupHeaders(e){var t=[];return e||=this.config.columnGroups===!1?this.table.columnManager.columnsByIndex:this.table.columnManager.columns,e.forEach(e=>{var n=this.processColumnGroup(e);n&&t.push(n)}),t}processColumnGroup(e){var t=e.columns,n=0,r={title:e.definition[`title`+this.colVisPropAttach]||e.definition.title,column:e,depth:1};if(t.length){if(r.subGroups=[],r.width=0,t.forEach(e=>{var t=this.processColumnGroup(e);t&&(r.width+=t.width,r.subGroups.push(t),t.depth>n&&(n=t.depth))}),r.depth+=n,!r.width)return!1}else if(this.columnVisCheck(e))r.width=1;else return!1;return r}columnVisCheck(e){var t=e.definition[this.colVisProp];return this.config.rowHeaders===!1&&e.isRowHeader?!1:(typeof t==`function`&&(t=t.call(this.table,e.getComponent())),t===!1||t===!0?t:e.visible&&e.field)}headersToExportRows(e){var t=[],n=0,r=[];function i(e,r){var a=n-r;if(t[r]===void 0&&(t[r]=[]),e.height=e.subGroups?1:a-e.depth+1,t[r].push(e),e.height>1)for(let n=1;n<e.height;n++)t[r+n]===void 0&&(t[r+n]=[]),t[r+n].push(!1);if(e.width>1)for(let n=1;n<e.width;n++)t[r].push(!1);e.subGroups&&e.subGroups.forEach(function(e){i(e,r+1)})}return e.forEach(function(e){e.depth>n&&(n=e.depth)}),e.forEach(function(e){i(e,0)}),t.forEach(e=>{var t=[];e.forEach(e=>{if(e){let n=e.title===void 0?``:e.title;t.push(new ta(n,e.column.getComponent(),e.width,e.height,e.depth))}else t.push(null)}),r.push(new ea(`header`,t))}),r}bodyToExportRows(e,t=[]){var n=[];return t.length===0&&this.table.columnManager.columnsByIndex.forEach(e=>{this.columnVisCheck(e)&&t.push(e.getComponent())}),this.config.columnCalcs!==!1&&this.table.modExists(`columnCalcs`)&&(this.table.modules.columnCalcs.topInitialized&&e.unshift(this.table.modules.columnCalcs.topRow),this.table.modules.columnCalcs.botInitialized&&e.push(this.table.modules.columnCalcs.botRow)),e=e.filter(e=>{switch(e.type){case`group`:return this.config.rowGroups!==!1;case`calc`:return this.config.columnCalcs!==!1;case`row`:return!(this.table.options.dataTree&&this.config.dataTree===!1&&e.modules.dataTree.parent)}return!0}),e.forEach((e,r)=>{var i=e.getData(this.colVisProp),a=[],o=0;switch(e.type){case`group`:o=e.level,a.push(new ta(e.key,e.getComponent(),t.length,1));break;case`calc`:case`row`:t.forEach(e=>{a.push(new ta(e._column.getFieldValue(i),e,1,1))}),this.table.options.dataTree&&this.config.dataTree!==!1&&(o=e.modules.dataTree.index);break}n.push(new ea(e.type,a,e.getComponent(),o))}),n}generateTableElement(e){var t=document.createElement(`table`),n=document.createElement(`thead`),r=document.createElement(`tbody`),i=this.lookupTableStyles(),a=this.table.options[`rowFormatter`+this.colVisPropAttach],o={};return o.rowFormatter=a===null?this.table.options.rowFormatter:a,this.table.options.dataTree&&this.config.dataTree!==!1&&this.table.modExists(`columnCalcs`)&&(o.treeElementField=this.table.modules.dataTree.elementField),o.groupHeader=this.table.options[`groupHeader`+this.colVisPropAttach],o.groupHeader&&!Array.isArray(o.groupHeader)&&(o.groupHeader=[o.groupHeader]),t.classList.add(`tabulator-print-table`),this.mapElementStyles(this.table.columnManager.getHeadersElement(),n,[`border-top`,`border-left`,`border-right`,`border-bottom`,`background-color`,`color`,`font-weight`,`font-family`,`font-size`]),e.length>1e3&&console.warn(`It may take a long time to render an HTML table with more than 1000 rows`),e.forEach((e,t)=>{let a;switch(e.type){case`header`:n.appendChild(this.generateHeaderElement(e,o,i));break;case`group`:r.appendChild(this.generateGroupElement(e,o,i));break;case`calc`:r.appendChild(this.generateCalcElement(e,o,i));break;case`row`:a=this.generateRowElement(e,o,i),this.mapElementStyles(t%2&&i.evenRow?i.evenRow:i.oddRow,a,[`border-top`,`border-left`,`border-right`,`border-bottom`,`color`,`font-weight`,`font-family`,`font-size`,`background-color`]),r.appendChild(a);break}}),n.innerHTML&&t.appendChild(n),t.appendChild(r),this.mapElementStyles(this.table.element,t,[`border-top`,`border-left`,`border-right`,`border-bottom`]),t}lookupTableStyles(){var e={};return this.cloneTableStyle&&window.getComputedStyle&&(e.oddRow=this.table.element.querySelector(`.tabulator-row-odd:not(.tabulator-group):not(.tabulator-calcs)`),e.evenRow=this.table.element.querySelector(`.tabulator-row-even:not(.tabulator-group):not(.tabulator-calcs)`),e.calcRow=this.table.element.querySelector(`.tabulator-row.tabulator-calcs`),e.firstRow=this.table.element.querySelector(`.tabulator-row:not(.tabulator-group):not(.tabulator-calcs)`),e.firstGroup=this.table.element.getElementsByClassName(`tabulator-group`)[0],e.firstRow&&(e.styleCells=e.firstRow.getElementsByClassName(`tabulator-cell`),e.styleRowHeader=e.firstRow.getElementsByClassName(`tabulator-row-header`)[0],e.firstCell=e.styleCells[0],e.lastCell=e.styleCells[e.styleCells.length-1])),e}generateHeaderElement(e,t,n){var r=document.createElement(`tr`);return e.columns.forEach(e=>{if(e){var t=document.createElement(`th`),n=e.component._column.definition.cssClass?e.component._column.definition.cssClass.split(` `):[];t.colSpan=e.width,t.rowSpan=e.height,t.innerHTML=e.value,this.cloneTableStyle&&(t.style.boxSizing=`border-box`),n.forEach(function(e){t.classList.add(e)}),this.mapElementStyles(e.component.getElement(),t,[`text-align`,`border-left`,`border-right`,`background-color`,`color`,`font-weight`,`font-family`,`font-size`]),this.mapElementStyles(e.component._column.contentElement,t,[`padding-top`,`padding-left`,`padding-right`,`padding-bottom`]),e.component._column.visible?this.mapElementStyles(e.component.getElement(),t,[`width`]):e.component._column.definition.width&&(t.style.width=e.component._column.definition.width+`px`),e.component._column.parent&&e.component._column.parent.isGroup?this.mapElementStyles(e.component._column.parent.groupElement,t,[`border-top`]):this.mapElementStyles(e.component.getElement(),t,[`border-top`]),e.component._column.isGroup?this.mapElementStyles(e.component.getElement(),t,[`border-bottom`]):this.mapElementStyles(this.table.columnManager.getElement(),t,[`border-bottom`]),r.appendChild(t)}}),r}generateGroupElement(e,t,n){var r=document.createElement(`tr`),i=document.createElement(`td`),a=e.columns[0];return r.classList.add(`tabulator-print-table-row`),t.groupHeader&&t.groupHeader[e.indent]?a.value=t.groupHeader[e.indent](a.value,e.component._group.getRowCount(),e.component._group.getData(),e.component):t.groupHeader!==!1&&(a.value=e.component._group.generator(a.value,e.component._group.getRowCount(),e.component._group.getData(),e.component)),i.colSpan=a.width,i.innerHTML=a.value,r.classList.add(`tabulator-print-table-group`),r.classList.add(`tabulator-group-level-`+e.indent),a.component.isVisible()&&r.classList.add(`tabulator-group-visible`),this.mapElementStyles(n.firstGroup,r,[`border-top`,`border-left`,`border-right`,`border-bottom`,`color`,`font-weight`,`font-family`,`font-size`,`background-color`]),this.mapElementStyles(n.firstGroup,i,[`padding-top`,`padding-left`,`padding-right`,`padding-bottom`]),r.appendChild(i),r}generateCalcElement(e,t,n){var r=this.generateRowElement(e,t,n);return r.classList.add(`tabulator-print-table-calcs`),this.mapElementStyles(n.calcRow,r,[`border-top`,`border-left`,`border-right`,`border-bottom`,`color`,`font-weight`,`font-family`,`font-size`,`background-color`]),r}generateRowElement(e,t,n){var r=document.createElement(`tr`);if(r.classList.add(`tabulator-print-table-row`),e.columns.forEach((i,a)=>{if(i){var o=document.createElement(`td`),s=i.component._column,c=this.table,l=c.columnManager.findColumnIndex(s),u=i.value,d,f,p={modules:{},getValue:function(){return u},getField:function(){return s.definition.field},getElement:function(){return o},getType:function(){return`cell`},getColumn:function(){return s.getComponent()},getData:function(){return e.component.getData()},getRow:function(){return e.component},getTable:function(){return c},getComponent:function(){return p},column:s};if((s.definition.cssClass?s.definition.cssClass.split(` `):[]).forEach(function(e){o.classList.add(e)}),this.table.modExists(`format`)&&this.config.formatCells!==!1)u=this.table.modules.format.formatExportValue(p,this.colVisProp);else switch(typeof u){case`object`:u=u===null?``:JSON.stringify(u);break;case`undefined`:u=``;break}u instanceof Node?o.appendChild(u):o.innerHTML=u,f=[`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`],s.isRowHeader?(d=n.styleRowHeader,f.push(`background-color`)):d=n.styleCells&&n.styleCells[l]?n.styleCells[l]:n.firstCell,d&&(this.mapElementStyles(d,o,f),s.definition.align&&(o.style.textAlign=s.definition.align)),this.table.options.dataTree&&this.config.dataTree!==!1&&(t.treeElementField&&t.treeElementField==s.field||!t.treeElementField&&a==0)&&(e.component._row.modules.dataTree.controlEl&&o.insertBefore(e.component._row.modules.dataTree.controlEl.cloneNode(!0),o.firstChild),e.component._row.modules.dataTree.branchEl&&o.insertBefore(e.component._row.modules.dataTree.branchEl.cloneNode(!0),o.firstChild)),r.appendChild(o),p.modules.format&&p.modules.format.renderedCallback&&p.modules.format.renderedCallback()}}),t.rowFormatter&&e.type===`row`&&this.config.formatCells!==!1){let n=Object.assign(e.component);n.getElement=function(){return r},t.rowFormatter(e.component)}return r}generateHTMLTable(e){var t=document.createElement(`div`);return t.appendChild(this.generateTableElement(e)),t.innerHTML}getHtml(e,t,n,r){var i=this.generateExportList(n||this.table.options.htmlOutputConfig,t,e,r||`htmlOutput`);return this.generateHTMLTable(i)}mapElementStyles(e,t,n){if(this.cloneTableStyle&&e&&t){var r={"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 i=window.getComputedStyle(e);n.forEach(function(e){t.style[r[e]]||(t.style[r[e]]=i.getPropertyValue(e))})}}}},k(x,`moduleName`,`export`),k(x,`columnLookups`,{}),k(x,`rowLookups`,{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()}}),x),ra=(S=class e extends J{constructor(e){super(e),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)),this.table.options.filterMode===`remote`&&this.subscribe(`data-params`,this.remoteFilterParams.bind(this)),this.registerDataHandler(this.filter.bind(this),10)}tableBuilt(){this.table.options.initialFilter&&this.setFilter(this.table.options.initialFilter),this.table.options.initialHeaderFilter&&this.table.options.initialHeaderFilter.forEach(e=>{var t=this.table.columnManager.findColumn(e.field);if(t)this.setHeaderFilterValue(t,e.value);else return console.warn(`Column Filter Error - No matching column found:`,e.field),!1}),this.tableInitialized=!0}remoteFilterParams(e,t,n,r){return r.filter=this.getFilters(!0,!0),r}generatePlaceholder(e){if(this.table.options.placeholderHeaderFilter&&Object.keys(this.headerFilters).length)return this.table.options.placeholderHeaderFilter}userSetFilter(e,t,n,r){this.setFilter(e,t,n,r),this.refreshFilter()}userRefreshFilter(){this.refreshFilter()}userAddFilter(e,t,n,r){this.addFilter(e,t,n,r),this.refreshFilter()}userSetHeaderFilterFocus(e){var t=this.table.columnManager.findColumn(e);if(t)this.setHeaderFilterFocus(t);else return console.warn(`Column Filter Focus Error - No matching column found:`,e),!1}userGetHeaderFilterValue(e){var t=this.table.columnManager.findColumn(e);if(t)return this.getHeaderFilterValue(t);console.warn(`Column Filter Error - No matching column found:`,e)}userSetHeaderFilterValue(e,t){var n=this.table.columnManager.findColumn(e);if(n)this.setHeaderFilterValue(n,t);else return console.warn(`Column Filter Error - No matching column found:`,e),!1}userRemoveFilter(e,t,n){this.removeFilter(e,t,n),this.refreshFilter()}userClearFilter(e){this.clearFilter(e),this.refreshFilter()}userClearHeaderFilter(){this.clearHeaderFilter(),this.refreshFilter()}searchRows(e,t,n){return this.search(`rows`,e,t,n)}searchData(e,t,n){return this.search(`data`,e,t,n)}initializeColumnHeaderFilter(e){e.definition.headerFilter&&this.initializeColumn(e)}initializeColumn(t,n){var r=this,i=t.getField();function a(n){var a=t.modules.filter.tagType==`input`&&t.modules.filter.attrType==`text`||t.modules.filter.tagType==`textarea`?`partial`:`match`,o=``,s=``,c;if(t.modules.filter.prevSuccess===void 0||t.modules.filter.prevSuccess!==n){if(t.modules.filter.prevSuccess=n,t.modules.filter.emptyFunc(n))delete r.headerFilters[i];else{switch(t.modules.filter.value=n,typeof t.definition.headerFilterFunc){case`string`:e.filters[t.definition.headerFilterFunc]?(o=t.definition.headerFilterFunc,c=function(r){var i=t.definition.headerFilterFuncParams||{},a=t.getFieldValue(r);return i=typeof i==`function`?i(n,a,r):i,e.filters[t.definition.headerFilterFunc](n,a,r,i)}):console.warn(`Header Filter Error - Matching filter function not found: `,t.definition.headerFilterFunc);break;case`function`:c=function(e){var r=t.definition.headerFilterFuncParams||{},i=t.getFieldValue(e);return r=typeof r==`function`?r(n,i,e):r,t.definition.headerFilterFunc(n,i,e,r)},o=c;break}if(!c)switch(a){case`partial`:c=function(e){var r=t.getFieldValue(e);return r==null?!1:String(r).toLowerCase().indexOf(String(n).toLowerCase())>-1},o=`like`;break;default:c=function(e){return t.getFieldValue(e)==n},o=`=`}r.headerFilters[i]={value:n,func:c,type:o}}t.modules.filter.value=n,s=JSON.stringify(r.headerFilters),r.prevHeaderFilterChangeCheck!==s&&(r.prevHeaderFilterChangeCheck=s,r.trackChanges(),r.refreshFilter())}return!0}t.modules.filter={success:a,attrType:!1,tagType:!1,emptyFunc:!1},this.generateHeaderFilterElement(t)}generateHeaderFilterElement(e,t,n){var r=this,i=e.modules.filter.success,a=e.getField(),o,s,c,l,u,d,f,p;e.modules.filter.value=t;function m(){}function h(e){p=e}if(e.modules.filter.headerElement&&e.modules.filter.headerElement.parentNode&&e.contentElement.removeChild(e.modules.filter.headerElement.parentNode),a){switch(e.modules.filter.emptyFunc=e.definition.headerFilterEmptyCheck||function(e){return!e&&e!==0},o=document.createElement(`div`),o.classList.add(`tabulator-header-filter`),typeof e.definition.headerFilter){case`string`:r.table.modules.edit.editors[e.definition.headerFilter]?(s=r.table.modules.edit.editors[e.definition.headerFilter],(e.definition.headerFilter===`tick`||e.definition.headerFilter===`tickCross`)&&!e.definition.headerFilterEmptyCheck&&(e.modules.filter.emptyFunc=function(e){return e!==!0&&e!==!1})):console.warn(`Filter Error - Cannot build header filter, No such editor found: `,e.definition.editor);break;case`function`:s=e.definition.headerFilter;break;case`boolean`:e.modules.edit&&e.modules.edit.editor?s=e.modules.edit.editor:e.definition.formatter&&r.table.modules.edit.editors[e.definition.formatter]?(s=r.table.modules.edit.editors[e.definition.formatter],(e.definition.formatter===`tick`||e.definition.formatter===`tickCross`)&&!e.definition.headerFilterEmptyCheck&&(e.modules.filter.emptyFunc=function(e){return e!==!0&&e!==!1})):s=r.table.modules.edit.editors.input;break}if(s){if(l={getValue:function(){return t===void 0?``:t},getField:function(){return e.definition.field},getElement:function(){return o},getColumn:function(){return e.getComponent()},getTable:()=>this.table,getType:()=>`header`,getRow:function(){return{normalizeHeight:function(){}}}},f=e.definition.headerFilterParams||{},f=typeof f==`function`?f.call(r.table,l):f,c=s.call(this.table.modules.edit,l,h,i,m,f),!c){console.warn(`Filter Error - Cannot add filter to `+a+` column, editor returned a value of false`);return}if(!(c instanceof Node)){console.warn(`Filter Error - Cannot add filter to `+a+` column, editor should return an instance of Node, the editor returned:`,c);return}r.langBind(`headerFilters|columns|`+e.definition.field,function(t){c.setAttribute(`placeholder`,t!==void 0&&t?t:e.definition.headerFilterPlaceholder||r.langText(`headerFilters|default`))}),c.addEventListener(`click`,function(e){e.stopPropagation(),c.focus()}),c.addEventListener(`focus`,e=>{var t=this.table.columnManager.contentsElement.scrollLeft;t!==this.table.rowManager.element.scrollLeft&&(this.table.rowManager.scrollHorizontal(t),this.table.columnManager.scrollHorizontal(t))}),u=!1,d=function(e){u&&clearTimeout(u),u=setTimeout(function(){i(c.value)},r.table.options.headerFilterLiveFilterDelay)},e.modules.filter.headerElement=c,e.modules.filter.attrType=c.hasAttribute(`type`)?c.getAttribute(`type`).toLowerCase():``,e.modules.filter.tagType=c.tagName.toLowerCase(),e.definition.headerFilterLiveFilter!==!1&&(e.definition.headerFilter===`autocomplete`||e.definition.headerFilter===`tickCross`||(e.definition.editor===`autocomplete`||e.definition.editor===`tickCross`)&&e.definition.headerFilter===!0||(c.addEventListener(`keyup`,d),c.addEventListener(`search`,d),e.modules.filter.attrType==`number`&&c.addEventListener(`change`,function(e){i(c.value)}),e.modules.filter.attrType==`text`&&this.table.browser!==`ie`&&c.setAttribute(`type`,`search`)),(e.modules.filter.tagType==`input`||e.modules.filter.tagType==`select`||e.modules.filter.tagType==`textarea`)&&c.addEventListener(`mousedown`,function(e){e.stopPropagation()})),o.appendChild(c),e.contentElement.appendChild(o),n||r.headerFilterColumns.push(e),p&&p()}}else console.warn(`Filter Error - Cannot add header filter, column has no field set:`,e.definition.title)}hideHeaderFilterElements(){this.headerFilterColumns.forEach(function(e){e.modules.filter&&e.modules.filter.headerElement&&(e.modules.filter.headerElement.style.display=`none`)})}showHeaderFilterElements(){this.headerFilterColumns.forEach(function(e){e.modules.filter&&e.modules.filter.headerElement&&(e.modules.filter.headerElement.style.display=``)})}setHeaderFilterFocus(e){e.modules.filter&&e.modules.filter.headerElement?e.modules.filter.headerElement.focus():console.warn(`Column Filter Focus Error - No header filter set on column:`,e.getField())}getHeaderFilterValue(e){if(e.modules.filter&&e.modules.filter.headerElement)return e.modules.filter.value;console.warn(`Column Filter Error - No header filter set on column:`,e.getField())}setHeaderFilterValue(e,t){e&&(e.modules.filter&&e.modules.filter.headerElement?(this.generateHeaderFilterElement(e,t,!0),e.modules.filter.success(t)):console.warn(`Column Filter Error - No header filter set on column:`,e.getField()))}reloadHeaderFilter(e){e&&(e.modules.filter&&e.modules.filter.headerElement?this.generateHeaderFilterElement(e,e.modules.filter.value,!0):console.warn(`Column Filter Error - No header filter set on column:`,e.getField()))}refreshFilter(){this.tableInitialized&&(this.table.options.filterMode===`remote`?this.reloadData(null,!1,!1):this.refreshData(!0))}trackChanges(){this.changed=!0,this.dispatch(`filter-changed`)}hasChanged(){var e=this.changed;return this.changed=!1,e}setFilter(e,t,n,r){this.filterList=[],Array.isArray(e)||(e=[{field:e,type:t,value:n,params:r}]),this.addFilter(e)}addFilter(e,t,n,r){var i=!1;Array.isArray(e)||(e=[{field:e,type:t,value:n,params:r}]),e.forEach(e=>{e=this.findFilter(e),e&&(this.filterList.push(e),i=!0)}),i&&this.trackChanges()}findFilter(t){var n;if(Array.isArray(t))return this.findSubFilters(t);var r=!1;return typeof t.field==`function`?r=function(e){return t.field(e,t.type||{})}:e.filters[t.type]?(n=this.table.columnManager.getColumnByField(t.field),r=n?function(r){return e.filters[t.type](t.value,n.getFieldValue(r),r,t.params||{})}:function(n){return e.filters[t.type](t.value,n[t.field],n,t.params||{})}):console.warn(`Filter Error - No such filter type found, ignoring: `,t.type),t.func=r,t.func?t:!1}findSubFilters(e){var t=[];return e.forEach(e=>{e=this.findFilter(e),e&&t.push(e)}),t.length?t:!1}getFilters(e,t){var n=[];return e&&(n=this.getHeaderFilters()),t&&n.forEach(function(e){typeof e.type==`function`&&(e.type=`function`)}),n=n.concat(this.filtersToArray(this.filterList,t)),n}filtersToArray(e,t){var n=[];return e.forEach(e=>{var r;Array.isArray(e)?n.push(this.filtersToArray(e,t)):(r={field:e.field,type:e.type,value:e.value},t&&typeof r.type==`function`&&(r.type=`function`),n.push(r))}),n}getHeaderFilters(){var e=[];for(var t in this.headerFilters)e.push({field:t,type:this.headerFilters[t].type,value:this.headerFilters[t].value});return e}removeFilter(e,t,n){Array.isArray(e)||(e=[{field:e,type:t,value:n}]),e.forEach(e=>{var t=-1;t=typeof e.field==`object`?this.filterList.findIndex(t=>e===t):this.filterList.findIndex(t=>e.field===t.field&&e.type===t.type&&e.value===t.value),t>-1?this.filterList.splice(t,1):console.warn(`Filter Error - No matching filter type found, ignoring: `,e.type)}),this.trackChanges()}clearFilter(e){this.filterList=[],e&&this.clearHeaderFilter(),this.trackChanges()}clearHeaderFilter(){this.headerFilters={},this.prevHeaderFilterChangeCheck=`{}`,this.headerFilterColumns.forEach(e=>{e.modules.filter.value!==void 0&&delete e.modules.filter.value,e.modules.filter.prevSuccess=void 0,this.reloadHeaderFilter(e)}),this.trackChanges()}search(e,t,n,r){var i=[],a=[];return Array.isArray(t)||(t=[{field:t,type:n,value:r}]),t.forEach(e=>{e=this.findFilter(e),e&&a.push(e)}),this.table.rowManager.rows.forEach(t=>{var n=!0;a.forEach(e=>{this.filterRecurse(e,t.getData())||(n=!1)}),n&&i.push(e===`data`?t.getData(`data`):t.getComponent())}),i}filter(e,t){var n=[],r=[];return this.subscribedExternal(`dataFiltering`)&&this.dispatchExternal(`dataFiltering`,this.getFilters(!0)),this.table.options.filterMode!==`remote`&&(this.filterList.length||Object.keys(this.headerFilters).length)?e.forEach(e=>{this.filterRow(e)&&n.push(e)}):n=e.slice(0),this.subscribedExternal(`dataFiltered`)&&(n.forEach(e=>{r.push(e.getComponent())}),this.dispatchExternal(`dataFiltered`,this.getFilters(!0),r)),n}filterRow(e,t){var n=!0,r=e.getData();for(var i in this.filterList.forEach(e=>{this.filterRecurse(e,r)||(n=!1)}),this.headerFilters)this.headerFilters[i].func(r)||(n=!1);return n}filterRecurse(e,t){var n=!1;return Array.isArray(e)?e.forEach(e=>{this.filterRecurse(e,t)&&(n=!0)}):n=e.func(t),n}},k(S,`moduleName`,`filter`),k(S,`filters`,{"=":function(e,t,n,r){return t==e},"<":function(e,t,n,r){return t<e},"<=":function(e,t,n,r){return t<=e},">":function(e,t,n,r){return t>e},">=":function(e,t,n,r){return t>=e},"!=":function(e,t,n,r){return t!=e},regex:function(e,t,n,r){return typeof e==`string`&&(e=new RegExp(e)),e.test(t)},like:function(e,t,n,r){return e==null?t===e:t==null?!1:String(t).toLowerCase().indexOf(e.toLowerCase())>-1},keywords:function(e,t,n,r){var i=e.toLowerCase().split(r.separator===void 0?` `:r.separator),a=String(t??``).toLowerCase(),o=[];return i.forEach(e=>{a.includes(e)&&o.push(!0)}),r.matchAll?o.length===i.length:!!o.length},starts:function(e,t,n,r){return e==null?t===e:t==null?!1:String(t).toLowerCase().startsWith(e.toLowerCase())},ends:function(e,t,n,r){return e==null?t===e:t==null?!1:String(t).toLowerCase().endsWith(e.toLowerCase())},in:function(e,t,n,r){return Array.isArray(e)?e.length?e.indexOf(t)>-1:!0:(console.warn(`Filter Error - filter value is not an array:`,e),!1)}}),S);function ia(e,t,n){return this.emptyToSpace(this.sanitizeHTML(e.getValue()))}function aa(e,t,n){return e.getValue()}function oa(e,t,n){return e.getElement().style.whiteSpace=`pre-wrap`,this.emptyToSpace(this.sanitizeHTML(e.getValue()))}function sa(e,t,n){var r=parseFloat(e.getValue()),i=``,a,o,s,c,l,u=t.decimal||`.`,d=t.thousand||`,`,f=t.negativeSign||`-`,p=t.symbol||``,m=!!t.symbolAfter,h=t.precision===void 0?2:t.precision;if(isNaN(r))return this.emptyToSpace(this.sanitizeHTML(e.getValue()));if(r<0&&(r=Math.abs(r),i=f),a=h===!1?r:r.toFixed(h),a=String(a).split(`.`),o=a[0],s=a.length>1?u+a[1]:``,t.thousand!==!1)for(c=/(\d+)(\d{3})/;c.test(o);)o=o.replace(c,`$1`+d+`$2`);return l=o+s,i===!0?(l=`(`+l+`)`,m?l+p:p+l):m?i+l+p:i+p+l}function ca(e,t,n){var r=e.getValue(),i=t.urlPrefix||``,a=t.download,o=r,s=document.createElement(`a`),c;function l(e,t){var n=t[e.shift()];return e.length&&typeof n==`object`?l(e,n):n}if(t.labelField&&(c=e.getData(),o=l(t.labelField.split(this.table.options.nestedFieldSeparator),c)),t.label)switch(typeof t.label){case`string`:o=t.label;break;case`function`:o=t.label(e);break}if(o){if(t.urlField&&(c=e.getData(),r=q.retrieveNestedData(this.table.options.nestedFieldSeparator,t.urlField,c)),t.url)switch(typeof t.url){case`string`:r=t.url;break;case`function`:r=t.url(e);break}return s.setAttribute(`href`,i+r),t.target&&s.setAttribute(`target`,t.target),t.download&&(a=typeof a==`function`?a(e):a===!0?``:a,s.setAttribute(`download`,a)),s.innerHTML=this.emptyToSpace(this.sanitizeHTML(o)),s}else return` `}function la(e,t,n){var r=document.createElement(`img`),i=e.getValue();switch(t.urlPrefix&&(i=t.urlPrefix+e.getValue()),t.urlSuffix&&(i+=t.urlSuffix),r.setAttribute(`src`,i),typeof t.height){case`number`:r.style.height=t.height+`px`;break;case`string`:r.style.height=t.height;break}switch(typeof t.width){case`number`:r.style.width=t.width+`px`;break;case`string`:r.style.width=t.width;break}return r.addEventListener(`load`,function(){e.getRow().normalizeHeight()}),r}function ua(e,t,n){var r=e.getValue(),i=e.getElement(),a=t.allowEmpty,o=t.allowTruthy,s=Object.keys(t).includes(`trueValue`),c=t.tickElement===void 0?`<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>`:t.tickElement,l=t.crossElement===void 0?`<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>`:t.crossElement;return s&&r===t.trueValue||!s&&(o&&r||r===!0||r===`true`||r===`True`||r===1||r===`1`)?(i.setAttribute(`aria-checked`,!0),c||``):a&&(r===`null`||r===``||r==null)?(i.setAttribute(`aria-checked`,`mixed`),``):(i.setAttribute(`aria-checked`,!1),l||``)}function da(e,t,n){var r=this.table.dependencyRegistry.lookup([`luxon`,`DateTime`],`DateTime`),i=t.inputFormat||`yyyy-MM-dd HH:mm:ss`,a=t.outputFormat||`dd/MM/yyyy HH:mm:ss`,o=t.invalidPlaceholder===void 0?``:t.invalidPlaceholder,s=e.getValue();if(r!==void 0){var c=r.isDateTime(s)?s:i===`iso`?r.fromISO(String(s)):r.fromFormat(String(s),i);return c.isValid?(t.timezone&&(c=c.setZone(t.timezone)),c.toFormat(a)):o===!0||!s?s:typeof o==`function`?o(s):o}else console.error(`Format Error - 'datetime' formatter is dependant on luxon.js`)}function fa(e,t,n){var r=this.table.dependencyRegistry.lookup([`luxon`,`DateTime`],`DateTime`),i=t.inputFormat||`yyyy-MM-dd HH:mm:ss`,a=t.invalidPlaceholder===void 0?``:t.invalidPlaceholder,o=t.suffix===void 0?!1:t.suffix,s=t.unit===void 0?`days`:t.unit,c=t.humanize===void 0?!1:t.humanize,l=t.date===void 0?r.now():t.date,u=e.getValue();if(r!==void 0){var d=r.isDateTime(u)?u:i===`iso`?r.fromISO(String(u)):r.fromFormat(String(u),i);return d.isValid?c?d.diff(l,s).toHuman()+(o?` `+o:``):parseInt(d.diff(l,s)[s])+(o?` `+o:``):a===!0?u:typeof a==`function`?a(u):a}else console.error(`Format Error - 'datetimediff' formatter is dependant on luxon.js`)}function pa(e,t,n){var r=e.getValue();return t[r]===void 0?(console.warn(`Missing display value for `+r),r):t[r]}function ma(e,t,n){var r=e.getValue(),i=e.getElement(),a=t&&t.stars?t.stars:5,o=document.createElement(`span`),s=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`),c=`<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 "/>`,l=`<polygon fill="#D2D2D2" stroke="#686868" stroke-width="37.6152" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="259.216,29.942 330.27,173.919 489.16,197.007 374.185,309.08 401.33,467.31 259.216,392.612 117.104,467.31 144.25,309.08 29.274,197.007 188.165,173.919 "/>`;o.style.verticalAlign=`middle`,s.setAttribute(`width`,`14`),s.setAttribute(`height`,`14`),s.setAttribute(`viewBox`,`0 0 512 512`),s.setAttribute(`xml:space`,`preserve`),s.style.padding=`0 1px`,r=r&&!isNaN(r)?parseInt(r):0,r=Math.max(0,Math.min(r,a));for(var u=1;u<=a;u++){var d=s.cloneNode(!0);d.innerHTML=u<=r?c:l,o.appendChild(d)}return i.style.whiteSpace=`nowrap`,i.style.overflow=`hidden`,i.style.textOverflow=`ellipsis`,i.setAttribute(`aria-label`,r),o}function ha(e,t,n){var r=this.sanitizeHTML(e.getValue())||0,i=document.createElement(`span`),a=t&&t.max?t.max:100,o=t&&t.min?t.min:0,s=t&&t.color!==void 0?t.color:[`red`,`orange`,`green`],c=`#666666`,l,u;if(!(isNaN(r)||e.getValue()===void 0)){switch(i.classList.add(`tabulator-traffic-light`),u=parseFloat(r)<=a?parseFloat(r):a,u=parseFloat(u)>=o?parseFloat(u):o,l=(a-o)/100,u=Math.round((u-o)/l),typeof s){case`string`:c=s;break;case`function`:c=s(r);break;case`object`:if(Array.isArray(s)){var d=100/s.length,f=Math.floor(u/d);f=Math.min(f,s.length-1),f=Math.max(f,0),c=s[f];break}}return i.style.backgroundColor=c,i}}function ga(e,t={},n){var r=this.sanitizeHTML(e.getValue())||0,i=e.getElement(),a=t.max?t.max:100,o=t.min?t.min:0,s=t.legendAlign?t.legendAlign:`center`,c,l=parseFloat(r)<=a?parseFloat(r):a,u,d,f;switch(l=parseFloat(l)>=o?parseFloat(l):o,c=(a-o)/100,l=Math.round((l-o)/c),typeof t.color){case`string`:u=t.color;break;case`function`:u=t.color(r);break;case`object`:if(Array.isArray(t.color)){let e=100/t.color.length,n=Math.floor(l/e);n=Math.min(n,t.color.length-1),n=Math.max(n,0),u=t.color[n];break}default:u=`#2DC214`}switch(typeof t.legend){case`string`:d=t.legend;break;case`function`:d=t.legend(r);break;case`boolean`:d=r;break;default:d=!1}switch(typeof t.legendColor){case`string`:f=t.legendColor;break;case`function`:f=t.legendColor(r);break;case`object`:if(Array.isArray(t.legendColor)){let e=100/t.legendColor.length,n=Math.floor(l/e);n=Math.min(n,t.legendColor.length-1),n=Math.max(n,0),f=t.legendColor[n]}break;default:f=`#000`}i.style.minWidth=`30px`,i.style.position=`relative`,i.setAttribute(`aria-label`,l);var p=document.createElement(`div`);p.style.display=`inline-block`,p.style.width=l+`%`,p.style.backgroundColor=u,p.style.height=`100%`,p.setAttribute(`data-max`,a),p.setAttribute(`data-min`,o);var m=document.createElement(`div`);if(m.style.position=`relative`,m.style.width=`100%`,m.style.height=`100%`,d){var h=document.createElement(`div`);h.style.position=`absolute`,h.style.top=0,h.style.left=0,h.style.textAlign=s,h.style.width=`100%`,h.style.color=f,h.innerHTML=d}return n(function(){if(!(e instanceof Si)){var t=document.createElement(`div`);t.style.position=`absolute`,t.style.top=`4px`,t.style.bottom=`4px`,t.style.left=`4px`,t.style.right=`4px`,i.appendChild(t),i=t}i.appendChild(m),m.appendChild(p),d&&m.appendChild(h)}),``}function _a(e,t,n){return e.getElement().style.backgroundColor=this.sanitizeHTML(e.getValue()),``}function va(e,t,n){return`<svg enable-background="new 0 0 24 24" height="14" width="14" viewBox="0 0 24 24" xml:space="preserve" ><path fill="#2DC214" clip-rule="evenodd" d="M21.652,3.211c-0.293-0.295-0.77-0.295-1.061,0L9.41,14.34 c-0.293,0.297-0.771,0.297-1.062,0L3.449,9.351C3.304,9.203,3.114,9.13,2.923,9.129C2.73,9.128,2.534,9.201,2.387,9.351 l-2.165,1.946C0.078,11.445,0,11.63,0,11.823c0,0.194,0.078,0.397,0.223,0.544l4.94,5.184c0.292,0.296,0.771,0.776,1.062,1.07 l2.124,2.141c0.292,0.293,0.769,0.293,1.062,0l14.366-14.34c0.293-0.294,0.293-0.777,0-1.071L21.652,3.211z" fill-rule="evenodd"/></svg>`}function ya(e,t,n){return`<svg enable-background="new 0 0 24 24" height="14" width="14" viewBox="0 0 24 24" xml:space="preserve" ><path fill="#CE1515" d="M22.245,4.015c0.313,0.313,0.313,0.826,0,1.139l-6.276,6.27c-0.313,0.312-0.313,0.826,0,1.14l6.273,6.272 c0.313,0.313,0.313,0.826,0,1.14l-2.285,2.277c-0.314,0.312-0.828,0.312-1.142,0l-6.271-6.271c-0.313-0.313-0.828-0.313-1.141,0 l-6.276,6.267c-0.313,0.313-0.828,0.313-1.141,0l-2.282-2.28c-0.313-0.313-0.313-0.826,0-1.14l6.278-6.269 c0.313-0.312,0.313-0.826,0-1.14L1.709,5.147c-0.314-0.313-0.314-0.827,0-1.14l2.284-2.278C4.308,1.417,4.821,1.417,5.135,1.73 L11.405,8c0.314,0.314,0.828,0.314,1.141,0.001l6.276-6.267c0.312-0.312,0.826-0.312,1.141,0L22.245,4.015z"/></svg>`}function ba(e,t,n){var r=e.getValue(),i=t.size||15,a=i+`px`,o,s,c=t.hasOwnProperty(`onValue`)?t.onValue:!0,l=t.hasOwnProperty(`offValue`)?t.offValue:!1,u=t.onTruthy?r:r===c;return o=document.createElement(`div`),o.classList.add(`tabulator-toggle`),u?(o.classList.add(`tabulator-toggle-on`),o.style.flexDirection=`row-reverse`,t.onColor&&(o.style.background=t.onColor)):t.offColor&&(o.style.background=t.offColor),o.style.width=2.5*i+`px`,o.style.borderRadius=a,t.clickable&&o.addEventListener(`click`,t=>{e.setValue(u?l:c)}),s=document.createElement(`div`),s.classList.add(`tabulator-toggle-switch`),s.style.height=a,s.style.width=a,s.style.borderRadius=a,o.appendChild(s),o}function xa(e,t,n){var r=document.createElement(`span`),i=e.getRow(),a=e.getTable();return i.watchPosition(e=>{t.relativeToPage&&(e+=a.modules.page.getPageSize()*(a.modules.page.getPage()-1)),r.innerText=e}),r}function Sa(e,t,n){return e.getElement().classList.add(`tabulator-row-handle`),`<div class='tabulator-row-handle-box'><div class='tabulator-row-handle-bar'></div><div class='tabulator-row-handle-bar'></div><div class='tabulator-row-handle-bar'></div></div>`}function Ca(e,t,n){var r,i,a;function o(e){var t=e.getValue(),n=`plaintext`;switch(typeof t){case`boolean`:n=`tickCross`;break;case`string`:t.includes(`
`)&&(n=`textarea`);break}return n}return r=t.formatterLookup?t.formatterLookup(e):o(e),t.paramsLookup&&(a=typeof t.paramsLookup==`function`?t.paramsLookup(r,e):t.paramsLookup[r]),i=this.table.modules.format.lookupFormatter(r),i.call(this,e,a||{},n)}function wa(e,t,n){var r=t.delimiter||`,`,i=e.getValue(),a=this.table,o;return t.valueMap&&(o=typeof t.valueMap==`string`?function(e){return e.map(e=>q.retrieveNestedData(a.options.nestedFieldSeparator,t.valueMap,e))}:t.valueMap),Array.isArray(i)?(o&&(i=o(i)),i.join(r)):i}function Ta(e,t,n){var r=t.indent||` `,i=t.multiline===void 0?!0:t.multiline,a=t.replacer||null,o=e.getValue();return i&&(e.getElement().style.whiteSpace=`pre-wrap`),JSON.stringify(o,a,r)}var Ea={plaintext:ia,html:aa,textarea:oa,money:sa,link:ca,image:la,tickCross:ua,datetime:da,datetimediff:fa,lookup:pa,star:ma,traffic:ha,progress:ga,color:_a,buttonTick:va,buttonCross:ya,toggle:ba,rownum:xa,handle:Sa,adaptable:Ca,array:wa,json:Ta},Da=(ee=class e extends J{constructor(e){super(e),this.registerColumnOption(`formatter`),this.registerColumnOption(`formatterParams`),this.registerColumnOption(`formatterPrint`),this.registerColumnOption(`formatterPrintParams`),this.registerColumnOption(`formatterClipboard`),this.registerColumnOption(`formatterClipboardParams`),this.registerColumnOption(`formatterHtmlOutput`),this.registerColumnOption(`formatterHtmlOutputParams`),this.registerColumnOption(`titleFormatter`),this.registerColumnOption(`titleFormatterParams`)}initialize(){this.subscribe(`cell-format`,this.formatValue.bind(this)),this.subscribe(`cell-rendered`,this.cellRendered.bind(this)),this.subscribe(`column-layout`,this.initializeColumn.bind(this)),this.subscribe(`column-format`,this.formatHeader.bind(this))}initializeColumn(e){e.modules.format=this.lookupTypeFormatter(e,``),e.definition.formatterPrint!==void 0&&(e.modules.format.print=this.lookupTypeFormatter(e,`Print`)),e.definition.formatterClipboard!==void 0&&(e.modules.format.clipboard=this.lookupTypeFormatter(e,`Clipboard`)),e.definition.formatterHtmlOutput!==void 0&&(e.modules.format.htmlOutput=this.lookupTypeFormatter(e,`HtmlOutput`))}lookupTypeFormatter(e,t){var n={params:e.definition[`formatter`+t+`Params`]||{}},r=e.definition[`formatter`+t];return n.formatter=this.lookupFormatter(r),n}lookupFormatter(t){var n;switch(typeof t){case`string`:e.formatters[t]?n=e.formatters[t]:(console.warn(`Formatter Error - No such formatter found: `,t),n=e.formatters.plaintext);break;case`function`:n=t;break;default:n=e.formatters.plaintext;break}return n}cellRendered(e){e.modules.format&&e.modules.format.renderedCallback&&!e.modules.format.rendered&&(e.modules.format.renderedCallback(),e.modules.format.rendered=!0)}formatHeader(e,t,n){var r,i,a,o;return e.definition.titleFormatter?(r=this.lookupFormatter(e.definition.titleFormatter),a=t=>{e.titleFormatterRendered=t},o={getValue:function(){return t},getElement:function(){return n},getType:function(){return`header`},getColumn:function(){return e.getComponent()},getTable:()=>this.table},i=e.definition.titleFormatterParams||{},i=typeof i==`function`?i():i,r.call(this,o,i,a)):t}formatValue(e){var t=e.getComponent(),n=typeof e.column.modules.format.params==`function`?e.column.modules.format.params(t):e.column.modules.format.params;function r(t){e.modules.format||(e.modules.format={}),e.modules.format.renderedCallback=t,e.modules.format.rendered=!1}return e.column.modules.format.formatter.call(this,t,n,r)}formatExportValue(e,t){var n=e.column.modules.format[t],r;if(n){r=typeof n.params==`function`?n.params(e.getComponent()):n.params;function t(t){e.modules.format||(e.modules.format={}),e.modules.format.renderedCallback=t,e.modules.format.rendered=!1}return n.formatter.call(this,e.getComponent(),r,t)}else return this.formatValue(e)}sanitizeHTML(e){if(e){var t={"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`,"/":`/`,"`":```,"=":`=`};return String(e).replace(/[&<>"'`=/]/g,function(e){return t[e]})}else return e}emptyToSpace(e){return e==null||e===``?` `:e}},k(ee,`moduleName`,`format`),k(ee,`formatters`,Ea),ee),Oa=(te=class extends J{constructor(e){super(e),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(e){this.layoutElement(e.element,e.column)}reinitializeColumns(){this.reset(),this.table.columnManager.columnsByIndex.forEach(e=>{this.initializeColumn(e)}),this.layout()}initializeColumn(e){var t={margin:0,edge:!1};e.isGroup||(this.frozenCheck(e)?(t.position=this.initializationMode,this.initializationMode==`left`?this.leftColumns.push(e):this.rightColumns.unshift(e),this.active=!0,e.modules.frozen=t):this.initializationMode=`right`)}frozenCheck(e){return e.parent.isGroup&&e.definition.frozen&&console.warn(`Frozen Column Error - Parent column group must be frozen, not individual columns or sub column groups`),e.parent.isGroup?this.frozenCheck(e.parent):e.definition.frozen}layoutCalcRows(){this.table.modExists(`columnCalcs`)&&(this.table.modules.columnCalcs.topInitialized&&this.table.modules.columnCalcs.topRow&&this.layoutRow(this.table.modules.columnCalcs.topRow),this.table.modules.columnCalcs.botInitialized&&this.table.modules.columnCalcs.botRow&&this.layoutRow(this.table.modules.columnCalcs.botRow),this.table.modExists(`groupRows`)&&this.layoutGroupCalcs(this.table.modules.groupRows.getGroups()))}layoutGroupCalcs(e){e.forEach(e=>{e.calcs.top&&this.layoutRow(e.calcs.top),e.calcs.bottom&&this.layoutRow(e.calcs.bottom),e.groupList&&e.groupList.length&&this.layoutGroupCalcs(e.groupList)})}layoutColumnPosition(e){var t=[],n=0,r=0;this.leftColumns.forEach((r,i)=>{if(r.modules.frozen.marginValue=n,r.modules.frozen.margin=r.modules.frozen.marginValue+`px`,r.visible&&(n+=r.getWidth()),i==this.leftColumns.length-1?r.modules.frozen.edge=!0:r.modules.frozen.edge=!1,r.parent.isGroup){var a=this.getColGroupParentElement(r);t.includes(a)||(this.layoutElement(a,r),t.push(a)),a.classList.toggle(`tabulator-frozen-left`,r.modules.frozen.edge&&r.modules.frozen.position===`left`),a.classList.toggle(`tabulator-frozen-right`,r.modules.frozen.edge&&r.modules.frozen.position===`right`)}else this.layoutElement(r.getElement(),r);e&&r.cells.forEach(e=>{this.layoutElement(e.getElement(!0),r)})}),this.rightColumns.forEach((t,n)=>{t.modules.frozen.marginValue=r,t.modules.frozen.margin=t.modules.frozen.marginValue+`px`,t.visible&&(r+=t.getWidth()),n==this.rightColumns.length-1?t.modules.frozen.edge=!0:t.modules.frozen.edge=!1,t.parent.isGroup?this.layoutElement(this.getColGroupParentElement(t),t):this.layoutElement(t.getElement(),t),e&&t.cells.forEach(e=>{this.layoutElement(e.getElement(!0),t)})})}getColGroupParentElement(e){return e.parent.isGroup?this.getColGroupParentElement(e.parent):e.getElement()}layout(){this.active&&!this.blocked&&(this.layoutColumnPosition(),this.reinitializeRows(),this.layoutCalcRows())}reinitializeRows(){var e=this.table.rowManager.getVisibleRows(!0);this.table.rowManager.getRows().filter(t=>!e.includes(t)).forEach(e=>{e.deinitialize()}),e.forEach(e=>{e.type===`row`&&this.layoutRow(e)})}layoutRow(e){this.table.options.layout===`fitDataFill`&&this.rightColumns.length&&(this.table.rowManager.getTableElement().style.minWidth=`calc(100% - `+this.rightMargin+`)`),this.leftColumns.forEach(t=>{var n=e.getCell(t);n&&this.layoutElement(n.getElement(!0),t)}),this.rightColumns.forEach(t=>{var n=e.getCell(t);n&&this.layoutElement(n.getElement(!0),t)})}layoutElement(e,t){var n;t.modules.frozen&&e&&(e.style.position=`sticky`,n=this.table.rtl?t.modules.frozen.position===`left`?`right`:`left`:t.modules.frozen.position,e.style[n]=t.modules.frozen.margin,e.classList.add(`tabulator-frozen`),e.classList.toggle(`tabulator-frozen-left`,t.modules.frozen.edge&&t.modules.frozen.position===`left`),e.classList.toggle(`tabulator-frozen-right`,t.modules.frozen.edge&&t.modules.frozen.position===`right`))}adjustForScrollbar(e){this.rightColumns.length&&(this.table.columnManager.getContentsElement().style.width=`calc(100% - `+e+`px)`)}getFrozenColumns(){return this.leftColumns.concat(this.rightColumns)}_calcSpace(e,t){var n=0;for(let r=0;r<t;r++)e[r].visible&&(n+=e[r].getWidth());return n}},k(te,`moduleName`,`frozenColumns`),te),ka=(ne=class extends J{constructor(e){super(e),this.topElement=document.createElement(`div`),this.rows=[],this.registerComponentFunction(`row`,`freeze`,this.freezeRow.bind(this)),this.registerComponentFunction(`row`,`unfreeze`,this.unfreezeRow.bind(this)),this.registerComponentFunction(`row`,`isFrozen`,this.isRowFrozen.bind(this)),this.registerTableOption(`frozenRowsField`,`id`),this.registerTableOption(`frozenRows`,!1)}initialize(){var e=document.createDocumentFragment();this.rows=[],this.topElement.classList.add(`tabulator-frozen-rows-holder`),e.appendChild(document.createElement(`br`)),e.appendChild(this.topElement),this.table.columnManager.getContentsElement().insertBefore(e,this.table.columnManager.headersElement.nextSibling),this.subscribe(`row-deleting`,this.detachRow.bind(this)),this.subscribe(`rows-visible`,this.visibleRows.bind(this)),this.registerDisplayHandler(this.getRows.bind(this),10),this.table.options.frozenRows&&(this.subscribe(`data-processed`,this.initializeRows.bind(this)),this.subscribe(`row-added`,this.initializeRow.bind(this)),this.subscribe(`table-redrawing`,this.resizeHolderWidth.bind(this)),this.subscribe(`column-resized`,this.resizeHolderWidth.bind(this)),this.subscribe(`column-show`,this.resizeHolderWidth.bind(this)),this.subscribe(`column-hide`,this.resizeHolderWidth.bind(this))),this.resizeHolderWidth()}resizeHolderWidth(){this.topElement.style.minWidth=this.table.columnManager.headersElement.offsetWidth+`px`}initializeRows(){this.table.rowManager.getRows().forEach(e=>{this.initializeRow(e)})}initializeRow(e){var t=this.table.options.frozenRows,n=typeof t;n===`number`?e.getPosition()&&e.getPosition()+this.rows.length<=t&&this.freezeRow(e):n===`function`?t.call(this.table,e.getComponent())&&this.freezeRow(e):Array.isArray(t)&&t.includes(e.data[this.options(`frozenRowsField`)])&&this.freezeRow(e)}isRowFrozen(e){return this.rows.indexOf(e)>-1}isFrozen(){return!!this.rows.length}visibleRows(e,t){return this.rows.forEach(e=>{t.push(e)}),t}getRows(e){var t=e.slice(0);return this.rows.forEach(function(e){var n=t.indexOf(e);n>-1&&t.splice(n,1)}),t}freezeRow(e){e.modules.frozen?console.warn(`Freeze Error - Row is already frozen`):(e.modules.frozen=!0,this.topElement.appendChild(e.getElement()),e.initialize(),e.normalizeHeight(),this.rows.push(e),this.refreshData(!1,`display`),this.table.rowManager.adjustTableSize(),this.styleRows())}unfreezeRow(e){e.modules.frozen?(e.modules.frozen=!1,this.detachRow(e),this.table.rowManager.adjustTableSize(),this.refreshData(!1,`display`),this.rows.length&&this.styleRows()):console.warn(`Freeze Error - Row is already unfrozen`)}detachRow(e){var t=this.rows.indexOf(e);if(t>-1){var n=e.getElement();n.parentNode&&n.parentNode.removeChild(n),this.rows.splice(t,1)}}styleRows(e){this.rows.forEach((e,t)=>{this.table.rowManager.styleRow(e,t)})}},k(ne,`moduleName`,`frozenRows`),ne),Aa=class{constructor(e){return this._group=e,this.type=`GroupComponent`,new Proxy(this,{get:function(e,t,n){return e[t]===void 0?e._group.groupManager.table.componentFunctionBinder.handle(`group`,e._group,t):e[t]}})}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():!1}isVisible(){return this._group.visible}show(){this._group.show()}hide(){this._group.hide()}toggle(){this._group.toggleVisibility()}scrollTo(e,t){return this._group.groupManager.table.rowManager.scrollToRow(this._group,e,t)}_getSelf(){return this._group}getTable(){return this._group.groupManager.table}},ja=class e{constructor(e,t,n,r,i,a,o){this.groupManager=e,this.parent=t,this.key=r,this.level=n,this.field=i,this.hasSubGroups=n<e.groupIDLookups.length-1,this.addRow=this.hasSubGroups?this._addRowToGroup:this._addRow,this.type=`group`,this.old=o,this.rows=[],this.groups=[],this.groupList=[],this.generator=a,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=o?o.visible:e.startOpen[n]===void 0?e.startOpen[0]:e.startOpen[n],this.component=null,this.createElements(),this.addBindings(),this.createValueGroups()}wipe(e){e||(this.groupList.length?this.groupList.forEach(function(e){e.wipe()}):this.rows.forEach(e=>{e.modules&&delete e.modules.group})),this.element=!1,this.arrowElement=!1,this.elementContents=!1}createElements(){var e=document.createElement(`div`);e.classList.add(`tabulator-arrow`),this.element=document.createElement(`div`),this.element.classList.add(`tabulator-row`),this.element.classList.add(`tabulator-group`),this.element.classList.add(`tabulator-group-level-`+this.level),this.element.setAttribute(`role`,`rowgroup`),this.arrowElement=document.createElement(`div`),this.arrowElement.classList.add(`tabulator-group-toggle`),this.arrowElement.appendChild(e),this.groupManager.table.options.movableRows!==!1&&this.groupManager.table.modExists(`moveRow`)&&this.groupManager.table.modules.moveRow.initializeGroupHeader(this)}createValueGroups(){var e=this.level+1;this.groupManager.allowedValues&&this.groupManager.allowedValues[e]&&this.groupManager.allowedValues[e].forEach(t=>{this._createGroup(t,e)})}addBindings(){var e;this.groupManager.table.options.groupToggleElement&&(e=this.groupManager.table.options.groupToggleElement==`arrow`?this.arrowElement:this.element,e.addEventListener(`click`,e=>{this.groupManager.table.options.groupToggleElement===`arrow`&&(e.stopPropagation(),e.stopImmediatePropagation()),setTimeout(()=>{this.toggleVisibility()})}))}_createGroup(t,n){var r=n+`_`+t,i=new e(this.groupManager,this,n,t,this.groupManager.groupIDLookups[n].field,this.groupManager.headerGenerator[n]||this.groupManager.headerGenerator[0],this.old?this.old.groups[r]:!1);this.groups[r]=i,this.groupList.push(i)}_addRowToGroup(e){var t=this.level+1;if(this.hasSubGroups){var n=this.groupManager.groupIDLookups[t].func(e.getData()),r=t+`_`+n;this.groupManager.allowedValues&&this.groupManager.allowedValues[t]?this.groups[r]&&this.groups[r].addRow(e):(this.groups[r]||this._createGroup(n,t),this.groups[r].addRow(e))}}_addRow(e){this.rows.push(e),e.modules.group=this}insertRow(e,t,n){var r=this.conformRowData({});e.updateData(r);var i=this.rows.indexOf(t);i>-1?n?this.rows.splice(i+1,0,e):this.rows.splice(i,0,e):n?this.rows.push(e):this.rows.unshift(e),e.modules.group=this,this.groupManager.table.modExists(`columnCalcs`)&&this.groupManager.table.options.columnCalcs!=`table`&&this.groupManager.table.modules.columnCalcs.recalcGroup(this),this.groupManager.updateGroupRows(!0)}scrollHeader(e){this.arrowElement&&(this.arrowElement.style.marginLeft=e,this.groupList.forEach(function(t){t.scrollHeader(e)}))}getRowIndex(e){}conformRowData(e){return this.field?e[this.field]=this.key:console.warn(`Data Conforming Error - Cannot conform row data to match new group as groupBy is a function`),this.parent&&(e=this.parent.conformRowData(e)),e}removeRow(e){var t=this.rows.indexOf(e),n=e.getElement();t>-1&&this.rows.splice(t,1),!this.groupManager.table.options.groupValues&&!this.rows.length?(this.parent?this.parent.removeGroup(this):this.groupManager.removeGroup(this),this.groupManager.updateGroupRows(!0)):(n.parentNode&&n.parentNode.removeChild(n),this.groupManager.blockRedraw||(this.generateGroupHeaderContents(),this.groupManager.table.modExists(`columnCalcs`)&&this.groupManager.table.options.columnCalcs!=`table`&&this.groupManager.table.modules.columnCalcs.recalcGroup(this)))}removeGroup(e){var t=e.level+`_`+e.key,n;this.groups[t]&&(delete this.groups[t],n=this.groupList.indexOf(e),n>-1&&this.groupList.splice(n,1),this.groupList.length||(this.parent?this.parent.removeGroup(this):this.groupManager.removeGroup(this)))}getHeadersAndRows(){var e=[];return e.push(this),this._visSet(),this.calcs.top&&(this.calcs.top.detachElement(),this.calcs.top.deleteCells()),this.calcs.bottom&&(this.calcs.bottom.detachElement(),this.calcs.bottom.deleteCells()),this.visible?this.groupList.length?this.groupList.forEach(function(t){e=e.concat(t.getHeadersAndRows())}):(this.groupManager.table.options.columnCalcs!=`table`&&this.groupManager.table.modExists(`columnCalcs`)&&this.groupManager.table.modules.columnCalcs.hasTopCalcs()&&(this.calcs.top=this.groupManager.table.modules.columnCalcs.generateTopRow(this.rows),e.push(this.calcs.top)),e=e.concat(this.rows),this.groupManager.table.options.columnCalcs!=`table`&&this.groupManager.table.modExists(`columnCalcs`)&&this.groupManager.table.modules.columnCalcs.hasBottomCalcs()&&(this.calcs.bottom=this.groupManager.table.modules.columnCalcs.generateBottomRow(this.rows),e.push(this.calcs.bottom))):!this.groupList.length&&this.groupManager.table.options.columnCalcs!=`table`&&this.groupManager.table.modExists(`columnCalcs`)&&(this.groupManager.table.modules.columnCalcs.hasTopCalcs()&&this.groupManager.table.options.groupClosedShowCalcs&&(this.calcs.top=this.groupManager.table.modules.columnCalcs.generateTopRow(this.rows),e.push(this.calcs.top)),this.groupManager.table.modules.columnCalcs.hasBottomCalcs()&&this.groupManager.table.options.groupClosedShowCalcs&&(this.calcs.bottom=this.groupManager.table.modules.columnCalcs.generateBottomRow(this.rows),e.push(this.calcs.bottom))),e}getData(e,t){var n=[];return this._visSet(),(!e||e&&this.visible)&&this.rows.forEach(e=>{n.push(e.getData(t||`data`))}),n}getRowCount(){var e=0;return this.groupList.length?this.groupList.forEach(t=>{e+=t.getRowCount()}):e=this.rows.length,e}toggleVisibility(){this.visible?this.hide():this.show()}hide(){this.visible=!1,this.groupManager.table.rowManager.getRenderMode()==`basic`&&!this.groupManager.table.options.pagination?(this.element.classList.remove(`tabulator-group-visible`),this.groupList.length?this.groupList.forEach(e=>{e.getHeadersAndRows().forEach(e=>{e.detachElement()})}):this.rows.forEach(e=>{var t=e.getElement();t.parentNode.removeChild(t)}),this.groupManager.updateGroupRows(!0)):this.groupManager.updateGroupRows(!0),this.groupManager.table.externalEvents.dispatch(`groupVisibilityChanged`,this.getComponent(),!1)}show(){if(this.visible=!0,this.groupManager.table.rowManager.getRenderMode()==`basic`&&!this.groupManager.table.options.pagination){this.element.classList.add(`tabulator-group-visible`);var e=this.generateElement();this.groupList.length?this.groupList.forEach(t=>{t.getHeadersAndRows().forEach(t=>{var n=t.getElement();e.parentNode.insertBefore(n,e.nextSibling),t.initialize(),e=n})}):this.rows.forEach(t=>{var n=t.getElement();e.parentNode.insertBefore(n,e.nextSibling),t.initialize(),e=n}),this.groupManager.updateGroupRows(!0)}else this.groupManager.updateGroupRows(!0);this.groupManager.table.externalEvents.dispatch(`groupVisibilityChanged`,this.getComponent(),!0)}_visSet(){var e=[];typeof this.visible==`function`&&(this.rows.forEach(function(t){e.push(t.getData())}),this.visible=this.visible(this.key,this.getRowCount(),e,this.getComponent()))}getRowGroup(e){var t=!1;return this.groupList.length?this.groupList.forEach(function(n){var r=n.getRowGroup(e);r&&(t=r)}):this.rows.find(function(t){return t===e})&&(t=this),t}getSubGroups(e){var t=[];return this.groupList.forEach(function(n){t.push(e?n.getComponent():n)}),t}getRows(e,t){var n=[];return t&&this.groupList.length?this.groupList.forEach(r=>{n=n.concat(r.getRows(e,t))}):this.rows.forEach(function(t){n.push(e?t.getComponent():t)}),n}generateGroupHeaderContents(){var e=[];for(this.getRows(!1,!0).forEach(function(t){e.push(t.getData())}),this.elementContents=this.generator(this.key,this.getRowCount(),e,this.getComponent());this.element.firstChild;)this.element.removeChild(this.element.firstChild);typeof this.elementContents==`string`?this.element.innerHTML=this.elementContents:this.element.appendChild(this.elementContents),this.element.insertBefore(this.arrowElement,this.element.firstChild)}getPath(e=[]){return e.unshift(this.key),this.parent&&this.parent.getPath(e),e}getElement(){return this.elementContents?this.element:this.generateElement()}generateElement(){this.addBindings=!1,this._visSet(),this.visible?this.element.classList.add(`tabulator-group-visible`):this.element.classList.remove(`tabulator-group-visible`);for(var e=0;e<this.element.childNodes.length;++e)this.element.childNodes[e].parentNode.removeChild(this.element.childNodes[e]);return this.generateGroupHeaderContents(),this.element}detachElement(){this.element&&this.element.parentNode&&this.element.parentNode.removeChild(this.element)}normalizeHeight(){this.setHeight(this.element.clientHeight)}initialize(e){(!this.initialized||e)&&(this.normalizeHeight(),this.initialized=!0)}reinitialize(){this.initialized=!1,this.height=0,q.elVisible(this.element)&&this.initialize(!0)}setHeight(e){this.height!=e&&(this.height=e,this.outerHeight=this.element.offsetHeight)}getHeight(){return this.outerHeight}getGroup(){return this}reinitializeHeight(){}calcHeight(){}setCellHeight(){}clearCellHeight(){}deinitializeHeight(){}rendered(){}getComponent(){return this.component||=new Aa(this),this.component}},Ma=(re=class extends J{constructor(e){super(e),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 e=this.table.options.groupBy,t=this.table.options.groupStartOpen,n=this.table.options.groupHeader;this.allowedValues=this.table.options.groupValues,Array.isArray(e)&&Array.isArray(n)&&e.length>n.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`,(e,t)=>{this.headerGenerator[0]=(n,r,i)=>(n===void 0?``:n)+`<span>(`+r+` `+(r===1?e:t.groups.items)+`)</span>`}),this.groupIDLookups=[],e?this.table.modExists(`columnCalcs`)&&this.table.options.columnCalcs!=`table`&&this.table.options.columnCalcs!=`both`&&this.table.modules.columnCalcs.removeCalcs():this.table.modExists(`columnCalcs`)&&this.table.options.columnCalcs!=`group`&&this.table.columnManager.getRealColumns().forEach(e=>{e.definition.topCalc&&this.table.modules.columnCalcs.initializeTopRow(),e.definition.bottomCalc&&this.table.modules.columnCalcs.initializeBottomRow()}),Array.isArray(e)||(e=[e]),e.forEach((e,t)=>{var n,r;typeof e==`function`?n=e:(r=this.table.columnManager.getColumnByField(e),n=r?function(e){return r.getFieldValue(e)}:function(t){return t[e]}),this.groupIDLookups.push({field:typeof e==`function`?!1:e,func:n,values:this.allowedValues?this.allowedValues[t]:!1})}),t&&(Array.isArray(t)||(t=[t]),t.forEach(e=>{}),this.startOpen=t),n&&(this.headerGenerator=Array.isArray(n)?n:[n])}else this.groupList=[],this.groups={}}rowSample(e,t){if(this.table.options.groupBy){var n=this.getGroups(!1)[0];t.push(n.getRows(!1)[0])}return t}virtualRenderFill(){var e=this.table.rowManager.tableElement,t=this.table.rowManager.getVisibleRows();if(this.table.options.groupBy)t=t.filter(e=>e.type!==`group`),e.style.minWidth=t.length?``:this.table.columnManager.getWidth()+`px`;else return t}rowAddingIndex(e,t,n){if(this.table.options.groupBy){this.assignRowToGroup(e);var r=e.modules.group.rows;return r.length>1&&(!t||t&&r.indexOf(t)==-1?n?r[0]!==e&&(t=r[0],this.table.rowManager.moveRowInArray(e.modules.group.rows,e,t,!n)):r[r.length-1]!==e&&(t=r[r.length-1],this.table.rowManager.moveRowInArray(e.modules.group.rows,e,t,!n)):this.table.rowManager.moveRowInArray(e.modules.group.rows,e,t,!n)),t}}trackChanges(){this.dispatch(`group-changed`)}setGroupBy(e){this.table.options.groupBy=e,this.initialized||this.initialize(),this.configureGroupSetup(),!e&&this.table.modExists(`columnCalcs`)&&this.table.options.columnCalcs===!0&&this.table.modules.columnCalcs.reinitializeCalcs(),this.refreshData(),this.trackChanges()}setGroupValues(e){this.table.options.groupValues=e,this.configureGroupSetup(),this.refreshData(),this.trackChanges()}setGroupStartOpen(e){this.table.options.groupStartOpen=e,this.configureGroupSetup(),this.table.options.groupBy?(this.refreshData(),this.trackChanges()):console.warn(`Grouping Update - cant refresh view, no groups have been set`)}setGroupHeader(e){this.table.options.groupHeader=e,this.configureGroupSetup(),this.table.options.groupBy?(this.refreshData(),this.trackChanges()):console.warn(`Grouping Update - cant refresh view, no groups have been set`)}userGetGroups(e){return this.getGroups(!0)}userGetGroupedData(){return this.table.options.groupBy?this.getGroupedData():this.getData()}rowGetGroup(e){return e.modules.group?e.modules.group.getComponent():!1}rowMoving(e,t,n){if(this.table.options.groupBy){!n&&t instanceof ja&&(t=this.table.rowManager.prevDisplayRow(e)||t);var r=t instanceof ja?t:t.modules.group,i=e instanceof ja?e:e.modules.group;r===i?this.table.rowManager.moveRowInArray(r.rows,e,t,n):(i&&i.removeRow(e),r.insertRow(e,t,n))}}rowDeleting(e){this.table.options.groupBy&&e.modules.group&&e.modules.group.removeRow(e)}rowsUpdated(e){this.table.options.groupBy&&this.updateGroupRows(!0)}cellUpdated(e){this.table.options.groupBy&&this.reassignRowToGroup(e.row)}getRows(e){return this.table.options.groupBy&&this.groupIDLookups.length?(this.dispatchExternal(`dataGrouping`),this.generateGroups(e),this.subscribedExternal(`dataGrouped`)&&this.dispatchExternal(`dataGrouped`,this.getGroups(!0)),this.updateGroupRows()):e.slice(0)}getGroups(e){var t=[];return this.groupList.forEach(function(n){t.push(e?n.getComponent():n)}),t}getChildGroups(e){var t=[];return e||=this,e.groupList.forEach(e=>{e.groupList.length?t=t.concat(this.getChildGroups(e)):t.push(e)}),t}wipe(){this.table.options.groupBy&&(this.groupList.forEach(function(e){e.wipe()}),this.groupList=[],this.groups={})}pullGroupListData(e){var t=[];return e.forEach(e=>{var n={};n.level=0,n.rowCount=0,n.headerContent=``;var r=[];e.hasSubGroups?(r=this.pullGroupListData(e.groupList),n.level=e.level,n.rowCount=r.length-e.groupList.length,n.headerContent=e.generator(e.key,n.rowCount,e.rows,e),t.push(n),t=t.concat(r)):(n.level=e.level,n.headerContent=e.generator(e.key,e.rows.length,e.rows,e),n.rowCount=e.getRows().length,t.push(n),e.getRows().forEach(e=>{t.push(e.getData(`data`))}))}),t}getGroupedData(){return this.pullGroupListData(this.groupList)}getRowGroup(e){var t=!1;return this.options(`dataTree`)&&(e=this.table.modules.dataTree.getTreeParentRoot(e)),this.groupList.forEach(n=>{var r=n.getRowGroup(e);r&&(t=r)}),t}countGroups(){return this.groupList.length}generateGroups(e){var t=this.groups;this.groups={},this.groupList=[],this.allowedValues&&this.allowedValues[0]?(this.allowedValues[0].forEach(e=>{this.createGroup(e,0,t)}),e.forEach(e=>{this.assignRowToExistingGroup(e,t)})):e.forEach(e=>{this.assignRowToGroup(e,t)}),Object.values(t).forEach(e=>{e.wipe(!0)})}createGroup(e,t,n){var r=t+`_`+e,i;n||=[],i=new ja(this,!1,t,e,this.groupIDLookups[0].field,this.headerGenerator[0],n[r]),this.groups[r]=i,this.groupList.push(i)}assignRowToExistingGroup(e,t){var n=`0_`+this.groupIDLookups[0].func(e.getData());this.groups[n]&&this.groups[n].addRow(e)}assignRowToGroup(e,t){var n=this.groupIDLookups[0].func(e.getData()),r=!this.groups[`0_`+n];return r&&this.createGroup(n,0,t),this.groups[`0_`+n].addRow(e),!r}reassignRowToGroup(e){if(e.type===`row`){var t=e.modules.group,n=t.getPath(),r=this.getExpectedPath(e);n.length==r.length&&n.every((e,t)=>e===r[t])||(t.removeRow(e),this.assignRowToGroup(e,this.groups),this.refreshData(!0))}}getExpectedPath(e){var t=[],n=e.getData();return this.groupIDLookups.forEach(e=>{t.push(e.func(n))}),t}updateGroupRows(e){var t=[];return this.blockRedraw||(this.groupList.forEach(e=>{t=t.concat(e.getHeadersAndRows())}),e&&this.refreshData(!0)),t}scrollHeaders(e){this.table.options.groupBy&&(this.table.options.renderHorizontal===`virtual`&&(e-=this.table.columnManager.renderer.vDomPadLeft),e+=`px`,this.groupList.forEach(t=>{t.scrollHeader(e)}))}removeGroup(e){var t=e.level+`_`+e.key,n;this.groups[t]&&(delete this.groups[t],n=this.groupList.indexOf(e),n>-1&&this.groupList.splice(n,1))}checkBasicModeGroupHeaderWidth(){var e=this.table.rowManager.tableElement,t=!0;this.table.rowManager.getDisplayRows().forEach((n,r)=>{this.table.rowManager.styleRow(n,r),e.appendChild(n.getElement()),n.initialize(!0),n.type!==`group`&&(t=!1)}),t?e.style.minWidth=this.table.columnManager.getWidth()+`px`:e.style.minWidth=``}},k(re,`moduleName`,`groupRows`),re),Na=(ie=class e extends J{constructor(e){super(e),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(e,t,n){this.action(`rowMove`,e,{posFrom:e.getPosition(),posTo:t.getPosition(),to:t,after:n})}rowAdded(e,t,n,r){this.action(`rowAdd`,e,{data:t,pos:n,index:r})}rowDeleted(e){var t,n;this.table.options.groupBy?(n=e.getComponent().getGroup()._getSelf().rows,t=n.indexOf(e),t&&=n[t-1]):(t=e.table.rowManager.getRowIndex(e),t&&=e.table.rowManager.rows[t-1]),this.action(`rowDelete`,e,{data:e.getData(),pos:!t,index:t})}cellUpdated(e){this.action(`cellEdit`,e,{oldValue:e.oldValue,newValue:e.value})}clear(){this.history=[],this.index=-1}action(e,t,n){this.history=this.history.slice(0,this.index+1),this.history.push({type:e,component:t,data:n}),this.index++}getHistoryUndoSize(){return this.index+1}getHistoryRedoSize(){return this.history.length-(this.index+1)}clearComponentHistory(e){var t=this.history.findIndex(function(t){return t.component===e});t>-1&&(this.history.splice(t,1),t<=this.index&&this.index--,this.clearComponentHistory(e))}undo(){if(this.index>-1){let t=this.history[this.index];return e.undoers[t.type].call(this,t),this.index--,this.dispatchExternal(`historyUndo`,t.type,t.component.getComponent(),t.data),!0}else 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 e.redoers[t.type].call(this,t),this.dispatchExternal(`historyRedo`,t.type,t.component.getComponent(),t.data),!0}else return console.warn(this.options(`history`)?`History Redo Error - No more history to redo`:`History module not enabled`),!1}_rebindRow(e,t){this.history.forEach(function(n){if(n.component instanceof Y)n.component===e&&(n.component=t);else if(n.component instanceof Ci&&n.component.row===e){var r=n.component.column.getField();r&&(n.component=t.getCell(r))}})}},k(ie,`moduleName`,`history`),k(ie,`moduleExtensions`,{keybindings:{bindings:{undo:[`ctrl + 90`,`meta + 90`],redo:[`ctrl + 89`,`meta + 89`]},actions:{undo:function(e){var t=!1;this.table.options.history&&this.table.modExists(`history`)&&this.table.modExists(`edit`)&&(t=this.table.modules.edit.currentCell,t||(e.preventDefault(),this.table.modules.history.undo()))},redo:function(e){var t=!1;this.table.options.history&&this.table.modExists(`history`)&&this.table.modExists(`edit`)&&(t=this.table.modules.edit.currentCell,t||(e.preventDefault(),this.table.modules.history.redo()))}}}}),k(ie,`undoers`,{cellEdit:function(e){e.component.setValueProcessData(e.data.oldValue),e.component.cellRendered()},rowAdd:function(e){e.component.deleteActual(),this.table.rowManager.checkPlaceholder()},rowDelete:function(e){var t=this.table.rowManager.addRowActual(e.data.data,e.data.pos,e.data.index);this.table.options.groupBy&&this.table.modExists(`groupRows`)&&this.table.modules.groupRows.updateGroupRows(!0),this._rebindRow(e.component,t),this.table.rowManager.checkPlaceholder()},rowMove:function(e){var t=e.data.posFrom-e.data.posTo>0;this.table.rowManager.moveRowActual(e.component,this.table.rowManager.getRowFromPosition(e.data.posFrom),t),this.table.rowManager.regenerateRowPositions(),this.table.rowManager.reRenderInPosition()}}),k(ie,`redoers`,{cellEdit:function(e){e.component.setValueProcessData(e.data.newValue),e.component.cellRendered()},rowAdd:function(e){var t=this.table.rowManager.addRowActual(e.data.data,e.data.pos,e.data.index);this.table.options.groupBy&&this.table.modExists(`groupRows`)&&this.table.modules.groupRows.updateGroupRows(!0),this._rebindRow(e.component,t),this.table.rowManager.checkPlaceholder()},rowDelete:function(e){e.component.deleteActual(),this.table.rowManager.checkPlaceholder()},rowMove:function(e){this.table.rowManager.moveRowActual(e.component,this.table.rowManager.getRowFromPosition(e.data.posTo),e.data.after),this.table.rowManager.regenerateRowPositions(),this.table.rowManager.reRenderInPosition()}}),ie),Pa=(ae=class extends J{constructor(e){super(e),this.fieldIndex=[],this.hasIndex=!1}initialize(){this.tableElementCheck()}tableElementCheck(){this.table.originalElement&&this.table.originalElement.tagName===`TABLE`&&(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 e=this.table.originalElement,t=this.table.options,n=e.getElementsByTagName(`th`),r=e.getElementsByTagName(`tbody`)[0],i=[];this.hasIndex=!1,this.dispatchExternal(`htmlImporting`),r=r?r.getElementsByTagName(`tr`):[],this._extractOptions(e,t),n.length?this._extractHeaders(n,r):this._generateBlankHeaders(n,r);for(var a=0;a<r.length;a++){var o=r[a].getElementsByTagName(`td`),s={};this.hasIndex||(s[t.index]=a);for(var c=0;c<o.length;c++){var l=o[c];this.fieldIndex[c]!==void 0&&(s[this.fieldIndex[c]]=l.innerHTML)}i.push(s)}t.data=i,this.dispatchExternal(`htmlImported`)}_extractOptions(e,t,n){var r=e.attributes,i=n?Object.keys(n):Object.keys(t),a={};for(var o in i.forEach(e=>{a[e.toLowerCase()]=e}),r){var s=r[o],c;s&&typeof s==`object`&&s.name&&s.name.indexOf(`tabulator-`)===0&&(c=s.name.replace(`tabulator-`,``),a[c]!==void 0&&(t[a[c]]=this._attribValue(s.value)))}}_attribValue(e){return e===`true`?!0:e===`false`?!1:e}_findCol(e){return this.table.options.columns.find(t=>t.title===e)||!1}_extractHeaders(e,t){for(var n=0;n<e.length;n++){var r=e[n],i=!1,a=this._findCol(r.textContent),o;a?i=!0:a={title:r.textContent.trim()},a.field||=r.textContent.trim().toLowerCase().replaceAll(` `,`_`),o=r.getAttribute(`width`),o&&!a.width&&(a.width=o),this._extractOptions(r,a,this.table.columnManager.optionsList.registeredDefaults),this.fieldIndex[n]=a.field,a.field==this.table.options.index&&(this.hasIndex=!0),i||this.table.options.columns.push(a)}}_generateBlankHeaders(e,t){for(var n=0;n<e.length;n++){var r=e[n],i={title:``,field:`col`+n};this.fieldIndex[n]=i.field;var a=r.getAttribute(`width`);a&&(i.width=a),this.table.options.columns.push(i)}}},k(ae,`moduleName`,`htmlTableImport`),ae);function Fa(e){var t=[],n=0,r=0,i=!1;for(let a=0;a<e.length;a++){let o=e[a],s=e[a+1];if(t[n]||(t[n]=[]),t[n][r]||(t[n][r]=``),o==`"`&&i&&s==`"`){t[n][r]+=o,a++;continue}if(o==`"`){i=!i;continue}if(o==`,`&&!i){r++;continue}if(o==`\r`&&s==`
`&&!i){r=0,n++,a++;continue}if((o==`\r`||o==`
`)&&!i){r=0,n++;continue}t[n][r]+=o}return t}function Ia(e){try{return JSON.parse(e)}catch(e){return console.warn(`JSON Import Error - File contents is invalid JSON`,e),Promise.reject()}}function La(e){return e}function Ra(e){var t=this.dependencyRegistry.lookup(`XLSX`),n=t.read(e),r=n.Sheets[n.SheetNames[0]];return t.utils.sheet_to_json(r,{header:1})}var za={csv:Fa,json:Ia,array:La,xlsx:Ra},Ba=(oe=class e extends J{constructor(e){super(e),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(e){return this.table.options.importFormat&&(typeof e==`string`||Array.isArray(e)&&e.length&&Array.isArray(e))}loadData(e,t,n,r,i){return this.importData(this.lookupImporter(),e).then(this.structureData.bind(this)).catch(e=>(console.error(`Import Error:`,e||`Unable to import data`),Promise.reject(e)))}lookupImporter(t){var n;return t||=this.table.options.importFormat,n=typeof t==`string`?e.importers[t]:t,n||console.error(`Import Error - Importer not found:`,t),n}importFromFile(e,t,n){var r=this.lookupImporter(e);if(r)return this.pickFile(t,n).then(this.importData.bind(this,r)).then(this.structureData.bind(this)).then(this.mutateData.bind(this)).then(this.validateData.bind(this)).then(this.setData.bind(this)).catch(e=>(this.dispatch(`import-error`,e),this.dispatchExternal(`importError`,e),console.error(`Import Error:`,e||`Unable to import file`),this.table.dataLoader.alertError(),setTimeout(()=>{this.table.dataLoader.clearAlert()},3e3),Promise.reject(e)))}pickFile(e,t){return new Promise((n,r)=>{var i=document.createElement(`input`);i.type=`file`,i.accept=e,i.addEventListener(`change`,e=>{var a=i.files[0],o=new FileReader,s=this.validateFile(a);if(s===!0){switch(this.dispatch(`import-importing`,i.files),this.dispatchExternal(`importImporting`,i.files),t||this.table.options.importReader){case`buffer`:o.readAsArrayBuffer(a);break;case`binary`:o.readAsBinaryString(a);break;case`url`:o.readAsDataURL(a);break;case`text`:default:o.readAsText(a)}o.onload=e=>{n(o.result)},o.onerror=e=>{console.warn(`File Load Error - Unable to read file`),r(e)}}else r(s)}),this.dispatch(`import-choose`),this.dispatchExternal(`importChoose`),i.click()})}importData(e,t){var n;return this.table.dataLoader.alertLoader(),new Promise((r,i)=>{setTimeout(()=>{n=e.call(this.table,t),n instanceof Promise||n?r(n):i()},10)})}structureData(e){var t=[];return Array.isArray(e)&&e.length&&Array.isArray(e[0])?(t=this.table.options.autoColumns?this.structureArrayToObject(e):this.structureArrayToColumns(e),t):e}mutateData(e){var t=[];return Array.isArray(e)?e.forEach(e=>{t.push(this.table.modules.mutator.transformRow(e,`import`))}):t=e,t}transformHeader(e){var t=[];if(this.table.options.importHeaderTransform)e.forEach(n=>{t.push(this.table.options.importHeaderTransform.call(this.table,n,e))});else return e;return t}transformData(e){var t=[];if(this.table.options.importValueTransform)e.forEach(n=>{t.push(this.table.options.importValueTransform.call(this.table,n,e))});else return e;return t}structureArrayToObject(e){var t=this.transformHeader(e.shift());return e.map(e=>{var n={};return e=this.transformData(e),t.forEach((t,r)=>{n[t]=e[r]}),n})}structureArrayToColumns(e){var t=[],n=this.transformHeader(e[0]),r=this.table.getColumns();return r[0]&&n[0]&&r[0].getDefinition().title===n[0]&&e.shift(),e.forEach(e=>{var n={};e=this.transformData(e),e.forEach((e,t)=>{var i=r[t];i&&(n[i.getField()]=e)}),t.push(n)}),t}validateFile(e){return this.table.options.importFileValidator?this.table.options.importFileValidator.call(this.table,e):!0}validateData(e){var t;return this.table.options.importDataValidator?(t=this.table.options.importDataValidator.call(this.table,e),t===!0?e:Promise.reject(t)):e}setData(e){return this.dispatch(`import-imported`,e),this.dispatchExternal(`importImported`,e),this.table.dataLoader.clearAlert(),this.table.setData(e)}},k(oe,`moduleName`,`import`),k(oe,`importers`,za),oe),Va=(C=class extends J{constructor(e){super(e),this.eventMap={rowClick:`row-click`,rowDblClick:`row-dblclick`,rowContext:`row-contextmenu`,rowMouseEnter:`row-mouseenter`,rowMouseLeave:`row-mouseleave`,rowMouseOver:`row-mouseover`,rowMouseOut:`row-mouseout`,rowMouseMove:`row-mousemove`,rowMouseDown:`row-mousedown`,rowMouseUp:`row-mouseup`,rowTap:`row`,rowDblTap:`row`,rowTapHold:`row`,cellClick:`cell-click`,cellDblClick:`cell-dblclick`,cellContext:`cell-contextmenu`,cellMouseEnter:`cell-mouseenter`,cellMouseLeave:`cell-mouseleave`,cellMouseOver:`cell-mouseover`,cellMouseOut:`cell-mouseout`,cellMouseMove:`cell-mousemove`,cellMouseDown:`cell-mousedown`,cellMouseUp:`cell-mouseup`,cellTap:`cell`,cellDblTap:`cell`,cellTapHold:`cell`,headerClick:`column-click`,headerDblClick:`column-dblclick`,headerContext:`column-contextmenu`,headerMouseEnter:`column-mouseenter`,headerMouseLeave:`column-mouseleave`,headerMouseOver:`column-mouseover`,headerMouseOut:`column-mouseout`,headerMouseMove:`column-mousemove`,headerMouseDown:`column-mousedown`,headerMouseUp:`column-mouseup`,headerTap:`column`,headerDblTap:`column`,headerTapHold:`column`,groupClick:`group-click`,groupDblClick:`group-dblclick`,groupContext:`group-contextmenu`,groupMouseEnter:`group-mouseenter`,groupMouseLeave:`group-mouseleave`,groupMouseOver:`group-mouseover`,groupMouseOut:`group-mouseout`,groupMouseMove:`group-mousemove`,groupMouseDown:`group-mousedown`,groupMouseUp:`group-mouseup`,groupTap:`group`,groupDblTap:`group`,groupTapHold:`group`},this.subscribers={},this.touchSubscribers={},this.columnSubscribers={},this.touchWatchers={row:{tap:null,tapDbl:null,tapHold:null},cell:{tap:null,tapDbl:null,tapHold:null},column:{tap:null,tapDbl:null,tapHold:null},group:{tap:null,tapDbl:null,tapHold:null}},this.registerColumnOption(`headerClick`),this.registerColumnOption(`headerDblClick`),this.registerColumnOption(`headerContext`),this.registerColumnOption(`headerMouseEnter`),this.registerColumnOption(`headerMouseLeave`),this.registerColumnOption(`headerMouseOver`),this.registerColumnOption(`headerMouseOut`),this.registerColumnOption(`headerMouseMove`),this.registerColumnOption(`headerMouseDown`),this.registerColumnOption(`headerMouseUp`),this.registerColumnOption(`headerTap`),this.registerColumnOption(`headerDblTap`),this.registerColumnOption(`headerTapHold`),this.registerColumnOption(`cellClick`),this.registerColumnOption(`cellDblClick`),this.registerColumnOption(`cellContext`),this.registerColumnOption(`cellMouseEnter`),this.registerColumnOption(`cellMouseLeave`),this.registerColumnOption(`cellMouseOver`),this.registerColumnOption(`cellMouseOut`),this.registerColumnOption(`cellMouseMove`),this.registerColumnOption(`cellMouseDown`),this.registerColumnOption(`cellMouseUp`),this.registerColumnOption(`cellTap`),this.registerColumnOption(`cellDblTap`),this.registerColumnOption(`cellTapHold`)}initialize(){this.initializeExternalEvents(),this.subscribe(`column-init`,this.initializeColumn.bind(this)),this.subscribe(`cell-dblclick`,this.cellContentsSelectionFixer.bind(this)),this.subscribe(`scroll-horizontal`,this.clearTouchWatchers.bind(this)),this.subscribe(`scroll-vertical`,this.clearTouchWatchers.bind(this))}clearTouchWatchers(){Object.values(this.touchWatchers).forEach(e=>{for(let t in e)e[t]=null})}cellContentsSelectionFixer(e,t){var n;if(!(this.table.modExists(`edit`)&&this.table.modules.edit.currentCell===t)){e.preventDefault();try{document.selection?(n=document.body.createTextRange(),n.moveToElementText(t.getElement()),n.select()):window.getSelection&&(n=document.createRange(),n.selectNode(t.getElement()),window.getSelection().removeAllRanges(),window.getSelection().addRange(n))}catch{}}}initializeExternalEvents(){for(let e in this.eventMap)this.subscriptionChangeExternal(e,this.subscriptionChanged.bind(this,e))}subscriptionChanged(e,t){t?this.subscribers[e]||(this.eventMap[e].includes(`-`)?(this.subscribers[e]=this.handle.bind(this,e),this.subscribe(this.eventMap[e],this.subscribers[e])):this.subscribeTouchEvents(e)):this.eventMap[e].includes(`-`)?this.subscribers[e]&&!this.columnSubscribers[e]&&!this.subscribedExternal(e)&&(this.unsubscribe(this.eventMap[e],this.subscribers[e]),delete this.subscribers[e]):this.unsubscribeTouchEvents(e)}subscribeTouchEvents(e){var t=this.eventMap[e];this.touchSubscribers[t+`-touchstart`]||(this.touchSubscribers[t+`-touchstart`]=this.handleTouch.bind(this,t,`start`),this.touchSubscribers[t+`-touchend`]=this.handleTouch.bind(this,t,`end`),this.subscribe(t+`-touchstart`,this.touchSubscribers[t+`-touchstart`]),this.subscribe(t+`-touchend`,this.touchSubscribers[t+`-touchend`])),this.subscribers[e]=!0}unsubscribeTouchEvents(e){var t=!0,n=this.eventMap[e];if(this.subscribers[e]&&!this.subscribedExternal(e)){for(let r in delete this.subscribers[e],this.eventMap)this.eventMap[r]===n&&this.subscribers[r]&&(t=!1);t&&(this.unsubscribe(n+`-touchstart`,this.touchSubscribers[n+`-touchstart`]),this.unsubscribe(n+`-touchend`,this.touchSubscribers[n+`-touchend`]),delete this.touchSubscribers[n+`-touchstart`],delete this.touchSubscribers[n+`-touchend`])}}initializeColumn(e){var t=e.definition;for(let n in this.eventMap)t[n]&&(this.subscriptionChanged(n,!0),this.columnSubscribers[n]||(this.columnSubscribers[n]=[]),this.columnSubscribers[n].push(e))}handle(e,t,n){this.dispatchEvent(e,t,n)}handleTouch(e,t,n,r){var i=this.touchWatchers[e];switch(e===`column`&&(e=`header`),t){case`start`:i.tap=!0,clearTimeout(i.tapHold),i.tapHold=setTimeout(()=>{clearTimeout(i.tapHold),i.tapHold=null,i.tap=null,clearTimeout(i.tapDbl),i.tapDbl=null,this.dispatchEvent(e+`TapHold`,n,r)},1e3);break;case`end`:i.tap&&(i.tap=null,this.dispatchEvent(e+`Tap`,n,r)),i.tapDbl?(clearTimeout(i.tapDbl),i.tapDbl=null,this.dispatchEvent(e+`DblTap`,n,r)):i.tapDbl=setTimeout(()=>{clearTimeout(i.tapDbl),i.tapDbl=null},300),clearTimeout(i.tapHold),i.tapHold=null;break}}dispatchEvent(e,t,n){var r=n.getComponent(),i;this.columnSubscribers[e]&&(n instanceof Ci?i=n.column.definition[e]:n instanceof Ei&&(i=n.definition[e]),i&&i(t,r)),this.dispatchExternal(e,t,r)}},k(C,`moduleName`,`interaction`),C),Ha=(se=class e extends J{constructor(e){super(e),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,n={};this.watchKeys={},this.pressedKeys=[],t!==!1&&(Object.assign(n,e.bindings),Object.assign(n,t),this.mapBindings(n),this.bindEvents()),this.subscribe(`table-destroy`,this.clearBindings.bind(this))}mapBindings(t){for(let n in t)e.actions[n]?t[n]&&(typeof t[n]!=`object`&&(t[n]=[t[n]]),t[n].forEach(e=>{(Array.isArray(e)?e:[e]).forEach(e=>{this.mapBinding(n,e)})})):console.warn(`Key Binding Error - no such action:`,n)}mapBinding(t,n){var r={action:e.actions[t],keys:[],ctrl:!1,shift:!1,meta:!1};n.toString().toLowerCase().split(` `).join(``).split(`+`).forEach(e=>{switch(e){case`ctrl`:r.ctrl=!0;break;case`shift`:r.shift=!0;break;case`meta`:r.meta=!0;break;default:e=isNaN(e)?e.toUpperCase().charCodeAt(0):parseInt(e),r.keys.push(e),this.watchKeys[e]||(this.watchKeys[e]=[]),this.watchKeys[e].push(r)}})}bindEvents(){var e=this;this.keyupBinding=function(t){var n=t.keyCode,r=e.watchKeys[n];r&&(e.pressedKeys.push(n),r.forEach(function(n){e.checkBinding(t,n)}))},this.keydownBinding=function(t){var n=t.keyCode;if(e.watchKeys[n]){var r=e.pressedKeys.indexOf(n);r>-1&&e.pressedKeys.splice(r,1)}},this.table.element.addEventListener(`keydown`,this.keyupBinding),this.table.element.addEventListener(`keyup`,this.keydownBinding)}clearBindings(){this.keyupBinding&&this.table.element.removeEventListener(`keydown`,this.keyupBinding),this.keydownBinding&&this.table.element.removeEventListener(`keyup`,this.keydownBinding)}checkBinding(e,t){var n=!0;return e.ctrlKey==t.ctrl&&e.shiftKey==t.shift&&e.metaKey==t.meta?(t.keys.forEach(e=>{this.pressedKeys.indexOf(e)==-1&&(n=!1)}),n&&t.action.call(this,e),!0):!1}},k(se,`moduleName`,`keybindings`),k(se,`bindings`,{navPrev:`shift + 9`,navNext:9,navUp:38,navDown:40,navLeft:37,navRight:39,scrollPageUp:33,scrollPageDown:34,scrollToStart:36,scrollToEnd:35}),k(se,`actions`,{keyBlock:function(e){e.stopPropagation(),e.preventDefault()},scrollPageUp:function(e){var t=this.table.rowManager,n=t.scrollTop-t.element.clientHeight;e.preventDefault(),t.displayRowsCount&&(n>=0?t.element.scrollTop=n:t.scrollToRow(t.getDisplayRows()[0])),this.table.element.focus()},scrollPageDown:function(e){var t=this.table.rowManager,n=t.scrollTop+t.element.clientHeight,r=t.element.scrollHeight;e.preventDefault(),t.displayRowsCount&&(n<=r?t.element.scrollTop=n:t.scrollToRow(t.getDisplayRows()[t.displayRowsCount-1])),this.table.element.focus()},scrollToStart:function(e){var t=this.table.rowManager;e.preventDefault(),t.displayRowsCount&&t.scrollToRow(t.getDisplayRows()[0]),this.table.element.focus()},scrollToEnd:function(e){var t=this.table.rowManager;e.preventDefault(),t.displayRowsCount&&t.scrollToRow(t.getDisplayRows()[t.displayRowsCount-1]),this.table.element.focus()},navPrev:function(e){this.dispatch(`keybinding-nav-prev`,e)},navNext:function(e){this.dispatch(`keybinding-nav-next`,e)},navLeft:function(e){this.dispatch(`keybinding-nav-left`,e)},navRight:function(e){this.dispatch(`keybinding-nav-right`,e)},navUp:function(e){this.dispatch(`keybinding-nav-up`,e)},navDown:function(e){this.dispatch(`keybinding-nav-down`,e)}}),se),Ua=(ce=class extends J{constructor(e){super(e),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(e){var t=e.definition;t.headerContextMenu&&!this.columnSubscribers.headerContextMenu&&(this.columnSubscribers.headerContextMenu=this.loadMenuTableColumnEvent.bind(this,`headerContextMenu`),this.subscribe(`column-contextmenu`,this.columnSubscribers.headerContextMenu),this.table.on(`headerTapHold`,this.loadMenuTableColumnEvent.bind(this,`headerContextMenu`))),t.headerClickMenu&&!this.columnSubscribers.headerClickMenu&&(this.columnSubscribers.headerClickMenu=this.loadMenuTableColumnEvent.bind(this,`headerClickMenu`),this.subscribe(`column-click`,this.columnSubscribers.headerClickMenu)),t.headerDblClickMenu&&!this.columnSubscribers.headerDblClickMenu&&(this.columnSubscribers.headerDblClickMenu=this.loadMenuTableColumnEvent.bind(this,`headerDblClickMenu`),this.subscribe(`column-dblclick`,this.columnSubscribers.headerDblClickMenu)),t.headerMenu&&this.initializeColumnHeaderMenu(e),t.contextMenu&&!this.columnSubscribers.contextMenu&&(this.columnSubscribers.contextMenu=this.loadMenuTableCellEvent.bind(this,`contextMenu`),this.subscribe(`cell-contextmenu`,this.columnSubscribers.contextMenu),this.table.on(`cellTapHold`,this.loadMenuTableCellEvent.bind(this,`contextMenu`))),t.clickMenu&&!this.columnSubscribers.clickMenu&&(this.columnSubscribers.clickMenu=this.loadMenuTableCellEvent.bind(this,`clickMenu`),this.subscribe(`cell-click`,this.columnSubscribers.clickMenu)),t.dblClickMenu&&!this.columnSubscribers.dblClickMenu&&(this.columnSubscribers.dblClickMenu=this.loadMenuTableCellEvent.bind(this,`dblClickMenu`),this.subscribe(`cell-dblclick`,this.columnSubscribers.dblClickMenu))}initializeColumnHeaderMenu(e){var t=e.definition.headerMenuIcon,n=document.createElement(`span`);n.classList.add(`tabulator-header-popup-button`),t?(typeof t==`function`&&(t=t(e.getComponent())),t instanceof HTMLElement?n.appendChild(t):n.innerHTML=t):n.innerHTML=`⋮`,n.addEventListener(`click`,t=>{t.stopPropagation(),t.preventDefault(),this.loadMenuEvent(e.definition.headerMenu,t,e)}),e.titleElement.insertBefore(n,e.titleElement.firstChild)}loadMenuTableCellEvent(e,t,n){n._cell&&(n=n._cell),n.column.definition[e]&&this.loadMenuEvent(n.column.definition[e],t,n)}loadMenuTableColumnEvent(e,t,n){n._column&&(n=n._column),n.definition[e]&&this.loadMenuEvent(n.definition[e],t,n)}loadMenuEvent(e,t,n){n._group?n=n._group:n._row&&(n=n._row),e=typeof e==`function`?e.call(this.table,t,n.getComponent()):e,this.loadMenu(t,n,e)}loadMenu(e,t,n,r,i){var a=!(e instanceof MouseEvent),o=document.createElement(`div`),s;if(o.classList.add(`tabulator-menu`),a||e.preventDefault(),!(!n||!n.length)){if(r)s=i.child(o);else{if(this.nestedMenuBlock){if(this.rootPopup)return}else this.nestedMenuBlock=setTimeout(()=>{this.nestedMenuBlock=!1},100);this.rootPopup&&this.rootPopup.hide(),this.rootPopup=s=this.popup(o)}n.forEach(e=>{var n=document.createElement(`div`),r=e.label,i=e.disabled;e.separator?n.classList.add(`tabulator-menu-separator`):(n.classList.add(`tabulator-menu-item`),typeof r==`function`&&(r=r.call(this.table,t.getComponent())),r instanceof Node?n.appendChild(r):n.innerHTML=r,typeof i==`function`&&(i=i.call(this.table,t.getComponent())),i?(n.classList.add(`tabulator-menu-item-disabled`),n.addEventListener(`click`,e=>{e.stopPropagation()})):e.menu&&e.menu.length?n.addEventListener(`click`,r=>{r.stopPropagation(),this.loadMenu(r,t,e.menu,n,s)}):e.action&&n.addEventListener(`click`,n=>{e.action(n,t.getComponent())}),e.menu&&e.menu.length&&n.classList.add(`tabulator-menu-item-submenu`)),o.appendChild(n)}),o.addEventListener(`click`,e=>{this.rootPopup&&this.rootPopup.hide()}),s.show(r||e),s===this.rootPopup&&(this.rootPopup.hideOnBlur(()=>{this.rootPopup=null,this.currentComponent&&=(this.dispatch(`menu-closed`,n,s),this.dispatchExternal(`menuClosed`,this.currentComponent.getComponent()),null)}),this.currentComponent=t,this.dispatch(`menu-opened`,n,s),this.dispatchExternal(`menuOpened`,t.getComponent()))}}},k(ce,`moduleName`,`menu`),ce),Wa=(w=class extends J{constructor(e){super(e),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 e=document.createElement(`div`);return e.classList.add(`tabulator-col`),e.classList.add(`tabulator-col-placeholder`),e}initialize(){this.table.options.movableColumns&&(this.subscribe(`column-init`,this.initializeColumn.bind(this)),this.subscribe(`alert-show`,this.abortMove.bind(this)))}abortMove(){clearTimeout(this.checkTimeout)}initializeColumn(e){var t=this,n={},r;!e.modules.frozen&&!e.isGroup&&!e.isRowHeader&&(r=e.getElement(),n.mousemove=function(n){e.parent===t.moving.parent&&((t.touchMove?n.touches[0].pageX:n.pageX)-q.elOffset(r).left+t.table.columnManager.contentsElement.scrollLeft>e.getWidth()/2?(t.toCol!==e||!t.toColAfter)&&(r.parentNode.insertBefore(t.placeholderElement,r.nextSibling),t.moveColumn(e,!0)):(t.toCol!==e||t.toColAfter)&&(r.parentNode.insertBefore(t.placeholderElement,r),t.moveColumn(e,!1)))}.bind(t),r.addEventListener(`mousedown`,function(n){t.touchMove=!1,n.which===1&&(t.checkTimeout=setTimeout(function(){t.startMove(n,e)},t.checkPeriod))}),r.addEventListener(`mouseup`,function(e){e.which===1&&t.checkTimeout&&clearTimeout(t.checkTimeout)}),t.bindTouchEvents(e)),e.modules.moveColumn=n}bindTouchEvents(e){var t=e.getElement(),n=!1,r,i,a,o,s,c;t.addEventListener(`touchstart`,t=>{this.checkTimeout=setTimeout(()=>{this.touchMove=!0,r=e.nextColumn(),a=r?r.getWidth()/2:0,i=e.prevColumn(),o=i?i.getWidth()/2:0,s=0,c=0,n=!1,this.startMove(t,e)},this.checkPeriod)},{passive:!0}),t.addEventListener(`touchmove`,t=>{var l,u;this.moving&&(this.moveHover(t),n||=t.touches[0].pageX,l=t.touches[0].pageX-n,l>0?r&&l-s>a&&(u=r,u!==e&&(n=t.touches[0].pageX,u.getElement().parentNode.insertBefore(this.placeholderElement,u.getElement().nextSibling),this.moveColumn(u,!0))):i&&-l-c>o&&(u=i,u!==e&&(n=t.touches[0].pageX,u.getElement().parentNode.insertBefore(this.placeholderElement,u.getElement()),this.moveColumn(u,!1))),u&&(r=u.nextColumn(),s=a,a=r?r.getWidth()/2:0,i=u.prevColumn(),c=o,o=i?i.getWidth()/2:0))},{passive:!0}),t.addEventListener(`touchend`,e=>{this.checkTimeout&&clearTimeout(this.checkTimeout),this.moving&&this.endMove(e)})}startMove(e,t){var n=t.getElement(),r=this.table.columnManager.getContentsElement(),i=this.table.columnManager.getHeadersElement();this.table.modules.selectRange&&this.table.modules.selectRange.columnSelection&&this.table.modules.selectRange.mousedown&&this.table.modules.selectRange.selecting===`column`||(this.moving=t,this.startX=(this.touchMove?e.touches[0].pageX:e.pageX)-q.elOffset(n).left,this.table.element.classList.add(`tabulator-block-select`),this.placeholderElement.style.width=t.getWidth()+`px`,this.placeholderElement.style.height=t.getHeight()+`px`,n.parentNode.insertBefore(this.placeholderElement,n),n.parentNode.removeChild(n),this.hoverElement=n.cloneNode(!0),this.hoverElement.classList.add(`tabulator-moving`),r.appendChild(this.hoverElement),this.hoverElement.style.left=`0`,this.hoverElement.style.bottom=r.clientHeight-i.offsetHeight+`px`,this.touchMove||(this._bindMouseMove(),document.body.addEventListener(`mousemove`,this.moveHover),document.body.addEventListener(`mouseup`,this.endMove)),this.moveHover(e),this.dispatch(`column-moving`,e,this.moving))}_bindMouseMove(){this.table.columnManager.columnsByIndex.forEach(function(e){e.modules.moveColumn.mousemove&&e.getElement().addEventListener(`mousemove`,e.modules.moveColumn.mousemove)})}_unbindMouseMove(){this.table.columnManager.columnsByIndex.forEach(function(e){e.modules.moveColumn.mousemove&&e.getElement().removeEventListener(`mousemove`,e.modules.moveColumn.mousemove)})}moveColumn(e,t){var n=this.moving.getCells();this.toCol=e,this.toColAfter=t,t?e.getCells().forEach(function(e,t){var r=e.getElement(!0);r.parentNode&&n[t]&&r.parentNode.insertBefore(n[t].getElement(),r.nextSibling)}):e.getCells().forEach(function(e,t){var r=e.getElement(!0);r.parentNode&&n[t]&&r.parentNode.insertBefore(n[t].getElement(),r)})}endMove(e){(e.which===1||this.touchMove)&&(this._unbindMouseMove(),this.placeholderElement.parentNode.insertBefore(this.moving.getElement(),this.placeholderElement.nextSibling),this.placeholderElement.parentNode.removeChild(this.placeholderElement),this.hoverElement.parentNode.removeChild(this.hoverElement),this.table.element.classList.remove(`tabulator-block-select`),this.toCol&&this.table.columnManager.moveColumnActual(this.moving,this.toCol,this.toColAfter),this.moving=!1,this.toCol=!1,this.toColAfter=!1,this.touchMove||(document.body.removeEventListener(`mousemove`,this.moveHover),document.body.removeEventListener(`mouseup`,this.endMove)))}moveHover(e){var t=this.table.columnManager.getContentsElement(),n=t.scrollLeft,r=(this.touchMove?e.touches[0].pageX:e.pageX)-q.elOffset(t).left+n,i;this.hoverElement.style.left=r-this.startX+`px`,r-n<this.autoScrollMargin&&(this.autoScrollTimeout||=setTimeout(()=>{i=Math.max(0,n-5),this.table.rowManager.getElement().scrollLeft=i,this.autoScrollTimeout=!1},1)),n+t.clientWidth-r<this.autoScrollMargin&&(this.autoScrollTimeout||=setTimeout(()=>{i=Math.min(t.clientWidth,n+5),this.table.rowManager.getElement().scrollLeft=i,this.autoScrollTimeout=!1},1))}},k(w,`moduleName`,`moveColumn`),w),Ga=(le=class e extends J{constructor(e){super(e),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 e=document.createElement(`div`);return e.classList.add(`tabulator-row`),e.classList.add(`tabulator-row-placeholder`),e}initialize(){this.table.options.movableRows&&(this.connectionSelectorsTables=this.table.options.movableRowsConnectedTables,this.connectionSelectorsElements=this.table.options.movableRowsConnectedElements,this.connection=this.connectionSelectorsTables||this.connectionSelectorsElements,this.subscribe(`cell-init`,this.initializeCell.bind(this)),this.subscribe(`column-init`,this.initializeColumn.bind(this)),this.subscribe(`row-init`,this.initializeRow.bind(this)))}initializeGroupHeader(e){var t=this,n={};n.mouseup=function(n){t.tableRowDrop(n,e)}.bind(t),n.mousemove=function(n){var r;n.pageY-q.elOffset(e.element).top+t.table.rowManager.element.scrollTop>e.getHeight()/2?(t.toRow!==e||!t.toRowAfter)&&(r=e.getElement(),r.parentNode.insertBefore(t.placeholderElement,r.nextSibling),t.moveRow(e,!0)):(t.toRow!==e||t.toRowAfter)&&(r=e.getElement(),r.previousSibling&&(r.parentNode.insertBefore(t.placeholderElement,r),t.moveRow(e,!1)))}.bind(t),e.modules.moveRow=n}initializeRow(e){var t=this,n={},r;n.mouseup=function(n){t.tableRowDrop(n,e)}.bind(t),n.mousemove=function(n){var r=e.getElement();n.pageY-q.elOffset(r).top+t.table.rowManager.element.scrollTop>e.getHeight()/2?(t.toRow!==e||!t.toRowAfter)&&(r.parentNode.insertBefore(t.placeholderElement,r.nextSibling),t.moveRow(e,!0)):(t.toRow!==e||t.toRowAfter)&&(r.parentNode.insertBefore(t.placeholderElement,r),t.moveRow(e,!1))}.bind(t),this.hasHandle||(r=e.getElement(),r.addEventListener(`mousedown`,function(n){n.which===1&&(t.checkTimeout=setTimeout(function(){t.startMove(n,e)},t.checkPeriod))}),r.addEventListener(`mouseup`,function(e){e.which===1&&t.checkTimeout&&clearTimeout(t.checkTimeout)}),this.bindTouchEvents(e,e.getElement())),e.modules.moveRow=n}initializeColumn(e){e.definition.rowHandle&&this.table.options.movableRows!==!1&&(this.hasHandle=!0)}initializeCell(e){if(e.column.definition.rowHandle&&this.table.options.movableRows!==!1){var t=this,n=e.getElement(!0);n.addEventListener(`mousedown`,function(n){n.which===1&&(t.checkTimeout=setTimeout(function(){t.startMove(n,e.row)},t.checkPeriod))}),n.addEventListener(`mouseup`,function(e){e.which===1&&t.checkTimeout&&clearTimeout(t.checkTimeout)}),this.bindTouchEvents(e.row,n)}}bindTouchEvents(e,t){var n=!1,r,i,a,o,s,c;t.addEventListener(`touchstart`,t=>{this.checkTimeout=setTimeout(()=>{this.touchMove=!0,r=e.nextRow(),a=r?r.getHeight()/2:0,i=e.prevRow(),o=i?i.getHeight()/2:0,s=0,c=0,n=!1,this.startMove(t,e)},this.checkPeriod)},{passive:!0}),this.moving,this.toRow,this.toRowAfter,t.addEventListener(`touchmove`,t=>{var l,u;this.moving&&(t.preventDefault(),this.moveHover(t),n||=t.touches[0].pageY,l=t.touches[0].pageY-n,l>0?r&&l-s>a&&(u=r,u!==e&&(n=t.touches[0].pageY,u.getElement().parentNode.insertBefore(this.placeholderElement,u.getElement().nextSibling),this.moveRow(u,!0))):i&&-l-c>o&&(u=i,u!==e&&(n=t.touches[0].pageY,u.getElement().parentNode.insertBefore(this.placeholderElement,u.getElement()),this.moveRow(u,!1))),u&&(r=u.nextRow(),s=a,a=r?r.getHeight()/2:0,i=u.prevRow(),c=o,o=i?i.getHeight()/2:0))}),t.addEventListener(`touchend`,e=>{this.checkTimeout&&clearTimeout(this.checkTimeout),this.moving&&(this.endMove(e),this.touchMove=!1)})}_bindMouseMove(){this.table.rowManager.getDisplayRows().forEach(e=>{(e.type===`row`||e.type===`group`)&&e.modules.moveRow&&e.modules.moveRow.mousemove&&e.getElement().addEventListener(`mousemove`,e.modules.moveRow.mousemove)})}_unbindMouseMove(){this.table.rowManager.getDisplayRows().forEach(e=>{(e.type===`row`||e.type===`group`)&&e.modules.moveRow&&e.modules.moveRow.mousemove&&e.getElement().removeEventListener(`mousemove`,e.modules.moveRow.mousemove)})}startMove(e,t){var n=t.getElement();this.setStartPosition(e,t),this.moving=t,this.table.element.classList.add(`tabulator-block-select`),this.placeholderElement.style.width=t.getWidth()+`px`,this.placeholderElement.style.height=t.getHeight()+`px`,this.connection?(this.table.element.classList.add(`tabulator-movingrow-sending`),this.connectToTables(t)):(n.parentNode.insertBefore(this.placeholderElement,n),n.parentNode.removeChild(n)),this.hoverElement=n.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`,t.getComponent()),this.moveHover(e)}setStartPosition(e,t){var n=this.touchMove?e.touches[0].pageX:e.pageX,r=this.touchMove?e.touches[0].pageY:e.pageY,i=t.getElement(),a;this.connection?(a=i.getBoundingClientRect(),this.startX=a.left-n+window.pageXOffset,this.startY=a.top-r+window.pageYOffset):this.startY=r-i.getBoundingClientRect().top}endMove(e){(!e||e.which===1||this.touchMove)&&(this._unbindMouseMove(),this.connection||(this.placeholderElement.parentNode.insertBefore(this.moving.getElement(),this.placeholderElement.nextSibling),this.placeholderElement.parentNode.removeChild(this.placeholderElement)),this.hoverElement.parentNode.removeChild(this.hoverElement),this.table.element.classList.remove(`tabulator-block-select`),this.toRow?this.table.rowManager.moveRow(this.moving,this.toRow,this.toRowAfter):this.dispatchExternal(`rowMoveCancelled`,this.moving.getComponent()),this.moving=!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(e,t){this.toRow=e,this.toRowAfter=t}moveHover(e){this.connection?this.moveHoverConnections.call(this,e):this.moveHoverTable.call(this,e)}moveHoverTable(e){var t=this.table.rowManager.getElement(),n=t.scrollTop,r=(this.touchMove?e.touches[0].pageY:e.pageY)-t.getBoundingClientRect().top+n;this.hoverElement.style.top=Math.min(r-this.startY,this.table.rowManager.element.scrollHeight-this.hoverElement.offsetHeight)+`px`}moveHoverConnections(e){this.hoverElement.style.left=this.startX+(this.touchMove?e.touches[0].pageX:e.pageX)+`px`,this.hoverElement.style.top=this.startY+(this.touchMove?e.touches[0].pageY:e.pageY)+`px`}elementRowDrop(e,t,n){this.dispatchExternal(`movableRowsElementDrop`,e,t,n?n.getComponent():!1)}connectToTables(e){var t;this.connectionSelectorsTables&&(t=this.commsConnections(this.connectionSelectorsTables),this.dispatchExternal(`movableRowsSendingStart`,t),this.commsSend(this.connectionSelectorsTables,`moveRow`,`connect`,{row:e})),this.connectionSelectorsElements&&(this.connectionElements=[],Array.isArray(this.connectionSelectorsElements)||(this.connectionSelectorsElements=[this.connectionSelectorsElements]),this.connectionSelectorsElements.forEach(e=>{typeof e==`string`?this.connectionElements=this.connectionElements.concat(Array.prototype.slice.call(document.querySelectorAll(e))):this.connectionElements.push(e)}),this.connectionElements.forEach(e=>{var t=t=>{this.elementRowDrop(t,e,this.moving)};e.addEventListener(`mouseup`,t),e.tabulatorElementDropEvent=t,e.classList.add(`tabulator-movingrow-receiving`)}))}disconnectFromTables(){var e;this.connectionSelectorsTables&&(e=this.commsConnections(this.connectionSelectorsTables),this.dispatchExternal(`movableRowsSendingStop`,e),this.commsSend(this.connectionSelectorsTables,`moveRow`,`disconnect`)),this.connectionElements.forEach(e=>{e.classList.remove(`tabulator-movingrow-receiving`),e.removeEventListener(`mouseup`,e.tabulatorElementDropEvent),delete e.tabulatorElementDropEvent})}connect(e,t){return this.connectedTable?(console.warn(`Move Row Error - Table cannot accept connection, already connected to table:`,this.connectedTable),!1):(this.connectedTable=e,this.connectedRow=t,this.table.element.classList.add(`tabulator-movingrow-receiving`),this.table.rowManager.getDisplayRows().forEach(e=>{e.type===`row`&&e.modules.moveRow&&e.modules.moveRow.mouseup&&e.getElement().addEventListener(`mouseup`,e.modules.moveRow.mouseup)}),this.tableRowDropEvent=this.tableRowDrop.bind(this),this.table.element.addEventListener(`mouseup`,this.tableRowDropEvent),this.dispatchExternal(`movableRowsReceivingStart`,t,e),!0)}disconnect(e){e===this.connectedTable?(this.connectedTable=!1,this.connectedRow=!1,this.table.element.classList.remove(`tabulator-movingrow-receiving`),this.table.rowManager.getDisplayRows().forEach(e=>{e.type===`row`&&e.modules.moveRow&&e.modules.moveRow.mouseup&&e.getElement().removeEventListener(`mouseup`,e.modules.moveRow.mouseup)}),this.table.element.removeEventListener(`mouseup`,this.tableRowDropEvent),this.dispatchExternal(`movableRowsReceivingStop`,e)):console.warn(`Move Row Error - trying to disconnect from non connected table`)}dropComplete(t,n,r){var i=!1;if(r){switch(typeof this.table.options.movableRowsSender){case`string`:i=e.senders[this.table.options.movableRowsSender];break;case`function`:i=this.table.options.movableRowsSender;break}i?i.call(this,this.moving?this.moving.getComponent():void 0,n?n.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(),n?n.getComponent():void 0,t)}else this.dispatchExternal(`movableRowsSentFailed`,this.moving.getComponent(),n?n.getComponent():void 0,t);this.endMove()}tableRowDrop(t,n){var r=!1,i=!1;switch(t.stopImmediatePropagation(),typeof this.table.options.movableRowsReceiver){case`string`:r=e.receivers[this.table.options.movableRowsReceiver];break;case`function`:r=this.table.options.movableRowsReceiver;break}r?i=r.call(this,this.connectedRow.getComponent(),n?n.getComponent():void 0,this.connectedTable):console.warn(`Mover Row Error - no matching receiver found:`,this.table.options.movableRowsReceiver),i?this.dispatchExternal(`movableRowsReceived`,this.connectedRow.getComponent(),n?n.getComponent():void 0,this.connectedTable):this.dispatchExternal(`movableRowsReceivedFailed`,this.connectedRow.getComponent(),n?n.getComponent():void 0,this.connectedTable),this.commsSend(this.connectedTable,`moveRow`,`dropcomplete`,{row:n,success:i})}commsReceived(e,t,n){switch(t){case`connect`:return this.connect(e,n.row);case`disconnect`:return this.disconnect(e);case`dropcomplete`:return this.dropComplete(e,n.row,n.success)}}},k(le,`moduleName`,`moveRow`),k(le,`senders`,{delete:function(e,t,n){e.delete()}}),k(le,`receivers`,{insert:function(e,t,n){return this.table.addRow(e.getData(),void 0,t),!0},add:function(e,t,n){return this.table.addRow(e.getData()),!0},update:function(e,t,n){return t?(t.update(e.getData()),!0):!1},replace:function(e,t,n){return t?(this.table.addRow(e.getData(),void 0,t),t.delete(),!0):!1}}),le),Ka=(ue=class e extends J{constructor(e){super(e),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(e,t,n){return this.transformRow(t,`data`,n)}initializeColumn(e){var t=!1,n={};this.allowedTypes.forEach(r=>{var i=`mutator`+(r.charAt(0).toUpperCase()+r.slice(1)),a;e.definition[i]&&(a=this.lookupMutator(e.definition[i]),a&&(t=!0,n[i]={mutator:a,params:e.definition[i+`Params`]||{}}))}),t&&(e.modules.mutate=n)}lookupMutator(t){var n=!1;switch(typeof t){case`string`:e.mutators[t]?n=e.mutators[t]:console.warn(`Mutator Error - No such mutator found, ignoring: `,t);break;case`function`:n=t;break}return n}transformRow(e,t,n){var r=`mutator`+(t.charAt(0).toUpperCase()+t.slice(1)),i;return this.enabled&&this.table.columnManager.traverse(a=>{var o,s,c;a.modules.mutate&&(o=a.modules.mutate[r]||a.modules.mutate.mutator||!1,o&&(i=a.getFieldValue(n===void 0?e:n),(t==`data`&&!n||i!==void 0)&&(c=a.getComponent(),s=typeof o.params==`function`?o.params(i,e,t,c):o.params,a.setFieldValue(e,o.mutator(i,e,t,s,c)))))}),e}transformCell(e,t){if(e.column.modules.mutate){var n=e.column.modules.mutate.mutatorEdit||e.column.modules.mutate.mutator||!1,r={};if(n)return r=Object.assign(r,e.row.getData()),e.column.setFieldValue(r,t),n.mutator(t,r,`edit`,n.params,e.getComponent())}return t}mutateLink(e){var t=e.column.definition.mutateLink;t&&(Array.isArray(t)||(t=[t]),t.forEach(t=>{var n=e.row.getCell(t);n&&n.setValue(n.getValue(),!0,!0)}))}enable(){this.enabled=!0}disable(){this.enabled=!1}},k(ue,`moduleName`,`mutator`),k(ue,`mutators`,{}),ue);function qa(e,t,n,r,i){var a=document.createElement(`span`),o=document.createElement(`span`),s=document.createElement(`span`),c=document.createElement(`span`),l=document.createElement(`span`),u=document.createElement(`span`);return this.table.modules.localize.langBind(`pagination|counter|showing`,e=>{o.innerHTML=e}),this.table.modules.localize.langBind(`pagination|counter|of`,e=>{c.innerHTML=e}),this.table.modules.localize.langBind(`pagination|counter|rows`,e=>{u.innerHTML=e}),r?(s.innerHTML=` `+t+`-`+Math.min(t+e-1,r)+` `,l.innerHTML=` `+r+` `,a.appendChild(o),a.appendChild(s),a.appendChild(c),a.appendChild(l),a.appendChild(u)):(s.innerHTML=` 0 `,a.appendChild(o),a.appendChild(s),a.appendChild(u)),a}function Ja(e,t,n,r,i){var a=document.createElement(`span`),o=document.createElement(`span`),s=document.createElement(`span`),c=document.createElement(`span`),l=document.createElement(`span`),u=document.createElement(`span`);return this.table.modules.localize.langBind(`pagination|counter|showing`,e=>{o.innerHTML=e}),s.innerHTML=` `+n+` `,this.table.modules.localize.langBind(`pagination|counter|of`,e=>{c.innerHTML=e}),l.innerHTML=` `+i+` `,this.table.modules.localize.langBind(`pagination|counter|pages`,e=>{u.innerHTML=e}),a.appendChild(o),a.appendChild(s),a.appendChild(c),a.appendChild(l),a.appendChild(u),a}var Ya={rows:qa,pages:Ja},Xa=(de=class e extends J{constructor(e){super(e),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)),this.table.options.paginationAddRow==`page`&&this.subscribe(`row-adding-position`,this.rowAddingPosition.bind(this)),this.table.options.paginationMode===`remote`&&(this.subscribe(`data-params`,this.remotePageParams.bind(this)),this.subscribe(`data-loaded`,this._parseRemoteData.bind(this))),this.table.options.progressiveLoad&&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),this.table.options.progressiveLoad===`scroll`&&this.subscribe(`scroll-vertical`,this.scrollVertical.bind(this)))}rowAddingPosition(e,t){var n=this.table.rowManager,r=n.getDisplayRows(),i;return t?r.length?i=r[0]:n.activeRows.length&&(i=n.activeRows[n.activeRows.length-1],t=!1):r.length&&(i=r[r.length-1],t=!(r.length<this.size)),{index:i,top:t}}calculatePageSizes(){var e,t;this.table.options.paginationSize?this.size=this.table.options.paginationSize:(e=document.createElement(`div`),e.classList.add(`tabulator-row`),e.style.visibility=`hidden`,t=document.createElement(`div`),t.classList.add(`tabulator-cell`),t.innerHTML=`Page Row Test`,e.appendChild(t),this.table.rowManager.getTableElement().appendChild(e),this.size=Math.floor(this.table.rowManager.getElement().clientHeight/e.offsetHeight),this.table.rowManager.getTableElement().removeChild(e)),this.dispatchExternal(`pageSizeChanged`,this.size),this.generatePageSizeSelectList()}initialLoadComplete(){this.initialLoad=!1}remotePageParams(e,t,n,r){return this.initialLoad||(this.progressiveLoad&&!n||!this.progressiveLoad&&!this.dataChanging)&&this.reset(!0),r.page=this.page,this.size&&(r.size=this.size),r}userSetPageToRow(e){return this.table.options.pagination&&(e=this.table.rowManager.findRow(e),e)?this.setPageToRow(e):Promise.reject()}userSetPageSize(e){return this.table.options.pagination?(this.setPageSize(e),this.setPage(1)):!1}scrollVertical(e,t){var n,r,i;!t&&!this.table.dataLoader.loading&&(n=this.table.rowManager.getElement(),r=n.scrollHeight-n.clientHeight-e,i=this.table.options.progressiveLoadScrollMargin||n.clientHeight*2,r<i&&this.nextPage().catch(()=>{}))}restOnRenderBefore(e,t){return t||this.mode===`local`&&this.reset(),e}rowsUpdated(){this.refreshData(!0,`all`)}createElements(){var e;this.element=document.createElement(`span`),this.element.classList.add(`tabulator-paginator`),this.pagesElement=document.createElement(`span`),this.pagesElement.classList.add(`tabulator-pages`),e=document.createElement(`button`),e.classList.add(`tabulator-page`),e.setAttribute(`type`,`button`),e.setAttribute(`role`,`button`),e.setAttribute(`aria-label`,``),e.setAttribute(`title`,``),this.firstBut=e.cloneNode(!0),this.firstBut.setAttribute(`data-page`,`first`),this.prevBut=e.cloneNode(!0),this.prevBut.setAttribute(`data-page`,`prev`),this.nextBut=e.cloneNode(!0),this.nextBut.setAttribute(`data-page`,`next`),this.lastBut=e.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 e=[];if(this.pageSizeSelect){if(Array.isArray(this.table.options.paginationSizeSelector))e=this.table.options.paginationSizeSelector,this.pageSizes=e,this.pageSizes.indexOf(this.size)==-1&&e.unshift(this.size);else if(this.pageSizes.indexOf(this.size)==-1){e=[];for(let t=1;t<5;t++)e.push(this.size*t);this.pageSizes=e}else e=this.pageSizes;for(;this.pageSizeSelect.firstChild;)this.pageSizeSelect.removeChild(this.pageSizeSelect.firstChild);e.forEach(e=>{var t=document.createElement(`option`);t.value=e,e===!0?this.langBind(`pagination|all`,function(e){t.innerHTML=e}):t.innerHTML=e,this.pageSizeSelect.appendChild(t)}),this.pageSizeSelect.value=this.size}}initializePageCounter(){var t=this.table.options.paginationCounter,n=null;t&&(n=typeof t==`function`?t:e.pageCounters[t],n?(this.pageCounter=n,this.pageCounterElement=document.createElement(`span`),this.pageCounterElement.classList.add(`tabulator-page-counter`)):console.warn(`Pagination Error - No such page counter found: `,t))}initializePaginator(e){var t,n;e||(this.langBind(`pagination|first`,e=>{this.firstBut.innerHTML=e}),this.langBind(`pagination|first_title`,e=>{this.firstBut.setAttribute(`aria-label`,e),this.firstBut.setAttribute(`title`,e)}),this.langBind(`pagination|prev`,e=>{this.prevBut.innerHTML=e}),this.langBind(`pagination|prev_title`,e=>{this.prevBut.setAttribute(`aria-label`,e),this.prevBut.setAttribute(`title`,e)}),this.langBind(`pagination|next`,e=>{this.nextBut.innerHTML=e}),this.langBind(`pagination|next_title`,e=>{this.nextBut.setAttribute(`aria-label`,e),this.nextBut.setAttribute(`title`,e)}),this.langBind(`pagination|last`,e=>{this.lastBut.innerHTML=e}),this.langBind(`pagination|last_title`,e=>{this.lastBut.setAttribute(`aria-label`,e),this.lastBut.setAttribute(`title`,e)}),this.firstBut.addEventListener(`click`,()=>{this.setPage(1)}),this.prevBut.addEventListener(`click`,()=>{this.previousPage()}),this.nextBut.addEventListener(`click`,()=>{this.nextPage()}),this.lastBut.addEventListener(`click`,()=>{this.setPage(this.max)}),this.table.options.paginationElement&&(this.element=this.table.options.paginationElement),this.pageSizeSelect&&(t=document.createElement(`label`),this.langBind(`pagination|page_size`,e=>{this.pageSizeSelect.setAttribute(`aria-label`,e),this.pageSizeSelect.setAttribute(`title`,e),t.innerHTML=e}),this.element.appendChild(t),this.element.appendChild(this.pageSizeSelect),this.pageSizeSelect.addEventListener(`change`,e=>{this.setPageSize(this.pageSizeSelect.value==`true`?!0:this.pageSizeSelect.value),this.setPage(1)})),this.element.appendChild(this.firstBut),this.element.appendChild(this.prevBut),this.element.appendChild(this.pagesElement),this.element.appendChild(this.nextBut),this.element.appendChild(this.lastBut),this.table.options.paginationElement||(this.table.options.paginationCounter&&(this.table.options.paginationCounterElement?this.table.options.paginationCounterElement instanceof HTMLElement?this.table.options.paginationCounterElement.appendChild(this.pageCounterElement):typeof this.table.options.paginationCounterElement==`string`&&(n=document.querySelector(this.table.options.paginationCounterElement),n?n.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(e){this.initializePaginator(!0),this.mode=`progressive_`+e,this.progressiveLoad=!0}trackChanges(){this.dispatch(`page-changed`)}setMaxRows(e){e?this.max=this.size===!0?1:Math.ceil(e/this.size):this.max=1,this.page>this.max&&(this.page=this.max)}reset(e){this.initialLoad||(this.mode==`local`||e)&&(this.page=1,this.trackChanges())}setMaxPage(e){e=parseInt(e),this.max=e||1,this.page>this.max&&(this.page=this.max,this.trigger())}setPage(e){switch(e){case`first`:return this.setPage(1);case`prev`:return this.previousPage();case`next`:return this.nextPage();case`last`:return this.setPage(this.max)}return e=parseInt(e),e>0&&e<=this.max||this.mode!==`local`?(this.page=e,this.trackChanges(),this.trigger()):(console.warn(`Pagination Error - Requested page is out of range of 1 - `+this.max+`:`,e),Promise.reject())}setPageToRow(e){var t=this.displayRows(-1).indexOf(e);if(t>-1){var n=this.size===!0?1:Math.ceil((t+1)/this.size);return this.setPage(n)}else return console.warn(`Pagination Error - Requested row is not visible`),Promise.reject()}setPageSize(e){e!==!0&&(e=parseInt(e)),e>0&&(this.size=e,this.dispatchExternal(`pageSizeChanged`,e)),this.pageSizeSelect&&this.generatePageSizeSelectList(),this.trackChanges()}_setPageCounter(e,t,n){var r;if(this.pageCounter)switch(this.mode===`remote`&&(t=this.size,n=(this.page-1)*this.size+1,e=this.remoteRowCountEstimate),r=this.pageCounter.call(this,t,n,this.page,e,this.max),typeof r){case`object`:if(r instanceof Node){for(;this.pageCounterElement.firstChild;)this.pageCounterElement.removeChild(this.pageCounterElement.firstChild);this.pageCounterElement.appendChild(r)}else this.pageCounterElement.innerHTML=``,r!=null&&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:`,r);break;case`undefined`:this.pageCounterElement.innerHTML=``;break;default:this.pageCounterElement.innerHTML=r}}_setPageButtons(){let e=Math.floor((this.count-1)/2),t=Math.ceil((this.count-1)/2),n=this.max-this.page+e+1<this.count?this.max-this.count+1:Math.max(this.page-e,1),r=this.page<=t?Math.min(this.count,this.max):Math.min(this.page+t,this.max);for(;this.pagesElement.firstChild;)this.pagesElement.removeChild(this.pagesElement.firstChild);this.page==1?(this.firstBut.disabled=!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 e=n;e<=r;e++)e>0&&e<=this.max&&this.pagesElement.appendChild(this._generatePageButton(e));this.footerRedraw()}_generatePageButton(e){var t=document.createElement(`button`);return t.classList.add(`tabulator-page`),e==this.page&&t.classList.add(`active`),t.setAttribute(`type`,`button`),t.setAttribute(`role`,`button`),this.langBind(`pagination|page_title`,n=>{t.setAttribute(`aria-label`,n+` `+e),t.setAttribute(`title`,n+` `+e)}),t.setAttribute(`data-page`,e),t.textContent=e,t.addEventListener(`click`,t=>{this.setPage(e)}),t}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(e){return this.size}getMode(){return this.mode}getRows(e){var t=0,n,r,i,a,o=e.filter(e=>e.type===`row`);if(this.mode==`local`){n=[],this.setMaxRows(e.length),this.size===!0?(r=0,i=e.length):(r=this.size*(this.page-1),i=r+parseInt(this.size)),this._setPageButtons();for(let o=r;o<i;o++){let r=e[o];r&&(n.push(r),r.type===`row`&&(a||=r,t++))}return this._setPageCounter(o.length,t,a?o.indexOf(a)+1:0),n}else return this._setPageButtons(),this._setPageCounter(o.length),e.slice(0)}trigger(){var e;switch(this.mode){case`local`:return e=this.table.rowManager.scrollLeft,this.refreshData(),this.table.rowManager.scrollHorizontal(e),this.dispatchExternal(`pageLoaded`,this.getPage()),Promise.resolve();case`remote`:return this.dataChanging=!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(e){var t,n;if(e.last_page===void 0&&console.warn(`Remote Pagination Error - Server response missing '`+(this.options(`dataReceiveParams`).last_page||`last_page`)+`' property`),e.data)if(this.max=parseInt(e.last_page)||1,this.remoteRowCountEstimate=e.last_row===void 0?e.last_page*this.size-(this.page==e.last_page?this.size-e.data.length:0):e.last_row,this.progressiveLoad){switch(this.mode){case`progressive_load`:this.page==1?this.table.rowManager.setData(e.data,!1,this.page==1):this.table.rowManager.addRows(e.data),this.page<this.max&&setTimeout(()=>{this.nextPage()},this.table.options.progressiveLoadDelay);break;case`progressive_scroll`:e=this.page===1?e.data:this.table.rowManager.getData().concat(e.data),this.table.rowManager.setData(e,this.page!==1,this.page==1),t=this.table.options.progressiveLoadScrollMargin||this.table.rowManager.element.clientHeight*2,this.table.rowManager.element.scrollHeight<=this.table.rowManager.element.clientHeight+t&&this.page<this.max&&setTimeout(()=>{this.nextPage()});break}return!1}else{if(this.page>this.max&&(console.warn(`Remote Pagination Error - Server returned last page value lower than the current page`),n=this.options(`paginationOutOfRange`),n))return this.setPage(typeof n==`function`?n.call(this,this.page,this.max):n);this.dispatchExternal(`pageLoaded`,this.getPage())}else console.warn(`Remote Pagination Error - Server response missing '`+(this.options(`dataReceiveParams`).data||`data`)+`' property`);return e.data}footerRedraw(){var e=this.table.footerManager.containerElement;Math.ceil(e.clientWidth)-e.scrollWidth<0?this.pagesElement.style.display=`none`:(this.pagesElement.style.display=``,Math.ceil(e.clientWidth)-e.scrollWidth<0&&(this.pagesElement.style.display=`none`))}},k(de,`moduleName`,`page`),k(de,`pageCounters`,Ya),de),Za=(fe=class e extends J{constructor(e){super(e),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 e=`_tabulator_test`;try{return window.localStorage.setItem(e,e),window.localStorage.removeItem(e),!0}catch{return!1}}initialize(){if(this.table.options.persistence){var t=this.table.options.persistenceMode,n=this.table.options.persistenceID,r;this.mode=t===!0?this.localStorageTest()?`local`:`cookie`:t,this.table.options.persistenceReaderFunc?typeof this.table.options.persistenceReaderFunc==`function`?this.readFunc=this.table.options.persistenceReaderFunc:e.readers[this.table.options.persistenceReaderFunc]?this.readFunc=e.readers[this.table.options.persistenceReaderFunc]:console.warn(`Persistence Read Error - invalid reader set`,this.table.options.persistenceReaderFunc):e.readers[this.mode]?this.readFunc=e.readers[this.mode]:console.warn(`Persistence Read Error - invalid reader set`,this.mode),this.table.options.persistenceWriterFunc?typeof this.table.options.persistenceWriterFunc==`function`?this.writeFunc=this.table.options.persistenceWriterFunc:e.writers[this.table.options.persistenceWriterFunc]?this.writeFunc=e.writers[this.table.options.persistenceWriterFunc]:console.warn(`Persistence Write Error - invalid reader set`,this.table.options.persistenceWriterFunc):e.writers[this.mode]?this.writeFunc=e.writers[this.mode]:console.warn(`Persistence Write Error - invalid writer set`,this.mode),this.id=`tabulator-`+(n||this.table.element.getAttribute(`id`)||``),this.config={sort:this.table.options.persistence===!0||this.table.options.persistence.sort,filter:this.table.options.persistence===!0||this.table.options.persistence.filter,headerFilter:this.table.options.persistence===!0||this.table.options.persistence.headerFilter,group:this.table.options.persistence===!0||this.table.options.persistence.group,page:this.table.options.persistence===!0||this.table.options.persistence.page,columns:this.table.options.persistence===!0?[`title`,`width`,`visible`]:this.table.options.persistence.columns},this.config.page&&(r=this.retrieveData(`page`),r&&(r.paginationSize!==void 0&&(this.config.page===!0||this.config.page.size)&&(this.table.options.paginationSize=r.paginationSize),r.paginationInitialPage!==void 0&&(this.config.page===!0||this.config.page.page)&&(this.table.options.paginationInitialPage=r.paginationInitialPage))),this.config.group&&(r=this.retrieveData(`group`),r&&(r.groupBy!==void 0&&(this.config.group===!0||this.config.group.groupBy)&&(this.table.options.groupBy=r.groupBy),r.groupStartOpen!==void 0&&(this.config.group===!0||this.config.group.groupStartOpen)&&(this.table.options.groupStartOpen=r.groupStartOpen),r.groupHeader!==void 0&&(this.config.group===!0||this.config.group.groupHeader)&&(this.table.options.groupHeader=r.groupHeader))),this.config.columns&&(this.table.options.columns=this.load(`columns`,this.table.options.columns),this.subscribe(`column-init`,this.initializeColumn.bind(this)),this.subscribe(`column-show`,this.save.bind(this,`columns`)),this.subscribe(`column-hide`,this.save.bind(this,`columns`)),this.subscribe(`column-moved`,this.save.bind(this,`columns`))),this.subscribe(`table-built`,this.tableBuilt.bind(this),0),this.subscribe(`table-redraw`,this.tableRedraw.bind(this)),this.subscribe(`filter-changed`,this.eventSave.bind(this,`filter`)),this.subscribe(`filter-changed`,this.eventSave.bind(this,`headerFilter`)),this.subscribe(`sort-changed`,this.eventSave.bind(this,`sort`)),this.subscribe(`group-changed`,this.eventSave.bind(this,`group`)),this.subscribe(`page-changed`,this.eventSave.bind(this,`page`)),this.subscribe(`column-resized`,this.eventSave.bind(this,`columns`)),this.subscribe(`column-width`,this.eventSave.bind(this,`columns`)),this.subscribe(`layout-refreshed`,this.eventSave.bind(this,`columns`))}this.registerTableFunction(`getColumnLayout`,this.getColumnLayout.bind(this)),this.registerTableFunction(`setColumnLayout`,this.setColumnLayout.bind(this))}eventSave(e){this.config[e]&&this.save(e)}tableBuilt(){var e,t,n;this.config.sort&&(e=this.load(`sort`),e&&(this.table.options.initialSort=e)),this.config.filter&&(t=this.load(`filter`),t&&(this.table.options.initialFilter=t)),this.config.headerFilter&&(n=this.load(`headerFilter`),n&&(this.table.options.initialHeaderFilter=n))}tableRedraw(e){e&&this.config.columns&&this.save(`columns`)}getColumnLayout(){return this.parseColumns(this.table.columnManager.getColumns())}setColumnLayout(e){return this.table.columnManager.setColumns(this.mergeDefinition(this.table.options.columns,e,!0)),!0}initializeColumn(e){var t,n;this.config.columns&&(this.defWatcherBlock=!0,t=e.getDefinition(),n=this.config.columns===!0?Object.keys(t):this.config.columns,n.forEach(e=>{var n=Object.getOwnPropertyDescriptor(t,e),r=t[e];n&&Object.defineProperty(t,e,{set:e=>{r=e,this.defWatcherBlock||this.save(`columns`),n.set&&n.set(e)},get:()=>(n.get&&n.get(),r)})}),this.defWatcherBlock=!1)}load(e,t){var n=this.retrieveData(e);return t&&(n=n?this.mergeDefinition(t,n):t),n}retrieveData(e){return this.readFunc?this.readFunc(this.id,e):!1}mergeDefinition(e,t,n){var r=[];return t||=[],t.forEach((t,i)=>{var a=this._findColumn(e,t),o;a&&(n?o=Object.keys(t):this.config.columns===!0||this.config.columns==null?(o=Object.keys(a),o.push(`width`)):o=this.config.columns,o.forEach(e=>{e!==`columns`&&t[e]!==void 0&&(a[e]=t[e])}),a.columns&&=this.mergeDefinition(a.columns,t.columns),r.push(a))}),e.forEach((e,n)=>{this._findColumn(t,e)||(r.length>n?r.splice(n,0,e):r.push(e))}),r}_findColumn(e,t){var n=t.columns?`group`:t.field?`field`:`object`;return e.find(function(e){switch(n){case`group`:return e.title===t.title&&e.columns.length===t.columns.length;case`field`:return e.field===t.field;case`object`:return e===t}})}save(e){var t={};switch(e){case`columns`:t=this.parseColumns(this.table.columnManager.getColumns());break;case`filter`:t=this.table.modules.filter.getFilters();break;case`headerFilter`:t=this.table.modules.filter.getHeaderFilters();break;case`sort`:t=this.validateSorters(this.table.modules.sort.getSort());break;case`group`:t=this.getGroupConfig();break;case`page`:t=this.getPageConfig();break}this.writeFunc&&this.writeFunc(this.id,e,t)}validateSorters(e){return e.forEach(function(e){e.column=e.field,delete e.field}),e}getGroupConfig(){var e={};return this.config.group&&((this.config.group===!0||this.config.group.groupBy)&&(e.groupBy=this.table.options.groupBy),(this.config.group===!0||this.config.group.groupStartOpen)&&(e.groupStartOpen=this.table.options.groupStartOpen),(this.config.group===!0||this.config.group.groupHeader)&&(e.groupHeader=this.table.options.groupHeader)),e}getPageConfig(){var e={};return this.config.page&&((this.config.page===!0||this.config.page.size)&&(e.paginationSize=this.table.modules.page.getPageSize()),(this.config.page===!0||this.config.page.page)&&(e.paginationInitialPage=this.table.modules.page.getPage())),e}parseColumns(e){var t=[],n=[`headerContextMenu`,`headerMenu`,`contextMenu`,`clickMenu`];return e.forEach(e=>{var r={},i=e.getDefinition(),a;e.isGroup?(r.title=i.title,r.columns=this.parseColumns(e.getColumns())):(r.field=e.getField(),this.config.columns===!0||this.config.columns==null?(a=Object.keys(i),a.push(`width`),a.push(`visible`)):a=this.config.columns,a.forEach(t=>{switch(t){case`width`:r.width=e.getWidth();break;case`visible`:r.visible=e.visible;break;default:typeof i[t]!=`function`&&n.indexOf(t)===-1&&(r[t]=i[t])}})),t.push(r)}),t}},k(fe,`moduleName`,`persistence`),k(fe,`moduleInitOrder`,-10),k(fe,`readers`,{local:function(e,t){var n=localStorage.getItem(e+`-`+t);return n?JSON.parse(n):!1},cookie:function(e,t){var n=document.cookie,r=e+`-`+t,i=n.indexOf(r+`=`),a,o;return i>-1&&(n=n.slice(i),a=n.indexOf(`;`),a>-1&&(n=n.slice(0,a)),o=n.replace(r+`=`,``)),o?JSON.parse(o):!1}}),k(fe,`writers`,{local:function(e,t,n){localStorage.setItem(e+`-`+t,JSON.stringify(n))},cookie:function(e,t,n){var r=new Date;r.setDate(r.getDate()+1e4),document.cookie=e+`-`+t+`=`+JSON.stringify(n)+`; expires=`+r.toUTCString()}}),fe),Qa=(pe=class extends J{constructor(e){super(e),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(e,t,n){this.loadPopupEvent(t,null,e,n)}initializeRowWatchers(){this.table.options.rowContextPopup&&(this.subscribe(`row-contextmenu`,this.loadPopupEvent.bind(this,this.table.options.rowContextPopup)),this.table.on(`rowTapHold`,this.loadPopupEvent.bind(this,this.table.options.rowContextPopup))),this.table.options.rowClickPopup&&this.subscribe(`row-click`,this.loadPopupEvent.bind(this,this.table.options.rowClickPopup)),this.table.options.rowDblClickPopup&&this.subscribe(`row-dblclick`,this.loadPopupEvent.bind(this,this.table.options.rowDblClickPopup))}initializeGroupWatchers(){this.table.options.groupContextPopup&&(this.subscribe(`group-contextmenu`,this.loadPopupEvent.bind(this,this.table.options.groupContextPopup)),this.table.on(`groupTapHold`,this.loadPopupEvent.bind(this,this.table.options.groupContextPopup))),this.table.options.groupClickPopup&&this.subscribe(`group-click`,this.loadPopupEvent.bind(this,this.table.options.groupClickPopup)),this.table.options.groupDblClickPopup&&this.subscribe(`group-dblclick`,this.loadPopupEvent.bind(this,this.table.options.groupDblClickPopup))}initializeColumn(e){var t=e.definition;t.headerContextPopup&&!this.columnSubscribers.headerContextPopup&&(this.columnSubscribers.headerContextPopup=this.loadPopupTableColumnEvent.bind(this,`headerContextPopup`),this.subscribe(`column-contextmenu`,this.columnSubscribers.headerContextPopup),this.table.on(`headerTapHold`,this.loadPopupTableColumnEvent.bind(this,`headerContextPopup`))),t.headerClickPopup&&!this.columnSubscribers.headerClickPopup&&(this.columnSubscribers.headerClickPopup=this.loadPopupTableColumnEvent.bind(this,`headerClickPopup`),this.subscribe(`column-click`,this.columnSubscribers.headerClickPopup)),t.headerDblClickPopup&&!this.columnSubscribers.headerDblClickPopup&&(this.columnSubscribers.headerDblClickPopup=this.loadPopupTableColumnEvent.bind(this,`headerDblClickPopup`),this.subscribe(`column-dblclick`,this.columnSubscribers.headerDblClickPopup)),t.headerPopup&&this.initializeColumnHeaderPopup(e),t.contextPopup&&!this.columnSubscribers.contextPopup&&(this.columnSubscribers.contextPopup=this.loadPopupTableCellEvent.bind(this,`contextPopup`),this.subscribe(`cell-contextmenu`,this.columnSubscribers.contextPopup),this.table.on(`cellTapHold`,this.loadPopupTableCellEvent.bind(this,`contextPopup`))),t.clickPopup&&!this.columnSubscribers.clickPopup&&(this.columnSubscribers.clickPopup=this.loadPopupTableCellEvent.bind(this,`clickPopup`),this.subscribe(`cell-click`,this.columnSubscribers.clickPopup)),t.dblClickPopup&&!this.columnSubscribers.dblClickPopup&&(this.columnSubscribers.dblClickPopup=this.loadPopupTableCellEvent.bind(this,`dblClickPopup`),this.subscribe(`cell-click`,this.columnSubscribers.dblClickPopup))}initializeColumnHeaderPopup(e){var t=e.definition.headerPopupIcon,n=document.createElement(`span`);n.classList.add(`tabulator-header-popup-button`),t?(typeof t==`function`&&(t=t(e.getComponent())),t instanceof HTMLElement?n.appendChild(t):n.innerHTML=t):n.innerHTML=`⋮`,n.addEventListener(`click`,t=>{t.stopPropagation(),t.preventDefault(),this.loadPopupEvent(e.definition.headerPopup,t,e)}),e.titleElement.insertBefore(n,e.titleElement.firstChild)}loadPopupTableCellEvent(e,t,n){n._cell&&(n=n._cell),n.column.definition[e]&&this.loadPopupEvent(n.column.definition[e],t,n)}loadPopupTableColumnEvent(e,t,n){n._column&&(n=n._column),n.definition[e]&&this.loadPopupEvent(n.definition[e],t,n)}loadPopupEvent(e,t,n,r){var i;function a(e){i=e}n._group?n=n._group:n._row&&(n=n._row),e=typeof e==`function`?e.call(this.table,t,n.getComponent(),a):e,this.loadPopup(t,n,e,i,r)}loadPopup(e,t,n,r,i){var a=!(e instanceof MouseEvent),o,s;n instanceof HTMLElement?o=n:(o=document.createElement(`div`),o.innerHTML=n),o.classList.add(`tabulator-popup`),o.addEventListener(`click`,e=>{e.stopPropagation()}),a||e.preventDefault(),s=this.popup(o),typeof r==`function`&&s.renderCallback(r),e?s.show(e):s.show(t.getElement(),i||`center`),s.hideOnBlur(()=>{this.dispatchExternal(`popupClosed`,t.getComponent())}),this.dispatchExternal(`popupOpened`,t.getComponent())}},k(pe,`moduleName`,`popup`),pe),$a=(me=class extends J{constructor(e){super(e),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(e,t,n){var r=window.scrollX,i=window.scrollY,a=document.createElement(`div`),o=document.createElement(`div`),s=this.table.modules.export.generateTable(n===void 0?this.table.options.printConfig:n,t===void 0?this.table.options.printStyled:t,e||this.table.options.printRowRange,`print`),c,l;this.manualBlock=!0,this.element=document.createElement(`div`),this.element.classList.add(`tabulator-print-fullscreen`),this.table.options.printHeader&&(a.classList.add(`tabulator-print-header`),c=typeof this.table.options.printHeader==`function`?this.table.options.printHeader.call(this.table):this.table.options.printHeader,typeof c==`string`?a.innerHTML=c:a.appendChild(c),this.element.appendChild(a)),this.element.appendChild(s),this.table.options.printFooter&&(o.classList.add(`tabulator-print-footer`),l=typeof this.table.options.printFooter==`function`?this.table.options.printFooter.call(this.table):this.table.options.printFooter,typeof l==`string`?o.innerHTML=l:o.appendChild(l),this.element.appendChild(o)),document.body.classList.add(`tabulator-print-fullscreen-hide`),document.body.appendChild(this.element),this.table.options.printFormatter&&this.table.options.printFormatter(this.element,s),window.print(),this.cleanup(),window.scrollTo(r,i),this.manualBlock=!1}},k(me,`moduleName`,`print`),me),eo=(he=class extends J{constructor(e){super(e),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(e){var t=this,n;this.currentVersion++,n=this.currentVersion,this.unwatchData(),this.data=e,this.origFuncs.push=e.push,Object.defineProperty(this.data,`push`,{enumerable:!1,configurable:!0,value:function(){var r=Array.from(arguments),i;return!t.blocked&&n===t.currentVersion&&(t.block(`data-push`),r.forEach(e=>{t.table.rowManager.addRowActual(e,!1)}),i=t.origFuncs.push.apply(e,arguments),t.unblock(`data-push`)),i}}),this.origFuncs.unshift=e.unshift,Object.defineProperty(this.data,`unshift`,{enumerable:!1,configurable:!0,value:function(){var r=Array.from(arguments),i;return!t.blocked&&n===t.currentVersion&&(t.block(`data-unshift`),r.forEach(e=>{t.table.rowManager.addRowActual(e,!0)}),i=t.origFuncs.unshift.apply(e,arguments),t.unblock(`data-unshift`)),i}}),this.origFuncs.shift=e.shift,Object.defineProperty(this.data,`shift`,{enumerable:!1,configurable:!0,value:function(){var r,i;return!t.blocked&&n===t.currentVersion&&(t.block(`data-shift`),t.data.length&&(r=t.table.rowManager.getRowFromDataObject(t.data[0]),r&&r.deleteActual()),i=t.origFuncs.shift.call(e),t.unblock(`data-shift`)),i}}),this.origFuncs.pop=e.pop,Object.defineProperty(this.data,`pop`,{enumerable:!1,configurable:!0,value:function(){var r,i;return!t.blocked&&n===t.currentVersion&&(t.block(`data-pop`),t.data.length&&(r=t.table.rowManager.getRowFromDataObject(t.data[t.data.length-1]),r&&r.deleteActual()),i=t.origFuncs.pop.call(e),t.unblock(`data-pop`)),i}}),this.origFuncs.splice=e.splice,Object.defineProperty(this.data,`splice`,{enumerable:!1,configurable:!0,value:function(){var r=Array.from(arguments),i=r[0]<0?e.length+r[0]:r[0],a=r[1],o=r[2]?r.slice(2):!1,s,c;if(!t.blocked&&n===t.currentVersion){if(t.block(`data-splice`),o&&(s=e[i]?t.table.rowManager.getRowFromDataObject(e[i]):!1,s?o.forEach(e=>{t.table.rowManager.addRowActual(e,!0,s,!0)}):(o=o.slice().reverse(),o.forEach(e=>{t.table.rowManager.addRowActual(e,!0,!1,!0)}))),a!==0){var l=e.slice(i,r[1]===void 0?r[1]:i+a);l.forEach((e,n)=>{var r=t.table.rowManager.getRowFromDataObject(e);r&&r.deleteActual(n!==l.length-1)})}(o||a!==0)&&t.table.rowManager.reRenderInPosition(),c=t.origFuncs.splice.apply(e,arguments),t.unblock(`data-splice`)}return c}})}unwatchData(){if(this.data!==!1)for(var e in this.origFuncs)Object.defineProperty(this.data,e,{enumerable:!0,configurable:!0,writable:!0,value:this.origFuncs.key})}watchRow(e){var t=e.getData();for(var n in t)this.watchKey(e,t,n);this.table.options.dataTree&&this.watchTreeChildren(e)}watchTreeChildren(e){var t=this,n=e.getData()[this.table.options.dataTreeChildField],r={};n&&(r.push=n.push,Object.defineProperty(n,`push`,{enumerable:!1,configurable:!0,value:()=>{if(!t.blocked){t.block(`tree-push`);var i=r.push.apply(n,arguments);this.rebuildTree(e),t.unblock(`tree-push`)}return i}}),r.unshift=n.unshift,Object.defineProperty(n,`unshift`,{enumerable:!1,configurable:!0,value:()=>{if(!t.blocked){t.block(`tree-unshift`);var i=r.unshift.apply(n,arguments);this.rebuildTree(e),t.unblock(`tree-unshift`)}return i}}),r.shift=n.shift,Object.defineProperty(n,`shift`,{enumerable:!1,configurable:!0,value:()=>{if(!t.blocked){t.block(`tree-shift`);var i=r.shift.call(n);this.rebuildTree(e),t.unblock(`tree-shift`)}return i}}),r.pop=n.pop,Object.defineProperty(n,`pop`,{enumerable:!1,configurable:!0,value:()=>{if(!t.blocked){t.block(`tree-pop`);var i=r.pop.call(n);this.rebuildTree(e),t.unblock(`tree-pop`)}return i}}),r.splice=n.splice,Object.defineProperty(n,`splice`,{enumerable:!1,configurable:!0,value:()=>{if(!t.blocked){t.block(`tree-splice`);var i=r.splice.apply(n,arguments);this.rebuildTree(e),t.unblock(`tree-splice`)}return i}}))}rebuildTree(e){this.table.modules.dataTree.initializeRow(e),this.table.modules.dataTree.layoutRow(e),this.table.rowManager.refreshActiveData(`tree`,!1,!0)}watchKey(e,t,n){var r=this,i=Object.getOwnPropertyDescriptor(t,n),a=t[n],o=this.currentVersion;Object.defineProperty(t,n,{set:t=>{if(a=t,!r.blocked&&o===r.currentVersion){r.block(`key`);var s={};s[n]=t,e.updateData(s),r.unblock(`key`)}i.set&&i.set(t)},get:()=>(i.get&&i.get(),a)})}unwatchRow(e){var t=e.getData();for(var n in t)Object.defineProperty(t,n,{value:t[n]})}block(e){this.blocked||=e}unblock(e){this.blocked===e&&(this.blocked=!1)}},k(he,`moduleName`,`reactiveData`),he),to=(ge=class extends J{constructor(e){super(e),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)),!0)}layoutCellHandles(e){e.row.type===`row`&&(this.deInitializeComponent(e),this.initializeColumn(`cell`,e,e.column,e.element))}layoutColumnHeader(e){e.definition.resizable&&(this.initializeEventWatchers(),this.deInitializeComponent(e),this.initializeColumn(`header`,e,e,e.element))}columnLayoutUpdated(e){var t=e.prevColumn();this.reinitializeColumn(e),t&&this.reinitializeColumn(t)}columnWidthUpdated(e){e.modules.frozen&&(this.table.modules.frozenColumns.leftColumns.includes(e)?this.table.modules.frozenColumns.leftColumns.forEach(e=>{this.reinitializeColumn(e)}):this.table.modules.frozenColumns.rightColumns.includes(e)&&this.table.modules.frozenColumns.rightColumns.forEach(e=>{this.reinitializeColumn(e)}))}frozenColumnOffset(e){var t=!1;return e.modules.frozen&&(t=e.modules.frozen.marginValue,e.modules.frozen.position===`left`?t+=e.getWidth()-3:t&&(t-=3)),t===!1?!1:t+`px`}reinitializeColumn(e){var t=this.frozenColumnOffset(e);e.cells.forEach(n=>{n.modules.resize&&n.modules.resize.handleEl&&(t&&(n.modules.resize.handleEl.style[e.modules.frozen.position]=t,n.modules.resize.handleEl.style[`z-index`]=11),n.element.after(n.modules.resize.handleEl))}),e.modules.resize&&e.modules.resize.handleEl&&(t&&(e.modules.resize.handleEl.style[e.modules.frozen.position]=t),e.element.after(e.modules.resize.handleEl))}initializeColumn(e,t,n,r){var i=this,a=!1,o=n.definition.resizable,s={},c=n.getLastColumn();if(e===`header`&&(a=n.definition.formatter==`textarea`||n.definition.variableHeight,s={variableHeight:a}),(o===!0||o==e)&&this._checkResizability(c)){var l=document.createElement(`span`);l.className=`tabulator-col-resize-handle`,l.addEventListener(`click`,function(e){e.stopPropagation()});var u=function(e){i.startColumn=n,i.initialNextColumn=i.nextColumn=c.nextColumn(),i._mouseDown(e,c,l)};l.addEventListener(`mousedown`,u),l.addEventListener(`touchstart`,u,{passive:!0}),l.addEventListener(`dblclick`,e=>{var t=c.getWidth();e.stopPropagation(),c.reinitializeWidth(!0),t!==c.getWidth()&&(i.dispatch(`column-resized`,c),i.dispatchExternal(`columnResized`,c.getComponent()))}),n.modules.frozen&&(l.style.position=`sticky`,l.style[n.modules.frozen.position]=this.frozenColumnOffset(n)),s.handleEl=l,r.parentNode&&n.visible&&r.after(l)}t.modules.resize=s}deInitializeColumn(e){this.deInitializeComponent(e),e.cells.forEach(e=>{this.deInitializeComponent(e)})}deInitializeComponent(e){var t;e.modules.resize&&(t=e.modules.resize.handleEl,t&&t.parentElement&&t.parentElement.removeChild(t))}resizeHandle(e,t){e.modules.resize&&e.modules.resize.handleEl&&(e.modules.resize.handleEl.style.height=t)}resize(e,t){var n=e.clientX===void 0?e.touches[0].clientX:e.clientX,r=n-this.startX,i=n-this.latestX,a,o;if(this.latestX=n,this.table.rtl&&(r=-r,i=-i),a=t.width==t.minWidth||t.width==t.maxWidth,t.setWidth(this.startWidth+r),o=t.width==t.minWidth||t.width==t.maxWidth,i<0&&(this.nextColumn=this.initialNextColumn),this.table.options.resizableColumnFit&&this.nextColumn&&!(a&&o)){let e=this.nextColumn.getWidth();i>0&&e<=this.nextColumn.minWidth&&(this.nextColumn=this.nextColumn.nextColumn()),this.nextColumn&&this.nextColumn.setWidth(this.nextColumn.getWidth()-i)}this.table.columnManager.rerenderColumns(!0),!this.table.browserSlow&&t.modules.resize&&t.modules.resize.variableHeight&&t.checkCellHeights()}calcGuidePosition(e,t,n){var r=e.clientX===void 0?e.touches[0].clientX:e.clientX,i=n.getBoundingClientRect().x-this.table.element.getBoundingClientRect().x,a=this.table.element.getBoundingClientRect().x,o=t.element.getBoundingClientRect().left-a,s=r-this.startX,c=Math.max(i+s,o+t.minWidth);return t.maxWidth&&(c=Math.min(c,o+t.maxWidth)),c}_checkResizability(e){return e.definition.resizable}_mouseDown(e,t,n){var r=this,i;this.dispatchExternal(`columnResizing`,t.getComponent()),r.table.options.resizableColumnGuide&&(i=document.createElement(`span`),i.classList.add(`tabulator-col-resize-guide`),r.table.element.appendChild(i),setTimeout(()=>{i.style.left=r.calcGuidePosition(e,t,n)+`px`})),r.table.element.classList.add(`tabulator-block-select`);function a(e){r.table.options.resizableColumnGuide?i.style.left=r.calcGuidePosition(e,t,n)+`px`:r.resize(e,t)}function o(e){r.table.options.resizableColumnGuide&&(r.resize(e,t),i.remove()),r.startColumn.modules.edit&&(r.startColumn.modules.edit.blocked=!1),r.table.browserSlow&&t.modules.resize&&t.modules.resize.variableHeight&&t.checkCellHeights(),document.body.removeEventListener(`mouseup`,o),document.body.removeEventListener(`mousemove`,a),n.removeEventListener(`touchmove`,a),n.removeEventListener(`touchend`,o),r.table.element.classList.remove(`tabulator-block-select`),r.startWidth!==t.getWidth()&&(r.table.columnManager.verticalAlignHeaders(),r.dispatch(`column-resized`,t),r.dispatchExternal(`columnResized`,t.getComponent()))}e.stopPropagation(),r.startColumn.modules.edit&&(r.startColumn.modules.edit.blocked=!0),r.startX=e.clientX===void 0?e.touches[0].clientX:e.clientX,r.latestX=r.startX,r.startWidth=t.getWidth(),document.body.addEventListener(`mousemove`,a),document.body.addEventListener(`mouseup`,o),n.addEventListener(`touchmove`,a,{passive:!0}),n.addEventListener(`touchend`,o)}},k(ge,`moduleName`,`resizeColumns`),ge),no=(_e=class extends J{constructor(e){super(e),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(e){var t=this,n=e.getElement(),r=document.createElement(`div`);r.className=`tabulator-row-resize-handle`;var i=document.createElement(`div`);i.className=`tabulator-row-resize-handle prev`,r.addEventListener(`click`,function(e){e.stopPropagation()});var a=function(n){t.startRow=e,t._mouseDown(n,e,r)};r.addEventListener(`mousedown`,a),r.addEventListener(`touchstart`,a,{passive:!0}),i.addEventListener(`click`,function(e){e.stopPropagation()});var o=function(n){var r=t.table.rowManager.prevDisplayRow(e);r&&(t.startRow=r,t._mouseDown(n,r,i))};i.addEventListener(`mousedown`,o),i.addEventListener(`touchstart`,o,{passive:!0}),n.appendChild(r),n.appendChild(i)}resize(e,t){t.setHeight(this.startHeight+((e.screenY===void 0?e.touches[0].screenY:e.screenY)-this.startY))}calcGuidePosition(e,t,n){var r=e.screenY===void 0?e.touches[0].screenY:e.screenY,i=n.getBoundingClientRect().y-this.table.element.getBoundingClientRect().y,a=this.table.element.getBoundingClientRect().y,o=t.element.getBoundingClientRect().top-a,s=r-this.startY;return Math.max(i+s,o)}_mouseDown(e,t,n){var r=this,i;r.dispatchExternal(`rowResizing`,t.getComponent()),r.table.options.resizableRowGuide&&(i=document.createElement(`span`),i.classList.add(`tabulator-row-resize-guide`),r.table.element.appendChild(i),setTimeout(()=>{i.style.top=r.calcGuidePosition(e,t,n)+`px`})),r.table.element.classList.add(`tabulator-block-select`);function a(e){r.table.options.resizableRowGuide?i.style.top=r.calcGuidePosition(e,t,n)+`px`:r.resize(e,t)}function o(e){r.table.options.resizableRowGuide&&(r.resize(e,t),i.remove()),document.body.removeEventListener(`mouseup`,a),document.body.removeEventListener(`mousemove`,a),n.removeEventListener(`touchmove`,a),n.removeEventListener(`touchend`,o),r.table.element.classList.remove(`tabulator-block-select`),r.dispatchExternal(`rowResized`,t.getComponent())}e.stopPropagation(),r.startY=e.screenY===void 0?e.touches[0].screenY:e.screenY,r.startHeight=t.getHeight(),document.body.addEventListener(`mousemove`,a),document.body.addEventListener(`mouseup`,o),n.addEventListener(`touchmove`,a,{passive:!0}),n.addEventListener(`touchend`,o)}},k(_e,`moduleName`,`resizeRows`),_e),ro=(ve=class extends J{constructor(e){super(e),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 e=this.table,t;this.tableHeight=e.element.clientHeight,this.tableWidth=e.element.clientWidth,e.element.parentNode&&(this.containerHeight=e.element.parentNode.clientHeight,this.containerWidth=e.element.parentNode.clientWidth),typeof IntersectionObserver<`u`&&typeof ResizeObserver<`u`&&e.rowManager.getRenderMode()===`virtual`?(this.initializeVisibilityObserver(),this.autoResize=!0,this.resizeObserver=new ResizeObserver(t=>{if(!e.browserMobile||e.browserMobile&&(!e.modules.edit||e.modules.edit&&!e.modules.edit.currentCell)){var n=Math.floor(t[0].contentRect.height),r=Math.floor(t[0].contentRect.width);(this.tableHeight!=n||this.tableWidth!=r)&&(this.tableHeight=n,this.tableWidth=r,e.element.parentNode&&(this.containerHeight=e.element.parentNode.clientHeight,this.containerWidth=e.element.parentNode.clientWidth),this.redrawTable())}}),this.resizeObserver.observe(e.element),t=window.getComputedStyle(e.element),this.table.element.parentNode&&!this.table.rowManager.fixedHeight&&(t.getPropertyValue(`max-height`)||t.getPropertyValue(`min-height`))&&(this.containerObserver=new ResizeObserver(t=>{if(!e.browserMobile||e.browserMobile&&(!e.modules.edit||e.modules.edit&&!e.modules.edit.currentCell)){var n=Math.floor(t[0].contentRect.height),r=Math.floor(t[0].contentRect.width);(this.containerHeight!=n||this.containerWidth!=r)&&(this.containerHeight=n,this.containerWidth=r,this.tableHeight=e.element.clientHeight,this.tableWidth=e.element.clientWidth),this.redrawTable()}}),this.containerObserver.observe(this.table.element.parentNode)),this.subscribe(`table-resize`,this.tableResized.bind(this))):(this.binding=function(){(!e.browserMobile||e.browserMobile&&(!e.modules.edit||e.modules.edit&&!e.modules.edit.currentCell))&&(e.columnManager.rerenderColumns(!0),e.redraw())},window.addEventListener(`resize`,this.binding)),this.subscribe(`table-destroy`,this.clearBindings.bind(this))}}initializeVisibilityObserver(){this.visibilityObserver=new IntersectionObserver(e=>{this.visible=e[0].isIntersecting,this.initialized?this.visible&&(this.redrawTable(this.initialRedraw),this.initialRedraw=!1):(this.initialized=!0,this.initialRedraw=!this.visible)}),this.visibilityObserver.observe(this.table.element)}redrawTable(e){this.initialized&&this.visible&&(this.table.columnManager.rerenderColumns(!0),this.table.redraw(e))}tableResized(){this.table.rowManager.redraw()}clearBindings(){this.binding&&window.removeEventListener(`resize`,this.binding),this.resizeObserver&&this.resizeObserver.unobserve(this.table.element),this.visibilityObserver&&this.visibilityObserver.unobserve(this.table.element),this.containerObserver&&this.containerObserver.unobserve(this.table.element.parentNode)}},k(ve,`moduleName`,`resizeTable`),ve);function io(e,t,n){var r=document.createElement(`div`),i=e.getRow()._row.modules.responsiveLayout;r.classList.add(`tabulator-responsive-collapse-toggle`),r.innerHTML=`<svg class='tabulator-responsive-collapse-toggle-open' viewbox="0 0 24 24">
<line x1="7" y1="12" x2="17" y2="12" fill="none" stroke-width="3" stroke-linecap="round" />
<line y1="7" x1="12" y2="17" x2="12" fill="none" stroke-width="3" stroke-linecap="round" />
</svg>
<svg class='tabulator-responsive-collapse-toggle-close' viewbox="0 0 24 24">
<line x1="7" y1="12" x2="17" y2="12" fill="none" stroke-width="3" stroke-linecap="round" />
</svg>`,e.getElement().classList.add(`tabulator-row-handle`);function a(e){var t=i.element;i.open=e,t&&(i.open?(r.classList.add(`open`),t.style.display=``):(r.classList.remove(`open`),t.style.display=`none`))}return r.addEventListener(`click`,function(t){t.stopImmediatePropagation(),a(!i.open),e.getTable().rowManager.adjustTableSize()}),a(i.open),r}var ao={format:{formatters:{responsiveCollapse:io}}},oo=(ye=class extends J{constructor(e){super(e),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)),this.table.options.responsiveLayout===`collapse`&&(this.subscribe(`row-data-changed`,this.generateCollapsedRowContent.bind(this)),this.subscribe(`row-init`,this.initializeRow.bind(this)),this.subscribe(`row-layout`,this.layoutRow.bind(this))))}tableRedraw(e){[`fitColumns`,`fitDataStretch`].indexOf(this.layoutMode())===-1&&(e||this.update())}initializeResponsivity(){var e=[];this.mode=this.table.options.responsiveLayout,this.collapseFormatter=this.table.options.responsiveLayoutCollapseFormatter||this.formatCollapsedData,this.collapseStartOpen=this.table.options.responsiveLayoutCollapseStartOpen,this.hiddenColumns=[],this.collapseFormatter&&=this.collapseFormatter.bind(this.table),this.table.columnManager.columnsByIndex.forEach((t,n)=>{t.modules.responsive&&t.modules.responsive.order&&t.modules.responsive.visible&&(t.modules.responsive.index=n,e.push(t),!t.visible&&this.mode===`collapse`&&this.hiddenColumns.push(t))}),e=e.reverse(),e=e.sort((e,t)=>t.modules.responsive.order-e.modules.responsive.order||t.modules.responsive.index-e.modules.responsive.index),this.columns=e,this.mode===`collapse`&&this.generateCollapsedContent();for(let e of this.table.columnManager.columnsByIndex)if(e.definition.formatter==`responsiveCollapse`){this.collapseHandleColumn=e;break}this.collapseHandleColumn&&(this.hiddenColumns.length?this.collapseHandleColumn.show():this.collapseHandleColumn.hide())}initializeColumn(e){var t=e.getDefinition();e.modules.responsive={order:t.responsive===void 0?1:t.responsive,visible:t.visible!==!1}}initializeRow(e){var t;e.type!==`calc`&&(t=document.createElement(`div`),t.classList.add(`tabulator-responsive-collapse`),e.modules.responsiveLayout={element:t,open:this.collapseStartOpen},this.collapseStartOpen||(t.style.display=`none`))}layoutRow(e){var t=e.getElement();e.modules.responsiveLayout&&(t.appendChild(e.modules.responsiveLayout.element),this.generateCollapsedRowContent(e))}updateColumnVisibility(e,t){!t&&e.modules.responsive&&(e.modules.responsive.visible=e.visible,this.initializeResponsivity())}hideColumn(e){var t=this.hiddenColumns.length;e.hide(!1,!0),this.mode===`collapse`&&(this.hiddenColumns.unshift(e),this.generateCollapsedContent(),this.collapseHandleColumn&&!t&&this.collapseHandleColumn.show())}showColumn(e){var t;e.show(!1,!0),e.setWidth(e.getWidth()),this.mode===`collapse`&&(t=this.hiddenColumns.indexOf(e),t>-1&&this.hiddenColumns.splice(t,1),this.generateCollapsedContent(),this.collapseHandleColumn&&!this.hiddenColumns.length&&this.collapseHandleColumn.hide())}update(){for(var e=!0;e;){let t=this.table.modules.layout.getMode()==`fitColumns`?this.table.columnManager.getFlexBaseWidth():this.table.columnManager.getWidth(),n=(this.table.options.headerVisible?this.table.columnManager.element.clientWidth:this.table.element.clientWidth)-t;if(n<0){let t=this.columns[this.index];t?(this.hideColumn(t),this.index++):e=!1}else{let t=this.columns[this.index-1];t&&n>0&&n>=t.getWidth()?(this.showColumn(t),this.index--):e=!1}this.table.rowManager.activeRowsCount||this.table.rowManager.renderEmptyScroll()}}generateCollapsedContent(){this.table.rowManager.getDisplayRows().forEach(e=>{this.generateCollapsedRowContent(e)})}generateCollapsedRowContent(e){var t,n;if(e.modules.responsiveLayout){for(t=e.modules.responsiveLayout.element;t.firstChild;)t.removeChild(t.firstChild);n=this.collapseFormatter(this.generateCollapsedRowData(e)),n&&t.appendChild(n),e.calcHeight(!0)}}generateCollapsedRowData(e){var t=e.getData(),n=[],r;return this.hiddenColumns.forEach(i=>{var a=i.getFieldValue(t);if(i.definition.title&&i.field)if(i.modules.format&&this.table.options.responsiveLayoutCollapseUseFormatters){r={value:!1,data:{},getValue:function(){return a},getData:function(){return t},getType:function(){return`cell`},getElement:function(){return document.createElement(`div`)},getRow:function(){return e.getComponent()},getColumn:function(){return i.getComponent()},getTable:()=>this.table};function o(e){e()}n.push({field:i.field,title:i.definition.title,value:i.modules.format.formatter.call(this.table.modules.format,r,i.modules.format.params,o)})}else n.push({field:i.field,title:i.definition.title,value:a})}),n}formatCollapsedData(e){var t=document.createElement(`table`);return e.forEach(e=>{var n=document.createElement(`tr`),r=document.createElement(`td`),i=document.createElement(`td`),a,o=document.createElement(`strong`);r.appendChild(o),this.modules.localize.bind(`columns|`+e.field,function(t){o.innerHTML=t||e.title}),e.value instanceof Node?(a=document.createElement(`div`),a.appendChild(e.value),i.appendChild(a)):i.innerHTML=e.value,n.appendChild(r),n.appendChild(i),t.appendChild(n)}),Object.keys(e).length?t:``}},k(ye,`moduleName`,`responsiveLayout`),k(ye,`moduleExtensions`,ao),ye);function so(e,t,n){var r=document.createElement(`input`),i=!1;if(r.type=`checkbox`,r.setAttribute(`aria-label`,`Select Row`),this.table.modExists(`selectRow`,!0))if(r.addEventListener(`click`,e=>{e.stopPropagation()}),typeof e.getRow==`function`){var a=e.getRow();a instanceof Di?(r.addEventListener(`change`,e=>{this.table.options.selectableRowsRangeMode===`click`&&i?i=!1:a.toggleSelect()}),this.table.options.selectableRowsRangeMode===`click`&&r.addEventListener(`click`,e=>{i=!0,this.table.modules.selectRow.handleComplexRowClick(a._row,e)}),r.checked=a.isSelected&&a.isSelected(),this.table.modules.selectRow.registerRowSelectCheckbox(a,r)):r=``}else r.addEventListener(`change`,e=>{this.table.modules.selectRow.selectedRows.length?this.table.deselectRow():this.table.selectRow(t.rowRange)}),this.table.modules.selectRow.registerHeaderSelectCheckbox(r);return r}var co={format:{formatters:{rowSelection:so}}},lo=(be=class extends J{constructor(e){super(e),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(e,t){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(),this.table.options.selectableRows===`highlight`&&this.table.options.selectableRange&&(this.table.options.selectableRows=!1),this.table.options.selectableRows!==!1&&(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(e,t){return e===`selected`?this.selectedRows:t}rowDeleted(e){this._deselectRow(e,!0)}clearSelectionData(e){var t=this.selectedRows.length;this.selecting=!1,this.lastClickedRow=!1,this.selectPrev=[],this.selectedRows=[],t&&e!==!0&&this._rowSelectionChanged()}initializeRow(e){var t=this,n=t.checkRowSelectability(e),r=e.getElement(),i=function(){setTimeout(function(){t.selecting=!1},50),document.body.removeEventListener(`mouseup`,i)};e.modules.select={selected:!1},r.classList.toggle(`tabulator-selectable`,n),r.classList.toggle(`tabulator-unselectable`,!n),t.checkRowSelectability(e)&&t.table.options.selectableRows&&t.table.options.selectableRows!=`highlight`&&(t.table.options.selectableRowsRangeMode===`click`?r.addEventListener(`click`,this.handleComplexRowClick.bind(this,e)):(r.addEventListener(`click`,function(n){(!t.table.modExists(`edit`)||!t.table.modules.edit.getCurrentCell())&&t.table._clearSelection(),t.selecting||t.toggleRow(e)}),r.addEventListener(`mousedown`,function(n){if(n.shiftKey)return t.table._clearSelection(),t.selecting=!0,t.selectPrev=[],document.body.addEventListener(`mouseup`,i),document.body.addEventListener(`keyup`,i),t.toggleRow(e),!1}),r.addEventListener(`mouseenter`,function(n){t.selecting&&(t.table._clearSelection(),t.toggleRow(e),t.selectPrev[1]==e&&t.toggleRow(t.selectPrev[0]))}),r.addEventListener(`mouseout`,function(n){t.selecting&&(t.table._clearSelection(),t.selectPrev.unshift(e))})))}handleComplexRowClick(e,t){if(t.shiftKey){this.table._clearSelection(),this.lastClickedRow=this.lastClickedRow||e;var n=this.table.rowManager.getDisplayRowIndex(this.lastClickedRow),r=this.table.rowManager.getDisplayRowIndex(e),i=n<=r?n:r,a=n>=r?n:r,o=this.table.rowManager.getDisplayRows().slice(0).splice(i,a-i+1);t.ctrlKey||t.metaKey?(o.forEach(t=>{t!==this.lastClickedRow&&(this.table.options.selectableRows!==!0&&!this.isRowSelected(e)?this.selectedRows.length<this.table.options.selectableRows&&this.toggleRow(t):this.toggleRow(t))}),this.lastClickedRow=e):(this.deselectRows(void 0,!0),this.table.options.selectableRows!==!0&&o.length>this.table.options.selectableRows&&(o=o.slice(0,this.table.options.selectableRows)),this.selectRows(o)),this.table._clearSelection()}else t.ctrlKey||t.metaKey?(this.toggleRow(e),this.lastClickedRow=e):(this.deselectRows(void 0,!0),this.selectRows(e),this.lastClickedRow=e)}checkRowSelectability(e){return e&&e.type===`row`?this.table.options.selectableRowsCheck.call(this.table,e.getComponent()):!1}toggleRow(e){this.checkRowSelectability(e)&&(e.modules.select&&e.modules.select.selected?this._deselectRow(e):this._selectRow(e))}selectRows(e){var t=[],n,r;switch(typeof e){case`undefined`:n=this.table.rowManager.rows;break;case`number`:n=this.table.rowManager.findRow(e);break;case`string`:n=this.table.rowManager.findRow(e),n||=this.table.rowManager.getRows(e);break;default:n=e;break}Array.isArray(n)?n.length&&(n.forEach(e=>{r=this._selectRow(e,!0,!0),r&&t.push(r)}),this._rowSelectionChanged(!1,t)):n&&this._selectRow(n,!1,!0)}_selectRow(e,t,n){if(!isNaN(this.table.options.selectableRows)&&this.table.options.selectableRows!==!0&&!n&&this.selectedRows.length>=this.table.options.selectableRows)if(this.table.options.selectableRowsRollingSelection)this._deselectRow(this.selectedRows[0]);else return!1;var r=this.table.rowManager.findRow(e);if(r){if(this.selectedRows.indexOf(r)==-1)return r.getElement().classList.add(`tabulator-selected`),r.modules.select||(r.modules.select={}),r.modules.select.selected=!0,r.modules.select.checkboxEl&&(r.modules.select.checkboxEl.checked=!0),this.selectedRows.push(r),this.table.options.dataTreeSelectPropagate&&this.childRowSelection(r,!0),this.dispatchExternal(`rowSelected`,r.getComponent()),this._rowSelectionChanged(t,r),r}else t||console.warn(`Selection Error - No such row found, ignoring selection:`+e)}isRowSelected(e){return this.selectedRows.indexOf(e)!==-1}deselectRows(e,t){var n=[],r,i;switch(typeof e){case`undefined`:r=Object.assign([],this.selectedRows);break;case`number`:r=this.table.rowManager.findRow(e);break;case`string`:r=this.table.rowManager.findRow(e),r||=this.table.rowManager.getRows(e);break;default:r=e;break}Array.isArray(r)?r.length&&(r.forEach(e=>{i=this._deselectRow(e,!0,!0),i&&n.push(i)}),this._rowSelectionChanged(t,[],n)):r&&this._deselectRow(r,t,!0)}_deselectRow(e,t){var n=this,r=n.table.rowManager.findRow(e),i,a;if(r){if(i=n.selectedRows.findIndex(function(e){return e==r}),i>-1)return a=r.getElement(),a&&a.classList.remove(`tabulator-selected`),r.modules.select||(r.modules.select={}),r.modules.select.selected=!1,r.modules.select.checkboxEl&&(r.modules.select.checkboxEl.checked=!1),n.selectedRows.splice(i,1),this.table.options.dataTreeSelectPropagate&&this.childRowSelection(r,!1),this.dispatchExternal(`rowDeselected`,r.getComponent()),n._rowSelectionChanged(t,void 0,r),r}else t||console.warn(`Deselection Error - No such row found, ignoring selection:`+e)}getSelectedData(){var e=[];return this.selectedRows.forEach(function(t){e.push(t.getData())}),e}getSelectedRows(){var e=[];return this.selectedRows.forEach(function(t){e.push(t.getComponent())}),e}_rowSelectionChanged(e,t=[],n=[]){this.headerCheckboxElement&&(this.selectedRows.length===0?(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)),e||(Array.isArray(t)||(t=[t]),t=t.map(e=>e.getComponent()),Array.isArray(n)||(n=[n]),n=n.map(e=>e.getComponent()),this.dispatchExternal(`rowSelectionChanged`,this.getSelectedData(),this.getSelectedRows(),t,n))}registerRowSelectCheckbox(e,t){e._row.modules.select||(e._row.modules.select={}),e._row.modules.select.checkboxEl=t}registerHeaderSelectCheckbox(e){this.headerCheckboxElement=e}childRowSelection(e,t){var n=this.table.modules.dataTree.getChildren(e,!0,!0);if(t)for(let e of n)this._selectRow(e,!0);else for(let e of n)this._deselectRow(e,!0)}},k(be,`moduleName`,`selectRow`),k(be,`moduleExtensions`,co),be),uo=class{constructor(e){return this._range=e,new Proxy(this,{get:function(e,t,n){return e[t]===void 0?e._range.table.componentFunctionBinder.handle(`range`,e._range,t):e[t]}})}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(e=>e.getComponent())}getColumns(){return this._range.getColumns().map(e=>e.getComponent())}getBounds(){return this._range.getBounds()}getTopEdge(){return this._range.top}getBottomEdge(){return this._range.bottom}getLeftEdge(){return this._range.left}getRightEdge(){return this._range.right}setBounds(e,t){this._range.destroyedGuard(`setBounds`)&&this._range.setBounds(e&&e._cell,t&&t._cell)}setStartBound(e){this._range.destroyedGuard(`setStartBound`)&&(this._range.setEndBound(e&&e._cell),this._range.rangeManager.layoutElement())}setEndBound(e){this._range.destroyedGuard(`setEndBound`)&&(this._range.setEndBound(e&&e._cell),this._range.rangeManager.layoutElement())}clearValues(){this._range.destroyedGuard(`clearValues`)&&this._range.clearValues()}remove(){this._range.destroyedGuard(`remove`)&&this._range.destroy(!0)}},fo=class extends K{constructor(e,t,n,r){super(e),this.rangeManager=t,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=e,this.start={row:0,col:0},this.end={row:0,col:0},this.rangeManager.rowHeader&&(this.left=1,this.right=1,this.start.col=1,this.end.col=1),this.initElement(),setTimeout(()=>{this.initBounds(n,r)})}initElement(){this.element=document.createElement(`div`),this.element.classList.add(`tabulator-range`)}initBounds(e,t){this._updateMinMax(),e&&this.setBounds(e,t||e)}setStart(e,t){(this.start.row!==e||this.start.col!==t)&&(this.start.row=e,this.start.col=t,this.initializing.start=!0,this._updateMinMax())}setEnd(e,t){(this.end.row!==e||this.end.col!==t)&&(this.end.row=e,this.end.col=t,this.initializing.end=!0,this._updateMinMax())}setBounds(e,t,n){e&&this.setStartBound(e),this.setEndBound(t||e),this.rangeManager.layoutElement(n)}setStartBound(e){var t,n;e.type===`column`?this.rangeManager.columnSelection&&this.setStart(0,e.getPosition()-1):(t=e.row.position-1,n=e.column.getPosition()-1,e.column===this.rangeManager.rowHeader?this.setStart(t,1):this.setStart(t,n))}setEndBound(e){var t=this._getTableRows().length,n,r,i;e.type===`column`?this.rangeManager.columnSelection&&(this.rangeManager.selecting===`column`?this.setEnd(t-1,e.getPosition()-1):this.rangeManager.selecting===`cell`&&this.setEnd(0,e.getPosition()-1)):(n=e.row.position-1,r=e.column.getPosition()-1,i=e.column===this.rangeManager.rowHeader,this.rangeManager.selecting===`row`?this.setEnd(n,this._getTableColumns().length-1):this.rangeManager.selecting!==`row`&&i?this.setEnd(n,0):this.rangeManager.selecting===`column`?this.setEnd(t-1,r):this.setEnd(n,r))}_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(e=>e.type===`row`)}layout(){var e=this.table.rowManager.renderer.vDomTop,t=this.table.rowManager.renderer.vDomBottom,n=this.table.columnManager.renderer.leftCol,r=this.table.columnManager.renderer.rightCol,i,a,o,s,c,l,u,d,f,p;this.table.options.renderHorizontal===`virtual`&&this.rangeManager.rowHeader&&(r+=1),e??=0,t??=1/0,n??=0,r??=1/0,this.overlaps(n,e,r,t)&&(i=Math.max(this.top,e),a=Math.min(this.bottom,t),o=Math.max(this.left,n),s=Math.min(this.right,r),c=this.rangeManager.getCell(i,o),l=this.rangeManager.getCell(a,s),u=c.getElement(),d=l.getElement(),f=c.row.getElement(),p=l.row.getElement(),this.element.classList.add(`tabulator-range-active`),this.table.rtl?(this.element.style.right=f.offsetWidth-u.offsetLeft-u.offsetWidth+`px`,this.element.style.width=u.offsetLeft+u.offsetWidth-d.offsetLeft+`px`):(this.element.style.left=f.offsetLeft+u.offsetLeft+`px`,this.element.style.width=d.offsetLeft+d.offsetWidth-u.offsetLeft+`px`),this.element.style.top=f.offsetTop+`px`,this.element.style.height=p.offsetTop+p.offsetHeight-f.offsetTop+`px`)}atTopLeft(e){return e.row.position-1===this.top&&e.column.getPosition()-1===this.left}atBottomRight(e){return e.row.position-1===this.bottom&&e.column.getPosition()-1===this.right}occupies(e){return this.occupiesRow(e.row)&&this.occupiesColumn(e.column)}occupiesRow(e){return this.top<=e.position-1&&e.position-1<=this.bottom}occupiesColumn(e){return this.left<=e.getPosition()-1&&e.getPosition()-1<=this.right}overlaps(e,t,n,r){return!(this.left>n||e>this.right||this.top>r||t>this.bottom)}getData(){var e=[],t=this.getRows(),n=this.getColumns();return t.forEach(t=>{var r=t.getData(),i={};n.forEach(e=>{i[e.field]=r[e.field]}),e.push(i)}),e}getCells(e,t){var n=[],r=this.getRows(),i=this.getColumns();return e?n=r.map(e=>{var n=[];return e.getCells().forEach(e=>{i.includes(e.column)&&n.push(t?e.getComponent():e)}),n}):r.forEach(e=>{e.getCells().forEach(e=>{i.includes(e.column)&&n.push(t?e.getComponent():e)})}),n}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 e=this.getCells(),t=this.table.options.selectableRangeClearCellsValue;this.table.blockRedraw(),e.forEach(e=>{e.setValue(t)}),this.table.restoreRedraw()}getBounds(e){var t=this.getCells(!1,e),n={start:null,end:null};return t.length?(n.start=t[0],n.end=t[t.length-1]):console.warn(`No bounds defined on range`),n}getComponent(){return this.component||=new uo(this),this.component}destroy(e){this.destroyed=!0,this.element.remove(),e&&this.rangeManager.rangeRemoved(this),this.initialized&&this.dispatchExternal(`rangeRemoved`,this.getComponent())}destroyedGuard(e){return this.destroyed&&console.warn(`You cannot call the `+e+` function on a destroyed range`),!this.destroyed}},po=(xe=class extends J{constructor(e){super(e),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(e=>e.frozen)>0&&console.warn(`Having frozen column in arbitrary position with selectRange option may result in unpredictable behavior.`),this.options(`columns`).filter(e=>e.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(e){this.columnSelection&&e.definition.headerSort&&this.options(`headerSortClickElement`)!==`icon`&&console.warn(`Using column headerSort with selectableRangeColumns option may result in unpredictable behavior. Consider using headerSortClickElement: 'icon'.`),e.modules.edit}updateHeaderColumn(){var e;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&&(e=this.table.modules.frozenColumns.getFrozenColumns(),(e.length>1||e.length===1&&e[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(e=>e.getComponent())}getRangesData(){return this.ranges.map(e=>e.getData())}addRangeFromComponent(e,t){return e=e?e._cell:null,t=t?t._cell:null,this.addRange(e,t)}cellGetRanges(e){var t=[];return t=e.column===this.rowHeader?this.ranges.filter(t=>t.occupiesRow(e.row)):this.ranges.filter(t=>t.occupies(e)),t.map(e=>e.getComponent())}rowGetRanges(e){return this.ranges.filter(t=>t.occupiesRow(e)).map(e=>e.getComponent())}colGetRanges(e){return this.ranges.filter(t=>t.occupiesColumn(e)).map(e=>e.getComponent())}_handleMouseUp(e){this.mousedown=!1,document.removeEventListener(`mouseup`,this.mouseUpEvent)}_handleKeyDown(e){if(!this.blockKeydown&&(!this.table.modules.edit||this.table.modules.edit&&!this.table.modules.edit.currentCell)){if(e.key===`Enter`){if(this.table.modules.edit&&this.table.modules.edit.currentCell)return;this.table.modules.edit.editCell(this.getActiveCell()),e.preventDefault()}(e.key===`Backspace`||e.key===`Delete`)&&this.options(`selectableRangeClearCells`)&&this.activeRange&&this.activeRange.clearValues()}}initializeFocus(e){var t;this.restoreFocus();try{document.selection?(t=document.body.createTextRange(),t.moveToElementText(e.getElement()),t.select()):window.getSelection&&(t=document.createRange(),t.selectNode(e.getElement()),window.getSelection().removeAllRanges(),window.getSelection().addRange(t))}catch{}}restoreFocus(e){return this.table.rowManager.element.focus(),!0}handleColumnResized(e){var t;this.selecting!==`column`&&this.selecting!==`all`||(t=this.ranges.some(t=>t.occupiesColumn(e)),t&&this.ranges.forEach(t=>{t.getColumns(!0).forEach(t=>{t!==e&&t.setWidth(e.width)})}))}handleColumnMoving(e,t){this.resetRanges().setBounds(t),this.overlay.style.visibility=`hidden`}handleColumnMoved(e,t,n){this.activeRange.setBounds(e),this.layoutElement()}handleColumnMouseDown(e,t){e.button===2&&(this.selecting===`column`||this.selecting===`all`)&&this.activeRange.occupiesColumn(t)||this.table.options.movableColumns&&this.selecting===`column`&&this.activeRange.occupiesColumn(t)||(this.mousedown=!0,document.addEventListener(`mouseup`,this.mouseUpEvent),this.newSelection(e,t))}handleColumnMouseMove(e,t){t===this.rowHeader||!this.mousedown||this.selecting===`all`||this.activeRange.setBounds(!1,t,!0)}renderCell(e){var t=e.getElement(),n=this.ranges.findIndex(t=>t.occupies(e));t.classList.toggle(`tabulator-range-selected`,n!==-1),t.classList.toggle(`tabulator-range-only-cell-selected`,this.ranges.length===1&&this.ranges[0].atTopLeft(e)&&this.ranges[0].atBottomRight(e)),t.dataset.range=n}handleCellMouseDown(e,t){e.button===2&&(this.activeRange.occupies(t)||(this.selecting===`row`||this.selecting===`all`)&&this.activeRange.occupiesRow(t.row))||(this.mousedown=!0,document.addEventListener(`mouseup`,this.mouseUpEvent),this.newSelection(e,t))}handleCellMouseMove(e,t){!this.mousedown||this.selecting===`all`||this.activeRange.setBounds(!1,t,!0)}handleCellClick(e,t){this.initializeFocus(t)}handleEditingCell(e){this.activeRange&&this.activeRange.setBounds(e)}finishEditingCell(){this.blockKeydown=!0,this.table.rowManager.element.focus(),setTimeout(()=>{this.blockKeydown=!1},10)}keyNavigate(e,t){this.navigate(!1,!1,e),t.preventDefault()}keyNavigateRange(e,t,n,r){this.navigate(n,r,t),e.preventDefault()}navigate(e,t,n){var r=!1,i,a,o,s,c,l,u,d,f,p,m;if(this.table.modules.edit&&this.table.modules.edit.currentCell)return!1;if(this.ranges.length>1&&(this.ranges=this.ranges.filter(e=>e===this.activeRange?(e.setEnd(e.start.row,e.start.col),!0):(e.destroy(),!1))),i=this.activeRange,o={top:i.top,bottom:i.bottom,left:i.left,right:i.right},a=t?i.end:i.start,s=a.row,c=a.col,e)switch(n){case`left`:c=this.findJumpCellLeft(i.start.row,a.col);break;case`right`:c=this.findJumpCellRight(i.start.row,a.col);break;case`up`:s=this.findJumpCellUp(a.row,i.start.col);break;case`down`:s=this.findJumpCellDown(a.row,i.start.col);break}else{if(t&&(this.selecting===`row`&&(n===`left`||n===`right`)||this.selecting===`column`&&(n===`up`||n===`down`)))return;switch(n){case`left`:c=Math.max(c-1,0);break;case`right`:c=Math.min(c+1,this.getTableColumns().length-1);break;case`up`:s=Math.max(s-1,0);break;case`down`:s=Math.min(s+1,this.getTableRows().length-1);break}}if(this.rowHeader&&c===0&&(c=1),t||i.setStart(s,c),i.setEnd(s,c),t||(this.selecting=`cell`),r=o.top!==i.top||o.bottom!==i.bottom||o.left!==i.left||o.right!==i.right,r)return l=this.getRowByRangePos(i.end.row),u=this.getColumnByRangePos(i.end.col),d=l.getElement().getBoundingClientRect(),p=u.getElement().getBoundingClientRect(),f=this.table.rowManager.getElement().getBoundingClientRect(),m=this.table.columnManager.getElement().getBoundingClientRect(),d.top>=f.top&&d.bottom<=f.bottom||(l.getElement().parentNode&&u.getElement().parentNode?this.autoScroll(i,l.getElement(),u.getElement()):l.getComponent().scrollTo(void 0,!1)),p.left>=m.left+this.getRowHeaderWidth()&&p.right<=m.right||(l.getElement().parentNode&&u.getElement().parentNode?this.autoScroll(i,l.getElement(),u.getElement()):u.getComponent().scrollTo(void 0,!1)),this.layoutElement(),!0}rangeRemoved(e){this.ranges=this.ranges.filter(t=>t!==e),this.activeRange===e&&(this.ranges.length?this.activeRange=this.ranges[this.ranges.length-1]:this.addRange()),this.layoutElement()}findJumpRow(e,t,n,r,i){return n&&(t=t.reverse()),this.findJumpItem(r,i,t,function(t){return t.getData()[e.getField()]})}findJumpCol(e,t,n,r,i){return n&&(t=t.reverse()),this.findJumpItem(r,i,t,function(t){return e.getData()[t.getField()]})}findJumpItem(e,t,n,r){var i;for(let a of n){let n=r(a);if(e){if(i=a,n)break}else if(t){if(i=a,n)break}else if(n)i=a;else break}return i}findJumpCellLeft(e,t){var n=this.getRowByRangePos(e),r=this.getTableColumns(),i=this.isEmpty(n.getData()[r[t].getField()]),a=r[t-1]?this.isEmpty(n.getData()[r[t-1].getField()]):!1,o=this.rowHeader?r.slice(1,t):r.slice(0,t),s=this.findJumpCol(n,o,!0,i,a);return s?s.getPosition()-1:t}findJumpCellRight(e,t){var n=this.getRowByRangePos(e),r=this.getTableColumns(),i=this.isEmpty(n.getData()[r[t].getField()]),a=r[t+1]?this.isEmpty(n.getData()[r[t+1].getField()]):!1,o=this.findJumpCol(n,r.slice(t+1,r.length),!1,i,a);return o?o.getPosition()-1:t}findJumpCellUp(e,t){var n=this.getColumnByRangePos(t),r=this.getTableRows(),i=this.isEmpty(r[e].getData()[n.getField()]),a=r[e-1]?this.isEmpty(r[e-1].getData()[n.getField()]):!1,o=this.findJumpRow(n,r.slice(0,e),!0,i,a);return o?o.position-1:e}findJumpCellDown(e,t){var n=this.getColumnByRangePos(t),r=this.getTableRows(),i=this.isEmpty(r[e].getData()[n.getField()]),a=r[e+1]?this.isEmpty(r[e+1].getData()[n.getField()]):!1,o=this.findJumpRow(n,r.slice(e+1,r.length),!1,i,a);return o?o.position-1:e}newSelection(e,t){var n;if(t.type===`column`){if(!this.columnSelection)return;if(t===this.rowHeader){n=this.resetRanges(),this.selecting=`all`;var r,i=this.getCell(-1,-1);r=this.rowHeader?this.getCell(0,1):this.getCell(0,0),n.setBounds(r,i);return}else this.selecting=`column`}else t.column===this.rowHeader?this.selecting=`row`:this.selecting=`cell`;e.shiftKey?this.activeRange.setBounds(!1,t):e.ctrlKey?this.addRange().setBounds(t):this.resetRanges().setBounds(t)}autoScroll(e,t,n){var r=this.table.rowManager.element,i,a,o,s;t===void 0&&(t=this.getRowByRangePos(e.end.row).getElement()),n===void 0&&(n=this.getColumnByRangePos(e.end.col).getElement()),i={left:n.offsetLeft,right:n.offsetLeft+n.offsetWidth,top:t.offsetTop,bottom:t.offsetTop+t.offsetHeight},a={left:r.scrollLeft+this.getRowHeaderWidth(),right:Math.ceil(r.scrollLeft+r.clientWidth),top:r.scrollTop,bottom:r.scrollTop+r.offsetHeight-this.table.rowManager.scrollbarWidth},o=a.left<i.left&&i.left<a.right&&a.left<i.right&&i.right<a.right,s=a.top<i.top&&i.top<a.bottom&&a.top<i.bottom&&i.bottom<a.bottom,o||(i.left<a.left?r.scrollLeft=i.left-this.getRowHeaderWidth():i.right>a.right&&(r.scrollLeft=Math.min(i.right-r.clientWidth,i.left-this.getRowHeaderWidth()))),s||(i.top<a.top?r.scrollTop=i.top:i.bottom>a.bottom&&(r.scrollTop=i.bottom-r.clientHeight))}layoutChange(){this.overlay.style.visibility=`hidden`,clearTimeout(this.layoutChangeTimeout),this.layoutChangeTimeout=setTimeout(this.layoutRanges.bind(this),200)}redraw(e){e&&(this.selecting=`cell`,this.resetRanges(),this.layoutElement())}layoutElement(e){(e?this.table.rowManager.getVisibleRows(!0):this.table.rowManager.getRows()).forEach(e=>{e.type===`row`&&(this.layoutRow(e),e.cells.forEach(e=>this.renderCell(e)))}),this.getTableColumns().forEach(e=>{this.layoutColumn(e)}),this.layoutRanges()}layoutRow(e){var t=e.getElement(),n=!1,r=this.ranges.some(t=>t.occupiesRow(e));this.selecting===`row`?n=r:this.selecting===`all`&&(n=!0),t.classList.toggle(`tabulator-range-selected`,n),t.classList.toggle(`tabulator-range-highlight`,r)}layoutColumn(e){var t=e.getElement(),n=!1,r=this.ranges.some(t=>t.occupiesColumn(e));this.selecting===`column`?n=r:this.selecting===`all`&&(n=!0),t.classList.toggle(`tabulator-range-selected`,n),t.classList.toggle(`tabulator-range-highlight`,r)}layoutRanges(){var e,t,n;this.table.initialized&&(e=this.getActiveCell(),e&&(t=e.getElement(),n=e.row.getElement(),this.table.rtl?this.activeRangeCellElement.style.right=n.offsetWidth-t.offsetLeft-t.offsetWidth+`px`:this.activeRangeCellElement.style.left=n.offsetLeft+t.offsetLeft+`px`,this.activeRangeCellElement.style.top=n.offsetTop+`px`,this.activeRangeCellElement.style.width=t.offsetWidth+`px`,this.activeRangeCellElement.style.height=n.offsetHeight+`px`,this.ranges.forEach(e=>e.layout()),this.overlay.style.visibility=`visible`))}getCell(e,t){var n;return t<0&&(t=this.getTableColumns().length+t,t<0)?null:(e<0&&(e=this.getTableRows().length+e),n=this.table.rowManager.getRowFromPosition(e+1),n?n.getCells(!1,!0).filter(e=>e.column.visible)[t]:null)}getActiveCell(){return this.getCell(this.activeRange.start.row,this.activeRange.start.col)}getRowByRangePos(e){return this.getTableRows()[e]}getColumnByRangePos(e){return this.getTableColumns()[e]}getTableRows(){return this.table.rowManager.getDisplayRows().filter(e=>e.type===`row`)}getTableColumns(){return this.table.columnManager.getVisibleColumnsByIndex()}addRange(e,t){var n;return this.maxRanges!==!0&&this.ranges.length>=this.maxRanges&&this.ranges.shift().destroy(),n=new fo(this.table,this,e,t),this.activeRange=n,this.ranges.push(n),this.rangeContainer.appendChild(n.element),n}resetRanges(){var e,t,n;return this.ranges.forEach(e=>e.destroy()),this.ranges=[],e=this.addRange(),this.table.rowManager.activeRows.length&&(n=this.table.rowManager.activeRows[0].cells.filter(e=>e.column.visible),t=n[this.rowHeader?1:0],t&&(e.setBounds(t),this.options(`selectableRangeAutoFocus`)&&this.initializeFocus(t))),e}tableDestroyed(){document.removeEventListener(`mouseup`,this.mouseUpEvent),this.table.rowManager.element.removeEventListener(`keydown`,this.keyDownEvent)}selectedRows(e){return e?this.activeRange.getRows().map(e=>e.getComponent()):this.activeRange.getRows()}selectedColumns(e){return e?this.activeRange.getColumns().map(e=>e.getComponent()):this.activeRange.getColumns()}getRowHeaderWidth(){return this.rowHeader?this.rowHeader.getElement().offsetWidth:0}isEmpty(e){return e==null||e===``}},k(xe,`moduleName`,`selectRange`),k(xe,`moduleInitOrder`,1),k(xe,`moduleExtensions`,{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(e){this.dispatch(`keybinding-nav-range`,e,`left`,!0,!1)},rangeJumpRight:function(e){this.dispatch(`keybinding-nav-range`,e,`right`,!0,!1)},rangeJumpUp:function(e){this.dispatch(`keybinding-nav-range`,e,`up`,!0,!1)},rangeJumpDown:function(e){this.dispatch(`keybinding-nav-range`,e,`down`,!0,!1)},rangeExpandLeft:function(e){this.dispatch(`keybinding-nav-range`,e,`left`,!1,!0)},rangeExpandRight:function(e){this.dispatch(`keybinding-nav-range`,e,`right`,!1,!0)},rangeExpandUp:function(e){this.dispatch(`keybinding-nav-range`,e,`up`,!1,!0)},rangeExpandDown:function(e){this.dispatch(`keybinding-nav-range`,e,`down`,!1,!0)},rangeExpandJumpLeft:function(e){this.dispatch(`keybinding-nav-range`,e,`left`,!0,!0)},rangeExpandJumpRight:function(e){this.dispatch(`keybinding-nav-range`,e,`right`,!0,!0)},rangeExpandJumpUp:function(e){this.dispatch(`keybinding-nav-range`,e,`up`,!0,!0)},rangeExpandJumpDown:function(e){this.dispatch(`keybinding-nav-range`,e,`down`,!0,!0)}}},clipboard:{pasteActions:{range:function(e){var t=[],n=this.table.modules.selectRange.activeRange,r=!1,i,a,o,s,c=e.length;return n&&(i=n.getBounds(),a=i.start,i.start===i.end&&(r=!0),a&&(t=this.table.rowManager.activeRows.slice(),o=t.indexOf(a.row),s=r?e.length:t.indexOf(i.end.row)-o+1,o>-1&&(this.table.blockRedraw(),t=t.slice(o,o+s),t.forEach((t,n)=>{t.updateData(e[n%c])}),this.table.restoreRedraw()))),t}},pasteParsers:{range:function(e){var t=[],n=[],r=this.table.modules.selectRange.activeRange,i=!1,a,o,s,c,l;return r&&(a=r.getBounds(),o=a.start,a.start===a.end&&(i=!0),o&&(e=e.split(`
`),e.forEach(function(e){t.push(e.split(` `))}),t.length&&(c=this.table.columnManager.getVisibleColumnsByIndex(),l=c.indexOf(o.column),l>-1)))?(s=i?t[0].length:c.indexOf(a.end.column)-l+1,c=c.slice(l,l+s),t.forEach(e=>{var t={},r=e.length;c.forEach(function(n,i){t[n.field]=e[i%r]}),n.push(t)}),n):!1}}},export:{columnLookups:{range:function(){var e=this.modules.selectRange.selectedColumns();return this.columnManager.rowHeader&&e.unshift(this.columnManager.rowHeader),e}},rowLookups:{range:function(){return this.modules.selectRange.selectedRows()}}}}),xe);function mo(e,t,n,r,i,a,o){var s=o.alignEmptyValues,c=o.decimalSeparator,l=o.thousandSeparator,u=0;if(e=String(e),t=String(t),l&&(e=e.split(l).join(``),t=t.split(l).join(``)),c&&(e=e.split(c).join(`.`),t=t.split(c).join(`.`)),e=parseFloat(e),t=parseFloat(t),isNaN(e))u=isNaN(t)?0:-1;else if(isNaN(t))u=1;else return e-t;return(s===`top`&&a===`desc`||s===`bottom`&&a===`asc`)&&(u*=-1),u}function ho(e,t,n,r,i,a,o){var s=o.alignEmptyValues,c=0,l;if(!e)c=t?-1:0;else if(!t)c=1;else{switch(typeof o.locale){case`boolean`:o.locale&&(l=this.langLocale());break;case`string`:l=o.locale;break}return String(e).toLowerCase().localeCompare(String(t).toLowerCase(),l)}return(s===`top`&&a===`desc`||s===`bottom`&&a===`asc`)&&(c*=-1),c}function go(e,t,n,r,i,a,o){var s=this.table.dependencyRegistry.lookup([`luxon`,`DateTime`],`DateTime`),c=o.format||`dd/MM/yyyy HH:mm:ss`,l=o.alignEmptyValues,u=0;if(s!==void 0){if(s.isDateTime(e)||(e=c===`iso`?s.fromISO(String(e)):s.fromFormat(String(e),c)),s.isDateTime(t)||(t=c===`iso`?s.fromISO(String(t)):s.fromFormat(String(t),c)),!e.isValid)u=t.isValid?-1:0;else if(!t.isValid)u=1;else return e-t;return(l===`top`&&a===`desc`||l===`bottom`&&a===`asc`)&&(u*=-1),u}else console.error(`Sort Error - 'datetime' sorter is dependant on luxon.js`)}function _o(e,t,n,r,i,a,o){return o.format||=`dd/MM/yyyy`,go.call(this,e,t,n,r,i,a,o)}function vo(e,t,n,r,i,a,o){return o.format||=`HH:mm`,go.call(this,e,t,n,r,i,a,o)}function yo(e,t,n,r,i,a,o){return(e===!0||e===`true`||e===`True`||e===1?1:0)-(t===!0||t===`true`||t===`True`||t===1?1:0)}function bo(e,t,n,r,i,a,o){var s=o.type||`length`,c=o.alignEmptyValues,l=0,u=this.table,d;o.valueMap&&(d=typeof o.valueMap==`string`?function(e){return e.map(e=>q.retrieveNestedData(u.options.nestedFieldSeparator,o.valueMap,e))}:o.valueMap);function f(e){var t;switch(d&&(e=d(e)),s){case`length`:t=e.length;break;case`sum`:t=e.reduce(function(e,t){return e+t});break;case`max`:t=Math.max.apply(null,e);break;case`min`:t=Math.min.apply(null,e);break;case`avg`:t=e.reduce(function(e,t){return e+t})/e.length;break;case`string`:t=e.join(``);break}return t}if(!Array.isArray(e))l=Array.isArray(t)?-1:0;else if(!Array.isArray(t))l=1;else if(s===`string`)return String(f(e)).toLowerCase().localeCompare(String(f(t)).toLowerCase());else return f(t)-f(e);return(c===`top`&&a===`desc`||c===`bottom`&&a===`asc`)&&(l*=-1),l}function xo(e,t,n,r,i,a,o){return(e===void 0?0:1)-(t===void 0?0:1)}function So(e,t,n,r,i,a,o){var s,c,l,u,d=0,f,p=/(\d+)|(\D+)/g,m=/\d/,h=o.alignEmptyValues,g=0;if(!e&&e!==0)g=!t&&t!==0?0:-1;else if(!t&&t!==0)g=1;else{if(isFinite(e)&&isFinite(t))return e-t;if(s=String(e).toLowerCase(),c=String(t).toLowerCase(),s===c)return 0;if(!(m.test(s)&&m.test(c)))return s>c?1:-1;for(s=s.match(p),c=c.match(p),f=s.length>c.length?c.length:s.length;d<f;)if(l=s[d],u=c[d++],l!==u)return isFinite(l)&&isFinite(u)?(l.charAt(0)===`0`&&(l=`.`+l),u.charAt(0)===`0`&&(u=`.`+u),l-u):l>u?1:-1;return s.length>c.length}return(h===`top`&&a===`desc`||h===`bottom`&&a===`asc`)&&(g*=-1),g}var Co={number:mo,string:ho,date:_o,time:vo,datetime:go,boolean:yo,array:bo,exists:xo,alphanum:So},wo=(Se=class e extends J{constructor(e){super(e),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)),this.table.options.sortMode===`remote`&&this.subscribe(`data-params`,this.remoteSortParams.bind(this))}tableBuilt(){this.table.options.initialSort&&this.setSort(this.table.options.initialSort)}remoteSortParams(e,t,n,r){var i=this.getSort();return i.forEach(e=>{delete e.column}),r.sort=i,r}userSetSort(e,t){this.setSort(e,t),this.refreshSort()}clearSort(){this.clear(),this.refreshSort()}initializeColumn(t){var n=!1,r,i;switch(typeof t.definition.sorter){case`string`:e.sorters[t.definition.sorter]?n=e.sorters[t.definition.sorter]:console.warn(`Sort Error - No such sorter found: `,t.definition.sorter);break;case`function`:n=t.definition.sorter;break}if(t.modules.sort={sorter:n,dir:`none`,params:t.definition.sorterParams||{},startingDir:t.definition.headerSortStartingDir||`asc`,tristate:t.definition.headerSortTristate},t.definition.headerSort!==!1){switch(r=t.getElement(),r.classList.add(`tabulator-sortable`),i=document.createElement(`div`),i.classList.add(`tabulator-col-sorter`),this.table.options.headerSortClickElement){case`icon`:i.classList.add(`tabulator-col-sorter-element`);break;case`header`:r.classList.add(`tabulator-col-sorter-element`);break;default:r.classList.add(`tabulator-col-sorter-element`);break}switch(this.table.options.headerSortElement){case`function`:break;case`object`:i.appendChild(this.table.options.headerSortElement);break;default:i.innerHTML=this.table.options.headerSortElement}t.titleHolderElement.appendChild(i),t.modules.sort.element=i,this.setColumnHeaderSortIcon(t,`none`),this.table.options.headerSortClickElement===`icon`&&i.addEventListener(`mousedown`,e=>{e.stopPropagation()}),(this.table.options.headerSortClickElement===`icon`?i:r).addEventListener(`click`,e=>{var n=``,r=[],i=!1;if(t.modules.sort){if(t.modules.sort.tristate)n=t.modules.sort.dir==`none`?t.modules.sort.startingDir:t.modules.sort.dir==t.modules.sort.startingDir?t.modules.sort.dir==`asc`?`desc`:`asc`:`none`;else switch(t.modules.sort.dir){case`asc`:n=`desc`;break;case`desc`:n=`asc`;break;default:n=t.modules.sort.startingDir}this.table.options.columnHeaderSortMulti&&(e.shiftKey||e.ctrlKey)?(r=this.getSort(),i=r.findIndex(e=>e.field===t.getField()),i>-1?(r[i].dir=n,i=r.splice(i,1)[0],n!=`none`&&r.push(i)):n!=`none`&&r.push({column:t,dir:n}),this.setSort(r)):n==`none`?this.clear():this.setSort(t,n),this.refreshSort()}})}}refreshSort(){this.table.options.sortMode===`remote`?this.reloadData(null,!1,!1):this.refreshData(!0)}hasChanged(){var e=this.changed;return this.changed=!1,e}getSort(){var e=this,t=[];return e.sortList.forEach(function(e){e.column&&t.push({column:e.column.getComponent(),field:e.column.getField(),dir:e.dir})}),t}setSort(e,t){var n=this,r=[];Array.isArray(e)||(e=[{column:e,dir:t}]),e.forEach(function(e){var t=n.table.columnManager.findColumn(e.column);t?(e.column=t,r.push(e),n.changed=!0):console.warn(`Sort Warning - Sort field does not exist and is being ignored: `,e.column)}),n.sortList=r,this.dispatch(`sort-changed`)}clear(){this.setSort([])}findSorter(t){var n=this.table.rowManager.activeRows[0],r=`string`,i,a;if(n&&(n=n.getData(),i=t.getField(),i))switch(a=t.getFieldValue(n),typeof a){case`undefined`:r=`string`;break;case`boolean`:r=`boolean`;break;default:!isNaN(a)&&a!==``?r=`number`:a.match(/((^[0-9]+[a-z]+)|(^[a-z]+[0-9]+))+$/i)&&(r=`alphanum`);break}return e.sorters[r]}sort(e,t){var n=this,r=this.table.options.sortOrderReverse?n.sortList.slice().reverse():n.sortList,i=[],a=[];return this.subscribedExternal(`dataSorting`)&&this.dispatchExternal(`dataSorting`,n.getSort()),t||n.clearColumnHeaders(),this.table.options.sortMode===`remote`?t||r.forEach(function(e,t){n.setColumnHeader(e.column,e.dir)}):(r.forEach(function(e,r){var a;e.column&&(a=e.column.modules.sort,a&&(a.sorter||=n.findSorter(e.column),e.params=typeof a.params==`function`?a.params(e.column.getComponent(),e.dir):a.params,i.push(e)),t||n.setColumnHeader(e.column,e.dir))}),i.length&&n._sortItems(e,i)),this.subscribedExternal(`dataSorted`)&&(e.forEach(e=>{a.push(e.getComponent())}),this.dispatchExternal(`dataSorted`,n.getSort(),a)),e}clearColumnHeaders(){this.table.columnManager.getRealColumns().forEach(e=>{e.modules.sort&&(e.modules.sort.dir=`none`,e.getElement().setAttribute(`aria-sort`,`none`),this.setColumnHeaderSortIcon(e,`none`))})}setColumnHeader(e,t){e.modules.sort.dir=t,e.getElement().setAttribute(`aria-sort`,t===`asc`?`ascending`:`descending`),this.setColumnHeaderSortIcon(e,t)}setColumnHeaderSortIcon(e,t){var n=e.modules.sort.element,r;if(e.definition.headerSort&&typeof this.table.options.headerSortElement==`function`){for(;n.firstChild;)n.removeChild(n.firstChild);r=this.table.options.headerSortElement.call(this.table,e.getComponent(),t),typeof r==`object`?n.appendChild(r):n.innerHTML=r}}_sortItems(e,t){var n=t.length-1;e.sort((e,r)=>{for(var i,a=n;a>=0;a--){let n=t[a];if(i=this._sortRow(e,r,n.column,n.dir,n.params),i!==0)break}return i})}_sortRow(e,t,n,r,i){var a,o,s=r==`asc`?e:t,c=r==`asc`?t:e;return e=n.getFieldValue(s.getData()),t=n.getFieldValue(c.getData()),e=e===void 0?``:e,t=t===void 0?``:t,a=s.getComponent(),o=c.getComponent(),n.modules.sort.sorter.call(this,e,t,a,o,n.getComponent(),r,i)}},k(Se,`moduleName`,`sort`),k(Se,`sorters`,Co),Se),To=class{constructor(e,t){this.columnCount=e,this.rowCount=t,this.columnString=[],this.columns=[],this.rows=[]}genColumns(e){var t=Math.max(this.columnCount,Math.max(...e.map(e=>e.length)));this.columnString=[],this.columns=[];for(let e=1;e<=t;e++)this.incrementChar(this.columnString.length-1),this.columns.push(this.columnString.join(``));return this.columns}genRows(e){var t=Math.max(this.rowCount,e.length);this.rows=[];for(let e=1;e<=t;e++)this.rows.push(e);return this.rows}incrementChar(e){let t=this.columnString[e];t?t===`Z`?(this.columnString[e]=`A`,e?this.incrementChar(e-1):this.columnString.push(`A`)):this.columnString[e]=String.fromCharCode(this.columnString[e].charCodeAt(0)+1):this.columnString.push(`A`)}setRowCount(e){this.rowCount=e}setColumnCount(e){this.columnCount=e}},Eo=class{constructor(e){return this._sheet=e,new Proxy(this,{get:function(e,t,n){return e[t]===void 0?e._sheet.table.componentFunctionBinder.handle(`sheet`,e._sheet,t):e[t]}})}getTitle(){return this._sheet.title}getKey(){return this._sheet.key}getDefinition(){return this._sheet.getDefinition()}getData(){return this._sheet.getData()}setData(e){return this._sheet.setData(e)}clear(){return this._sheet.clear()}remove(){return this._sheet.remove()}active(){return this._sheet.active()}setTitle(e){return this._sheet.setTitle(e)}setRows(e){return this._sheet.setRows(e)}setColumns(e){return this._sheet.setColumns(e)}},Do=class extends K{constructor(e,t){super(e.table),this.spreadsheetManager=e,this.definition=t,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 To(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(e=>{var t=Object.assign({},this.columnDefinition);t.field=e,t.title=e,this.columnDefs.push(t)})}initializeRows(){var e;this.grid.setRowCount(this.rowCount),e=this.grid.genRows(this.data),this.rowDefs=[],e.forEach((e,t)=>{var n={_id:e},r=this.data[t];r&&r.forEach((e,t)=>{var r=this.columnFields[t];r&&(n[r]=e)}),this.rowDefs.push(n)})}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 e=!this.isActive;this.isActive=!0,this.table.blockRedraw(),this.table.setData([]),this.table.setColumns(this.columnDefs),this.table.setData(this.rowDefs),this.table.restoreRedraw(),e&&this.scrollTop!==null&&(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 Eo(this)}getDefinition(){return{title:this.title,key:this.key,rows:this.rowCount,columns:this.columnCount,data:this.getData()}}getData(e){var t=[],n,r,i;return this.rowDefs.forEach(e=>{var n=[];this.columnFields.forEach(t=>{n.push(e[t])}),t.push(n)}),!e&&!this.options(`spreadsheetOutputFull`)&&(n=t.map(e=>e.findLastIndex(e=>e!==void 0)+1),r=Math.max(...n),i=n.findLastIndex(e=>e>0)+1,t=t.slice(0,i),t=t.map(e=>e.slice(0,r))),t}setData(e){this.data=e,this.reinitialize(),this.dispatchExternal(`sheetUpdated`,this.getComponent()),this.isActive&&this.load()}clear(){this.setData([])}setTitle(e){this.title=e,this.element.innerText=e,this.dispatchExternal(`sheetUpdated`,this.getComponent())}setRows(e){this.rowCount=e,this.initializeRows(),this.dispatchExternal(`sheetUpdated`,this.getComponent()),this.isActive&&this.load()}setColumns(e){this.columnCount=e,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)}},Oo=(Ce=class extends J{constructor(e){super(e),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 e=this.options(`spreadsheetSheetTabsElement`);e&&!(e instanceof HTMLElement)&&(e=document.querySelector(e),e||console.warn(`Unable to find element matching spreadsheetSheetTabsElement selector:`,this.options(`spreadsheetSheetTabsElement`))),e?e.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(e,t,n){return console.log(`data`,e,t,n),Array.isArray(e)?(this.table.dataLoader.clearAlert(),this.dispatchExternal(`dataLoaded`,e),!e.length||Array.isArray(e[0])?this.loadData(e):this.loadSheets(e)):console.error(`Spreadsheet Loading Error - Unable to process remote data due to invalid data type
Expecting: array
Received: `,typeof e,`
Data: `,e),!1}loadData(e){var t={data:e};this.loadSheet(this.newSheet(t))}destroySheets(){this.sheets.forEach(e=>{e.destroy()}),this.sheets=[],this.activeSheet=null}loadSheets(e){Array.isArray(e)||(e=[]),this.destroySheets(),e.forEach(e=>{this.newSheet(e)}),this.loadSheet(this.sheets[0])}loadSheet(e){this.activeSheet!==e&&(this.activeSheet&&this.activeSheet.unload(),this.activeSheet=e,e.load())}newSheet(e={}){var t;return e.rows||=this.options(`spreadsheetRows`),e.columns||=this.options(`spreadsheetColumns`),t=new Do(this,e),this.sheets.push(t),this.element&&this.element.appendChild(t.element),t}removeSheet(e){var t=this.sheets.indexOf(e),n;this.sheets.length>1?t>-1&&(this.sheets.splice(t,1),e.destroy(),this.activeSheet===e&&(n=this.sheets[t-1]||this.sheets[0],n?this.loadSheet(n):this.activeSheet=null)):console.warn(`Unable to remove sheet, at least one sheet must be active`)}lookupSheet(e){return e?e instanceof Do?e:e instanceof Eo?e._sheet:this.sheets.find(t=>t.key===e)||!1:this.activeSheet}setSheets(e){return this.loadSheets(e),this.getSheets()}addSheet(e){return this.newSheet(e).getComponent()}getSheetDefinitions(){return this.sheets.map(e=>e.getDefinition())}getSheets(){return this.sheets.map(e=>e.getComponent())}getSheet(e){var t=this.lookupSheet(e);return t?t.getComponent():!1}setSheetData(e,t){e&&!t&&(t=e,e=!1);var n=this.lookupSheet(e);return n?n.setData(t):!1}getSheetData(e){var t=this.lookupSheet(e);return t?t.getData():!1}clearSheet(e){var t=this.lookupSheet(e);return t?t.clear():!1}removeSheetFunc(e){var t=this.lookupSheet(e);t&&this.removeSheet(t)}activeSheetFunc(e){var t=this.lookupSheet(e);return t?this.loadSheet(t):!1}},k(Ce,`moduleName`,`spreadsheet`),Ce),ko=(we=class extends J{constructor(e){super(e),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(e){e.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`))),e.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(e,t,n){var r=e===`tooltip`?n.column.definition.tooltip:n.definition.headerTooltip;r&&(this.clearPopup(),this.timeout=setTimeout(this.loadTooltip.bind(this,t,n,r),this.table.options.tooltipDelay))}mouseoutCheck(e,t,n){this.popupInstance||this.clearPopup()}clearPopup(e,t,n){clearTimeout(this.timeout),this.timeout=null,this.popupInstance&&this.popupInstance.hide()}loadTooltip(e,t,n){var r,i,a;function o(e){i=e}typeof n==`function`&&(n=n(e,t.getComponent(),o)),n instanceof HTMLElement?r=n:(r=document.createElement(`div`),n===!0&&(t instanceof Ci?n=t.value:t.definition.field?this.langBind(`columns|`+t.definition.field,e=>{r.innerHTML=n=e||t.definition.title}):n=t.definition.title),r.innerHTML=n),(n||n===0||n===!1)&&(r.classList.add(`tabulator-tooltip`),r.addEventListener(`mousemove`,e=>e.preventDefault()),this.popupInstance=this.popup(r),typeof i==`function`&&this.popupInstance.renderCallback(i),a=this.popupInstance.containerEventCoords(e),this.popupInstance.show(a.x+15,a.y+15).hideOnBlur(()=>{this.dispatchExternal(`TooltipClosed`,t.getComponent()),this.popupInstance=null}),this.dispatchExternal(`TooltipOpened`,t.getComponent()))}},k(we,`moduleName`,`tooltip`),we),Ao=(Te=class e extends J{constructor(e){super(e),this.invalidCells=[],this.registerTableOption(`validationMode`,`blocking`),this.registerColumnOption(`validator`),this.registerTableFunction(`getInvalidCells`,this.getInvalidCells.bind(this)),this.registerTableFunction(`clearCellValidation`,this.userClearCellValidation.bind(this)),this.registerTableFunction(`validate`,this.userValidate.bind(this)),this.registerComponentFunction(`cell`,`isValid`,this.cellIsValid.bind(this)),this.registerComponentFunction(`cell`,`clearValidation`,this.clearValidation.bind(this)),this.registerComponentFunction(`cell`,`validate`,this.cellValidate.bind(this)),this.registerComponentFunction(`column`,`validate`,this.columnValidate.bind(this)),this.registerComponentFunction(`row`,`validate`,this.rowValidate.bind(this))}initialize(){this.subscribe(`cell-delete`,this.clearValidation.bind(this)),this.subscribe(`column-layout`,this.initializeColumnCheck.bind(this)),this.subscribe(`edit-success`,this.editValidate.bind(this)),this.subscribe(`edit-editor-clear`,this.editorClear.bind(this)),this.subscribe(`edit-edited-clear`,this.editedClear.bind(this))}editValidate(e,t,n){var r=this.table.options.validationMode===`manual`?!0:this.validate(e.column.modules.validate,e,t);return r!==!0&&setTimeout(()=>{e.getElement().classList.add(`tabulator-validation-fail`),this.dispatchExternal(`validationFailed`,e.getComponent(),t,r)}),r}editorClear(e,t){t&&e.column.modules.validate&&this.cellValidate(e),e.getElement().classList.remove(`tabulator-validation-fail`)}editedClear(e){e.modules.validate&&(e.modules.validate.invalid=!1)}cellIsValid(e){return e.modules.validate&&e.modules.validate.invalid||!0}cellValidate(e){return this.validate(e.column.modules.validate,e,e.getValue())}columnValidate(e){var t=[];return e.cells.forEach(e=>{this.cellValidate(e)!==!0&&t.push(e.getComponent())}),t.length?t:!0}rowValidate(e){var t=[];return e.cells.forEach(e=>{this.cellValidate(e)!==!0&&t.push(e.getComponent())}),t.length?t:!0}userClearCellValidation(e){e||=this.getInvalidCells(),Array.isArray(e)||(e=[e]),e.forEach(e=>{this.clearValidation(e._getSelf())})}userValidate(e){var t=[];return this.table.rowManager.rows.forEach(e=>{e=e.getComponent();var n=e.validate();n!==!0&&(t=t.concat(n))}),t.length?t:!0}initializeColumnCheck(e){e.definition.validator!==void 0&&this.initializeColumn(e)}initializeColumn(e){var t=this,n=[],r;e.definition.validator&&(Array.isArray(e.definition.validator)?e.definition.validator.forEach(e=>{r=t._extractValidator(e),r&&n.push(r)}):(r=this._extractValidator(e.definition.validator),r&&n.push(r)),e.modules.validate=n.length?n:!1)}_extractValidator(e){var t,n,r;switch(typeof e){case`string`:return r=e.indexOf(`:`),r>-1?(t=e.substring(0,r),n=e.substring(r+1)):t=e,this._buildValidator(t,n);case`function`:return this._buildValidator(e);case`object`:return this._buildValidator(e.type,e.parameters)}}_buildValidator(t,n){var r=typeof t==`function`?t:e.validators[t];return r?{type:typeof t==`function`?`function`:t,func:r,params:n}:(console.warn(`Validator Setup Error - No matching validator found:`,t),!1)}validate(e,t,n){var r=this,i=[],a=this.invalidCells.indexOf(t);return e&&e.forEach(e=>{e.func.call(r,t.getComponent(),n,e.params)||i.push({type:e.type,parameters:e.params})}),t.modules.validate||(t.modules.validate={}),i.length?(t.modules.validate.invalid=i,this.table.options.validationMode!==`manual`&&t.getElement().classList.add(`tabulator-validation-fail`),a==-1&&this.invalidCells.push(t)):(t.modules.validate.invalid=!1,t.getElement().classList.remove(`tabulator-validation-fail`),a>-1&&this.invalidCells.splice(a,1)),i.length?i:!0}getInvalidCells(){var e=[];return this.invalidCells.forEach(t=>{e.push(t.getComponent())}),e}clearValidation(e){var t;e.modules.validate&&e.modules.validate.invalid&&(e.getElement().classList.remove(`tabulator-validation-fail`),e.modules.validate.invalid=!1,t=this.invalidCells.indexOf(e),t>-1&&this.invalidCells.splice(t,1))}},k(Te,`moduleName`,`validate`),k(Te,`validators`,{integer:function(e,t,n){return t===``||t==null?!0:(t=Number(t),!isNaN(t)&&isFinite(t)&&Math.floor(t)===t)},float:function(e,t,n){return t===``||t==null?!0:(t=Number(t),!isNaN(t)&&isFinite(t)&&t%1!=0)},numeric:function(e,t,n){return t===``||t==null?!0:!isNaN(t)},string:function(e,t,n){return t===``||t==null?!0:isNaN(t)},alphanumeric:function(e,t,n){return t===``||t==null?!0:new RegExp(/^[a-z0-9]+$/i).test(t)},max:function(e,t,n){return t===``||t==null?!0:parseFloat(t)<=n},min:function(e,t,n){return t===``||t==null?!0:parseFloat(t)>=n},starts:function(e,t,n){return t===``||t==null?!0:String(t).toLowerCase().startsWith(String(n).toLowerCase())},ends:function(e,t,n){return t===``||t==null?!0:String(t).toLowerCase().endsWith(String(n).toLowerCase())},minLength:function(e,t,n){return t===``||t==null?!0:String(t).length>=n},maxLength:function(e,t,n){return t===``||t==null?!0:String(t).length<=n},in:function(e,t,n){return t===``||t==null?!0:(typeof n==`string`&&(n=n.split(`|`)),n.indexOf(t)>-1)},regex:function(e,t,n){return t===``||t==null?!0:new RegExp(n).test(t)},unique:function(e,t,n){if(t===``||t==null)return!0;var r=!0,i=e.getData(),a=e.getColumn()._getSelf();return this.table.rowManager.rows.forEach(function(e){var n=e.getData();n!==i&&t==a.getFieldValue(n)&&(r=!1)}),r},required:function(e,t,n){return t!==``&&t!=null}}),Te),jo=Object.freeze({__proto__:null,AccessorModule:fi,AjaxModule:yi,ClipboardModule:bi,ColumnCalcsModule:Oi,DataTreeModule:ki,DownloadModule:Li,EditModule:$i,ExportModule:na,FilterModule:ra,FormatModule:Da,FrozenColumnsModule:Oa,FrozenRowsModule:ka,GroupRowsModule:Ma,HistoryModule:Na,HtmlTableImportModule:Pa,ImportModule:Ba,InteractionModule:Va,KeybindingsModule:Ha,MenuModule:Ua,MoveColumnsModule:Wa,MoveRowsModule:Ga,MutatorModule:Ka,PageModule:Xa,PersistenceModule:Za,PopupModule:Qa,PrintModule:$a,ReactiveDataModule:eo,ResizeColumnsModule:to,ResizeRowsModule:no,ResizeTableModule:ro,ResponsiveLayoutModule:oo,SelectRangeModule:po,SelectRowModule:lo,SortModule:wo,SpreadsheetModule:Oo,TooltipModule:ko,ValidateModule:Ao}),Mo={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:{}},No=class{constructor(e,t,n={}){this.table=e,this.msgType=t,this.registeredDefaults=Object.assign({},n)}register(e,t){this.registeredDefaults[e]=t}generate(e,t={}){var n=Object.assign({},this.registeredDefaults),r=this.table.options.debugInvalidOptions||t.debugInvalidOptions===!0;for(let i in Object.assign(n,e),t)n.hasOwnProperty(i)||(r&&console.warn(`Invalid `+this.msgType+` option:`,i),n[i]=t.key);for(let e in n)e in t?n[e]=t[e]:Array.isArray(n[e])?n[e]=Object.assign([],n[e]):typeof n[e]==`object`&&n[e]!==null?n[e]=Object.assign({},n[e]):n[e]===void 0&&delete n[e];return n}},Po=class extends K{constructor(e){super(e),this.elementVertical=e.rowManager.element,this.elementHorizontal=e.columnManager.element,this.tableElement=e.rowManager.tableElement,this.verticalFillMode=`fit`}initialize(){}clearRows(){}clearColumns(){}reinitializeColumnWidths(e){}renderRows(){}renderColumns(){}rerenderRows(e){e&&e()}rerenderColumns(e,t){}renderRowCells(e){}rerenderRowCells(e,t){}scrollColumns(e,t){}scrollRows(e,t){}resize(){}scrollToRow(e){}scrollToRowNearestTop(e){}visibleRows(e){return[]}rows(){return this.table.rowManager.getDisplayRows()}styleRow(e,t){var n=e.getElement();t%2?(n.classList.add(`tabulator-row-even`),n.classList.remove(`tabulator-row-odd`)):(n.classList.add(`tabulator-row-odd`),n.classList.remove(`tabulator-row-even`))}clear(){this.clearRows(),this.clearColumns()}render(){this.renderRows(),this.renderColumns()}rerender(e){this.rerenderRows(),this.rerenderColumns()}scrollToRowPosition(e,t,n){var r=this.rows().indexOf(e),i=e.getElement(),a=0;return new Promise((o,s)=>{if(r>-1){if(n===void 0&&(n=this.table.options.scrollToRowIfVisible),!n&&q.elVisible(i)&&(a=q.elOffset(i).top-q.elOffset(this.elementVertical).top,a>0&&a<this.elementVertical.clientHeight-i.offsetHeight))return o(),!1;switch(t===void 0&&(t=this.table.options.scrollToRowPosition),t===`nearest`&&(t=this.scrollToRowNearestTop(e)?`top`:`bottom`),this.scrollToRow(e),t){case`middle`:case`center`:this.elementVertical.scrollHeight-this.elementVertical.scrollTop==this.elementVertical.clientHeight?this.elementVertical.scrollTop=this.elementVertical.scrollTop+(i.offsetTop-this.elementVertical.scrollTop)-(this.elementVertical.scrollHeight-i.offsetTop)/2:this.elementVertical.scrollTop=this.elementVertical.scrollTop-this.elementVertical.clientHeight/2;break;case`bottom`:this.elementVertical.scrollHeight-this.elementVertical.scrollTop==this.elementVertical.clientHeight?this.elementVertical.scrollTop=this.elementVertical.scrollTop-(this.elementVertical.scrollHeight-i.offsetTop)+i.offsetHeight:this.elementVertical.scrollTop=this.elementVertical.scrollTop-this.elementVertical.clientHeight+i.offsetHeight;break;case`top`:this.elementVertical.scrollTop=i.offsetTop;break}o()}else console.warn(`Scroll Error - Row not visible`),s(`Scroll Error - Row not visible`)})}},Fo=class extends Po{constructor(e){super(e)}renderRowCells(e,t){let n=document.createDocumentFragment();e.cells.forEach(e=>{n.appendChild(e.getElement())}),e.element.appendChild(n),t||e.cells.forEach(e=>{e.cellRendered()})}reinitializeColumnWidths(e){e.forEach(function(e){e.reinitializeWidth()})}},Io=class extends Po{constructor(e){super(e),this.leftCol=0,this.rightCol=0,this.scrollLeft=0,this.vDomScrollPosLeft=0,this.vDomScrollPosRight=0,this.vDomPadLeft=0,this.vDomPadRight=0,this.fitDataColAvg=0,this.windowBuffer=200,this.visibleRows=null,this.initialized=!1,this.isFitData=!1,this.columns=[]}initialize(){this.compatibilityCheck(),this.layoutCheck(),this.vertScrollListen()}compatibilityCheck(){this.options(`layout`)==`fitDataTable`&&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(e,t){this.dataChange()}scrollColumns(e,t){this.scrollLeft!=e&&(this.scrollLeft=e,this.scroll(e-(this.vDomScrollPosLeft+this.windowBuffer)))}calcWindowBuffer(){var e=this.elementVertical.clientWidth;this.table.columnManager.columnsByIndex.forEach(t=>{if(t.visible){var n=t.getWidth();n>e&&(e=n)}}),this.windowBuffer=e*2}rerenderColumns(e,t){var n={cols:this.columns,leftCol:this.leftCol,rightCol:this.rightCol},r=0;e&&!this.initialized||(this.clear(),this.calcWindowBuffer(),this.scrollLeft=this.elementVertical.scrollLeft,this.vDomScrollPosLeft=this.scrollLeft-this.windowBuffer,this.vDomScrollPosRight=this.scrollLeft+this.elementVertical.clientWidth+this.windowBuffer,this.table.columnManager.columnsByIndex.forEach(e=>{var t={},n;e.visible&&(e.modules.frozen||(n=e.getWidth(),t.leftPos=r,t.rightPos=r+n,t.width=n,this.isFitData&&(t.fitDataCheck=e.modules.vdomHoz?e.modules.vdomHoz.fitDataCheck:!0),r+n>this.vDomScrollPosLeft&&r<this.vDomScrollPosRight?(this.leftCol==-1&&(this.leftCol=this.columns.length,this.vDomPadLeft=r),this.rightCol=this.columns.length):this.leftCol!==-1&&(this.vDomPadRight+=n),this.columns.push(e),e.modules.vdomHoz=t,r+=n))}),this.tableElement.style.paddingLeft=this.vDomPadLeft+`px`,this.tableElement.style.paddingRight=this.vDomPadRight+`px`,this.initialized=!0,t||(!e||this.reinitChanged(n))&&this.reinitializeRows(),this.elementVertical.scrollLeft=this.scrollLeft)}renderRowCells(e){if(this.initialized)this.initializeRow(e);else{let t=document.createDocumentFragment();e.cells.forEach(e=>{t.appendChild(e.getElement())}),e.element.appendChild(t),e.cells.forEach(e=>{e.cellRendered()})}}rerenderRowCells(e,t){this.reinitializeRow(e,t)}reinitializeColumnWidths(e){for(let e=this.leftCol;e<=this.rightCol;e++){let t=this.columns[e];t&&t.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 e=!1,t,n;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],t)){n=t.getElement(),t.generateCells(),this.tableElement.appendChild(n);for(let e=0;e<t.cells.length;e++){let r=t.cells[e];n.appendChild(r.getElement()),r.column.reinitializeWidth()}n.parentNode.removeChild(n),this.rerenderColumns(!1,!0)}}else this.options(`layout`)===`fitColumns`&&(this.layoutRefresh(),this.rerenderColumns(!1,!0))}reinitChanged(e){var t=!0;return e.cols.length!==this.columns.length||e.leftCol!==this.leftCol||e.rightCol!==this.rightCol?!0:(e.cols.forEach((e,n)=>{e!==this.columns[n]&&(t=!1)}),!t)}reinitializeRows(){var e=this.getVisibleRows(),t=this.table.rowManager.getRows().filter(t=>!e.includes(t));e.forEach(e=>{this.reinitializeRow(e,!0)}),t.forEach(e=>{e.deinitialize()})}getVisibleRows(){return this.visibleRows||=this.table.rowManager.getVisibleRows(),this.visibleRows}scroll(e){this.vDomScrollPosLeft+=e,this.vDomScrollPosRight+=e,Math.abs(e)>this.windowBuffer/2?this.rerenderColumns():e>0?(this.addColRight(),this.removeColLeft()):(this.addColLeft(),this.removeColRight())}colPositionAdjust(e,t,n){for(let r=e;r<t;r++){let e=this.columns[r];e.modules.vdomHoz.leftPos+=n,e.modules.vdomHoz.rightPos+=n}}addColRight(){for(var e=!1,t=!0;t;){let n=this.columns[this.rightCol+1];n&&n.modules.vdomHoz.leftPos<=this.vDomScrollPosRight?(e=!0,this.getVisibleRows().forEach(e=>{if(e.type!==`group`){var t=e.getCell(n);e.getElement().insertBefore(t.getElement(),e.getCell(this.columns[this.rightCol]).getElement().nextSibling),t.cellRendered()}}),this.fitDataColActualWidthCheck(n),this.rightCol++,this.getVisibleRows().forEach(e=>{e.type!==`group`&&(e.modules.vdomHoz.rightCol=this.rightCol)}),this.rightCol>=this.columns.length-1?this.vDomPadRight=0:this.vDomPadRight-=n.getWidth()):t=!1}e&&(this.tableElement.style.paddingRight=this.vDomPadRight+`px`)}addColLeft(){for(var e=!1,t=!0;t;){let n=this.columns[this.leftCol-1];if(n)if(n.modules.vdomHoz.rightPos>=this.vDomScrollPosLeft){e=!0,this.getVisibleRows().forEach(e=>{if(e.type!==`group`){var t=e.getCell(n);e.getElement().insertBefore(t.getElement(),e.getCell(this.columns[this.leftCol]).getElement()),t.cellRendered()}}),this.leftCol--,this.getVisibleRows().forEach(e=>{e.type!==`group`&&(e.modules.vdomHoz.leftCol=this.leftCol)}),this.leftCol<=0?this.vDomPadLeft=0:this.vDomPadLeft-=n.getWidth();let t=this.fitDataColActualWidthCheck(n);t&&(this.scrollLeft=this.elementVertical.scrollLeft=this.elementVertical.scrollLeft+t,this.vDomPadRight-=t)}else t=!1;else t=!1}e&&(this.tableElement.style.paddingLeft=this.vDomPadLeft+`px`)}removeColRight(){for(var e=!1,t=!0;t;){let n=this.columns[this.rightCol];n&&n.modules.vdomHoz.leftPos>this.vDomScrollPosRight?(e=!0,this.getVisibleRows().forEach(e=>{if(e.type!==`group`){var t=e.getCell(n);try{e.getElement().removeChild(t.getElement())}catch(e){console.warn(`Could not removeColRight`,e.message)}}}),this.vDomPadRight+=n.getWidth(),this.rightCol--,this.getVisibleRows().forEach(e=>{e.type!==`group`&&(e.modules.vdomHoz.rightCol=this.rightCol)})):t=!1}e&&(this.tableElement.style.paddingRight=this.vDomPadRight+`px`)}removeColLeft(){for(var e=!1,t=!0;t;){let n=this.columns[this.leftCol];n&&n.modules.vdomHoz.rightPos<this.vDomScrollPosLeft?(e=!0,this.getVisibleRows().forEach(e=>{if(e.type!==`group`){var t=e.getCell(n);try{e.getElement().removeChild(t.getElement())}catch(e){console.warn(`Could not removeColLeft`,e.message)}}}),this.vDomPadLeft+=n.getWidth(),this.leftCol++,this.getVisibleRows().forEach(e=>{e.type!==`group`&&(e.modules.vdomHoz.leftCol=this.leftCol)})):t=!1}e&&(this.tableElement.style.paddingLeft=this.vDomPadLeft+`px`)}fitDataColActualWidthCheck(e){var t,n;return e.modules.vdomHoz.fitDataCheck&&(e.reinitializeWidth(),t=e.getWidth(),n=t-e.modules.vdomHoz.width,n&&(e.modules.vdomHoz.rightPos+=n,e.modules.vdomHoz.width=t,this.colPositionAdjust(this.columns.indexOf(e)+1,this.columns.length,n)),e.modules.vdomHoz.fitDataCheck=!1),n}initializeRow(e){if(e.type!==`group`){e.modules.vdomHoz={leftCol:this.leftCol,rightCol:this.rightCol},this.table.modules.frozenColumns&&this.table.modules.frozenColumns.leftColumns.forEach(t=>{this.appendCell(e,t)});for(let t=this.leftCol;t<=this.rightCol;t++)this.appendCell(e,this.columns[t]);this.table.modules.frozenColumns&&this.table.modules.frozenColumns.rightColumns.forEach(t=>{this.appendCell(e,t)})}}appendCell(e,t){if(t&&t.visible){let n=e.getCell(t);e.getElement().appendChild(n.getElement()),n.cellRendered()}}reinitializeRow(e,t){if(e.type!==`group`&&(t||!e.modules.vdomHoz||e.modules.vdomHoz.leftCol!==this.leftCol||e.modules.vdomHoz.rightCol!==this.rightCol)){for(var n=e.getElement();n.firstChild;)n.removeChild(n.firstChild);this.initializeRow(e)}}},Lo=class extends K{constructor(e){super(e),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 No(this.table,`column definition`,Ti),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(e){this.table.rtl?this.headersElement.style.marginLeft=e+`px`:this.headersElement.style.marginRight=e+`px`}initializeRenderer(){var e,t={virtual:Io,basic:Fo};e=typeof this.table.options.renderHorizontal==`string`?t[this.table.options.renderHorizontal]:this.table.options.renderHorizontal,e?(this.renderer=new e(this.table,this.element,this.tableElement),this.renderer.initialize()):console.error(`Unable to find matching renderer:`,this.table.options.renderHorizontal)}createHeadersElement(){var e=document.createElement(`div`);return e.classList.add(`tabulator-headers`),e.setAttribute(`role`,`row`),e}createHeaderContentsElement(){var e=document.createElement(`div`);return e.classList.add(`tabulator-header-contents`),e.setAttribute(`role`,`rowgroup`),e}createHeaderElement(){var e=document.createElement(`div`);return e.classList.add(`tabulator-header`),e.setAttribute(`role`,`rowgroup`),this.table.options.headerVisible||e.classList.add(`tabulator-header-hidden`),e}getElement(){return this.element}getContentsElement(){return this.contentsElement}getHeadersElement(){return this.headersElement}scrollHorizontal(e){this.contentsElement.scrollLeft=e,this.scrollLeft=e,this.renderer.scrollColumns(e)}initializeScrollWheelWatcher(){this.contentsElement.addEventListener(`wheel`,e=>{var t;e.deltaX&&(t=this.contentsElement.scrollLeft+e.deltaX,this.table.rowManager.scrollHorizontal(t),this.table.columnManager.scrollHorizontal(t))})}generateColumnsFromRowData(e){var t=[],n={},r=this.table.options.autoColumns===`full`?e:[e[0]],i=this.table.options.autoColumnsDefinitions;if(e&&e.length){if(r.forEach(e=>{Object.keys(e).forEach((r,i)=>{let a=e[r],o;n[r]?n[r]!==!0&&a!==void 0&&(n[r].sorter=this.calculateSorterFromValue(a),n[r]=!0):(o={field:r,title:r,sorter:this.calculateSorterFromValue(a)},t.splice(i,0,o),n[r]=a===void 0?o:!0)})}),i)switch(typeof i){case`function`:this.table.options.columns=i.call(this.table,t);break;case`object`:Array.isArray(i)?t.forEach(e=>{var t=i.find(t=>t.field===e.field);t&&Object.assign(e,t)}):t.forEach(e=>{i[e.field]&&Object.assign(e,i[e.field])}),this.table.options.columns=t;break}else this.table.options.columns=t;this.setColumns(this.table.options.columns)}}calculateSorterFromValue(e){var t;switch(typeof e){case`undefined`:t=`string`;break;case`boolean`:t=`boolean`;break;case`number`:t=`number`;break;case`object`:t=Array.isArray(e)?`array`:`string`;break;default:t=!isNaN(e)&&e!==``?`number`:e.match(/((^[0-9]+[a-z]+)|(^[a-z]+[0-9]+))+$/i)?`alphanum`:`string`;break}return t}setColumns(e,t){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 Ei(this.table.options.rowHeader===!0?{}:this.table.options.rowHeader,this,!0),this.columns.push(this.rowHeader),this.headersElement.appendChild(this.rowHeader.getElement()),this.rowHeader.columnRendered()),e.forEach((e,t)=>{this._addColumn(e)}),this._reIndexColumns(),this.dispatch(`columns-loaded`),this.subscribedExternal(`columnsLoaded`)&&this.dispatchExternal(`columnsLoaded`,this.getComponents()),this.rerenderColumns(!1,!0),this.redraw(!0)}_addColumn(e,t,n){var r=new Ei(e,this),i=r.getElement(),a=n&&this.findColumnIndex(n);if(t&&this.rowHeader&&(!n||n===this.rowHeader)&&(t=!1,n=this.rowHeader,a=0),n&&a>-1){var o=n.getTopColumn(),s=this.columns.indexOf(o),c=o.getElement();t?(this.columns.splice(s,0,r),c.parentNode.insertBefore(i,c)):(this.columns.splice(s+1,0,r),c.parentNode.insertBefore(i,c.nextSibling))}else t?(this.columns.unshift(r),this.headersElement.insertBefore(r.getElement(),this.headersElement.firstChild)):(this.columns.push(r),this.headersElement.appendChild(r.getElement()));return r.columnRendered(),r}registerColumnField(e){e.definition.field&&(this.columnsByField[e.definition.field]=e)}registerColumnPosition(e){this.columnsByIndex.push(e)}_reIndexColumns(){this.columnsByIndex=[],this.columns.forEach(function(e){e.reRegisterPosition()})}verticalAlignHeaders(){var e=0;this.redrawBlock||(this.headersElement.style.height=``,this.columns.forEach(e=>{e.clearVerticalAlign()}),this.columns.forEach(t=>{var n=t.getHeight();n>e&&(e=n)}),this.headersElement.style.height=e+`px`,this.columns.forEach(t=>{t.verticalAlign(this.table.options.columnHeaderVertAlign,e)}),this.table.rowManager.adjustTableSize())}findColumn(e){var t;if(typeof e==`object`){if(e instanceof Ei)return e;if(e instanceof wi)return e._getSelf()||!1;if(typeof HTMLElement<`u`&&e instanceof HTMLElement)return t=[],this.columns.forEach(e=>{t.push(e),t=t.concat(e.getColumns(!0))}),t.find(t=>t.element===e)||!1}else return this.columnsByField[e]||!1;return!1}getColumnByField(e){return this.columnsByField[e]}getColumnsByFieldRoot(e){var t=[];return Object.keys(this.columnsByField).forEach(n=>{(this.table.options.nestedFieldSeparator?n.split(this.table.options.nestedFieldSeparator)[0]:n)===e&&t.push(this.columnsByField[n])}),t}getColumnByIndex(e){return this.columnsByIndex[e]}getFirstVisibleColumn(){var e=this.columnsByIndex.findIndex(e=>e.visible);return e>-1?this.columnsByIndex[e]:!1}getVisibleColumnsByIndex(){return this.columnsByIndex.filter(e=>e.visible)}getColumns(){return this.columns}findColumnIndex(e){return this.columnsByIndex.findIndex(t=>e===t)}getRealColumns(){return this.columnsByIndex}traverse(e){this.columnsByIndex.forEach((t,n)=>{e(t,n)})}getDefinitions(e){var t=[];return this.columnsByIndex.forEach(n=>{(!e||e&&n.visible)&&t.push(n.getDefinition())}),t}getDefinitionTree(){var e=[];return this.columns.forEach(t=>{e.push(t.getDefinition(!0))}),e}getComponents(e){var t=[];return(e?this.columns:this.columnsByIndex).forEach(e=>{t.push(e.getComponent())}),t}getWidth(){var e=0;return this.columnsByIndex.forEach(t=>{t.visible&&(e+=t.getWidth())}),e}moveColumn(e,t,n){t.element.parentNode.insertBefore(e.element,t.element),n&&t.element.parentNode.insertBefore(t.element,e.element),this.moveColumnActual(e,t,n),this.verticalAlignHeaders(),this.table.rowManager.reinitialize()}moveColumnActual(e,t,n){e.parent.isGroup?this._moveColumnInArray(e.parent.columns,e,t,n):this._moveColumnInArray(this.columns,e,t,n),this._moveColumnInArray(this.columnsByIndex,e,t,n,!0),this.rerenderColumns(!0),this.dispatch(`column-moved`,e,t,n),this.subscribedExternal(`columnMoved`)&&this.dispatchExternal(`columnMoved`,e.getComponent(),this.table.columnManager.getComponents())}_moveColumnInArray(e,t,n,r,i){var a=e.indexOf(t),o,s=[];a>-1&&(e.splice(a,1),o=e.indexOf(n),o>-1?r&&(o+=1):o=a,e.splice(o,0,t),i&&(s=this.chain(`column-moving-rows`,[t,n,r],null,[])||[],s=s.concat(this.table.rowManager.rows),s.forEach(function(e){if(e.cells.length){var t=e.cells.splice(a,1)[0];e.cells.splice(o,0,t)}})))}scrollToColumn(e,t,n){var r=0,i=e.getLeftOffset(),a=0,o=e.getElement();return new Promise((s,c)=>{if(t===void 0&&(t=this.table.options.scrollToColumnPosition),n===void 0&&(n=this.table.options.scrollToColumnIfVisible),e.visible){switch(t){case`middle`:case`center`:a=-this.element.clientWidth/2;break;case`right`:a=o.clientWidth-this.headersElement.clientWidth;break}if(!n&&i>0&&i+o.offsetWidth<this.element.clientWidth)return!1;r=i+a,r=Math.max(Math.min(r,this.table.rowManager.element.scrollWidth-this.table.rowManager.element.clientWidth),0),this.table.rowManager.scrollHorizontal(r),this.scrollHorizontal(r),s()}else console.warn(`Scroll Error - Column not visible`),c(`Scroll Error - Column not visible`)})}generateCells(e){var t=[];return this.columnsByIndex.forEach(n=>{t.push(n.generateCell(e))}),t}getFlexBaseWidth(){var e=this.table.element.clientWidth,t=0;return this.table.rowManager.element.scrollHeight>this.table.rowManager.element.clientHeight&&(e-=this.table.rowManager.element.offsetWidth-this.table.rowManager.element.clientWidth),this.columnsByIndex.forEach(function(n){var r,i,a;n.visible&&(r=n.definition.width||0,i=parseInt(n.minWidth),a=typeof r==`string`?r.indexOf(`%`)>-1?e/100*parseInt(r):parseInt(r):r,t+=a>i?a:i)}),t}addColumn(e,t,n){return new Promise((r,i)=>{var a=this._addColumn(e,t,n);this._reIndexColumns(),this.dispatch(`column-add`,e,t,n),this.layoutMode()!=`fitColumns`&&a.reinitializeWidth(),this.redraw(!0),this.table.rowManager.reinitialize(),this.rerenderColumns(),r(a)})}deregisterColumn(e){var t=e.getField(),n;t&&delete this.columnsByField[t],n=this.columnsByIndex.indexOf(e),n>-1&&this.columnsByIndex.splice(n,1),n=this.columns.indexOf(e),n>-1&&this.columns.splice(n,1),this.verticalAlignHeaders(),this.redraw()}rerenderColumns(e,t){this.redrawBlock?(e===!1||e===!0&&this.redrawBlockUpdate===null)&&(this.redrawBlockUpdate=e):this.renderer.rerenderColumns(e,t)}blockRedraw(){this.redrawBlock=!0,this.redrawBlockUpdate=null}restoreRedraw(){this.redrawBlock=!1,this.verticalAlignHeaders(),this.renderer.rerenderColumns(this.redrawBlockUpdate)}redraw(e){q.elVisible(this.element)&&this.verticalAlignHeaders(),e&&(this.table.rowManager.resetScroll(),this.table.rowManager.reinitialize()),this.confirm(`table-redrawing`,e)||this.layoutRefresh(e),this.dispatch(`table-redraw`,e),this.table.footerManager.redraw()}},Ro=class extends Po{constructor(e){super(e),this.verticalFillMode=`fill`,this.scrollTop=0,this.scrollLeft=0,this.scrollTop=0,this.scrollLeft=0}clearRows(){for(var e=this.tableElement;e.firstChild;)e.removeChild(e.firstChild);e.scrollTop=0,e.scrollLeft=0,e.style.minWidth=``,e.style.minHeight=``,e.style.display=``,e.style.visibility=``}renderRows(){var e=this.tableElement,t=!0,n=document.createDocumentFragment(),r=this.rows();r.forEach((e,r)=>{this.styleRow(e,r),e.initialize(!1,!0),e.type!==`group`&&(t=!1),n.appendChild(e.getElement())}),e.appendChild(n),r.forEach(e=>{e.rendered(),e.heightInitialized||e.calcHeight(!0)}),r.forEach(e=>{e.heightInitialized||e.setCellHeight()}),t?e.style.minWidth=this.table.columnManager.getWidth()+`px`:e.style.minWidth=``}rerenderRows(e){this.clearRows(),e&&e(),this.renderRows(),this.rows().length||this.table.rowManager.tableEmpty()}scrollToRowNearestTop(e){var t=q.elOffset(e.getElement()).top;return!(Math.abs(this.elementVertical.scrollTop-t)>Math.abs(this.elementVertical.scrollTop+this.elementVertical.clientHeight-t))}scrollToRow(e){var t=e.getElement();this.elementVertical.scrollTop=q.elOffset(t).top-q.elOffset(this.elementVertical).top+this.elementVertical.scrollTop}visibleRows(e){return this.rows()}},zo=class extends Po{constructor(e){super(e),this.verticalFillMode=`fill`,this.scrollTop=0,this.scrollLeft=0,this.vDomRowHeight=20,this.vDomTop=0,this.vDomBottom=0,this.vDomScrollPosTop=0,this.vDomScrollPosBottom=0,this.vDomTopPad=0,this.vDomBottomPad=0,this.vDomMaxRenderChain=90,this.vDomWindowBuffer=0,this.vDomWindowMinTotalRows=20,this.vDomWindowMinMarginRows=5,this.vDomTopNewRows=[],this.vDomBottomNewRows=[]}clearRows(){for(var e=this.tableElement;e.firstChild;)e.removeChild(e.firstChild);e.style.paddingTop=``,e.style.paddingBottom=``,e.style.minHeight=``,e.style.display=``,e.style.visibility=``,this.elementVertical.scrollTop=0,this.elementVertical.scrollLeft=0,this.scrollTop=0,this.scrollLeft=0,this.vDomTop=0,this.vDomBottom=0,this.vDomTopPad=0,this.vDomBottomPad=0,this.vDomScrollPosTop=0,this.vDomScrollPosBottom=0}renderRows(){this._virtualRenderFill()}rerenderRows(e){for(var t=this.elementVertical.scrollTop,n=!1,r=!1,i=this.table.rowManager.scrollLeft,a=this.rows(),o=this.vDomTop;o<=this.vDomBottom;o++)if(a[o]){var s=t-a[o].getElement().offsetTop;if(r===!1||Math.abs(s)<r)r=s,n=o;else break}a.forEach(e=>{e.deinitializeHeight()}),e&&e(),this.rows().length?this._virtualRenderFill(n===!1?this.rows.length-1:n,!0,r||0):(this.clear(),this.table.rowManager.tableEmpty()),this.scrollColumns(i)}scrollColumns(e){this.table.rowManager.scrollHorizontal(e)}scrollRows(e,t){var n=e-this.vDomScrollPosTop,r=e-this.vDomScrollPosBottom,i=this.vDomWindowBuffer*2,a=this.rows();if(this.scrollTop=e,-n>i||r>i){var o=this.table.rowManager.scrollLeft;this._virtualRenderFill(Math.floor(this.elementVertical.scrollTop/this.elementVertical.scrollHeight*a.length)),this.scrollColumns(o)}else t?(n<0&&this._addTopRow(a,-n),r<0&&(this.vDomScrollHeight-this.scrollTop>this.vDomWindowBuffer?this._removeBottomRow(a,-r):this.vDomScrollPosBottom=this.scrollTop)):(r>=0&&this._addBottomRow(a,r),n>=0&&(this.scrollTop>this.vDomWindowBuffer?this._removeTopRow(a,n):this.vDomScrollPosTop=this.scrollTop))}resize(){this.vDomWindowBuffer=this.table.options.renderVerticalBuffer||this.elementVertical.clientHeight}scrollToRowNearestTop(e){var t=this.rows().indexOf(e);return!(Math.abs(this.vDomTop-t)>Math.abs(this.vDomBottom-t))}scrollToRow(e){var t=this.rows().indexOf(e);t>-1&&this._virtualRenderFill(t,!0)}visibleRows(e){var t=this.elementVertical.scrollTop,n=this.elementVertical.clientHeight+t,r=!1,i=0,a=0,o=this.rows();if(e)i=this.vDomTop,a=this.vDomBottom;else for(var s=this.vDomTop;s<=this.vDomBottom;s++)if(o[s])if(r)if(n-o[s].getElement().offsetTop>=0)a=s;else break;else if(t-o[s].getElement().offsetTop>=0)i=s;else if(r=!0,n-o[s].getElement().offsetTop>=0)a=s;else break;return o.slice(i,a+1)}_virtualRenderFill(e,t,n){var r=this.tableElement,i=this.elementVertical,a=0,o=0,s=0,c=0,l=0,u=0,d=this.rows(),f=d.length,p=0,m,h,g=[],_=0,v=0,y=this.table.rowManager.fixedHeight,b=this.elementVertical.clientHeight,x=this.table.options.rowHeight,S=!0;if(e||=0,n||=0,!e)this.clear();else{for(;r.firstChild;)r.removeChild(r.firstChild);c=(f-e+1)*this.vDomRowHeight,c<b&&(e-=Math.ceil((b-c)/this.vDomRowHeight),e<0&&(e=0)),a=Math.min(Math.max(Math.floor(this.vDomWindowBuffer/this.vDomRowHeight),this.vDomWindowMinMarginRows),e),e-=a}if(f&&q.elVisible(this.elementVertical)){for(this.vDomTop=e,this.vDomBottom=e-1,y||this.table.options.maxHeight?(x&&(v=b/x+this.vDomWindowBuffer/x),v=Math.max(this.vDomWindowMinTotalRows,Math.ceil(v))):v=f;(v==f||o<=b+this.vDomWindowBuffer||_<this.vDomWindowMinTotalRows)&&this.vDomBottom<f-1;){for(g=[],h=document.createDocumentFragment(),u=0;u<v&&this.vDomBottom<f-1;)p=this.vDomBottom+1,m=d[p],this.styleRow(m,p),m.initialize(!1,!0),!m.heightInitialized&&!this.table.options.rowHeight&&m.clearCellHeight(),h.appendChild(m.getElement()),g.push(m),this.vDomBottom++,u++;if(!g.length)break;r.appendChild(h),g.forEach(e=>{e.rendered(),e.heightInitialized||e.calcHeight(!0)}),g.forEach(e=>{e.heightInitialized||e.setCellHeight()}),g.forEach(e=>{s=e.getHeight(),_<a?l+=s:o+=s,s>this.vDomWindowBuffer&&(this.vDomWindowBuffer=s*2),_++}),S=this.table.rowManager.adjustTableSize(),b=this.elementVertical.clientHeight,S&&(y||this.table.options.maxHeight)&&(x=o/_,v=Math.max(this.vDomWindowMinTotalRows,Math.ceil(b/x+this.vDomWindowBuffer/x)))}e?(this.vDomTopPad=t?this.vDomRowHeight*this.vDomTop+n:this.scrollTop-l,this.vDomBottomPad=this.vDomBottom==f-1?0:Math.max(this.vDomScrollHeight-this.vDomTopPad-o-l,0)):(this.vDomTopPad=0,this.vDomRowHeight=Math.floor((o+l)/_),this.vDomBottomPad=this.vDomRowHeight*(f-this.vDomBottom-1),this.vDomScrollHeight=l+o+this.vDomBottomPad-b),r.style.paddingTop=this.vDomTopPad+`px`,r.style.paddingBottom=this.vDomBottomPad+`px`,t&&(this.scrollTop=this.vDomTopPad+l+n-(this.elementVertical.scrollWidth>this.elementVertical.clientWidth?this.elementVertical.offsetHeight-b:0)),this.scrollTop=Math.min(this.scrollTop,this.elementVertical.scrollHeight-b),this.elementVertical.scrollWidth>this.elementVertical.clientWidth&&t&&(this.scrollTop+=this.elementVertical.offsetHeight-b),this.vDomScrollPosTop=this.scrollTop,this.vDomScrollPosBottom=this.scrollTop,i.scrollTop=this.scrollTop,this.dispatch(`render-virtual-fill`)}}_addTopRow(e,t){for(var n=this.tableElement,r=[],i=0,a=this.vDomTop-1,o=0,s=!0;s;)if(this.vDomTop){let c=e[a],l,u;c&&o<this.vDomMaxRenderChain?(l=c.getHeight()||this.vDomRowHeight,u=c.initialized,t>=l?(this.styleRow(c,a),n.insertBefore(c.getElement(),n.firstChild),(!c.initialized||!c.heightInitialized)&&r.push(c),c.initialize(),u||(l=c.getElement().offsetHeight,l>this.vDomWindowBuffer&&(this.vDomWindowBuffer=l*2)),t-=l,i+=l,this.vDomTop--,a--,o++):s=!1):s=!1}else s=!1;for(let e of r)e.clearCellHeight();this._quickNormalizeRowHeight(r),i&&(this.vDomTopPad-=i,this.vDomTopPad<0&&(this.vDomTopPad=a*this.vDomRowHeight),a<1&&(this.vDomTopPad=0),n.style.paddingTop=this.vDomTopPad+`px`,this.vDomScrollPosTop-=i)}_removeTopRow(e,t){for(var n=[],r=0,i=0,a=!0;a;){let o=e[this.vDomTop],s;o&&i<this.vDomMaxRenderChain?(s=o.getHeight()||this.vDomRowHeight,t>=s?(this.vDomTop++,t-=s,r+=s,n.push(o),i++):a=!1):a=!1}for(let e of n){let t=e.getElement();t.parentNode&&t.parentNode.removeChild(t)}r&&(this.vDomTopPad+=r,this.tableElement.style.paddingTop=this.vDomTopPad+`px`,this.vDomScrollPosTop+=this.vDomTop?r:r+this.vDomWindowBuffer)}_addBottomRow(e,t){for(var n=this.tableElement,r=[],i=0,a=this.vDomBottom+1,o=0,s=!0;s;){let c=e[a],l,u;c&&o<this.vDomMaxRenderChain?(l=c.getHeight()||this.vDomRowHeight,u=c.initialized,t>=l?(this.styleRow(c,a),n.appendChild(c.getElement()),(!c.initialized||!c.heightInitialized)&&r.push(c),c.initialize(),u||(l=c.getElement().offsetHeight,l>this.vDomWindowBuffer&&(this.vDomWindowBuffer=l*2)),t-=l,i+=l,this.vDomBottom++,a++,o++):s=!1):s=!1}for(let e of r)e.clearCellHeight();this._quickNormalizeRowHeight(r),i&&(this.vDomBottomPad-=i,(this.vDomBottomPad<0||a==e.length-1)&&(this.vDomBottomPad=0),n.style.paddingBottom=this.vDomBottomPad+`px`,this.vDomScrollPosBottom+=i)}_removeBottomRow(e,t){for(var n=[],r=0,i=0,a=!0;a;){let o=e[this.vDomBottom],s;o&&i<this.vDomMaxRenderChain?(s=o.getHeight()||this.vDomRowHeight,t>=s?(this.vDomBottom--,t-=s,r+=s,n.push(o),i++):a=!1):a=!1}for(let e of n){let t=e.getElement();t.parentNode&&t.parentNode.removeChild(t)}r&&(this.vDomBottomPad+=r,this.vDomBottomPad<0&&(this.vDomBottomPad=0),this.tableElement.style.paddingBottom=this.vDomBottomPad+`px`,this.vDomScrollPosBottom-=r)}_quickNormalizeRowHeight(e){for(let t of e)t.calcHeight();for(let t of e)t.setCellHeight()}},Bo=class extends K{constructor(e){super(e),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 e=document.createElement(`div`);return e.classList.add(`tabulator-tableholder`),e.setAttribute(`tabindex`,0),e}createTableElement(){var e=document.createElement(`div`);return e.classList.add(`tabulator-table`),e.setAttribute(`role`,`rowgroup`),e}initializePlaceholder(){var e=this.table.options.placeholder;if(typeof e==`function`&&(e=e.call(this.table)),e=this.chain(`placeholder`,[e],e,e)||e,e){let t=document.createElement(`div`);if(t.classList.add(`tabulator-placeholder`),typeof e==`string`){let n=document.createElement(`div`);n.classList.add(`tabulator-placeholder-contents`),n.innerHTML=e,t.appendChild(n),this.placeholderContents=n}else typeof HTMLElement<`u`&&e instanceof HTMLElement?(t.appendChild(e),this.placeholderContents=e):(console.warn(`Invalid placeholder provided, must be string or HTML Element`,e),this.el=null);this.placeholder=t}}getElement(){return this.element}getTableElement(){return this.tableElement}initialize(){this.initializePlaceholder(),this.initializeRenderer(),this.element.appendChild(this.tableElement),this.firstRender=!0,this.element.addEventListener(`scroll`,()=>{var e=this.element.scrollLeft,t=this.scrollLeft>e,n=this.element.scrollTop,r=this.scrollTop>n;this.scrollLeft!=e&&(this.scrollLeft=e,this.dispatch(`scroll-horizontal`,e,t),this.dispatchExternal(`scrollHorizontal`,e,t),this._positionPlaceholder()),this.scrollTop!=n&&(this.scrollTop=n,this.renderer.scrollRows(n,r),this.dispatch(`scroll-vertical`,n,r),this.dispatchExternal(`scrollVertical`,n,r))})}findRow(e){if(typeof e==`object`){if(e instanceof Y)return e;if(e instanceof Di)return e._getSelf()||!1;if(typeof HTMLElement<`u`&&e instanceof HTMLElement)return this.rows.find(t=>t.getElement()===e)||!1;if(e===null)return!1}else if(e===void 0)return!1;else return this.rows.find(t=>t.data[this.table.options.index]==e)||!1;return!1}getRowFromDataObject(e){return this.rows.find(t=>t.data===e)||!1}getRowFromPosition(e){return this.getDisplayRows().find(t=>t.type===`row`&&t.getPosition()===e&&t.isDisplayed())}scrollToRow(e,t,n){return this.renderer.scrollToRowPosition(e,t,n)}setData(e,t,n){return new Promise((r,i)=>{t&&this.getDisplayRows().length?this.table.options.pagination?this._setDataActual(e,!0):this.reRenderInPosition(()=>{this._setDataActual(e)}):(this.table.options.autoColumns&&n&&this.table.initialized&&this.table.columnManager.generateColumnsFromRowData(e),this.resetScroll(),this._setDataActual(e)),r()})}_setDataActual(e,t){this.dispatchExternal(`dataProcessing`,e),this._wipeElements(),Array.isArray(e)?(this.dispatch(`data-processing`,e),e.forEach((e,t)=>{if(e&&typeof e==`object`){var n=new Y(e,this);this.rows.push(n)}else console.warn(`Data Loading Warning - Invalid row data detected and ignored, expecting object but received:`,e)}),this.refreshActiveData(!1,!1,t),this.dispatch(`data-processed`,e),this.dispatchExternal(`dataProcessed`,e)):console.error(`Data Loading Error - Unable to process data due to invalid data type
Expecting: array
Received: `,typeof e,`
Data: `,e)}_wipeElements(){this.dispatch(`rows-wipe`),this.destroy(),this.adjustTableSize(),this.dispatch(`rows-wiped`)}destroy(){this.rows.forEach(e=>{e.wipe()}),this.rows=[],this.activeRows=[],this.activeRowsPipeline=[],this.activeRowsCount=0,this.displayRows=[],this.displayRowsCount=0}deleteRow(e,t){var n=this.rows.indexOf(e),r=this.activeRows.indexOf(e);r>-1&&this.activeRows.splice(r,1),n>-1&&this.rows.splice(n,1),this.setActiveRows(this.activeRows),this.displayRowIterator(t=>{var n=t.indexOf(e);n>-1&&t.splice(n,1)}),t||this.reRenderInPosition(),this.regenerateRowPositions(),this.dispatchExternal(`rowDeleted`,e.getComponent()),this.displayRowsCount||this.tableEmpty(),this.subscribedExternal(`dataChanged`)&&this.dispatchExternal(`dataChanged`,this.getData())}addRow(e,t,n,r){return this.addRowActual(e,t,n,r)}addRows(e,t,n,r){var i=[];return new Promise((a,o)=>{t=this.findAddRowPos(t),Array.isArray(e)||(e=[e]),(n===void 0&&t||n!==void 0&&!t)&&e.reverse(),e.forEach((e,r)=>{var a=this.addRow(e,t,n,!0);i.push(a),this.dispatch(`row-added`,a,e,t,n)}),this.refreshActiveData(r?`displayPipeline`:!1,!1,!0),this.regenerateRowPositions(),this.displayRowsCount&&this._clearPlaceholder(),a(i)})}findAddRowPos(e){return e===void 0&&(e=this.table.options.addRowPos),e===`pos`&&(e=!0),e===`bottom`&&(e=!1),e}addRowActual(e,t,n,r){var i=e instanceof Y?e:new Y(e||{},this),a=this.findAddRowPos(t),o=-1,s,c;return n||(c=this.chain(`row-adding-position`,[i,a],null,{index:n,top:a}),n=c.index,a=c.top),n!==void 0&&(n=this.findRow(n)),n=this.chain(`row-adding-index`,[i,n,a],null,n),n&&(o=this.rows.indexOf(n)),n&&o>-1?(s=this.activeRows.indexOf(n),this.displayRowIterator(function(e){var t=e.indexOf(n);t>-1&&e.splice(a?t:t+1,0,i)}),s>-1&&this.activeRows.splice(a?s:s+1,0,i),this.rows.splice(a?o:o+1,0,i)):a?(this.displayRowIterator(function(e){e.unshift(i)}),this.activeRows.unshift(i),this.rows.unshift(i)):(this.displayRowIterator(function(e){e.push(i)}),this.activeRows.push(i),this.rows.push(i)),this.setActiveRows(this.activeRows),this.dispatchExternal(`rowAdded`,i.getComponent()),this.subscribedExternal(`dataChanged`)&&this.dispatchExternal(`dataChanged`,this.table.rowManager.getData()),r||this.reRenderInPosition(),i}moveRow(e,t,n){this.dispatch(`row-move`,e,t,n),this.moveRowActual(e,t,n),this.regenerateRowPositions(),this.dispatch(`row-moved`,e,t,n),this.dispatchExternal(`rowMoved`,e.getComponent())}moveRowActual(e,t,n){this.moveRowInArray(this.rows,e,t,n),this.moveRowInArray(this.activeRows,e,t,n),this.displayRowIterator(r=>{this.moveRowInArray(r,e,t,n)}),this.dispatch(`row-moving`,e,t,n)}moveRowInArray(e,t,n,r){var i,a,o,s;if(t!==n&&(i=e.indexOf(t),i>-1&&(e.splice(i,1),a=e.indexOf(n),a>-1?r?e.splice(a+1,0,t):e.splice(a,0,t):e.splice(i,0,t)),e===this.getDisplayRows())){o=i<a?i:a,s=a>i?a:i+1;for(let t=o;t<=s;t++)e[t]&&this.styleRow(e[t],t)}}clearData(){this.setData([])}getRowIndex(e){return this.findRowIndex(e,this.rows)}getDisplayRowIndex(e){var t=this.getDisplayRows().indexOf(e);return t>-1?t:!1}nextDisplayRow(e,t){var n=this.getDisplayRowIndex(e),r=!1;return n!==!1&&n<this.displayRowsCount-1&&(r=this.getDisplayRows()[n+1]),r&&(!(r instanceof Y)||r.type!=`row`)?this.nextDisplayRow(r,t):r}prevDisplayRow(e,t){var n=this.getDisplayRowIndex(e),r=!1;return n&&(r=this.getDisplayRows()[n-1]),t&&r&&(!(r instanceof Y)||r.type!=`row`)?this.prevDisplayRow(r,t):r}findRowIndex(e,t){var n;return e=this.findRow(e),e&&(n=t.indexOf(e),n>-1)?n:!1}getData(e,t){var n=[];return this.getRows(e).forEach(function(e){e.type==`row`&&n.push(e.getData(t||`data`))}),n}getComponents(e){var t=[];return this.getRows(e).forEach(function(e){t.push(e.getComponent())}),t}getDataCount(e){return this.getRows(e).length}scrollHorizontal(e){this.scrollLeft=e,this.element.scrollLeft=e,this.dispatch(`scroll-horizontal`,e)}registerDataPipelineHandler(e,t){t===void 0?console.error(`Data pipeline handlers must have a priority in order to be registered`):(this.dataPipeline.push({handler:e,priority:t}),this.dataPipeline.sort((e,t)=>e.priority-t.priority))}registerDisplayPipelineHandler(e,t){t===void 0?console.error(`Display pipeline handlers must have a priority in order to be registered`):(this.displayPipeline.push({handler:e,priority:t}),this.displayPipeline.sort((e,t)=>e.priority-t.priority))}refreshActiveData(e,t,n){var r=this.table,i=``,a=0,o=[`all`,`dataPipeline`,`display`,`displayPipeline`,`end`];if(!this.table.destroyed){if(typeof e==`function`)if(a=this.dataPipeline.findIndex(t=>t.handler===e),a>-1)i=`dataPipeline`,t&&(a==this.dataPipeline.length-1?i=`display`:a++);else if(a=this.displayPipeline.findIndex(t=>t.handler===e),a>-1)i=`displayPipeline`,t&&(a==this.displayPipeline.length-1?i=`end`:a++);else{console.error(`Unable to refresh data, invalid handler provided`,e);return}else i=e||`all`,a=0;if(this.redrawBlock){(!this.redrawBlockRestoreConfig||this.redrawBlockRestoreConfig&&(this.redrawBlockRestoreConfig.stage===i&&a<this.redrawBlockRestoreConfig.index||o.indexOf(i)<o.indexOf(this.redrawBlockRestoreConfig.stage)))&&(this.redrawBlockRestoreConfig={handler:e,skipStage:t,renderInPosition:n,stage:i,index:a});return}else q.elVisible(this.element)?n?this.reRenderInPosition(this.refreshPipelines.bind(this,e,i,a,n)):(this.refreshPipelines(e,i,a,n),e||this.table.columnManager.renderer.renderColumns(),this.renderTable(),r.options.layoutColumnsOnNewData&&this.table.columnManager.redraw(!0)):this.refreshPipelines(e,i,a,n),this.dispatch(`data-refreshed`)}}refreshPipelines(e,t,n,r){switch(this.dispatch(`data-refreshing`),(!e||!this.activeRowsPipeline[0])&&(this.activeRowsPipeline[0]=this.rows.slice(0)),t){case`all`:case`dataPipeline`:for(let e=n;e<this.dataPipeline.length;e++){let t=this.dataPipeline[e].handler(this.activeRowsPipeline[e].slice(0));this.activeRowsPipeline[e+1]=t||this.activeRowsPipeline[e].slice(0)}this.setActiveRows(this.activeRowsPipeline[this.dataPipeline.length]);case`display`:n=0,this.resetDisplayRows();case`displayPipeline`:for(let e=n;e<this.displayPipeline.length;e++){let t=this.displayPipeline[e].handler((e?this.getDisplayRows(e-1):this.activeRows).slice(0),r);this.setDisplayRows(t||this.getDisplayRows(e-1).slice(0),e)}case`end`:this.regenerateRowPositions()}this.getDisplayRows().length&&this._clearPlaceholder()}regenerateRowPositions(){var e=this.getDisplayRows(),t=1;e.forEach(e=>{e.type===`row`&&(e.setPosition(t),t++)})}setActiveRows(e){this.activeRows=this.activeRows=Object.assign([],e),this.activeRowsCount=this.activeRows.length}resetDisplayRows(){this.displayRows=[],this.displayRows.push(this.activeRows.slice(0)),this.displayRowsCount=this.displayRows[0].length}setDisplayRows(e,t){this.displayRows[t]=e,t==this.displayRows.length-1&&(this.displayRowsCount=this.displayRows[this.displayRows.length-1].length)}getDisplayRows(e){return e===void 0?this.displayRows.length?this.displayRows[this.displayRows.length-1]:[]:this.displayRows[e]||[]}getVisibleRows(e,t){var n=Object.assign([],this.renderer.visibleRows(!t));return e&&(n=this.chain(`rows-visible`,[t],n,n)),n}displayRowIterator(e){this.activeRowsPipeline.forEach(e),this.displayRows.forEach(e),this.displayRowsCount=this.displayRows[this.displayRows.length-1].length}getRows(e){var t=[];switch(e){case`active`:t=this.activeRows;break;case`display`:t=this.table.rowManager.getDisplayRows();break;case`visible`:t=this.getVisibleRows(!1,!0);break;default:t=this.chain(`rows-retrieve`,e,null,this.rows)||this.rows}return t}reRenderInPosition(e){this.redrawBlock?e?e():this.redrawBlockRenderInPosition=!0:(this.dispatchExternal(`renderStarted`),this.renderer.rerenderRows(e),this.fixedHeight||this.adjustTableSize(),this.scrollBarCheck(),this.dispatchExternal(`renderComplete`))}scrollBarCheck(){var e=0;this.element.scrollHeight>this.element.clientHeight&&(e=this.element.offsetWidth-this.element.clientWidth),e!==this.scrollbarWidth&&(this.scrollbarWidth=e,this.dispatch(`scrollbar-vertical`,e))}initializeRenderer(){var e,t={virtual:zo,basic:Ro};e=typeof this.table.options.renderVertical==`string`?t[this.table.options.renderVertical]:this.table.options.renderVertical,e?(this.renderMode=this.table.options.renderVertical,this.renderer=new e(this.table,this.element,this.tableElement),this.renderer.initialize(),(this.table.element.clientHeight||this.table.options.height)&&!(this.table.options.minHeight&&this.table.options.maxHeight)?this.fixedHeight=!0:this.fixedHeight=!1):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(e,t){var n=e.getElement();t%2?(n.classList.add(`tabulator-row-even`),n.classList.remove(`tabulator-row-odd`)):(n.classList.add(`tabulator-row-odd`),n.classList.remove(`tabulator-row-even`))}normalizeHeight(e){this.activeRows.forEach(function(t){t.normalizeHeight(e)})}adjustTableSize(){let e=this.element.clientHeight,t,n=!1;if(this.renderer.verticalFillMode===`fill`){let r=Math.floor(this.table.columnManager.getElement().getBoundingClientRect().height+(this.table.footerManager&&this.table.footerManager.active&&!this.table.footerManager.external?this.table.footerManager.getElement().getBoundingClientRect().height:0));if(this.fixedHeight){t=isNaN(this.table.options.minHeight)?this.table.options.minHeight:this.table.options.minHeight+`px`;let e=`calc(100% - `+r+`px)`;this.element.style.minHeight=t||`calc(100% - `+r+`px)`,this.element.style.height=e,this.element.style.maxHeight=e}else this.element.style.height=``,this.element.style.height=this.table.element.clientHeight-r+`px`,this.element.scrollTop=this.scrollTop;this.renderer.resize(),!this.fixedHeight&&e!=this.element.clientHeight&&(n=!0,this.subscribed(`table-resize`)?this.dispatch(`table-resize`):this.redraw()),this.scrollBarCheck()}return this._positionPlaceholder(),n}reinitialize(){this.rows.forEach(function(e){e.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(e){this.adjustTableSize(),this.table.tableWidth=this.table.element.clientWidth,e?this.renderTable():(this.reRenderInPosition(),this.scrollHorizontal(this.scrollLeft))}resetScroll(){if(this.element.scrollLeft=0,this.element.scrollTop=0,this.table.browser===`ie`){var e=document.createEvent(`Event`);e.initEvent(`scroll`,!1,!0),this.element.dispatchEvent(e)}else this.element.dispatchEvent(new Event(`scroll`))}},Vo=class extends K{constructor(e){super(e),this.active=!1,this.element=this.createElement(),this.containerElement=this.createContainerElement(),this.external=!1}initialize(){this.initializeElement()}createElement(){var e=document.createElement(`div`);return e.classList.add(`tabulator-footer`),e}createContainerElement(){var e=document.createElement(`div`);return e.classList.add(`tabulator-footer-contents`),this.element.appendChild(e),e}initializeElement(){if(this.table.options.footerElement)switch(typeof this.table.options.footerElement){case`string`:this.table.options.footerElement[0]===`<`?this.containerElement.innerHTML=this.table.options.footerElement:(this.external=!0,this.containerElement=document.querySelector(this.table.options.footerElement));break;default:this.element=this.table.options.footerElement;break}}getElement(){return this.element}append(e){this.activate(),this.containerElement.appendChild(e),this.table.rowManager.adjustTableSize()}prepend(e){this.activate(),this.element.insertBefore(e,this.element.firstChild),this.table.rowManager.adjustTableSize()}remove(e){e.parentNode.removeChild(e),this.deactivate()}deactivate(e){(!this.element.firstChild||e)&&(this.external||this.element.parentNode.removeChild(this.element),this.active=!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`)}},Ho=class extends K{constructor(e){super(e),this.el=null,this.abortClasses=[`tabulator-headers`,`tabulator-table`],this.previousTargets={},this.listeners=[`click`,`dblclick`,`contextmenu`,`mouseenter`,`mouseleave`,`mouseover`,`mouseout`,`mousemove`,`mouseup`,`mousedown`,`touchstart`,`touchend`],this.componentMap={"tabulator-cell":`cell`,"tabulator-row":`row`,"tabulator-group":`group`,"tabulator-col":`column`},this.pseudoTrackers={row:{subscriber:null,target:null},cell:{subscriber:null,target:null},group:{subscriber:null,target:null},column:{subscriber:null,target:null}},this.pseudoTracking=!1}initialize(){this.el=this.table.element,this.buildListenerMap(),this.bindSubscriptionWatchers()}buildListenerMap(){var e={};this.listeners.forEach(t=>{e[t]={handler:null,components:[]}}),this.listeners=e}bindPseudoEvents(){Object.keys(this.pseudoTrackers).forEach(e=>{this.pseudoTrackers[e].subscriber=this.pseudoMouseEnter.bind(this,e),this.subscribe(e+`-mouseover`,this.pseudoTrackers[e].subscriber)}),this.pseudoTracking=!0}pseudoMouseEnter(e,t,n){this.pseudoTrackers[e].target!==n&&(this.pseudoTrackers[e].target&&this.dispatch(e+`-mouseleave`,t,this.pseudoTrackers[e].target),this.pseudoMouseLeave(e,t),this.pseudoTrackers[e].target=n,this.dispatch(e+`-mouseenter`,t,n))}pseudoMouseLeave(e,t){var n=Object.keys(this.pseudoTrackers),r={row:[`cell`],cell:[`row`]};n=n.filter(t=>{var n=r[e];return t!==e&&(!n||n&&!n.includes(t))}),n.forEach(e=>{var n=this.pseudoTrackers[e].target;this.pseudoTrackers[e].target&&(this.dispatch(e+`-mouseleave`,t,n),this.pseudoTrackers[e].target=null)})}bindSubscriptionWatchers(){var e=Object.keys(this.listeners),t=Object.values(this.componentMap);for(let n of t)for(let t of e){let e=n+`-`+t;this.subscriptionChange(e,this.subscriptionChanged.bind(this,n,t))}this.subscribe(`table-destroy`,this.clearWatchers.bind(this))}subscriptionChanged(e,t,n){var r=this.listeners[t].components,i=r.indexOf(e),a=!1;n?i===-1&&(r.push(e),a=!0):this.subscribed(e+`-`+t)||i>-1&&(r.splice(i,1),a=!0),(t===`mouseenter`||t===`mouseleave`)&&!this.pseudoTracking&&this.bindPseudoEvents(),a&&this.updateEventListeners()}updateEventListeners(){for(let e in this.listeners){let t=this.listeners[e];t.components.length?t.handler||(t.handler=this.track.bind(this,e),this.el.addEventListener(e,t.handler)):t.handler&&=(this.el.removeEventListener(e,t.handler),null)}}track(e,t){var n=t.composedPath&&t.composedPath()||t.path,r=this.findTargets(n);r=this.bindComponents(e,r),this.triggerEvents(e,t,r),this.pseudoTracking&&(e==`mouseover`||e==`mouseleave`)&&!Object.keys(r).length&&this.pseudoMouseLeave(`none`,t)}findTargets(e){var t={};let n=Object.keys(this.componentMap);for(let r of e){let e=r.classList?[...r.classList]:[];if(e.filter(e=>this.abortClasses.includes(e)).length)break;let i=e.filter(e=>n.includes(e));for(let e of i)t[this.componentMap[e]]||(t[this.componentMap[e]]=r)}return t.group&&t.group===t.row&&delete t.row,t}bindComponents(e,t){var n=Object.keys(t).reverse(),r=this.listeners[e],i={},a={},o={};for(let e of n){let n,a=t[e],s=this.previousTargets[e];if(s&&s.target===a)n=s.component;else switch(e){case`row`:case`group`:(r.components.includes(`row`)||r.components.includes(`cell`)||r.components.includes(`group`))&&(n=this.table.rowManager.getVisibleRows(!0).find(e=>e.getElement()===a),t.row&&t.row.parentNode&&t.row.parentNode.closest(`.tabulator-row`)&&(t[e]=!1));break;case`column`:r.components.includes(`column`)&&(n=this.table.columnManager.findColumn(a));break;case`cell`:r.components.includes(`cell`)&&(i.row instanceof Y?n=i.row.findCell(a):t.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?`));break}n&&(i[e]=n,o[e]={target:a,component:n})}return this.previousTargets=o,Object.keys(t).forEach(e=>{a[e]=i[e]}),a}triggerEvents(e,t,n){var r=this.listeners[e];for(let i in n)n[i]&&r.components.includes(i)&&this.dispatch(i+`-`+e,t,n[i])}clearWatchers(){for(let e in this.listeners){let t=this.listeners[e];t.handler&&=(this.el.removeEventListener(e,t.handler),null)}}},Uo=class{constructor(e){this.table=e,this.bindings={}}bind(e,t,n){this.bindings[e]||(this.bindings[e]={}),this.bindings[e][t]?console.warn(`Unable to bind component handler, a matching function name is already bound`,e,t,n):this.bindings[e][t]=n}handle(e,t,n){if(this.bindings[e]&&this.bindings[e][n]&&typeof this.bindings[e][n].bind==`function`)return this.bindings[e][n].bind(null,t);n!==`then`&&typeof n==`string`&&!n.startsWith(`_`)&&this.table.options.debugInvalidComponentFuncs&&console.error(`The `+e+` component does not have a `+n+` function, have you checked that you have the correct Tabulator module installed?`)}},Wo=class extends K{constructor(e){super(e),this.requestOrder=0,this.loading=!1}initialize(){}load(e,t,n,r,i,a){var o=++this.requestOrder;return this.table.destroyed?Promise.resolve():(this.dispatchExternal(`dataLoading`,e),e&&(e.indexOf(`{`)==0||e.indexOf(`[`)==0)&&(e=JSON.parse(e)),this.confirm(`data-loading`,[e,t,n,i])?(this.loading=!0,i||this.alertLoader(),t=this.chain(`data-params`,[e,n,i],t||{},t||{}),t=this.mapParams(t,this.table.options.dataSendParams),this.chain(`data-load`,[e,t,n,i],!1,Promise.resolve([])).then(e=>{if(this.table.destroyed)console.warn(`Data Load Response Blocked - Table has been destroyed`);else{!Array.isArray(e)&&typeof e==`object`&&(e=this.mapParams(e,this.objectInvert(this.table.options.dataReceiveParams)));var t=this.chain(`data-loaded`,[e],null,e);o==this.requestOrder?(this.clearAlert(),t!==!1&&(this.dispatchExternal(`dataLoaded`,t),this.table.rowManager.setData(t,r,a===void 0?!r:a))):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(e=>{console.error(`Data Load Error: `,e),this.dispatchExternal(`dataLoadError`,e),i||this.alertError(),setTimeout(()=>{this.clearAlert()},this.table.options.dataLoaderErrorTimeout)}).finally(()=>{this.loading=!1})):(this.dispatchExternal(`dataLoaded`,e),e||=[],this.table.rowManager.setData(e,r,a===void 0?!r:a),Promise.resolve()))}mapParams(e,t){var n={};for(let r in e)n[t.hasOwnProperty(r)?t[r]:r]=e[r];return n}objectInvert(e){var t={};for(let n in e)t[e[n]]=n;return t}blockActiveLoad(){this.requestOrder++}alertLoader(){(typeof this.table.options.dataLoader==`function`?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()}},Go=class{constructor(e,t,n){this.table=e,this.events={},this.optionsList=t||{},this.subscriptionNotifiers={},this.dispatch=n?this._debugDispatch.bind(this):this._dispatch.bind(this),this.debug=n}subscriptionChange(e,t){this.subscriptionNotifiers[e]||(this.subscriptionNotifiers[e]=[]),this.subscriptionNotifiers[e].push(t),this.subscribed(e)&&this._notifySubscriptionChange(e,!0)}subscribe(e,t){this.events[e]||(this.events[e]=[]),this.events[e].push(t),this._notifySubscriptionChange(e,!0)}unsubscribe(e,t){var n;if(this.events[e])if(t)if(n=this.events[e].findIndex(e=>e===t),n>-1)this.events[e].splice(n,1);else{console.warn(`Cannot remove event, no matching event found:`,e,t);return}else delete this.events[e];else{console.warn(`Cannot remove event, no events set on:`,e);return}this._notifySubscriptionChange(e,!1)}subscribed(e){return this.events[e]&&this.events[e].length}_notifySubscriptionChange(e,t){var n=this.subscriptionNotifiers[e];n&&n.forEach(e=>{e(t)})}_dispatch(){var e=Array.from(arguments),t=e.shift(),n;return this.events[t]&&this.events[t].forEach((t,r)=>{let i=t.apply(this.table,e);r||(n=i)}),n}_debugDispatch(){var e=Array.from(arguments),t=e[0];return e[0]=`ExternalEvent:`+e[0],(this.debug===!0||this.debug.includes(t))&&console.log(...e),this._dispatch(...arguments)}},Ko=class{constructor(e){this.events={},this.subscriptionNotifiers={},this.dispatch=e?this._debugDispatch.bind(this):this._dispatch.bind(this),this.chain=e?this._debugChain.bind(this):this._chain.bind(this),this.confirm=e?this._debugConfirm.bind(this):this._confirm.bind(this),this.debug=e}subscriptionChange(e,t){this.subscriptionNotifiers[e]||(this.subscriptionNotifiers[e]=[]),this.subscriptionNotifiers[e].push(t),this.subscribed(e)&&this._notifySubscriptionChange(e,!0)}subscribe(e,t,n=1e4){this.events[e]||(this.events[e]=[]),this.events[e].push({callback:t,priority:n}),this.events[e].sort((e,t)=>e.priority-t.priority),this._notifySubscriptionChange(e,!0)}unsubscribe(e,t){var n;if(this.events[e]){if(t)if(n=this.events[e].findIndex(e=>e.callback===t),n>-1)this.events[e].splice(n,1);else{console.warn(`Cannot remove event, no matching event found:`,e,t);return}}else{console.warn(`Cannot remove event, no events set on:`,e);return}this._notifySubscriptionChange(e,!1)}subscribed(e){return this.events[e]&&this.events[e].length}_chain(e,t,n,r){var i=n;return Array.isArray(t)||(t=[t]),this.subscribed(e)?(this.events[e].forEach((e,n)=>{i=e.callback.apply(this,t.concat([i]))}),i):typeof r==`function`?r():r}_confirm(e,t){var n=!1;return Array.isArray(t)||(t=[t]),this.subscribed(e)&&this.events[e].forEach((e,r)=>{e.callback.apply(this,t)&&(n=!0)}),n}_notifySubscriptionChange(e,t){var n=this.subscriptionNotifiers[e];n&&n.forEach(e=>{e(t)})}_dispatch(){var e=Array.from(arguments),t=e.shift();this.events[t]&&this.events[t].forEach(t=>{t.callback.apply(this,e)})}_debugDispatch(){var e=Array.from(arguments),t=e[0];return e[0]=`InternalEvent:`+t,(this.debug===!0||this.debug.includes(t))&&console.log(...e),this._dispatch(...arguments)}_debugChain(){var e=Array.from(arguments),t=e[0];return e[0]=`InternalEvent:`+t,(this.debug===!0||this.debug.includes(t))&&console.log(...e),this._chain(...arguments)}_debugConfirm(){var e=Array.from(arguments),t=e[0];return e[0]=`InternalEvent:`+t,(this.debug===!0||this.debug.includes(t))&&console.log(...e),this._confirm(...arguments)}},qo=class extends K{constructor(e){super(e)}_warnUser(){this.options(`debugDeprecation`)&&console.warn(...arguments)}check(e,t,n){var r=``;return this.options(e)===void 0?!0:(r=`Deprecated Setup Option - Use of the %c`+e+`%c option is now deprecated`,t?(r=r+`, Please use the %c`+t+`%c option instead`,this._warnUser(r,`font-weight: bold;`,`font-weight: normal;`,`font-weight: bold;`,`font-weight: normal;`),n&&(this.table.options[t]=this.table.options[e])):this._warnUser(r,`font-weight: bold;`,`font-weight: normal;`),!1)}checkMsg(e,t){return this.options(e)===void 0?!0:(this._warnUser(`%cDeprecated Setup Option - Use of the %c`+e+` %c option is now deprecated, `+t,`font-weight: normal;`,`font-weight: bold;`,`font-weight: normal;`),!1)}msg(e){this._warnUser(e)}},Jo=class extends K{constructor(e){super(e),this.deps={},this.props={}}initialize(){this.deps=Object.assign({},this.options(`dependencies`))}lookup(e,t,n){if(Array.isArray(e)){for(let n of e){var r=this.lookup(n,t,!0);if(r)break}if(r)return r;this.error(e)}else if(t)return this.lookupProp(e,t,n);else return this.lookupKey(e,n)}lookupProp(e,t,n){var r;if(this.props[e]&&this.props[e][t])return this.props[e][t];if(r=this.lookupKey(e,n),r)return this.props[e]||(this.props[e]={}),this.props[e][t]=r[t]||r,this.props[e][t]}lookupKey(e,t){var n;return this.deps[e]?n=this.deps[e]:window[e]?(this.deps[e]=window[e],n=this.deps[e]):t||this.error(e),n}error(e){console.error(`Unable to find dependency`,e,`Please check documentation and ensure you have imported the required library into your project`)}};function Yo(e,t){t&&this.table.columnManager.renderer.reinitializeColumnWidths(e),this.table.options.responsiveLayout&&this.table.modExists(`responsiveLayout`,!0)&&this.table.modules.responsiveLayout.update()}function Xo(e,t){e.forEach(function(e){e.reinitializeWidth()}),this.table.options.responsiveLayout&&this.table.modExists(`responsiveLayout`,!0)&&this.table.modules.responsiveLayout.update()}function Zo(e,t){var n=0,r=this.table.rowManager.element.clientWidth,i=0,a=!1;e.forEach((e,t)=>{e.widthFixed||e.reinitializeWidth(),(this.table.options.responsiveLayout?e.modules.responsive.visible:e.visible)&&(a=e),e.visible&&(n+=e.getWidth())}),a?(i=r-n+a.getWidth(),this.table.options.responsiveLayout&&this.table.modExists(`responsiveLayout`,!0)&&(a.setWidth(0),this.table.modules.responsiveLayout.update()),i>0?a.setWidth(i):a.reinitializeWidth()):this.table.options.responsiveLayout&&this.table.modExists(`responsiveLayout`,!0)&&this.table.modules.responsiveLayout.update()}function Qo(e,t){var n=this.table.rowManager.element.getBoundingClientRect().width,r=0,i=0,a=0,o=0,s=[],c=[],l=0,u=0,d=0;function f(e){return typeof e==`string`?e.indexOf(`%`)>-1?n/100*parseInt(e):parseInt(e):e}function p(e,t,n,r){var i=[],o=0,s=0,c=0,l=a,u=0,d=0,m=[];function h(e){return n*(e.column.definition.widthGrow||1)}function g(e){return f(e.width)-n*(e.column.definition.widthShrink||0)}return e.forEach(function(e,a){var o=r?g(e):h(e);e.column.minWidth>=o?i.push(e):e.column.maxWidth&&e.column.maxWidth<o?(e.width=e.column.maxWidth,t-=e.column.maxWidth,l-=r?e.column.definition.widthShrink||1:e.column.definition.widthGrow||1,l&&(n=Math.floor(t/l))):(m.push(e),d+=r?e.column.definition.widthShrink||1:e.column.definition.widthGrow||1)}),i.length?(i.forEach(function(e){o+=r?e.width-e.column.minWidth:e.column.minWidth,e.width=e.column.minWidth}),s=t-o,c=d?Math.floor(s/d):s,u=p(m,s,c,r)):(u=d?t-Math.floor(t/d)*d:t,m.forEach(function(e){e.width=r?g(e):h(e)})),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&&(n-=this.table.rowManager.element.offsetWidth-this.table.rowManager.element.clientWidth),e.forEach(function(e){var t,n,i;e.visible&&(t=e.definition.width,n=parseInt(e.minWidth),t?(i=f(t),r+=i>n?i:n,e.definition.widthShrink&&(c.push({column:e,width:i>n?i:n}),l+=e.definition.widthShrink)):(s.push({column:e,width:0}),a+=e.definition.widthGrow||1))}),i=n-r,o=Math.floor(i/a),d=p(s,i,o,!1),s.length&&d>0&&(s[s.length-1].width+=d),s.forEach(function(e){i-=e.width}),u=Math.abs(d)+i,u>0&&l&&(d=p(c,u,Math.floor(u/l),!0)),d&&c.length&&(c[c.length-1].width-=d),s.forEach(function(e){e.column.setWidth(e.width)}),c.forEach(function(e){e.column.setWidth(e.width)})}var $o={fitData:Yo,fitDataFill:Xo,fitDataTable:Xo,fitDataStretch:Zo,fitColumns:Qo},es=(Ee=class e extends J{constructor(e){super(e,`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;e.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(e){e.definition.widthGrow&&(e.definition.widthGrow=Number(e.definition.widthGrow)),e.definition.widthShrink&&(e.definition.widthShrink=Number(e.definition.widthShrink))}getMode(){return this.mode}layout(t){var n=this.table.columnManager.columnsByIndex.find(e=>e.definition.variableHeight||e.definition.formatter===`textarea`);this.dispatch(`layout-refreshing`),e.modes[this.mode].call(this,this.table.columnManager.columnsByIndex,t),n&&this.table.rowManager.normalizeHeight(!0),this.dispatch(`layout-refreshed`)}},k(Ee,`moduleName`,`layout`),k(Ee,`modes`,$o),Ee),ts=(De=class e extends J{constructor(e){super(e),this.locale=`default`,this.lang=!1,this.bindings={},this.langList={},this.registerTableOption(`locale`,!1),this.registerTableOption(`langs`,{})}initialize(){for(let t in this.langList=q.deepClone(e.langs),this.table.options.columnDefaults.headerFilterPlaceholder!==!1&&this.setHeaderFilterPlaceholder(this.table.options.columnDefaults.headerFilterPlaceholder),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(e){this.langList.default.headerFilters.default=e}installLang(e,t){this.langList[e]?this._setLangProp(this.langList[e],t):this.langList[e]=t}_setLangProp(e,t){for(let n in t)e[n]&&typeof e[n]==`object`?this._setLangProp(e[n],t[n]):e[n]=t[n]}setLocale(e){e||=`default`;function t(e,n){for(var r in e)typeof e[r]==`object`?(n[r]||(n[r]={}),t(e[r],n[r])):n[r]=e[r]}if(e===!0&&navigator.language&&(e=navigator.language.toLowerCase()),e&&!this.langList[e]){let t=e.split(`-`)[0];this.langList[t]?(console.warn(`Localization Error - Exact matching locale not found, using closest match: `,e,t),e=t):(console.warn(`Localization Error - Matching locale not found, using default: `,e),e=`default`)}this.locale=e,this.lang=q.deepClone(this.langList.default||{}),e!=`default`&&t(this.langList[e],this.lang),this.dispatchExternal(`localized`,this.locale,this.lang),this._executeBindings()}getLocale(e){return this.locale}getLang(e){return e?this.langList[e]:this.lang}getText(e,t){var n=(t?e+`|`+t:e).split(`|`);return this._getLangElement(n,this.locale)||``}_getLangElement(e,t){var n=this.lang;return e.forEach(function(e){var t;n&&=(t=n[e],t===void 0?!1:t)}),n}bind(e,t){this.bindings[e]||(this.bindings[e]=[]),this.bindings[e].push(t),t(this.getText(e),this.lang)}_executeBindings(){for(let e in this.bindings)this.bindings[e].forEach(t=>{t(this.getText(e),this.lang)})}},k(De,`moduleName`,`localize`),k(De,`langs`,{default:{groups:{item:`item`,items:`items`},columns:{},data:{loading:`Loading`,error:`Error`},pagination:{page_size:`Page Size`,page_title:`Show Page`,first:`First`,first_title:`First Page`,last:`Last`,last_title:`Last Page`,prev:`Prev`,prev_title:`Prev Page`,next:`Next`,next_title:`Next Page`,all:`All`,counter:{showing:`Showing`,of:`of`,rows:`rows`,pages:`pages`}},headerFilters:{default:`filter column...`,columns:{}}}}),De),ns=(Oe=class extends J{constructor(e){super(e)}initialize(){this.registerTableFunction(`tableComms`,this.receive.bind(this))}getConnections(e){var t=[];return this.table.constructor.registry.lookupTable(e).forEach(e=>{this.table!==e&&t.push(e)}),t}send(e,t,n,r){var i=this.getConnections(e);i.forEach(e=>{e.tableComms(this.table.element,t,n,r)}),!i.length&&e&&console.warn(`Table Connection Error - No tables matching selector found`,e)}receive(e,t,n,r){if(this.table.modExists(t))return this.table.modules[t].commsReceived(e,n,r);console.warn(`Inter-table Comms Error - no such module:`,t)}},k(Oe,`moduleName`,`comms`),Oe),rs=Object.freeze({__proto__:null,CommsModule:ns,LayoutModule:es,LocalizeModule:ts}),is=(T=class e{static findTable(t){var n=e.registry.lookupTable(t,!0);return Array.isArray(n)&&!n.length?!1:n}},k(T,`registry`,{tables:[],register(e){T.registry.tables.push(e)},deregister(e){var t=T.registry.tables.indexOf(e);t>-1&&T.registry.tables.splice(t,1)},lookupTable(e,t){var n=[],r,i;if(typeof e==`string`){if(r=document.querySelectorAll(e),r.length)for(var a=0;a<r.length;a++)i=T.registry.matchElement(r[a]),i&&n.push(i)}else typeof HTMLElement<`u`&&e instanceof HTMLElement||e instanceof T?(i=T.registry.matchElement(e),i&&n.push(i)):Array.isArray(e)?e.forEach(function(e){n=n.concat(T.registry.lookupTable(e))}):t||console.warn(`Table Connection Error - Invalid Selector`,e);return n},matchElement(e){return T.registry.tables.find(function(t){return e instanceof T?t===e:t.element===e})}}),T),as=(ke=class e extends is{constructor(){super()}static initializeModuleBinder(t){e.modulesRegistered||(e.modulesRegistered=!0,e._registerModules(rs,!0),t&&e._registerModules(t))}static _extendModule(t,n,r){if(e.moduleBindings[t]){var i=e.moduleBindings[t][n];if(i)if(typeof r==`object`)for(let e in r)i[e]=r[e];else console.warn(`Module Error - Invalid value type, it must be an object`);else console.warn(`Module Error - property does not exist:`,n)}else console.warn(`Module Error - module does not exist:`,t)}static _registerModules(t,n){var r=Object.values(t);n&&r.forEach(e=>{e.prototype.moduleCore=!0}),e._registerModule(r)}static _registerModule(t){Array.isArray(t)||(t=[t]),t.forEach(t=>{e._registerModuleBinding(t),e._registerModuleExtensions(t)})}static _registerModuleBinding(t){t.moduleName?e.moduleBindings[t.moduleName]=t:console.error(`Unable to bind module, no moduleName defined`,t.moduleName)}static _registerModuleExtensions(t){var n=t.moduleExtensions;if(t.moduleExtensions)for(let t in n){let r=n[t];if(e.moduleBindings[t])for(let n in r)e._extendModule(t,n,r[n]);else for(let n in e.moduleExtensions[t]||(e.moduleExtensions[t]={}),r)e.moduleExtensions[t][n]||(e.moduleExtensions[t][n]={}),Object.assign(e.moduleExtensions[t][n],r[n])}e._extendModuleFromQueue(t)}static _extendModuleFromQueue(t){var n=e.moduleExtensions[t.moduleName];if(n)for(let r in n)e._extendModule(t.moduleName,r,n[r])}_bindModules(){var t=[],n=[],r=[];for(var i in this.modules={},e.moduleBindings){let a=e.moduleBindings[i],o=new a(this);this.modules[i]=o,a.prototype.moduleCore?this.modulesCore.push(o):a.moduleInitOrder?a.moduleInitOrder<0?t.push(o):n.push(o):r.push(o)}t.sort((e,t)=>e.moduleInitOrder>t.moduleInitOrder?1:-1),n.sort((e,t)=>e.moduleInitOrder>t.moduleInitOrder?1:-1),this.modulesRegular=t.concat(r.concat(n))}},k(ke,`moduleBindings`,{}),k(ke,`moduleExtensions`,{}),k(ke,`modulesRegistered`,!1),k(ke,`defaultModules`,!1),ke),os=class extends K{constructor(e){super(e),this.element=this._createAlertElement(),this.msgElement=this._createMsgElement(),this.type=null,this.element.appendChild(this.msgElement)}_createAlertElement(){var e=document.createElement(`div`);return e.classList.add(`tabulator-alert`),e}_createMsgElement(){var e=document.createElement(`div`);return e.classList.add(`tabulator-alert-msg`),e.setAttribute(`role`,`alert`),e}_typeClass(){return`tabulator-alert-state-`+this.type}alert(e,t=`msg`){if(e){for(this.clear(),this.dispatch(`alert-show`,t),this.type=t;this.msgElement.firstChild;)this.msgElement.removeChild(this.msgElement.firstChild);this.msgElement.classList.add(this._typeClass()),typeof e==`function`&&(e=e()),e instanceof HTMLElement?this.msgElement.appendChild(e):this.msgElement.innerHTML=e,this.table.element.appendChild(this.element)}}clear(){this.dispatch(`alert-hide`,this.type),this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.msgElement.classList.remove(this._typeClass())}},ss=(Ae=class e extends as{static extendModule(){e.initializeModuleBinder(),e._extendModule(...arguments)}static registerModule(){e.initializeModuleBinder(),e._registerModule(...arguments)}constructor(t,n,r){super(),e.initializeModuleBinder(r),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 Uo(this),this.dataLoader=!1,this.modules={},this.modulesCore=[],this.modulesRegular=[],this.deprecationAdvisor=new qo(this),this.optionsList=new No(this,`table constructor`),this.dependencyRegistry=new Jo(this),this.initialized=!1,this.destroyed=!1,this.initializeElement(t)&&(this.initializeCoreSystems(n),setTimeout(()=>{this._create()})),this.constructor.registry.register(this)}initializeElement(e){return typeof HTMLElement<`u`&&e instanceof HTMLElement?(this.element=e,!0):typeof e==`string`?(this.element=document.querySelector(e),this.element?!0:(console.error(`Tabulator Creation Error - no element found matching selector: `,e),!1)):(console.error(`Tabulator Creation Error - Invalid element provided:`,e),!1)}initializeCoreSystems(t){this.columnManager=new Lo(this),this.rowManager=new Bo(this),this.footerManager=new Vo(this),this.dataLoader=new Wo(this),this.alertManager=new os(this),this._bindModules(),this.options=this.optionsList.generate(e.defaultOptions,t),this._clearObjectPointers(),this._mapDeprecatedFunctionality(),this.externalEvents=new Go(this,this.options,this.options.debugEventsExternal),this.eventBus=new Ko(this.options.debugEventsInternal),this.interactionMonitor=new Ho(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 e=window.getComputedStyle(this.element);switch(this.options.textDirection){case`auto`:if(e.direction!==`rtl`)break;case`rtl`:this.element.classList.add(`tabulator-rtl`),this.rtl=!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 e=this.element,t=this.options,n;if(e.tagName===`TABLE`){this.originalElement=this.element,n=document.createElement(`div`);var r=e.attributes;for(var i in r)typeof r[i]==`object`&&n.setAttribute(r[i].name,r[i].value);e.parentNode.replaceChild(n,e),this.element=e=n}for(e.classList.add(`tabulator`),e.setAttribute(`role`,`grid`);e.firstChild;)e.removeChild(e.firstChild);t.height&&(t.height=isNaN(t.height)?t.height:t.height+`px`,e.style.height=t.height),t.minHeight!==!1&&(t.minHeight=isNaN(t.minHeight)?t.minHeight:t.minHeight+`px`,e.style.minHeight=t.minHeight),t.maxHeight!==!1&&(t.maxHeight=isNaN(t.maxHeight)?t.maxHeight:t.maxHeight+`px`,e.style.maxHeight=t.maxHeight)}_initializeTable(){var e=this.element,t=this.options;this.interactionMonitor.initialize(),this.columnManager.initialize(),this.rowManager.initialize(),this._detectBrowser(),this.modulesCore.forEach(e=>{e.initialize()}),e.appendChild(this.columnManager.getElement()),e.appendChild(this.rowManager.getElement()),t.footerElement&&this.footerManager.activate(),t.autoColumns&&t.data&&this.columnManager.generateColumnsFromRowData(this.options.data),this.modulesRegular.forEach(e=>{e.initialize()}),this.columnManager.setColumns(t.columns),this.eventBus.dispatch(`table-built`)}_loadInitialData(){return this.dataLoader.load(this.options.data).finally(()=>{this.columnManager.verticalAlignHeaders()})}destroy(){var e=this.element;for(this.destroyed=!0,this.constructor.registry.deregister(this),this.eventBus.dispatch(`table-destroy`),this.rowManager.destroy();e.firstChild;)e.removeChild(e.firstChild);e.classList.remove(`tabulator`),this.externalEvents.dispatch(`tableDestroyed`)}_detectBrowser(){var e=navigator.userAgent||navigator.vendor||window.opera;e.indexOf(`Trident`)>-1?(this.browser=`ie`,this.browserSlow=!0):e.indexOf(`Edge`)>-1?(this.browser=`edge`,this.browserSlow=!0):e.indexOf(`Firefox`)>-1?(this.browser=`firefox`,this.browserSlow=!1):e.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(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(e.slice(0,4))}initGuard(e,t){var n,r;return this.options.debugInitialization&&!this.initialized&&(e||=(n=Error().stack.split(`
`),r=n[0]==`Error`?n[2]:n[1],r[0]==` `?r.trim().split(` `)[1].split(`.`)[1]:r.trim().split(`@`)[0]),console.warn(`Table Not Initialized - Calling the `+e+" function before the table is initialized may result in inconsistent behavior, Please wait for the `tableBuilt` event before calling this function."+(t?` `+t:``))),this.initialized}blockRedraw(){this.initGuard(),this.eventBus.dispatch(`redraw-blocking`),this.rowManager.blockRedraw(),this.columnManager.blockRedraw(),this.eventBus.dispatch(`redraw-blocked`)}restoreRedraw(){this.initGuard(),this.eventBus.dispatch(`redraw-restoring`),this.rowManager.restoreRedraw(),this.columnManager.restoreRedraw(),this.eventBus.dispatch(`redraw-restored`)}setData(e,t,n){return this.initGuard(!1,`To set initial data please use the 'data' property in the table constructor.`),this.dataLoader.load(e,t,n,!1)}clearData(){this.initGuard(),this.dataLoader.blockActiveLoad(),this.rowManager.clearData()}getData(e){return this.rowManager.getData(e)}getDataCount(e){return this.rowManager.getDataCount(e)}replaceData(e,t,n){return this.initGuard(),this.dataLoader.load(e,t,n,!0,!0)}updateData(e){var t=0;return this.initGuard(),new Promise((n,r)=>{this.dataLoader.blockActiveLoad(),typeof e==`string`&&(e=JSON.parse(e)),e&&e.length>0?e.forEach(e=>{var i=this.rowManager.findRow(e[this.options.index]);i?(t++,i.updateData(e).then(()=>{t--,t||n()}).catch(t=>{r(`Update Error - Unable to update row`,e,t)})):r(`Update Error - Unable to find row`,e)}):(console.warn(`Update Error - No data provided`),r(`Update Error - No data provided`))})}addData(e,t,n){return this.initGuard(),new Promise((r,i)=>{this.dataLoader.blockActiveLoad(),typeof e==`string`&&(e=JSON.parse(e)),e?this.rowManager.addRows(e,t,n).then(e=>{var t=[];e.forEach(function(e){t.push(e.getComponent())}),r(t)}):(console.warn(`Update Error - No data provided`),i(`Update Error - No data provided`))})}updateOrAddData(e){var t=[],n=0;return this.initGuard(),new Promise((r,i)=>{this.dataLoader.blockActiveLoad(),typeof e==`string`&&(e=JSON.parse(e)),e&&e.length>0?e.forEach(e=>{var i=this.rowManager.findRow(e[this.options.index]);n++,i?i.updateData(e).then(()=>{n--,t.push(i.getComponent()),n||r(t)}):this.rowManager.addRows(e).then(e=>{n--,t.push(e[0].getComponent()),n||r(t)})}):(console.warn(`Update Error - No data provided`),i(`Update Error - No data provided`))})}getRow(e){var t=this.rowManager.findRow(e);return t?t.getComponent():(console.warn(`Find Error - No matching row found:`,e),!1)}getRowFromPosition(e){var t=this.rowManager.getRowFromPosition(e);return t?t.getComponent():(console.warn(`Find Error - No matching row found:`,e),!1)}deleteRow(e){var t=[];this.initGuard(),Array.isArray(e)||(e=[e]);for(let n of e){let e=this.rowManager.findRow(n,!0);if(e)t.push(e);else return console.error(`Delete Error - No matching row found:`,n),Promise.reject(`Delete Error - No matching row found`)}return t.sort((e,t)=>this.rowManager.rows.indexOf(e)>this.rowManager.rows.indexOf(t)?1:-1),t.forEach(e=>{e.delete()}),this.rowManager.reRenderInPosition(),Promise.resolve()}addRow(e,t,n){return this.initGuard(),typeof e==`string`&&(e=JSON.parse(e)),this.rowManager.addRows(e,t,n,!0).then(e=>e[0].getComponent())}updateOrAddRow(e,t){var n=this.rowManager.findRow(e);return this.initGuard(),typeof t==`string`&&(t=JSON.parse(t)),n?n.updateData(t).then(()=>n.getComponent()):this.rowManager.addRows(t).then(e=>e[0].getComponent())}updateRow(e,t){var n=this.rowManager.findRow(e);return this.initGuard(),typeof t==`string`&&(t=JSON.parse(t)),n?n.updateData(t).then(()=>Promise.resolve(n.getComponent())):(console.warn(`Update Error - No matching row found:`,e),Promise.reject(`Update Error - No matching row found`))}scrollToRow(e,t,n){var r=this.rowManager.findRow(e);return r?this.rowManager.scrollToRow(r,t,n):(console.warn(`Scroll Error - No matching row found:`,e),Promise.reject(`Scroll Error - No matching row found`))}moveRow(e,t,n){var r=this.rowManager.findRow(e);this.initGuard(),r?r.moveToRow(t,n):console.warn(`Move Error - No matching row found:`,e)}getRows(e){return this.rowManager.getComponents(e)}getRowPosition(e){var t=this.rowManager.findRow(e);return t?t.getPosition():(console.warn(`Position Error - No matching row found:`,e),!1)}setColumns(e){this.initGuard(!1,`To set initial columns please use the 'columns' property in the table constructor`),this.columnManager.setColumns(e)}getColumns(e){return this.columnManager.getComponents(e)}getColumn(e){var t=this.columnManager.findColumn(e);return t?t.getComponent():(console.warn(`Find Error - No matching column found:`,e),!1)}getColumnDefinitions(){return this.columnManager.getDefinitionTree()}showColumn(e){var t=this.columnManager.findColumn(e);if(this.initGuard(),t)t.show();else return console.warn(`Column Show Error - No matching column found:`,e),!1}hideColumn(e){var t=this.columnManager.findColumn(e);if(this.initGuard(),t)t.hide();else return console.warn(`Column Hide Error - No matching column found:`,e),!1}toggleColumn(e){var t=this.columnManager.findColumn(e);if(this.initGuard(),t)t.visible?t.hide():t.show();else return console.warn(`Column Visibility Toggle Error - No matching column found:`,e),!1}addColumn(e,t,n){var r=this.columnManager.findColumn(n);return this.initGuard(),this.columnManager.addColumn(e,t,r).then(e=>e.getComponent())}deleteColumn(e){var t=this.columnManager.findColumn(e);return this.initGuard(),t?t.delete():(console.warn(`Column Delete Error - No matching column found:`,e),Promise.reject())}updateColumnDefinition(e,t){var n=this.columnManager.findColumn(e);return this.initGuard(),n?n.updateDefinition(t):(console.warn(`Column Update Error - No matching column found:`,e),Promise.reject())}moveColumn(e,t,n){var r=this.columnManager.findColumn(e),i=this.columnManager.findColumn(t);this.initGuard(),r?i?this.columnManager.moveColumn(r,i,n):console.warn(`Move Error - No matching column found:`,i):console.warn(`Move Error - No matching column found:`,e)}scrollToColumn(e,t,n){return new Promise((r,i)=>{var a=this.columnManager.findColumn(e);return a?this.columnManager.scrollToColumn(a,t,n):(console.warn(`Scroll Error - No matching column found:`,e),Promise.reject(`Scroll Error - No matching column found`))})}redraw(e){this.initGuard(),this.columnManager.redraw(e),this.rowManager.redraw(e)}setHeight(e){this.options.height=isNaN(e)?e:e+`px`,this.element.style.height=this.options.height,this.rowManager.initializeRenderer(),this.rowManager.redraw(!0)}on(e,t){this.externalEvents.subscribe(e,t)}off(e,t){this.externalEvents.unsubscribe(e,t)}dispatchEvent(){Array.from(arguments).shift(),this.externalEvents.dispatch(...arguments)}alert(e,t){this.initGuard(),this.alertManager.alert(e,t)}clearAlert(){this.initGuard(),this.alertManager.clear()}modExists(e,t){return this.modules[e]?!0:(t&&console.error(`Tabulator Module Not Installed: `+e),!1)}module(e){var t=this.modules[e];return t||console.error(`Tabulator module not installed: `+e),t}},k(Ae,`defaultOptions`,Mo),Ae),cs=class extends ss{static extendModule(){ss.initializeModuleBinder(jo),ss._extendModule(...arguments)}static registerModule(){ss.initializeModuleBinder(jo),ss._registerModule(...arguments)}constructor(e,t,n){super(e,t,jo)}};function ls(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function us(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function ds(e,t,n){return t&&us(e.prototype,t),n&&us(e,n),e}function fs(e){return ps(e)||ms(e)||hs(e)||_s()}function ps(e){if(Array.isArray(e))return gs(e)}function ms(e){if(typeof Symbol<`u`&&Symbol.iterator in Object(e))return Array.from(e)}function hs(e,t){if(e){if(typeof e==`string`)return gs(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(n);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return gs(e,t)}}function gs(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function _s(){throw TypeError(`Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var vs=function(){var e=[`a[href]`,`area[href]`,`input:not([disabled]):not([type="hidden"]):not([aria-hidden])`,`select:not([disabled]):not([aria-hidden])`,`textarea:not([disabled]):not([aria-hidden])`,`button:not([disabled]):not([aria-hidden])`,`iframe`,`object`,`embed`,`[contenteditable]`,`[tabindex]:not([tabindex^="-"])`],t=function(){function t(e){var n=e.targetModal,r=e.triggers,i=r===void 0?[]:r,a=e.onShow,o=a===void 0?function(){}:a,s=e.onClose,c=s===void 0?function(){}:s,l=e.openTrigger,u=l===void 0?`data-micromodal-trigger`:l,d=e.closeTrigger,f=d===void 0?`data-micromodal-close`:d,p=e.openClass,m=p===void 0?`is-open`:p,h=e.disableScroll,g=h===void 0?!1:h,_=e.disableFocus,v=_===void 0?!1:_,y=e.awaitCloseAnimation,b=y===void 0?!1:y,x=e.awaitOpenAnimation,S=x===void 0?!1:x,ee=e.debugMode,te=ee===void 0?!1:ee;ls(this,t),this.modal=this.modal=typeof n==`string`?document.getElementById(n):n,this.config={debugMode:te,disableScroll:g,openTrigger:u,closeTrigger:f,openClass:m,onShow:o,onClose:c,awaitCloseAnimation:b,awaitOpenAnimation:S,disableFocus:v},i.length>0&&this.registerTriggers.apply(this,fs(i)),this.onClick=this.onClick.bind(this),this.onKeydown=this.onKeydown.bind(this)}return ds(t,[{key:`registerTriggers`,value:function(){var e=this;[...arguments].filter(Boolean).forEach(function(t){t.addEventListener(`click`,function(t){return e.showModal(t)})})}},{key:`showModal`,value:function(){var e=this,t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;this.activeElement=document.activeElement,this.modal.setAttribute(`aria-hidden`,`false`),this.modal.classList.add(this.config.openClass),this.scrollBehaviour(`disable`),this.addEventListeners(),this.config.awaitOpenAnimation?this.modal.addEventListener(`animationend`,function t(){e.modal.removeEventListener(`animationend`,t,!1),e.setFocusToFirstNode()},!1):this.setFocusToFirstNode(),this.config.onShow(this.modal,this.activeElement,t)}},{key:`closeModal`,value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,t=this.modal;if(this.modal.setAttribute(`aria-hidden`,`true`),this.removeEventListeners(),this.scrollBehaviour(`enable`),this.activeElement&&this.activeElement.focus&&this.activeElement.focus(),this.config.onClose(this.modal,this.activeElement,e),this.config.awaitCloseAnimation){var n=this.config.openClass;this.modal.addEventListener(`animationend`,function e(){t.classList.remove(n),t.removeEventListener(`animationend`,e,!1)},!1)}else t.classList.remove(this.config.openClass)}},{key:`closeModalById`,value:function(e){e instanceof HTMLElement?this.modal=e:this.model=document.getElementById(e),this.modal&&this.closeModal()}},{key:`scrollBehaviour`,value:function(e){if(this.config.disableScroll){var t=document.querySelector(`body`);switch(e){case`enable`:Object.assign(t.style,{overflow:``});break;case`disable`:Object.assign(t.style,{overflow:`hidden`});break}}}},{key:`addEventListeners`,value:function(){this.modal.addEventListener(`touchstart`,this.onClick),this.modal.addEventListener(`mousedown`,this.onClick),document.addEventListener(`keydown`,this.onKeydown)}},{key:`removeEventListeners`,value:function(){this.modal.removeEventListener(`touchstart`,this.onClick),this.modal.removeEventListener(`mousedown`,this.onClick),document.removeEventListener(`keydown`,this.onKeydown)}},{key:`onClick`,value:function(e){e.target.hasAttribute(this.config.closeTrigger)&&this.closeModal(e)}},{key:`onKeydown`,value:function(e){e.keyCode===27&&this.closeModal(e),e.keyCode===9&&this.retainFocus(e)}},{key:`getFocusableNodes`,value:function(){var t=this.modal.querySelectorAll(e);return Array.apply(void 0,fs(t))}},{key:`setFocusToFirstNode`,value:function(){var e=this;if(!this.config.disableFocus){var t=this.getFocusableNodes();if(t.length!==0){var n=t.filter(function(t){return!t.hasAttribute(e.config.closeTrigger)});n.length>0&&n[0].focus(),n.length===0&&t[0].focus()}}}},{key:`retainFocus`,value:function(e){}}]),t}(),n=null,r=function(e,t){var n=[];return e.forEach(function(e){var r=e.attributes[t].value;n[r]===void 0&&(n[r]=[]),n[r].push(e)}),n},i=function(e){if(!document.getElementById(e))return console.warn(`MicroModal: ❗Seems like you have missed %c'${e}'`,`background-color: #f8f9fa;color: #50596c;font-weight: bold;`,`ID somewhere in your code. Refer example below to resolve it.`),console.warn(`%cExample:`,`background-color: #f8f9fa;color: #50596c;font-weight: bold;`,`<div class="modal" id="${e}"></div>`),!1},a=function(e){if(e.length<=0)return console.warn(`MicroModal: ❗Please specify at least one %c'micromodal-trigger'`,`background-color: #f8f9fa;color: #50596c;font-weight: bold;`,`data attribute.`),console.warn(`%cExample:`,`background-color: #f8f9fa;color: #50596c;font-weight: bold;`,`<a href="#" data-micromodal-trigger="my-modal"></a>`),!1},o=function(e,t){if(a(e),!t)return!0;for(var n in t)i(n);return!0};return{init:function(e){var i=Object.assign({},{openTrigger:`data-micromodal-trigger`},e),a=fs(document.querySelectorAll(`[${i.openTrigger}]`)),s=r(a,i.openTrigger);if(!(i.debugMode===!0&&o(a,s)===!1))for(var c in s){var l=s[c];i.targetModal=c,i.triggers=fs(l),n=new t(i)}},show:function(e,r){var a=r||{};a.targetModal=e,!(a.debugMode===!0&&i(e)===!1)&&(n&&n.removeEventListeners(),n=new t(a),n.showModal())},close:function(e){e?n.closeModalById(e):n.closeModal()}}}();window.MicroModal=vs;var ys=vs,bs=`@dbp-toolkit/file-handling`;function xs(){return tt`
/**************************\\
Modal Styles
\\**************************/
.modal-container {
grid-template-columns: 150px 1fr;
grid-template-rows: auto 1fr;
gap: 1px 1px;
grid-template-areas: 'sidebar header' 'sidebar main';
position: relative;
}
.modal-nav {
cursor: pointer;
overflow: hidden;
background-color: var(--dbp-background);
border-right: var(--dbp-border);
grid-area: sidebar;
}
.modal-nav > button,
.modal-nav > div {
padding: 5px;
text-align: center;
width: 100%;
background-color: var(--dbp-background);
color: var(--dbp-content);
border: 0;
}
.modal-nav > button:focus-visible {
box-shadow: inset 0px 0px 3px 1px var(--dbp-primary);
}
.modal-nav .nav-icon {
width: 35px;
height: 35px;
}
.modal-nav .active p {
font-weight: bold;
}
.modal-nav .active .nav-icon {
color: var(--dbp-accent);
}
.modal-content {
padding: 10px 20px 20px 20px;
display: flex;
justify-content: center;
align-items: center;
overflow: hidden;
}
.modal-content .source-main {
/*flex-grow: 1;*/
/*justify-content: center;*/
/*align-items: center;*/
height: 100%;
width: 100%;
display: flex;
align-items: flex-end;
}
.modal-content .source-main.hidden {
display: none;
}
.modal-header {
grid-area: header;
display: flex;
padding: 10px 20px 0px 20px;
flex-direction: row-reverse;
justify-content: space-between;
align-items: center;
}
.clipboard-container {
height: 100%;
display: flex;
align-items: center;
flex-direction: column;
width: 100%;
overflow-x: auto;
}
.micromodal-slide .modal-container,
.micromodal-slide .modal-overlay {
will-change: auto;
}
/**************************\\
Picker Styles
\\**************************/
#nextcloud-file-picker,
#clipboard-file-picker {
width: 100%;
height: 100%;
margin: var(--FUMargin, 0px);
padding: var(--FUPadding, 20px);
}
#fileElem {
position: absolute !important;
clip: rect(1px, 1px, 1px, 1px);
overflow: hidden;
height: 1px;
width: 1px;
word-wrap: normal;
}
#fileElem:focus + label {
outline: none !important;
outline-width: 0 !important;
box-shadow: none;
-moz-box-shadow: none;
-webkit-box-shadow: none;
box-shadow: 0px 0px 5px 1px var(--dbp-primary);
}
#nextcloud-file-picker.hidden {
display: none;
}
#modal-picker-content {
grid-area: main;
}
/**********************************\\
Tabulator table styles
\\*********************************/
.tabulator .tabulator-header .tabulator-col .tabulator-col-content {
display: inline-flex;
padding: 0px;
}
.checkmark {
height: 20px;
width: 20px;
left: 10px;
top: 8px;
}
.button-container .checkmark::after {
left: 7px;
top: 2px;
width: 5px;
height: 11px;
}
/*.tabulator .tabulator-tableHolder {*/
/* overflow: hidden;*/
/*}*/
.force-no-select {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
/*.tabulator .tabulator-tableHolder {*/
/* !* height: unset !important; !*TODO find a better way to do this*!*/
/*}*/
/* .tabulator-row-handle {
padding: 0px !important;
}*/
/*.tabulator .tabulator-header .tabulator-col {*/
/* min-height: 37px !important;*/
/*}*/
.filename {
overflow: hidden;
text-overflow: ellipsis;
width: 100%;
white-space: nowrap;
}
.select-all-icon {
height: 40px;
position: absolute;
top: -1.1em;
}
.tabulator .tabulator-header .tabulator-col.tabulator-sortable .tabulator-col-title {
padding-top: 4px;
padding-bottom: 4px;
font-weight: normal;
font-size: 1rem;
}
@media only screen and (orientation: portrait) and (max-width: 768px) {
.tabulator .tabulator-tableHolder {
white-space: inherit;
}
.modal-container {
width: 100%;
height: 100%;
max-width: 100%;
}
}
/**************************\\
Tablett Portrait Styles
\\**************************/
@media only screen and (orientation: portrait) and (max-width: 768px) {
.modal-nav {
display: flex;
/*justify-content: space-around;*/
grid-area: nav;
border: none;
border-bottom: var(--dbp-border);
border-top: var(--dbp-border);
white-space: nowrap;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
-ms-overflow-style: -ms-autohiding-scrollbar;
}
.modal-nav::-webkit-scrollbar {
display: none;
}
.modal-content {
grid-area: main;
}
.modal-container {
grid-template-rows: 40px 55px auto;
grid-template-areas: 'header' 'nav' 'main';
grid-template-columns: auto;
}
.modal-header {
grid-area: header;
padding: 5px;
}
.modal-nav > div {
flex-grow: 1;
}
.modal-nav .nav-icon {
height: 20px;
}
#nextcloud-file-picker,
#clipboard-file-picker {
padding: 0px;
}
}
/**************************\\
Mobile Portrait Styles
\\**************************/
@media only screen and (orientation: portrait) and (max-width: 768px) {
}
`}const Ss=new TextEncoder,Cs=new TextDecoder,ws=2**32;function Ts(...e){let t=e.reduce((e,{length:t})=>e+t,0),n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function Es(e,t,n){if(t<0||t>=ws)throw RangeError(`value must be >= 0 and <= ${ws-1}. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,t&255],n)}function Ds(e){let t=Math.floor(e/ws),n=e%ws,r=new Uint8Array(8);return Es(r,t,0),Es(r,n,4),r}function Os(e){let t=new Uint8Array(4);return Es(t,e),t}function ks(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);if(r>127)throw TypeError(`non-ASCII string encountered in encode()`);t[n]=r}return t}function As(e){if(Uint8Array.prototype.toBase64)return e.toBase64();let t=32768,n=[];for(let r=0;r<e.length;r+=t)n.push(String.fromCharCode.apply(null,e.subarray(r,r+t)));return btoa(n.join(``))}function js(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64(e);let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}function X(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64(typeof e==`string`?e:Cs.decode(e),{alphabet:`base64url`});let t=e;t instanceof Uint8Array&&(t=Cs.decode(t)),t=t.replace(/-/g,`+`).replace(/_/g,`/`);try{return js(t)}catch{throw TypeError(`The input to be decoded is not correctly encoded.`)}}function Z(e){let t=e;return typeof t==`string`&&(t=Ss.encode(t)),Uint8Array.prototype.toBase64?t.toBase64({alphabet:`base64url`,omitPadding:!0}):As(t).replace(/=/g,``).replace(/\+/g,`-`).replace(/\//g,`_`)}var Ms=(je=class extends Error{constructor(e,t){super(e,t),k(this,`code`,`ERR_JOSE_GENERIC`),this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}},k(je,`code`,`ERR_JOSE_GENERIC`),je),Ns=(Me=class extends Ms{constructor(...e){super(...e),k(this,`code`,`ERR_JOSE_ALG_NOT_ALLOWED`)}},k(Me,`code`,`ERR_JOSE_ALG_NOT_ALLOWED`),Me),Q=(Ne=class extends Ms{constructor(...e){super(...e),k(this,`code`,`ERR_JOSE_NOT_SUPPORTED`)}},k(Ne,`code`,`ERR_JOSE_NOT_SUPPORTED`),Ne),Ps=(Pe=class extends Ms{constructor(e=`decryption operation failed`,t){super(e,t),k(this,`code`,`ERR_JWE_DECRYPTION_FAILED`)}},k(Pe,`code`,`ERR_JWE_DECRYPTION_FAILED`),Pe),$=(Fe=class extends Ms{constructor(...e){super(...e),k(this,`code`,`ERR_JWE_INVALID`)}},k(Fe,`code`,`ERR_JWE_INVALID`),Fe);Ie=class extends Ms{constructor(e=`multiple matching keys found in the JSON Web Key Set`,t){super(e,t),k(this,Symbol.asyncIterator,void 0),k(this,`code`,`ERR_JWKS_MULTIPLE_MATCHING_KEYS`)}},k(Ie,`code`,`ERR_JWKS_MULTIPLE_MATCHING_KEYS`);function Fs(e){switch(e){case`A128GCM`:case`A128GCMKW`:case`A192GCM`:case`A192GCMKW`:case`A256GCM`:case`A256GCMKW`:return 96;case`A128CBC-HS256`:case`A192CBC-HS384`:case`A256CBC-HS512`:return 128;default:throw new Q(`Unsupported JWE Algorithm: ${e}`)}}const Is=e=>crypto.getRandomValues(new Uint8Array(Fs(e)>>3));function Ls(e,t){if(t.length<<3!==Fs(e))throw new $(`Invalid Initialization Vector length`)}function Rs(e,t){let n=e.byteLength<<3;if(n!==t)throw new $(`Invalid Content Encryption Key length. Expected ${t} bits, got ${n} bits`)}const zs=(e,t=`algorithm.name`)=>TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`),Bs=(e,t)=>e.name===t;function Vs(e){return parseInt(e.name.slice(4),10)}function Hs(e,t){if(t&&!e.usages.includes(t))throw TypeError(`CryptoKey does not support this operation, its usages must include ${t}.`)}function Us(e,t,n){switch(t){case`A128GCM`:case`A192GCM`:case`A256GCM`:{if(!Bs(e.algorithm,`AES-GCM`))throw zs(`AES-GCM`);let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw zs(n,`algorithm.length`);break}case`A128KW`:case`A192KW`:case`A256KW`:{if(!Bs(e.algorithm,`AES-KW`))throw zs(`AES-KW`);let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw zs(n,`algorithm.length`);break}case`ECDH`:switch(e.algorithm.name){case`ECDH`:case`X25519`:break;default:throw zs(`ECDH or X25519`)}break;case`PBES2-HS256+A128KW`:case`PBES2-HS384+A192KW`:case`PBES2-HS512+A256KW`:if(!Bs(e.algorithm,`PBKDF2`))throw zs(`PBKDF2`);break;case`RSA-OAEP`:case`RSA-OAEP-256`:case`RSA-OAEP-384`:case`RSA-OAEP-512`:{if(!Bs(e.algorithm,`RSA-OAEP`))throw zs(`RSA-OAEP`);let n=parseInt(t.slice(9),10)||1;if(Vs(e.algorithm.hash)!==n)throw zs(`SHA-${n}`,`algorithm.hash`);break}default:throw TypeError(`CryptoKey does not support this operation`)}Hs(e,n)}function Ws(e,t,...n){if(n=n.filter(Boolean),n.length>2){let t=n.pop();e+=`one of type ${n.join(`, `)}, or ${t}.`}else n.length===2?e+=`one of type ${n[0]} or ${n[1]}.`:e+=`of type ${n[0]}.`;return t==null?e+=` Received ${t}`:typeof t==`function`&&t.name?e+=` Received function ${t.name}`:typeof t==`object`&&t&&t.constructor?.name&&(e+=` Received an instance of ${t.constructor.name}`),e}const Gs=(e,...t)=>Ws(`Key must be `,e,...t),Ks=(e,t,...n)=>Ws(`Key for the ${e} algorithm must be `,t,...n);function qs(e){if(!Js(e))throw Error(`CryptoKey instance expected`)}const Js=e=>{if(e?.[Symbol.toStringTag]===`CryptoKey`)return!0;try{return e instanceof CryptoKey}catch{return!1}},Ys=e=>e?.[Symbol.toStringTag]===`KeyObject`,Xs=e=>Js(e)||Ys(e);async function Zs(e,t){if(!(e instanceof Uint8Array))throw TypeError(`First argument must be a buffer`);if(!(t instanceof Uint8Array))throw TypeError(`Second argument must be a buffer`);let n={name:`HMAC`,hash:`SHA-256`},r=await crypto.subtle.generateKey(n,!1,[`sign`]),i=new Uint8Array(await crypto.subtle.sign(n,r,e)),a=new Uint8Array(await crypto.subtle.sign(n,r,t)),o=0,s=-1;for(;++s<32;)o|=i[s]^a[s];return o===0}async function Qs(e,t,n,r,i,a){if(!(t instanceof Uint8Array))throw TypeError(Gs(t,`Uint8Array`));let o=parseInt(e.slice(1,4),10),s=await crypto.subtle.importKey(`raw`,t.subarray(o>>3),`AES-CBC`,!1,[`decrypt`]),c=await crypto.subtle.importKey(`raw`,t.subarray(0,o>>3),{hash:`SHA-${o<<1}`,name:`HMAC`},!1,[`sign`]),l=Ts(a,r,n,Ds(a.length<<3)),u=new Uint8Array((await crypto.subtle.sign(`HMAC`,c,l)).slice(0,o>>3)),d;try{d=await Zs(i,u)}catch{}if(!d)throw new Ps;let f;try{f=new Uint8Array(await crypto.subtle.decrypt({iv:r,name:`AES-CBC`},s,n))}catch{}if(!f)throw new Ps;return f}async function $s(e,t,n,r,i,a){let o;t instanceof Uint8Array?o=await crypto.subtle.importKey(`raw`,t,`AES-GCM`,!1,[`decrypt`]):(Us(t,e,`decrypt`),o=t);try{return new Uint8Array(await crypto.subtle.decrypt({additionalData:a,iv:r,name:`AES-GCM`,tagLength:128},o,Ts(n,i)))}catch{throw new Ps}}async function ec(e,t,n,r,i,a){if(!Js(t)&&!(t instanceof Uint8Array))throw TypeError(Gs(t,`CryptoKey`,`KeyObject`,`Uint8Array`,`JSON Web Key`));if(!r)throw new $(`JWE Initialization Vector missing`);if(!i)throw new $(`JWE Authentication Tag missing`);switch(Ls(e,r),e){case`A128CBC-HS256`:case`A192CBC-HS384`:case`A256CBC-HS512`:return t instanceof Uint8Array&&Rs(t,parseInt(e.slice(-3),10)),Qs(e,t,n,r,i,a);case`A128GCM`:case`A192GCM`:case`A256GCM`:return t instanceof Uint8Array&&Rs(t,parseInt(e.slice(1,4),10)),$s(e,t,n,r,i,a);default:throw new Q(`Unsupported JWE Content Encryption Algorithm`)}}function tc(...e){let t=e.filter(Boolean);if(t.length===0||t.length===1)return!0;let n;for(let e of t){let t=Object.keys(e);if(!n||n.size===0){n=new Set(t);continue}for(let e of t){if(n.has(e))return!1;n.add(e)}}return!0}const nc=e=>typeof e==`object`&&!!e;function rc(e){if(!nc(e)||Object.prototype.toString.call(e)!==`[object Object]`)return!1;if(Object.getPrototypeOf(e)===null)return!0;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function ic(e,t){if(e.algorithm.length!==parseInt(t.slice(1,4),10))throw TypeError(`Invalid key size for alg: ${t}`)}function ac(e,t,n){return e instanceof Uint8Array?crypto.subtle.importKey(`raw`,e,`AES-KW`,!0,[n]):(Us(e,t,n),e)}async function oc(e,t,n){let r=await ac(t,e,`wrapKey`);ic(r,e);let i=await crypto.subtle.importKey(`raw`,n,{hash:`SHA-256`,name:`HMAC`},!0,[`sign`]);return new Uint8Array(await crypto.subtle.wrapKey(`raw`,i,r,`AES-KW`))}async function sc(e,t,n){let r=await ac(t,e,`unwrapKey`);ic(r,e);let i=await crypto.subtle.unwrapKey(`raw`,n,r,`AES-KW`,{hash:`SHA-256`,name:`HMAC`},!0,[`sign`]);return new Uint8Array(await crypto.subtle.exportKey(`raw`,i))}async function cc(e,t){let n=`SHA-${e.slice(-3)}`;return new Uint8Array(await crypto.subtle.digest(n,t))}function lc(e){return Ts(Os(e.length),e)}async function uc(e,t,n){let r=t>>3,i=Math.ceil(r/32),a=new Uint8Array(i*32);for(let t=1;t<=i;t++){let r=new Uint8Array(4+e.length+n.length);r.set(Os(t),0),r.set(e,4),r.set(n,4+e.length);let i=await cc(`sha256`,r);a.set(i,(t-1)*32)}return a.slice(0,r)}async function dc(e,t,n,r,i=new Uint8Array,a=new Uint8Array){Us(e,`ECDH`),Us(t,`ECDH`,`deriveBits`);let o=Ts(lc(ks(n)),lc(i),lc(a),Os(r),new Uint8Array);return uc(new Uint8Array(await crypto.subtle.deriveBits({name:e.algorithm.name,public:e},t,fc(e))),r,o)}function fc(e){return e.algorithm.name===`X25519`?256:Math.ceil(parseInt(e.algorithm.namedCurve.slice(-3),10)/8)<<3}function pc(e){switch(e.algorithm.namedCurve){case`P-256`:case`P-384`:case`P-521`:return!0;default:return e.algorithm.name===`X25519`}}function mc(e,t){return e instanceof Uint8Array?crypto.subtle.importKey(`raw`,e,`PBKDF2`,!1,[`deriveBits`]):(Us(e,t,`deriveBits`),e)}const hc=(e,t)=>Ts(ks(e),Uint8Array.of(0),t);async function gc(e,t,n,r){if(!(e instanceof Uint8Array)||e.length<8)throw new $(`PBES2 Salt Input must be 8 or more octets`);let i=hc(t,e),a=parseInt(t.slice(13,16),10),o={hash:`SHA-${t.slice(8,11)}`,iterations:n,name:`PBKDF2`,salt:i},s=await mc(r,t);return new Uint8Array(await crypto.subtle.deriveBits(o,s,a))}async function _c(e,t,n,r=2048,i=crypto.getRandomValues(new Uint8Array(16))){let a=await gc(i,e,r,t);return{encryptedKey:await oc(e.slice(-6),a,n),p2c:r,p2s:Z(i)}}async function vc(e,t,n,r,i){let a=await gc(i,e,r,t);return sc(e.slice(-6),a,n)}function yc(e,t){if(e.startsWith(`RS`)||e.startsWith(`PS`)){let{modulusLength:n}=t.algorithm;if(typeof n!=`number`||n<2048)throw TypeError(`${e} requires key modulusLength to be 2048 bits or larger`)}}const bc=e=>{switch(e){case`RSA-OAEP`:case`RSA-OAEP-256`:case`RSA-OAEP-384`:case`RSA-OAEP-512`:return`RSA-OAEP`;default:throw new Q(`alg ${e} is not supported either by JOSE or your javascript runtime`)}};async function xc(e,t,n){return Us(t,e,`encrypt`),yc(e,t),new Uint8Array(await crypto.subtle.encrypt(bc(e),t,n))}async function Sc(e,t,n){return Us(t,e,`decrypt`),yc(e,t),new Uint8Array(await crypto.subtle.decrypt(bc(e),t,n))}function Cc(e){switch(e){case`A128GCM`:return 128;case`A192GCM`:return 192;case`A256GCM`:case`A128CBC-HS256`:return 256;case`A192CBC-HS384`:return 384;case`A256CBC-HS512`:return 512;default:throw new Q(`Unsupported JWE Algorithm: ${e}`)}}const wc=e=>crypto.getRandomValues(new Uint8Array(Cc(e)>>3));function Tc(e){let t,n;switch(e.kty){case`AKP`:switch(e.alg){case`ML-DSA-44`:case`ML-DSA-65`:case`ML-DSA-87`:t={name:e.alg},n=e.priv?[`sign`]:[`verify`];break;default:throw new Q(`Invalid or unsupported JWK "alg" (Algorithm) Parameter value`)}break;case`RSA`:switch(e.alg){case`PS256`:case`PS384`:case`PS512`:t={name:`RSA-PSS`,hash:`SHA-${e.alg.slice(-3)}`},n=e.d?[`sign`]:[`verify`];break;case`RS256`:case`RS384`:case`RS512`:t={name:`RSASSA-PKCS1-v1_5`,hash:`SHA-${e.alg.slice(-3)}`},n=e.d?[`sign`]:[`verify`];break;case`RSA-OAEP`:case`RSA-OAEP-256`:case`RSA-OAEP-384`:case`RSA-OAEP-512`:t={name:`RSA-OAEP`,hash:`SHA-${parseInt(e.alg.slice(-3),10)||1}`},n=e.d?[`decrypt`,`unwrapKey`]:[`encrypt`,`wrapKey`];break;default:throw new Q(`Invalid or unsupported JWK "alg" (Algorithm) Parameter value`)}break;case`EC`:switch(e.alg){case`ES256`:t={name:`ECDSA`,namedCurve:`P-256`},n=e.d?[`sign`]:[`verify`];break;case`ES384`:t={name:`ECDSA`,namedCurve:`P-384`},n=e.d?[`sign`]:[`verify`];break;case`ES512`:t={name:`ECDSA`,namedCurve:`P-521`},n=e.d?[`sign`]:[`verify`];break;case`ECDH-ES`:case`ECDH-ES+A128KW`:case`ECDH-ES+A192KW`:case`ECDH-ES+A256KW`:t={name:`ECDH`,namedCurve:e.crv},n=e.d?[`deriveBits`]:[];break;default:throw new Q(`Invalid or unsupported JWK "alg" (Algorithm) Parameter value`)}break;case`OKP`:switch(e.alg){case`Ed25519`:case`EdDSA`:t={name:`Ed25519`},n=e.d?[`sign`]:[`verify`];break;case`ECDH-ES`:case`ECDH-ES+A128KW`:case`ECDH-ES+A192KW`:case`ECDH-ES+A256KW`:t={name:e.crv},n=e.d?[`deriveBits`]:[];break;default:throw new Q(`Invalid or unsupported JWK "alg" (Algorithm) Parameter value`)}break;default:throw new Q(`Invalid or unsupported JWK "kty" (Key Type) Parameter value`)}return{algorithm:t,keyUsages:n}}async function Ec(e){if(!e.alg)throw TypeError(`"alg" argument is required when "jwk.alg" is not present`);let{algorithm:t,keyUsages:n}=Tc(e),r={...e};return r.kty!==`AKP`&&delete r.alg,delete r.use,crypto.subtle.importKey(`jwk`,r,t,e.ext??!(e.d||e.priv),e.key_ops??n)}async function Dc(e,t,n){if(!rc(e))throw TypeError(`JWK must be an object`);let r;switch(t??=e.alg,r??=n?.extractable??e.ext,e.kty){case`oct`:if(typeof e.k!=`string`||!e.k)throw TypeError(`missing "k" (Key Value) Parameter value`);return X(e.k);case`RSA`:if(`oth`in e&&e.oth!==void 0)throw new Q(`RSA JWK "oth" (Other Primes Info) Parameter value is not supported`);return Ec({...e,alg:t,ext:r});case`AKP`:if(typeof e.alg!=`string`||!e.alg)throw TypeError(`missing "alg" (Algorithm) Parameter value`);if(t!==void 0&&t!==e.alg)throw TypeError(`JWK alg and alg option value mismatch`);return Ec({...e,ext:r});case`EC`:case`OKP`:return Ec({...e,alg:t,ext:r});default:throw new Q(`Unsupported "kty" (Key Type) Parameter value`)}}async function Oc(e,t,n,r,i){if(!(n instanceof Uint8Array))throw TypeError(Gs(n,`Uint8Array`));let a=parseInt(e.slice(1,4),10),o=await crypto.subtle.importKey(`raw`,n.subarray(a>>3),`AES-CBC`,!1,[`encrypt`]),s=await crypto.subtle.importKey(`raw`,n.subarray(0,a>>3),{hash:`SHA-${a<<1}`,name:`HMAC`},!1,[`sign`]),c=new Uint8Array(await crypto.subtle.encrypt({iv:r,name:`AES-CBC`},o,t)),l=Ts(i,r,c,Ds(i.length<<3));return{ciphertext:c,tag:new Uint8Array((await crypto.subtle.sign(`HMAC`,s,l)).slice(0,a>>3)),iv:r}}async function kc(e,t,n,r,i){let a;n instanceof Uint8Array?a=await crypto.subtle.importKey(`raw`,n,`AES-GCM`,!1,[`encrypt`]):(Us(n,e,`encrypt`),a=n);let o=new Uint8Array(await crypto.subtle.encrypt({additionalData:i,iv:r,name:`AES-GCM`,tagLength:128},a,t)),s=o.slice(-16);return{ciphertext:o.slice(0,-16),tag:s,iv:r}}async function Ac(e,t,n,r,i){if(!Js(n)&&!(n instanceof Uint8Array))throw TypeError(Gs(n,`CryptoKey`,`KeyObject`,`Uint8Array`,`JSON Web Key`));switch(r?Ls(e,r):r=Is(e),e){case`A128CBC-HS256`:case`A192CBC-HS384`:case`A256CBC-HS512`:return n instanceof Uint8Array&&Rs(n,parseInt(e.slice(-3),10)),Oc(e,t,n,r,i);case`A128GCM`:case`A192GCM`:case`A256GCM`:return n instanceof Uint8Array&&Rs(n,parseInt(e.slice(1,4),10)),kc(e,t,n,r,i);default:throw new Q(`Unsupported JWE Content Encryption Algorithm`)}}async function jc(e,t,n,r){let i=await Ac(e.slice(0,7),n,t,r,new Uint8Array);return{encryptedKey:i.ciphertext,iv:Z(i.iv),tag:Z(i.tag)}}async function Mc(e,t,n,r,i){return ec(e.slice(0,7),t,n,r,i,new Uint8Array)}async function Nc(e,t,n,r,i){switch(e){case`dir`:if(n!==void 0)throw new $(`Encountered unexpected JWE Encrypted Key`);return t;case`ECDH-ES`:if(n!==void 0)throw new $(`Encountered unexpected JWE Encrypted Key`);case`ECDH-ES+A128KW`:case`ECDH-ES+A192KW`:case`ECDH-ES+A256KW`:{if(!rc(r.epk))throw new $(`JOSE Header "epk" (Ephemeral Public Key) missing or invalid`);if(qs(t),!pc(t))throw new Q(`ECDH with the provided key is not allowed or not supported by your javascript runtime`);let i=await Dc(r.epk,e);qs(i);let a,o;if(r.apu!==void 0){if(typeof r.apu!=`string`)throw new $(`JOSE Header "apu" (Agreement PartyUInfo) invalid`);try{a=X(r.apu)}catch{throw new $(`Failed to base64url decode the apu`)}}if(r.apv!==void 0){if(typeof r.apv!=`string`)throw new $(`JOSE Header "apv" (Agreement PartyVInfo) invalid`);try{o=X(r.apv)}catch{throw new $(`Failed to base64url decode the apv`)}}let s=await dc(i,t,e===`ECDH-ES`?r.enc:e,e===`ECDH-ES`?Cc(r.enc):parseInt(e.slice(-5,-2),10),a,o);if(e===`ECDH-ES`)return s;if(n===void 0)throw new $(`JWE Encrypted Key missing`);return sc(e.slice(-6),s,n)}case`RSA-OAEP`:case`RSA-OAEP-256`:case`RSA-OAEP-384`:case`RSA-OAEP-512`:if(n===void 0)throw new $(`JWE Encrypted Key missing`);return qs(t),Sc(e,t,n);case`PBES2-HS256+A128KW`:case`PBES2-HS384+A192KW`:case`PBES2-HS512+A256KW`:{if(n===void 0)throw new $(`JWE Encrypted Key missing`);if(typeof r.p2c!=`number`)throw new $(`JOSE Header "p2c" (PBES2 Count) missing or invalid`);let a=i?.maxPBES2Count||1e4;if(r.p2c>a)throw new $(`JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds`);if(typeof r.p2s!=`string`)throw new $(`JOSE Header "p2s" (PBES2 Salt) missing or invalid`);let o;try{o=X(r.p2s)}catch{throw new $(`Failed to base64url decode the p2s`)}return vc(e,t,n,r.p2c,o)}case`A128KW`:case`A192KW`:case`A256KW`:if(n===void 0)throw new $(`JWE Encrypted Key missing`);return sc(e,t,n);case`A128GCMKW`:case`A192GCMKW`:case`A256GCMKW`:{if(n===void 0)throw new $(`JWE Encrypted Key missing`);if(typeof r.iv!=`string`)throw new $(`JOSE Header "iv" (Initialization Vector) missing or invalid`);if(typeof r.tag!=`string`)throw new $(`JOSE Header "tag" (Authentication Tag) missing or invalid`);let i;try{i=X(r.iv)}catch{throw new $(`Failed to base64url decode the iv`)}let a;try{a=X(r.tag)}catch{throw new $(`Failed to base64url decode the tag`)}return Mc(e,t,n,i,a)}default:throw new Q(`Invalid or unsupported "alg" (JWE Algorithm) header value`)}}function Pc(e,t,n,r,i){if(i.crit!==void 0&&r?.crit===void 0)throw new e(`"crit" (Critical) Header Parameter MUST be integrity protected`);if(!r||r.crit===void 0)return new Set;if(!Array.isArray(r.crit)||r.crit.length===0||r.crit.some(e=>typeof e!=`string`||e.length===0))throw new e(`"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present`);let a;a=n===void 0?t:new Map([...Object.entries(n),...t.entries()]);for(let t of r.crit){if(!a.has(t))throw new Q(`Extension Header Parameter "${t}" is not recognized`);if(i[t]===void 0)throw new e(`Extension Header Parameter "${t}" is missing`);if(a.get(t)&&r[t]===void 0)throw new e(`Extension Header Parameter "${t}" MUST be integrity protected`)}return new Set(r.crit)}function Fc(e,t){if(t!==void 0&&(!Array.isArray(t)||t.some(e=>typeof e!=`string`)))throw TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)}const Ic=e=>rc(e)&&typeof e.kty==`string`,Lc=e=>e.kty!==`oct`&&(e.kty===`AKP`&&typeof e.priv==`string`||typeof e.d==`string`),Rc=e=>e.kty!==`oct`&&e.d===void 0&&e.priv===void 0,zc=e=>e.kty===`oct`&&typeof e.k==`string`;let Bc;const Vc=async(e,t,n,r=!1)=>{Bc||=new WeakMap;let i=Bc.get(e);if(i?.[n])return i[n];let a=await Ec({...t,alg:n});return r&&Object.freeze(e),i?i[n]=a:Bc.set(e,{[n]:a}),a},Hc=(e,t)=>{Bc||=new WeakMap;let n=Bc.get(e);if(n?.[t])return n[t];let r=e.type===`public`,i=!!r,a;if(e.asymmetricKeyType===`x25519`){switch(t){case`ECDH-ES`:case`ECDH-ES+A128KW`:case`ECDH-ES+A192KW`:case`ECDH-ES+A256KW`:break;default:throw TypeError(`given KeyObject instance cannot be used for this algorithm`)}a=e.toCryptoKey(e.asymmetricKeyType,i,r?[]:[`deriveBits`])}if(e.asymmetricKeyType===`ed25519`){if(t!==`EdDSA`&&t!==`Ed25519`)throw TypeError(`given KeyObject instance cannot be used for this algorithm`);a=e.toCryptoKey(e.asymmetricKeyType,i,[r?`verify`:`sign`])}switch(e.asymmetricKeyType){case`ml-dsa-44`:case`ml-dsa-65`:case`ml-dsa-87`:if(t!==e.asymmetricKeyType.toUpperCase())throw TypeError(`given KeyObject instance cannot be used for this algorithm`);a=e.toCryptoKey(e.asymmetricKeyType,i,[r?`verify`:`sign`])}if(e.asymmetricKeyType===`rsa`){let n;switch(t){case`RSA-OAEP`:n=`SHA-1`;break;case`RS256`:case`PS256`:case`RSA-OAEP-256`:n=`SHA-256`;break;case`RS384`:case`PS384`:case`RSA-OAEP-384`:n=`SHA-384`;break;case`RS512`:case`PS512`:case`RSA-OAEP-512`:n=`SHA-512`;break;default:throw TypeError(`given KeyObject instance cannot be used for this algorithm`)}if(t.startsWith(`RSA-OAEP`))return e.toCryptoKey({name:`RSA-OAEP`,hash:n},i,r?[`encrypt`]:[`decrypt`]);a=e.toCryptoKey({name:t.startsWith(`PS`)?`RSA-PSS`:`RSASSA-PKCS1-v1_5`,hash:n},i,[r?`verify`:`sign`])}if(e.asymmetricKeyType===`ec`){let n=new Map([[`prime256v1`,`P-256`],[`secp384r1`,`P-384`],[`secp521r1`,`P-521`]]).get(e.asymmetricKeyDetails?.namedCurve);if(!n)throw TypeError(`given KeyObject instance cannot be used for this algorithm`);t===`ES256`&&n===`P-256`&&(a=e.toCryptoKey({name:`ECDSA`,namedCurve:n},i,[r?`verify`:`sign`])),t===`ES384`&&n===`P-384`&&(a=e.toCryptoKey({name:`ECDSA`,namedCurve:n},i,[r?`verify`:`sign`])),t===`ES512`&&n===`P-521`&&(a=e.toCryptoKey({name:`ECDSA`,namedCurve:n},i,[r?`verify`:`sign`])),t.startsWith(`ECDH-ES`)&&(a=e.toCryptoKey({name:`ECDH`,namedCurve:n},i,r?[]:[`deriveBits`]))}if(!a)throw TypeError(`given KeyObject instance cannot be used for this algorithm`);return n?n[t]=a:Bc.set(e,{[t]:a}),a};async function Uc(e,t){if(e instanceof Uint8Array||Js(e))return e;if(Ys(e)){if(e.type===`secret`)return e.export();if(`toCryptoKey`in e&&typeof e.toCryptoKey==`function`)try{return Hc(e,t)}catch(e){if(e instanceof TypeError)throw e}return Vc(e,e.export({format:`jwk`}),t)}if(Ic(e))return e.k?X(e.k):Vc(e,e,t,!0);throw Error(`unreachable`)}const Wc=e=>e?.[Symbol.toStringTag],Gc=(e,t,n)=>{if(t.use!==void 0){let e;switch(n){case`sign`:case`verify`:e=`sig`;break;case`encrypt`:case`decrypt`:e=`enc`;break}if(t.use!==e)throw TypeError(`Invalid key for this operation, its "use" must be "${e}" when present`)}if(t.alg!==void 0&&t.alg!==e)throw TypeError(`Invalid key for this operation, its "alg" must be "${e}" when present`);if(Array.isArray(t.key_ops)){let r;switch(!0){case n===`sign`||n===`verify`:case e===`dir`:case e.includes(`CBC-HS`):r=n;break;case e.startsWith(`PBES2`):r=`deriveBits`;break;case/^A\d{3}(?:GCM)?(?:KW)?$/.test(e):r=!e.includes(`GCM`)&&e.endsWith(`KW`)?n===`encrypt`?`wrapKey`:`unwrapKey`:n;break;case n===`encrypt`&&e.startsWith(`RSA`):r=`wrapKey`;break;case n===`decrypt`:r=e.startsWith(`RSA`)?`unwrapKey`:`deriveBits`;break}if(r&&t.key_ops?.includes?.(r)===!1)throw TypeError(`Invalid key for this operation, its "key_ops" must include "${r}" when present`)}return!0},Kc=(e,t,n)=>{if(!(t instanceof Uint8Array)){if(Ic(t)){if(zc(t)&&Gc(e,t,n))return;throw TypeError(`JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present`)}if(!Xs(t))throw TypeError(Ks(e,t,`CryptoKey`,`KeyObject`,`JSON Web Key`,`Uint8Array`));if(t.type!==`secret`)throw TypeError(`${Wc(t)} instances for symmetric algorithms must be of type "secret"`)}},qc=(e,t,n)=>{if(Ic(t))switch(n){case`decrypt`:case`sign`:if(Lc(t)&&Gc(e,t,n))return;throw TypeError(`JSON Web Key for this operation must be a private JWK`);case`encrypt`:case`verify`:if(Rc(t)&&Gc(e,t,n))return;throw TypeError(`JSON Web Key for this operation must be a public JWK`)}if(!Xs(t))throw TypeError(Ks(e,t,`CryptoKey`,`KeyObject`,`JSON Web Key`));if(t.type===`secret`)throw TypeError(`${Wc(t)} instances for asymmetric algorithms must not be of type "secret"`);if(t.type===`public`)switch(n){case`sign`:throw TypeError(`${Wc(t)} instances for asymmetric algorithm signing must be of type "private"`);case`decrypt`:throw TypeError(`${Wc(t)} instances for asymmetric algorithm decryption must be of type "private"`)}if(t.type===`private`)switch(n){case`verify`:throw TypeError(`${Wc(t)} instances for asymmetric algorithm verifying must be of type "public"`);case`encrypt`:throw TypeError(`${Wc(t)} instances for asymmetric algorithm encryption must be of type "public"`)}};function Jc(e,t,n){switch(e.substring(0,2)){case`A1`:case`A2`:case`di`:case`HS`:case`PB`:Kc(e,t,n);break;default:qc(e,t,n)}}async function Yc(e,t,n){if(!rc(e))throw new $(`Flattened JWE must be an object`);if(e.protected===void 0&&e.header===void 0&&e.unprotected===void 0)throw new $(`JOSE Header missing`);if(e.iv!==void 0&&typeof e.iv!=`string`)throw new $(`JWE Initialization Vector incorrect type`);if(typeof e.ciphertext!=`string`)throw new $(`JWE Ciphertext missing or incorrect type`);if(e.tag!==void 0&&typeof e.tag!=`string`)throw new $(`JWE Authentication Tag incorrect type`);if(e.protected!==void 0&&typeof e.protected!=`string`)throw new $(`JWE Protected Header incorrect type`);if(e.encrypted_key!==void 0&&typeof e.encrypted_key!=`string`)throw new $(`JWE Encrypted Key incorrect type`);if(e.aad!==void 0&&typeof e.aad!=`string`)throw new $(`JWE AAD incorrect type`);if(e.header!==void 0&&!rc(e.header))throw new $(`JWE Shared Unprotected Header incorrect type`);if(e.unprotected!==void 0&&!rc(e.unprotected))throw new $(`JWE Per-Recipient Unprotected Header incorrect type`);let r;if(e.protected)try{let t=X(e.protected);r=JSON.parse(Cs.decode(t))}catch{throw new $(`JWE Protected Header is invalid`)}if(!tc(r,e.header,e.unprotected))throw new $(`JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint`);let i={...r,...e.header,...e.unprotected};if(Pc($,new Map,n?.crit,r,i),i.zip!==void 0)throw new Q(`JWE "zip" (Compression Algorithm) Header Parameter is not supported.`);let{alg:a,enc:o}=i;if(typeof a!=`string`||!a)throw new $(`missing JWE Algorithm (alg) in JWE Header`);if(typeof o!=`string`||!o)throw new $(`missing JWE Encryption Algorithm (enc) in JWE Header`);let s=n&&Fc(`keyManagementAlgorithms`,n.keyManagementAlgorithms),c=n&&Fc(`contentEncryptionAlgorithms`,n.contentEncryptionAlgorithms);if(s&&!s.has(a)||!s&&a.startsWith(`PBES2`))throw new Ns(`"alg" (Algorithm) Header Parameter value not allowed`);if(c&&!c.has(o))throw new Ns(`"enc" (Encryption Algorithm) Header Parameter value not allowed`);let l;if(e.encrypted_key!==void 0)try{l=X(e.encrypted_key)}catch{throw new $(`Failed to base64url decode the encrypted_key`)}let u=!1;typeof t==`function`&&(t=await t(r,e),u=!0),Jc(a===`dir`?o:a,t,`decrypt`);let d=await Uc(t,a),f;try{f=await Nc(a,d,l,i,n)}catch(e){if(e instanceof TypeError||e instanceof $||e instanceof Q)throw e;f=wc(o)}let p,m;if(e.iv!==void 0)try{p=X(e.iv)}catch{throw new $(`Failed to base64url decode the iv`)}if(e.tag!==void 0)try{m=X(e.tag)}catch{throw new $(`Failed to base64url decode the tag`)}let h=e.protected===void 0?new Uint8Array:ks(e.protected),g;g=e.aad===void 0?h:Ts(h,ks(`.`),ks(e.aad));let _;try{_=X(e.ciphertext)}catch{throw new $(`Failed to base64url decode the ciphertext`)}let v={plaintext:await ec(o,f,_,p,m,g)};if(e.protected!==void 0&&(v.protectedHeader=r),e.aad!==void 0)try{v.additionalAuthenticatedData=X(e.aad)}catch{throw new $(`Failed to base64url decode the aad`)}return e.unprotected!==void 0&&(v.sharedUnprotectedHeader=e.unprotected),e.header!==void 0&&(v.unprotectedHeader=e.header),u?{...v,key:d}:v}async function Xc(e,t,n){if(e instanceof Uint8Array&&(e=Cs.decode(e)),typeof e!=`string`)throw new $(`Compact JWE must be a string or Uint8Array`);let{0:r,1:i,2:a,3:o,4:s,length:c}=e.split(`.`);if(c!==5)throw new $(`Invalid Compact JWE`);let l=await Yc({ciphertext:o,iv:a||void 0,protected:r,tag:s||void 0,encrypted_key:i||void 0},t,n),u={plaintext:l.plaintext,protectedHeader:l.protectedHeader};return typeof t==`function`?{...u,key:l.key}:u}const Zc=Symbol();async function Qc(e){if(Ys(e))if(e.type===`secret`)e=e.export();else return e.export({format:`jwk`});if(e instanceof Uint8Array)return{kty:`oct`,k:Z(e)};if(!Js(e))throw TypeError(Gs(e,`CryptoKey`,`KeyObject`,`Uint8Array`));if(!e.extractable)throw TypeError(`non-extractable CryptoKey cannot be exported as a JWK`);let{ext:t,key_ops:n,alg:r,use:i,...a}=await crypto.subtle.exportKey(`jwk`,e);return a.kty===`AKP`&&(a.alg=r),a}async function $c(e){return Qc(e)}async function el(e,t,n,r,i={}){let a,o,s;switch(e){case`dir`:s=n;break;case`ECDH-ES`:case`ECDH-ES+A128KW`:case`ECDH-ES+A192KW`:case`ECDH-ES+A256KW`:{if(qs(n),!pc(n))throw new Q(`ECDH with the provided key is not allowed or not supported by your javascript runtime`);let{apu:c,apv:l}=i,u;u=i.epk?await Uc(i.epk,e):(await crypto.subtle.generateKey(n.algorithm,!0,[`deriveBits`])).privateKey;let{x:d,y:f,crv:p,kty:m}=await $c(u),h=await dc(n,u,e===`ECDH-ES`?t:e,e===`ECDH-ES`?Cc(t):parseInt(e.slice(-5,-2),10),c,l);if(o={epk:{x:d,crv:p,kty:m}},m===`EC`&&(o.epk.y=f),c&&(o.apu=Z(c)),l&&(o.apv=Z(l)),e===`ECDH-ES`){s=h;break}s=r||wc(t),a=await oc(e.slice(-6),h,s);break}case`RSA-OAEP`:case`RSA-OAEP-256`:case`RSA-OAEP-384`:case`RSA-OAEP-512`:s=r||wc(t),qs(n),a=await xc(e,n,s);break;case`PBES2-HS256+A128KW`:case`PBES2-HS384+A192KW`:case`PBES2-HS512+A256KW`:{s=r||wc(t);let{p2c:c,p2s:l}=i;({encryptedKey:a,...o}=await _c(e,n,s,c,l));break}case`A128KW`:case`A192KW`:case`A256KW`:s=r||wc(t),a=await oc(e,n,s);break;case`A128GCMKW`:case`A192GCMKW`:case`A256GCMKW`:{s=r||wc(t);let{iv:c}=i;({encryptedKey:a,...o}=await jc(e,n,s,c));break}default:throw new Q(`Invalid or unsupported "alg" (JWE Algorithm) header value`)}return{cek:s,encryptedKey:a,parameters:o}}var tl=(Le=new WeakMap,E=new WeakMap,Re=new WeakMap,D=new WeakMap,ze=new WeakMap,Be=new WeakMap,Ve=new WeakMap,He=new WeakMap,class{constructor(e){if(O(this,Le,void 0),O(this,E,void 0),O(this,Re,void 0),O(this,D,void 0),O(this,ze,void 0),O(this,Be,void 0),O(this,Ve,void 0),O(this,He,void 0),!(e instanceof Uint8Array))throw TypeError(`plaintext must be an instance of Uint8Array`);j(Le,this,e)}setKeyManagementParameters(e){if(A(He,this))throw TypeError(`setKeyManagementParameters can only be called once`);return j(He,this,e),this}setProtectedHeader(e){if(A(E,this))throw TypeError(`setProtectedHeader can only be called once`);return j(E,this,e),this}setSharedUnprotectedHeader(e){if(A(Re,this))throw TypeError(`setSharedUnprotectedHeader can only be called once`);return j(Re,this,e),this}setUnprotectedHeader(e){if(A(D,this))throw TypeError(`setUnprotectedHeader can only be called once`);return j(D,this,e),this}setAdditionalAuthenticatedData(e){return j(ze,this,e),this}setContentEncryptionKey(e){if(A(Be,this))throw TypeError(`setContentEncryptionKey can only be called once`);return j(Be,this,e),this}setInitializationVector(e){if(A(Ve,this))throw TypeError(`setInitializationVector can only be called once`);return j(Ve,this,e),this}async encrypt(e,t){if(!A(E,this)&&!A(D,this)&&!A(Re,this))throw new $(`either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()`);if(!tc(A(E,this),A(D,this),A(Re,this)))throw new $(`JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint`);let n={...A(E,this),...A(D,this),...A(Re,this)};if(Pc($,new Map,t?.crit,A(E,this),n),n.zip!==void 0)throw new Q(`JWE "zip" (Compression Algorithm) Header Parameter is not supported.`);let{alg:r,enc:i}=n;if(typeof r!=`string`||!r)throw new $(`JWE "alg" (Algorithm) Header Parameter missing or invalid`);if(typeof i!=`string`||!i)throw new $(`JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid`);let a;if(A(Be,this)&&(r===`dir`||r===`ECDH-ES`))throw TypeError(`setContentEncryptionKey cannot be called with JWE "alg" (Algorithm) Header ${r}`);Jc(r===`dir`?i:r,e,`encrypt`);let o;{let n,s=await Uc(e,r);({cek:o,encryptedKey:a,parameters:n}=await el(r,i,s,A(Be,this),A(He,this))),n&&(t&&Zc in t?A(D,this)?j(D,this,{...A(D,this),...n}):this.setUnprotectedHeader(n):A(E,this)?j(E,this,{...A(E,this),...n}):this.setProtectedHeader(n))}let s,c,l,u;if(A(E,this)?(c=Z(JSON.stringify(A(E,this))),l=ks(c)):(c=``,l=new Uint8Array),A(ze,this)){u=Z(A(ze,this));let e=ks(u);s=Ts(l,ks(`.`),e)}else s=l;let{ciphertext:d,tag:f,iv:p}=await Ac(i,A(Le,this),o,A(Ve,this),s),m={ciphertext:Z(d)};return p&&(m.iv=Z(p)),f&&(m.tag=Z(f)),a&&(m.encrypted_key=Z(a)),u&&(m.aad=u),A(E,this)&&(m.protected=c),A(Re,this)&&(m.unprotected=A(Re,this)),A(D,this)&&(m.header=A(D,this)),m}}),nl=(Ue=new WeakMap,class{constructor(e){O(this,Ue,void 0),j(Ue,this,new tl(e))}setContentEncryptionKey(e){return A(Ue,this).setContentEncryptionKey(e),this}setInitializationVector(e){return A(Ue,this).setInitializationVector(e),this}setProtectedHeader(e){return A(Ue,this).setProtectedHeader(e),this}setKeyManagementParameters(e){return A(Ue,this).setKeyManagementParameters(e),this}async encrypt(e,t){let n=await A(Ue,this).encrypt(e,t);return[n.protected,n.encrypted_key,n.iv,n.ciphertext,n.tag].join(`.`)}});async function rl(e,t){let n=new TextEncoder,r=await Dc({kty:`oct`,k:Z(e)},`PBES2-HS256+A128KW`);return await new nl(n.encode(t)).setProtectedHeader({alg:`PBES2-HS256+A128KW`,enc:`A256GCM`}).encrypt(r)}async function il(e,t){let n=await Xc(t,await Dc({kty:`oct`,k:Z(e)},`PBES2-HS256+A128KW`),{keyManagementAlgorithms:[`PBES2-HS256+A128KW`],contentEncryptionAlgorithms:[`A256GCM`]});return new TextDecoder().decode(n.plaintext)}function al(e){let t=e.split(`.`);if(t.length<2)throw Error(`invalid JWT`);let n=t[1],r=Uint8Array.from(atob(n),e=>e.codePointAt(0));return JSON.parse(new TextDecoder().decode(r))}async function ol(e,t,n,r={}){return n instanceof Blob&&((r.contentLength===!0||r.contentLength===void 0)&&(r.contentLength=n.size),n=await n.arrayBuffer()),e.putFileContents(t,n,r)}var sl=class extends it(Ye(ot),mt){constructor(){super(),this.auth={},this.authUrl=``,this.webDavUrl=``,this.fullWebDavUrl=``,this.nextcloudName=`Nextcloud`,this.nextcloudFileURL=``,this.loginWindow=null,this.isPickerActive=!1,this.statusText=``,this.lastDirectoryPath=`/`,this.directoryPath=``,this.webDavClient=null,this.tabulatorTable=null,this.allowedMimeTypes=``,this.directoriesOnly=!1,this.maxSelectedItems=Number.MAX_VALUE,this.loading=!1,this._onReceiveWindowMessage=this.onReceiveWindowMessage.bind(this),this.folderIsSelected=this._i18n.t(`nextcloud-file-picker.load-in-folder`),this.generatedFilename=``,this.replaceFilename=``,this.customFilename=``,this.uploadFileObject=null,this.uploadFileDirectory=null,this.fileList=[],this.fileNameCounter=1,this.activeDirectoryRights=`RGDNVCK`,this.activeDirectoryACL=``,this.forAll=!1,this.uploadCount=0,this.abortUploadButton=!1,this.abortUpload=!1,this.authInfo=``,this.selectBtnDisabled=!0,this.storeSession=!1,this.boundCloseAdditionalMenuHandler=this.hideAdditionalMenu.bind(this),this.initateOpenAdditionalMenu=!1,this.isInFavorites=!1,this.isInFilteredRecent=!1,this.isInRecent=!1,this.userName=``,this.menuHeightBreadcrumb=-1,this.boundCloseBreadcrumbMenuHandler=this.hideBreadcrumbMenu.bind(this),this.initateOpenBreadcrumbMenu=!1,this.boundClickOutsideNewFolderHandler=this.deleteNewFolderEntry.bind(this),this.initateOpenNewFolder=!1,this.disableRowClick=!1,this.boundRefreshOnWindowSizeChange=this.refreshOnWindowSizeChange.bind(this),this.boundCancelNewFolderHandler=this.cancelNewFolder.bind(this),this.boundSelectHandler=this.selectAllFiles.bind(this)}static get scopedElements(){return{"dbp-icon":Ze,"dbp-mini-spinner":st}}static get properties(){return{...super.properties,auth:{type:Object},authUrl:{type:String,attribute:`auth-url`},webDavUrl:{type:String,attribute:`web-dav-url`},fullWebDavUrl:{type:String,attribute:!1},nextcloudFileURL:{type:String,attribute:`nextcloud-file-url`},nextcloudName:{type:String,attribute:`nextcloud-name`},isPickerActive:{type:Boolean,attribute:!1},statusText:{type:String,attribute:!1},folderIsSelected:{type:String,attribute:!1},authInfo:{type:String,attribute:`auth-info`},directoryPath:{type:String,attribute:`directory-path`},allowedMimeTypes:{type:String,attribute:`allowed-mime-types`},directoriesOnly:{type:Boolean,attribute:`directories-only`},maxSelectedItems:{type:Number,attribute:`max-selected-items`},loading:{type:Boolean,attribute:!1},replaceFilename:{type:String,attribute:!1},uploadFileObject:{type:Object,attribute:!1},uploadFileDirectory:{type:String,attribute:!1},activeDirectoryRights:{type:String,attribute:!1},activeDirectoryACL:{type:String,attribute:!1},abortUploadButton:{type:Boolean,attribute:!1},selectBtnDisabled:{type:Boolean,attribute:!0},userName:{type:Boolean,attribute:!1},storeSession:{type:Boolean,attribute:`store-nextcloud-session`},disableRowClick:{type:Boolean,attribute:!1}}}update(e){e.forEach((e,t)=>{switch(t){case`auth`:this._updateAuth();break;case`directoriesOnly`:this.directoriesOnly&&this._(`#select_all_wrapper`)&&(this._(`#select_all_wrapper`).classList.remove(`button-container`),this._(`#select_all_wrapper`).classList.add(`hidden`)),!this.directoriesOnly&&this._(`#select_all_wrapper`)&&(this._(`#select_all_wrapper`).classList.add(`button-container`),this._(`#select_all_wrapper`).classList.remove(`hidden`));break}}),super.update(e)}disconnectedCallback(){window.removeEventListener(`message`,this._onReceiveWindowMessage),window.removeEventListener(`resize`,this.boundRefreshOnWindowSizeChange),this.tabulatorTable.off(`tableBuilt`),this.tabulatorTable.off(`rowSelectionChanged`),this.tabulatorTable.off(`rowClick`),this.tabulatorTable.off(`rowAdded`),this.tabulatorTable.off(`dataLoaded`),super.disconnectedCallback()}connectedCallback(){super.connectedCallback();let e=this._i18n;this._loginStatus=``,this._loginState=[],this._loginCalled=!1,this.updateComplete.then(()=>{window.addEventListener(`message`,this._onReceiveWindowMessage),this.tabulatorTable=new cs(this._(`#directory-content-table`),{layout:`fitColumns`,selectableRows:this.maxSelectedItems,placeholder:this.directoriesOnly?e.t(`nextcloud-file-picker.no-data`):e.t(`nextcloud-file-picker.no-data-type`),responsiveLayout:`collapse`,responsiveLayoutCollapseStartOpen:!1,columnHeaderVertAlign:`middle`,columnDefaults:{vertAlign:`middle`,hozAlign:`left`,resizable:!1},columns:[{minWidth:40,headerSort:!1,formatter:`responsiveCollapse`},{title:`<label id="select_all_wrapper" class="button-container select-all-icon"><input type="checkbox" id="select_all" name="select_all" value="select_all"><span class="checkmark" id="select_all_checkmark"></span></label>`,field:`type`,hozAlign:`center`,width:40,headerSort:!1,responsive:1,formatter:(e,t,n)=>{let r=`<dbp-icon name="empty-file" class="nextcloud-picker-icon `+(this.directoriesOnly?`nextcloud-picker-icon-disabled`:``)+`"></dbp-icon>`,i=e.getValue()===`directory`?`<dbp-icon name="folder" class="nextcloud-picker-icon"></dbp-icon>`:r,a=this.createScopedElement(`div`);return a.innerHTML=i,a}},{title:e.t(`nextcloud-file-picker.filename`),responsive:0,widthGrow:5,minWidth:150,field:`basename`,sorter:`alphanum`,formatter:e=>{let t=this.createScopedElement(`div`);return t.classList.add(`filename`),t.innerHTML=e.getValue(),t}},{title:e.t(`nextcloud-file-picker.size`),responsive:4,widthGrow:1,minWidth:84,field:`size`,formatter:(e,t,n)=>e.getRow().getData().type===`directory`?``:$e(e.getValue())},{title:e.t(`nextcloud-file-picker.mime-type`),responsive:2,widthGrow:1,minWidth:58,field:`mime`,formatter:(e,t,n)=>{if(e.getValue()===void 0)return``;let[,r]=e.getValue().split(`/`);return r}},{title:e.t(`nextcloud-file-picker.last-modified`),responsive:3,widthGrow:1,minWidth:150,field:`lastmod`,sorter:(e,t,n,r,i,a,o)=>Date.parse(e)-Date.parse(t),formatter:function(e,t,n){let r=Date.parse(e.getValue()),i=new Date(r),a=i.getFullYear(),o=(`0`+(i.getMonth()+1)).slice(-2),s=(`0`+i.getDate()).slice(-2),c=(`0`+i.getHours()).slice(-2),l=(`0`+i.getMinutes()).slice(-2);return s+`.`+o+`.`+a+` `+c+`:`+l}},{title:`rights`,field:`props.permissions`,visible:!1},{title:`acl`,field:`props.acl-list.acl.acl-permissions`,visible:!1}],initialSort:[{column:`basename`,dir:`asc`},{column:`type`,dir:`asc`}],rowFormatter:e=>{let t=e.getData();this.checkFileType(t,this.allowedMimeTypes)||(e.getElement().classList.add(`no-select`),e.getElement().classList.remove(`tabulator-selectable`)),this.directoriesOnly&&t.mime!==void 0&&(e.getElement().classList.add(`no-select`),e.getElement().classList.remove(`tabulator-selectable`)),!this.directoriesOnly&&t.mime===void 0&&e.getElement().classList.add(`no-select-styles`)}}),this.tabulatorTable.on(`tableBuilt`,this.tableBuiltFunction.bind(this)),this.tabulatorTable.on(`rowSelectionChanged`,this.rowSelectionChangedFunction.bind(this)),this.tabulatorTable.on(`rowClick`,this.rowClickFunction.bind(this)),this.tabulatorTable.on(`rowAdded`,this.rowAddedFunction.bind(this)),this.tabulatorTable.on(`dataLoaded`,this.dataLoadedFunction.bind(this)),this.allowedMimeTypes!==void 0&&this.allowedMimeTypes!==``&&!this.directoriesOnly&&this.tabulatorTable.setFilter(this.checkFileType,this.allowedMimeTypes),window.addEventListener(`resize`,this.boundRefreshOnWindowSizeChange)})}tableBuiltFunction(){this._(`#select_all`)&&this._(`#select_all`).addEventListener(`click`,this.boundSelectHandler),this.directoriesOnly&&this._(`#select_all_wrapper`)&&(this._(`#select_all_wrapper`).classList.remove(`button-container`),this._(`#select_all_wrapper`).classList.add(`hidden`))}rowSelectionChangedFunction(e,t){let n=this._i18n;this.disableRowClick||(e.length>0&&this.directoriesOnly?this.folderIsSelected=n.t(`nextcloud-file-picker.load-to-folder`):this.folderIsSelected=n.t(`nextcloud-file-picker.load-in-folder`),!this.directoriesOnly&&this.tabulatorTable&&this.tabulatorTable.getSelectedRows().filter(e=>e.getData().type!=`directory`&&this.checkFileType(e.getData(),this.allowedMimeTypes)).length>0?this.selectBtnDisabled=!1:this.selectBtnDisabled=!0,this._(`#select_all_checkmark`)&&(this._(`#select_all_checkmark`).title=this.checkAllSelected()?n.t(`clipboard.select-nothing`):n.t(`clipboard.select-all`)),this.requestUpdate())}rowClickFunction(e,t){let n=this._i18n,r=t.getData();if(!t.getElement().classList.contains(`no-select`)&&!this.disableRowClick)if(this.directoriesOnly){let r=t.getData();this.directoryClicked(e,r),this.folderIsSelected=n.t(`nextcloud-file-picker.load-in-folder`)}else switch(r.type){case`directory`:this.directoryClicked(e,r);break;case`file`:this.tabulatorTable!==null&&this.tabulatorTable.getSelectedRows().length===this.tabulatorTable.getRows().filter(e=>e.getData().type!=`directory`&&this.checkFileType(e.getData(),this.allowedMimeTypes)).length?this._(`#select_all`).checked=!0:this._(`#select_all`).checked=!1;break}else t.deselect()}rowAddedFunction(e){this.disableRowClick||e.getElement().classList.toggle(`addRowAnimation`)}dataLoadedFunction(e){if(this.tabulatorTable!==null){let e=this;setTimeout(function(){e._(`.tabulator-responsive-collapse-toggle-open`)&&e._a(`.tabulator-responsive-collapse-toggle-open`).forEach(t=>t.addEventListener(`click`,e.toggleCollapse.bind(e))),e._(`.tabulator-responsive-collapse-toggle-close`)&&e._a(`.tabulator-responsive-collapse-toggle-close`).forEach(t=>t.addEventListener(`click`,e.toggleCollapse.bind(e)))},0)}}_updateAuth(){this._loginStatus=this.auth[`login-status`];let e=[this.isLoggedIn(),this.isLoading()];this._loginState.toString()!==e.toString()&&this.requestUpdate(),this._loginState=e,this.isLoggedIn()&&!this._loginCalled&&(this._loginCalled=!0,this.checkLocalStorage())}isLoggedIn(){return this.auth&&this.auth.token}isLoading(){return this._loginStatus===`logged-out`?!1:!this.isLoggedIn()&&this.auth.token!==void 0}async checkLocalStorage(){if(!this.isLoggedIn()||!this.auth){for(let e of Object.keys(localStorage))(e.includes(`nextcloud-webdav-username-`)||e.includes(`nextcloud-webdav-password-`)||e.includes(`nextcloud-webdav-url-`))&&localStorage.removeItem(e);return}let e=this.auth[`user-id`],t=this.auth.token?al(this.auth.token):null,n=t?t.sid:``;if(this.storeSession&&n&&localStorage.getItem(`nextcloud-webdav-username-`+e)&&localStorage.getItem(`nextcloud-webdav-password-`+e)&&localStorage.getItem(`nextcloud-webdav-url-`+e))try{let t=await il(n,localStorage.getItem(`nextcloud-webdav-username-`+e)),r=await il(n,localStorage.getItem(`nextcloud-webdav-password-`+e));this.fullWebDavUrl=await il(n,localStorage.getItem(`nextcloud-webdav-url-`+e)),this.webDavClient=li(this.fullWebDavUrl,{username:t,password:r}),this.userName=t,this.isPickerActive=!0,this.loadDirectory(this.directoryPath)}catch{localStorage.removeItem(`nextcloud-webdav-username-`+e),localStorage.removeItem(`nextcloud-webdav-password-`+e),localStorage.removeItem(`nextcloud-webdav-url-`+e);return}}checkFileType(e,t){if(t===``||e.mime===void 0)return!0;let[n,r]=e.mime.split(`/`),i=t.split(`,`),a=!0;return i.forEach(e=>{let[t,i]=e.split(`/`);a&&=t!==`*`&&t!==n||i!==`*`&&i!==r}),!a}async openFilePicker(){let e=this._i18n;if(this.disableRowClick=!1,this.webDavClient===null){this.loading=!0,this.statusText=e.t(`nextcloud-file-picker.auth-progress`);let t=this.authUrl+`?target-origin=`+encodeURIComponent(window.location.href);this.loginWindow=window.open(t,`Nextcloud Login`,`width=400,height=400,menubar=no,scrollbars=no,status=no,titlebar=no,toolbar=no`)}else this.loadDirectory(this.directoryPath,this.webDavClient)}_a(e){return this.renderRoot.querySelectorAll(e)}async onReceiveWindowMessage(e){if(this.webDavClient===null){let t=e.data;if(t.type===`webapppassword`){if(this.loginWindow!==null&&this.loginWindow.close(),this.webDavClient=li(t.webdavUrl||this.webDavUrl+`/`+t.loginName,{username:t.loginName,password:t.token}),this.fullWebDavUrl=t.webdavUrl,this.storeSession&&this.isLoggedIn()&&this._(`#remember-checkbox`)&&this._(`#remember-checkbox`).checked){let e=this.auth[`user-id`],n=this.auth.token?al(this.auth.token):null,r=n?n.sid:``;if(r){let n=await rl(r,t.loginName),i=await rl(r,t.token),a=await rl(r,t.webdavUrl);localStorage.setItem(`nextcloud-webdav-username-`+e,n),localStorage.setItem(`nextcloud-webdav-password-`+e,i),localStorage.setItem(`nextcloud-webdav-url-`+e,a)}}this.loadDirectory(this.directoryPath),this.userName=t.loginName}}}toggleCollapse(e){let t=this.tabulatorTable;setTimeout(function(){t.redraw()},0)}filterUserFilesOnly(e){let t=[];for(let n=0;n<e.length;n++)if(e){let r=e[n].props.permissions;!r.includes(`M`)&&!r.includes(`S`)&&t.push(e[n])}return t}parseFileAndBaseName(e){for(e[0]!==`/`&&(e=`/`+e);/^.+\/$/.test(e);)e=e.substr(0,e.length-1);e=decodeURIComponent(e);let t=this.webDavUrl.split(`/`),n=e.split(`/`);for(let e=0;e<n.length;e++){let r=n[e];t.forEach(t=>{t===r&&(n.shift(),e--)})}n.shift();let r=n[n.length-1];return[`/`+n.join(`/`),r]}mapResponseToObject(e){let t=[];return e.forEach(e=>{let[n,r]=this.parseFileAndBaseName(e.href),i=e.propstat.prop,a=typeof i.getetag==`string`?i.getetag.replace(/"/g,``):null,o=i.getcontentlength?i.getcontentlength:`0`,s=i.resourcetype&&typeof i.resourcetype==`object`&&i.resourcetype.collection!==void 0?`directory`:`file`,c;s===`file`&&(c=i.getcontenttype&&typeof i.getcontenttype==`string`?i.getcontenttype.split(`;`)[0]:``);let l={getetag:a,getlastmodified:i.getlastmodified,getcontentlength:o,permissions:i.permissions,resourcetype:s,getcontenttype:i.getcontenttype},u={basename:r,etag:a,filename:n,lastmod:i.getlastmodified,mime:c,props:l,size:parseInt(o,10),type:s};t.push(u)}),t}loadFavorites(){this.hideAdditionalMenu();let e=this._i18n;if((this.directoryPath===void 0||this.directoryPath===void 0)&&(this.directoryPath=``),console.log(`load nextcloud favorites`),this.selectAllButton=!0,this.loading=!0,this.statusText=e.t(`nextcloud-file-picker.loadpath-nextcloud-file-picker`,{name:this.nextcloudName}),this.lastDirectoryPath=this.directoryPath,this.directoryPath=``,this.isInRecent=!1,this.isInFilteredRecent=!1,this.isInFavorites=!0,this.webDavClient===null){this.tabulatorTable.clearData(),this.webDavClient=null;let t=N`${e.t(`nextcloud-file-picker.something-went-wrong`)}
<button class="button"
title="${e.t(`nextcloud-file-picker.refresh-nextcloud-file-picker`)}"
@click="${async()=>{this.openFilePicker()}}">
<dbp-icon name="reload">
</button>`;this.loading=!1,this.statusText=t}this.webDavClient.customRequest(`/`,{method:`REPORT`,responseType:`text/xml`,details:!0,data:`<?xml version="1.0"?> <oc:filter-files xmlns:d="DAV:" xmlns:oc="http://owncloud.org/ns" xmlns:nc="http://nextcloud.org/ns"> <oc:filter-rules> <oc:favorite>1</oc:favorite> </oc:filter-rules> <d:prop> <d:getlastmodified /> <d:resourcetype /> <d:getcontenttype /> <d:getcontentlength /> <d:getetag /> <oc:permissions /> </d:prop> </oc:filter-files>`}).then(t=>{ui(t.data).then(t=>{let n=this.mapResponseToObject(t.multistatus.response);this.loading=!1,this.statusText=``,this.tabulatorTable.setData(n),this.tabulatorTable.setSort([{column:`basename`,dir:`asc`},{column:`type`,dir:`asc`}]),this._(`.tabulator-placeholder-contents`)&&(this._(`.tabulator-placeholder-contents`).innerText=e.t(`nextcloud-file-picker.no-favorites`,{name:this.nextcloudName})),this.isPickerActive=!0,this._(`.nextcloud-content`).scrollTop=0,this._(`#download-button`).setAttribute(`disabled`,`true`)})}).catch(t=>{if(console.error(t.message),this.webDavClient!==null&&t.message.search(`401`)===-1)console.log(`error in load directory`),this.directoryPath=``,this.loadDirectory(``);else{this.loading=!1,this.statusText=N`
<span class="error">
${e.t(`nextcloud-file-picker.webdav-error`,{error:t.message})}
</span>
`,this.isPickerActive=!1,this.tabulatorTable.clearData(),this.webDavClient=null;let n=N`${e.t(`nextcloud-file-picker.something-went-wrong`)}
<button class="button"
title="${e.t(`nextcloud-file-picker.refresh-nextcloud-file-picker`)}"
@click="${async()=>{this.openFilePicker()}}">
<dbp-icon name="reload">
</button>`;this.loading=!1,this.statusText=n}this.isInFavorites=!1})}loadAllRecentFiles(){this.hideAdditionalMenu();let e=this._i18n;(this.directoryPath===void 0||this.directoryPath===void 0)&&(this.directoryPath=``),console.log(`load recent files`),this.selectAllButton=!0,this.loading=!0,this.statusText=e.t(`nextcloud-file-picker.loadpath-nextcloud-file-picker`,{name:this.nextcloudName}),this.lastDirectoryPath=this.directoryPath,this.directoryPath=``,this.isInFavorites=!1,this.isInFilteredRecent=!1,this.isInRecent=!0;let t=new Date;t.setMonth(t.getMonth()-3);let n=t.toISOString().split(`.`)[0]+`Z`;if(this.webDavClient===null||this.userName===null){this.tabulatorTable.clearData(),this.webDavClient=null;let t=N`${e.t(`nextcloud-file-picker.something-went-wrong`)}
<button class="button"
title="${e.t(`nextcloud-file-picker.refresh-nextcloud-file-picker`)}"
@click="${async()=>{this.openFilePicker()}}">
<dbp-icon name="reload">
</button>`;this.loading=!1,this.statusText=t}this.webDavClient.customRequest(`../..`,{method:`SEARCH`,responseType:`text/xml`,headers:{"Content-Type":`text/xml`},details:!0,data:`<?xml version="1.0" encoding='UTF-8'?> <d:searchrequest xmlns:d="DAV:" xmlns:oc="http://owncloud.org/ns" xmlns:nc="http://nextcloud.org/ns"> <d:basicsearch> <d:select> <d:prop> <d:getlastmodified /> <d:resourcetype /> <d:getcontenttype /> <d:getcontentlength /> <d:getetag /> <oc:permissions /> <oc:size/> <oc:owner-id/> <oc:owner-display-name/> </d:prop> </d:select> <d:from> <d:scope> <d:href>`+this.fullWebDavUrl+`</d:href> <d:depth>infinity</d:depth> </d:scope> </d:from> <d:where> <d:and> <d:gte> <d:prop> <d:getlastmodified/> </d:prop> <d:literal>`+n+`</d:literal> </d:gte> <d:or>`+this.getMimeTypes()+` </d:or> </d:and> </d:where> <d:orderby> <d:order> <d:prop> <d:getlastmodified/> </d:prop> <d:descending/> </d:order> </d:orderby> <d:limit> <d:nresults>15</d:nresults> </d:limit> </d:basicsearch> </d:searchrequest>`}).then(t=>{ui(t.data).then(t=>{let n=this.mapResponseToObject(t.multistatus.response);this.loading=!1,this.statusText=``,this.tabulatorTable.setData(n),this.tabulatorTable.setSort([{column:`lastmod`,dir:`desc`}]),this._(`.tabulator-placeholder-contents`)&&(this._(`.tabulator-placeholder-contents`).innerText=e.t(`nextcloud-file-picker.no-recent-files`,{name:this.nextcloudName})),this.isPickerActive=!0,this._(`.nextcloud-content`).scrollTop=0,this._(`#download-button`).setAttribute(`disabled`,`true`)})}).catch(t=>{if(console.error(t.message),this.webDavClient!==null&&t.message.search(`401`)===-1)console.log(`error in load directory`),this.directoryPath=``,this.loadDirectory(``);else{this.loading=!1,this.statusText=N`
<span class="error">
${e.t(`nextcloud-file-picker.webdav-error`,{error:t.message})}
</span>
`,this.isPickerActive=!1,this.tabulatorTable.clearData(),this.webDavClient=null;let n=N`${e.t(`nextcloud-file-picker.something-went-wrong`)}
<button class="button"
title="${e.t(`nextcloud-file-picker.refresh-nextcloud-file-picker`)}"
@click="${async()=>{this.openFilePicker()}}">
<dbp-icon name="reload">
</button>`;this.loading=!1,this.statusText=n}this.isInRecent=!1})}getMimeTypes(){let e=``;return this.allowedMimeTypes&&this.allowedMimeTypes!==0&&this.allowedMimeTypes!==`*/*`?this.allowedMimeTypes.split(`,`).forEach(t=>{e+=` <d:like> <d:prop> <d:getcontenttype/> </d:prop> <d:literal>`+t+`</d:literal> </d:like>`}):e=` <d:like> <d:prop> <d:getcontenttype/> </d:prop> <d:literal>application/%</d:literal> </d:like> <d:like> <d:prop> <d:getcontenttype/> </d:prop> <d:literal>text/%</d:literal> </d:like> <d:like> <d:prop> <d:getcontenttype/> </d:prop> <d:literal>image/%</d:literal> </d:like> <d:like> <d:prop> <d:getcontenttype/> </d:prop> <d:literal>video/%</d:literal> </d:like> <d:like> <d:prop> <d:getcontenttype/> </d:prop> <d:literal>audio/%</d:literal> </d:like> <d:like> <d:prop> <d:getcontenttype/> </d:prop> <d:literal>font/%</d:literal> </d:like>`,e}loadMyRecentFiles(){this.hideAdditionalMenu();let e=this._i18n;(this.directoryPath===void 0||this.directoryPath===void 0)&&(this.directoryPath=``),console.log(`load only my recent files`),this.selectAllButton=!0,this.loading=!0,this.statusText=e.t(`nextcloud-file-picker.loadpath-nextcloud-file-picker`,{name:this.nextcloudName}),this.lastDirectoryPath=this.directoryPath,this.directoryPath=``,this.isInFavorites=!1,this.isInRecent=!1,this.isInFilteredRecent=!0;let t=new Date;t.setMonth(t.getMonth()-3);let n=t.toISOString().split(`.`)[0]+`Z`;if(this.webDavClient===null||this.userName===null){this.tabulatorTable.clearData(),this.webDavClient=null;let t=N`${e.t(`nextcloud-file-picker.something-went-wrong`)}
<button class="button"
title="${e.t(`nextcloud-file-picker.refresh-nextcloud-file-picker`)}"
@click="${async()=>{this.openFilePicker()}}">
<dbp-icon name="reload">
</button>`;this.loading=!1,this.statusText=t}this.webDavClient.customRequest(`../..`,{method:`SEARCH`,responseType:`text/xml`,headers:{"Content-Type":`text/xml`},details:!0,data:`<?xml version="1.0" encoding='UTF-8'?> <d:searchrequest xmlns:d="DAV:" xmlns:oc="http://owncloud.org/ns" xmlns:nc="http://nextcloud.org/ns"> <d:basicsearch> <d:select> <d:prop> <d:getlastmodified /> <d:resourcetype /> <d:getcontenttype /> <d:getcontentlength /> <d:getetag /> <oc:permissions /> <oc:size/> <oc:owner-id/> <oc:owner-display-name/> </d:prop> </d:select> <d:from> <d:scope> <d:href>`+this.fullWebDavUrl+`</d:href> <d:depth>infinity</d:depth> </d:scope> </d:from> <d:where> <d:and> <d:gte> <d:prop> <d:getlastmodified/> </d:prop> <d:literal>`+n+`</d:literal> </d:gte> <d:or>`+this.getMimeTypes()+` </d:or> </d:and> </d:where> <d:orderby> <d:order> <d:prop> <d:getlastmodified/> </d:prop> <d:descending/> </d:order> </d:orderby> <d:limit> <d:nresults>15</d:nresults> </d:limit> </d:basicsearch> </d:searchrequest>`}).then(t=>{ui(t.data).then(t=>{let n=this.mapResponseToObject(t.multistatus.response);n=this.filterUserFilesOnly(n),this.loading=!1,this.statusText=``,this.tabulatorTable.setData(n),this.tabulatorTable.setSort([{column:`lastmod`,dir:`desc`}]),this._(`.tabulator-placeholder-contents`)&&(this._(`.tabulator-placeholder-contents`).innerText=e.t(`nextcloud-file-picker.no-recent-files`,{name:this.nextcloudName})),this.isPickerActive=!0,this._(`.nextcloud-content`).scrollTop=0,this._(`#download-button`).setAttribute(`disabled`,`true`)})}).catch(t=>{if(console.error(t.message),this.webDavClient!==null&&t.message.search(`401`)===-1)console.log(`error in load directory`),this.directoryPath=``,this.loadDirectory(``);else{this.loading=!1,this.statusText=N`
<span class="error">
${e.t(`nextcloud-file-picker.webdav-error`,{error:t.message})}
</span>
`,this.isPickerActive=!1,this.tabulatorTable.clearData(),this.webDavClient=null;let n=N`${e.t(`nextcloud-file-picker.something-went-wrong`)}
<button class="button"
title="${e.t(`nextcloud-file-picker.refresh-nextcloud-file-picker`)}"
@click="${async()=>{this.openFilePicker()}}">
<dbp-icon name="reload">
</button>`;this.loading=!1,this.statusText=n}this.isInFilteredRecent=!1})}loadDirectory(e){this.hideAdditionalMenu();let t=this._i18n;if((this.directoryPath===void 0||this.directoryPath===void 0)&&(this.directoryPath=``),e===void 0&&(e=``),this.disableRowClick=!1,this.loading=!0,this.statusText=t.t(`nextcloud-file-picker.loadpath-nextcloud-file-picker`,{name:this.nextcloudName}),this.lastDirectoryPath=this.directoryPath,this.directoryPath=e,this._(`#select_all`)&&(this._(`#select_all`).checked=!1),this.webDavClient===null){this.tabulatorTable.clearData(),this.webDavClient=null;let e=N`
${t.t(`nextcloud-file-picker.something-went-wrong`)}
<button
class="button"
title="${t.t(`nextcloud-file-picker.refresh-nextcloud-file-picker`)}"
@click="${async()=>{this.openFilePicker()}}">
<dbp-icon name="reload"></dbp-icon>
</button>
`;this.loading=!1,this.statusText=e}this.webDavClient.getDirectoryContents(e,{details:!0,data:`<?xml version="1.0"?><d:propfind xmlns:d="DAV:" xmlns:oc="http://owncloud.org/ns" xmlns:nc="http://nextcloud.org/ns" xmlns:ocs="http://open-collaboration-services.org/ns"> <d:prop> <d:getlastmodified /> <d:resourcetype /> <d:getcontenttype /> <d:getcontentlength /> <d:getetag /> <oc:permissions /> <nc:acl-list> <nc:acl> <nc:acl-permissions /> </nc:acl> </nc:acl-list> </d:prop></d:propfind>`}).then(e=>{this.loading=!1,this.statusText=``,this.tabulatorTable.setData(e.data),this.tabulatorTable.setSort([{column:`basename`,dir:`asc`},{column:`type`,dir:`asc`}]),this.isPickerActive=!0,this.isInFavorites=!1,this.isInRecent=!1,this.isInFilteredRecent=!1,this._(`.nextcloud-content`).scrollTop=0,!this.activeDirectoryRights.includes(`CK`)&&!this.activeDirectoryRights.includes(`NV`)?this._(`#download-button`).setAttribute(`disabled`,`true`):this._(`#download-button`).removeAttribute(`disabled`),this._(`#directory-content-table`).querySelector(`div.tabulator-tableHolder > div.tabulator-placeholder > span`)&&(this._(`#directory-content-table`).querySelector(`div.tabulator-tableHolder > div.tabulator-placeholder > span`).innerText=this.directoriesOnly?t.t(`nextcloud-file-picker.no-data`):t.t(`nextcloud-file-picker.no-data-type`))}).catch(n=>{if(console.error(n.message),e!==`/`&&e!==``&&this.webDavClient!==null&&n.message.search(`401`)===-1)console.log(`error in load directory`),this.directoryPath=``,this.loadDirectory(``);else{this.loading=!1,this.statusText=N`
<span class="error">
${t.t(`nextcloud-file-picker.webdav-error`,{error:n.message})}
</span>
`,this.isPickerActive=!1,this.tabulatorTable.clearData(),this.webDavClient=null;let e=N`
${t.t(`nextcloud-file-picker.something-went-wrong`)}
<button
class="button"
title="${t.t(`nextcloud-file-picker.refresh-nextcloud-file-picker`)}"
@click="${async()=>{this.openFilePicker()}}">
<dbp-icon name="reload"></dbp-icon>
</button>
`;this.loading=!1,this.statusText=e,this.sendSetPropertyEvent(`analytics-event`,{category:`FileHandlingNextcloud`,action:`WebdavClientError`})}})}directoryClicked(e,t){t.props===void 0?this.activeDirectoryRights=`SGDNVCK`:(this.activeDirectoryRights=t.props.permissions,t.props[`acl-list`]!==void 0&&t.props[`acl-list`].acl[`acl-permissions`]!==void 0&&t.props[`acl-list`].acl[`acl-permissions`]?this.activeDirectoryACL=t.props[`acl-list`].acl[`acl-permissions`]:this.activeDirectoryACL=``),this.loadDirectory(t.filename),e.preventDefault()}downloadFiles(e){e.forEach(t=>this.downloadFile(t,e.length)),this.tabulatorTable.deselectRow(),this._(`#select_all`)&&(this._(`#select_all`).checked=!1);let t={count:e.length},n=new CustomEvent(`dbp-nextcloud-file-picker-number-files`,{detail:t,bubbles:!0,composed:!0});this.dispatchEvent(n),e.length>0&&this.sendSetPropertyEvent(`analytics-event`,{category:`FileHandlingNextcloud`,action:`DownloadFiles`,name:e.length})}downloadFile(e,t){let n=this._i18n;this.loading=!0,this.statusText=`Loading `+e.filename+`...`,this.webDavClient.getFileContents(e.filename).then(n=>{let r={file:new File([n],e.basename,{type:e.mime}),data:e,maxUpload:t},i=new CustomEvent(`dbp-nextcloud-file-picker-file-downloaded`,{detail:r,bubbles:!0,composed:!0});this.dispatchEvent(i),this.loading=!1,this.statusText=``}).catch(e=>{console.error(e.message),this.loading=!1,this.statusText=N`
<span class="error">
${n.t(`nextcloud-file-picker.webdav-error`,{error:e.message})}
</span>
`})}sendDirectory(e){let t=this._i18n;if(this.isInFavorites){this.statusText=N`
<span class="error">
${t.t(`nextcloud-file-picker.error-save-to-favorites`)}
</span>
`;return}else if(this.isInRecent||this.isInFilteredRecent){this.statusText=N`
<span class="error">${t.t(`nextcloud-file-picker.error-save-to-recent`)}</span>
`;return}this.tabulatorTable.deselectRow();let n;n=e[0]?e[0].filename:this.directoryPath,this.loading=!0,this.statusText=t.t(`nextcloud-file-picker.upload-to`,{path:n});let r=new CustomEvent(`dbp-nextcloud-file-picker-file-uploaded`,{detail:n,bubbles:!0,composed:!0});this.dispatchEvent(r)}uploadFiles(e,t){let n=this._i18n;this.loading=!0,this.statusText=n.t(`nextcloud-file-picker.upload-to`,{path:t}),this.fileList=[...e],this.fileList!==void 0&&this.fileList.length>0&&this.sendSetPropertyEvent(`analytics-event`,{category:`FileHandlingNextcloud`,action:`UploadFiles`,name:e.length}),this.forAll=!1,this.setRepeatForAllConflicts(),this.uploadFile(t)}async uploadFile(e){let t=this._i18n;if(this.abortUpload){this.abortUpload=!1,this.abortUploadButton=!1,this.forAll=!1,this.loading=!1,this.statusText=t.t(`nextcloud-file-picker.abort-message`),this._(`#replace_mode_all`).checked=!1;return}if(this.fileList.length!==0){let n=this.fileList[0];this.replaceFilename=n.name;let r=e+`/`+n.name,i=this;this.loading=!0,this.statusText=t.t(`nextcloud-file-picker.upload-to`,{path:r}),await ol(this.webDavClient,r,n,{overwrite:!1}).then(function(t){t?(i.uploadCount+=1,i.fileList.shift(),i.uploadFile(e)):(i.generatedFilename=i.getNextFilename(),i._(`#replace-filename`).value=i.generatedFilename,i.forAll?(i.uploadFileObject=n,i.uploadFileDirectory=e,i.abortUploadButton=!0,i.uploadFileAfterConflict()):i.replaceModalDialog(n,e))}).catch(e=>{this.uploadError(e)})}else{this.loadDirectory(this.directoryPath),this.loading=!1,this.statusText=``,this._(`#replace_mode_all`).checked=!1,this.forAll=!1,this.customFilename=``;let e=new CustomEvent(`dbp-nextcloud-file-picker-file-uploaded-finished`,{bubbles:!0,composed:!0,detail:this.uploadCount});this.uploadCount=0,this.abortUpload=!1,this.abortUploadButton=!1,this.dispatchEvent(e)}}uploadError(e){let t=this._i18n;if(this.loading=!1,e.response&&e.response.status)switch(e.response.status){case 403:this.statusText=N`
<span class="error">
<dbp-icon name="warning-high"></dbp-icon>
${t.t(`nextcloud-file-picker.forbidden`)}
</span>
`;return;case 415:this.statusText=N`
<span class="error">
<dbp-icon name="warning-high"></dbp-icon>
${t.t(`nextcloud-file-picker.file-error`)}
</span>
`,this.sendSetPropertyEvent(`analytics-event`,{category:`FileHandlingNextcloud`,action:`UploadFilesPutfilesError`,name:`415`});return;default:break}this.statusText=N`
<span class="error">
<dbp-icon name="warning-high"></dbp-icon>
${t.t(`nextcloud-file-picker.file-upload-error`)}
</span>
`,this.sendSetPropertyEvent(`analytics-event`,{category:`FileHandlingNextcloud`,action:`UploadFilesPutfilesError`,name:e}),console.error(e)}async uploadFileAfterConflict(){let e=this._i18n;if(this.abortUpload){this.abortUpload=!1,this.abortUploadButton=!1,this.forAll=!1,this.loading=!1,this.statusText=e.t(`nextcloud-file-picker.abort-message`),this._(`#replace_mode_all`).checked=!1;return}let t=``,n=!1,r=this.uploadFileObject,i=this.uploadFileDirectory;if(this._(`input[name='replacement']:checked`).value===`ignore`)return ys.close(this._(`#replace-modal`)),this.forAll?this.fileList=[]:this.fileList.shift(),this.uploadFile(i),!0;this._(`input[name='replacement']:checked`).value===`new-name`?(this.generatedFilename!==this._(`#replace-filename`).value&&(this.customFilename=this._(`#replace-filename`).value),t=i+`/`+this._(`#replace-filename`).value,ys.close(this._(`#replace-modal`)),this.replaceFilename=this._(`#replace-filename`).value):(t=i+`/`+this.uploadFileObject.name,n=!0),this.loading=!0,this.statusText=e.t(`nextcloud-file-picker.upload-to`,{path:t});let a=this;await ol(this.webDavClient,t,r,{overwrite:n}).then(e=>{ys.close(this._(`#replace-modal`)),this.uploadCount+=1,a.fileList.shift(),a.uploadFile(i)}).catch(e=>{e.message.search(`412`)===-1?this.uploadError(e):(ys.close(a._(`#replace-modal`)),this.generatedFilename=this.getNextFilename(),this._(`#replace-filename`).value=this.generatedFilename,this.forAll?(this.uploadFileObject=r,this.uploadFileDirectory=i,this.abortUploadButton=!0,this.uploadFileAfterConflict()):this.replaceModalDialog(r,i))}),this.fileNameCounter=1}checkRights(e){let t=0,n=this.activeDirectoryRights,r=this.tabulatorTable.searchRows(`basename`,`=`,this.replaceFilename);return t=r[0]!==void 0&&r[0]?r[0].getData().props.permissions:``,n.includes(`CK`)&&t.includes(`NV`)?-1:n.includes(`CK`)&&!t.includes(`NV`)?1:!n.includes(`CK`)&&t.includes(`NV`)?2:0}replaceModalDialog(e,t){let n=this._i18n;this.uploadFileObject=e,this.uploadFileDirectory=t;let r=this.checkRights(e);if(r===0){this.loading=!1,this.statusText=n.t(`nextcloud-file-picker.readonly`);return}else r===1?(this.loading=!1,this.statusText=n.t(`nextcloud-file-picker.onlycreate`),this._(`#replace-replace`).setAttribute(`disabled`,`true`),this._(`#replace-new-name`).removeAttribute(`disabled`),this._(`#replace-replace`).checked=!1,this._(`#replace-new-name`).checked=!0,this.setInputFieldVisibility(),this._(`#replace-new-name`).focus()):r===2?(this.loading=!1,this.statusText=n.t(`nextcloud-file-picker.onlyedit`),this._(`#replace-new-name`).setAttribute(`disabled`,`true`),this._(`#replace-replace`).removeAttribute(`disabled`),this._(`#replace-new-name`).checked=!1,this._(`#replace-replace`).checked=!0,this.setInputFieldVisibility(),this._(`#replace-replace`).focus()):(this._(`#replace-new-name`).removeAttribute(`disabled`),this._(`#replace-replace`).removeAttribute(`disabled`),this._(`#replace-replace`).checked=!1,this._(`#replace-new-name`).checked=!0,this.setInputFieldVisibility(),this._(`#replace-new-name`).focus());ys.show(this._(`#replace-modal`),{disableScroll:!0,onClose:e=>{this.statusText=``,this.loading=!1}})}closeDialog(e){this.tabulatorTable&&this.tabulatorTable.deselectRow(),this._(`#select_all`)&&(this._(`#select_all`).checked=!1),ys.close(this._(`#modal-picker`))}getNextFilename(){let e=``,t;t=this.forAll&&this.customFilename!==``?this.customFilename.split(`.`):this.replaceFilename.split(`.`);let n=t[0].split(`(`);if(n.length>1){let r=n[1].split(`)`);r.length>1&&!isNaN(parseInt(r[0]))?(this.fileNameCounter=parseInt(r[0])+1,e=n[0]+`(`+this.fileNameCounter+`)`):e=t[0]+`(`+this.fileNameCounter+`)`}else e=t[0]+`(`+this.fileNameCounter+`)`;if(t.length>1)for(let n=1;n<t.length;n++)e=e+`.`+t[n];return this.fileNameCounter++,e}setInputFieldVisibility(){this._(`#replace-filename`).disabled=!this._(`#replace-new-name`).checked}getCancelText(){let e=this._i18n;return this.fileList.length>1?e.t(`nextcloud-file-picker.replace-cancel-all`):e.t(`nextcloud-file-picker.replace-cancel`)}cancelOverwrite(){this.statusText=``,this.loading=!1,this.fileList=[]}setRepeatForAllConflicts(){this.forAll=this._(`#replace_mode_all`).checked}openAddFolderDialogue(){let e=this._i18n;this._(`.addRowAnimation`)&&this._(`.addRowAnimation`).classList.remove(`addRowAnimation`),this._(`#new-folder-wrapper`).classList.toggle(`hidden`),this._(`#new-folder-wrapper`).classList.contains(`hidden`)?(this._(`#add-folder-button`).setAttribute(`name`,`plus`),this._(`#add-folder-button`).setAttribute(`title`,e.t(`nextcloud-file-picker.add-folder-open`))):(this._(`#add-folder-button`).setAttribute(`name`,`close`),this._(`#add-folder-button`).setAttribute(`title`,e.t(`nextcloud-file-picker.add-folder-close`)),this._(`#new-folder`).focus())}addOpenFolderTableEntry(){this._(`.addRowAnimation`)&&this._(`.addRowAnimation`).classList.remove(`addRowAnimation`),this.disableRowClick=!0,this.initateOpenNewFolder=!0,setTimeout(()=>{this._(`#tf-new-folder-dialog`).select()},0),ys.show(this._(`#new-folder-modal`),{disableScroll:!0}),this._(`#tf-new-folder-dialog`).addEventListener(`keydown`,({key:e})=>{e===`Enter`&&this.addNewFolder()}),this._(`#new-folder-modal-box`).addEventListener(`click`,e=>{e.stopPropagation()}),document.addEventListener(`keydown`,this.boundCancelNewFolderHandler),document.addEventListener(`click`,this.boundClickOutsideNewFolderHandler)}cancelNewFolder(e){e.key===`Escape`&&(this.deleteNewFolderEntry(),e.stopPropagation())}deleteNewFolderEntry(){let e=this._i18n;if(this.initateOpenNewFolder){this.initateOpenNewFolder=!1;return}this.disableRowClick=!1,ys.close(this._(`#new-folder-modal`)),document.removeEventListener(`click`,this.boundClickOutsideNewFolderHandler),document.removeEventListener(`keydown`,this.boundCancelNewFolderHandler),this._(`#tf-new-folder-dialog`).value=e.t(`nextcloud-file-picker.new-folder-dialog-default-name`)}addNewFolder(){let e=this._i18n;if(this._(`#tf-new-folder-dialog`).value!==``){let t=this._(`#tf-new-folder-dialog`).value;this.directoryPath===void 0&&(this.directoryPath=``),this.deleteNewFolderEntry();let n=this.directoryPath+`/`+t;this.webDavClient.createDirectory(n).then(r=>{this.tabulatorTable.setSort();let i=new Date;this.tabulatorTable.addRow({type:`directory`,filename:n,basename:t,lastmod:i,props:{permissions:`RGDNVCK`}},!0),this.statusText=e.t(`nextcloud-file-picker.add-folder-success`,{folder:t}),this.loading=!1}).catch(n=>{this.loading=!1,n.message.search(`405`)===-1?this.statusText=N`
<span class="error">
${e.t(`nextcloud-file-picker.webdav-error`,{error:n.message})}
</span>
`:this.statusText=N`
<span class="error">
${e.t(`nextcloud-file-picker.add-folder-error`,{folder:t})}
</span>
`})}else this.statusText=N`
<span class="error">${e.t(`nextcloud-file-picker.add-folder-error-empty`)}</span>
`}addFolder(){let e=this._i18n;if(this._(`#new-folder`).value!==``){let t=this._(`#new-folder`).value;this.directoryPath===void 0&&(this.directoryPath=``);let n=this.directoryPath+`/`+t;this.webDavClient.createDirectory(n).then(r=>{this.tabulatorTable.setSort();let i=new Date;this.tabulatorTable.addRow({type:`directory`,filename:n,basename:t,lastmod:i,props:{permissions:`RGDNVCK`}},!0),this.statusText=e.t(`nextcloud-file-picker.add-folder-success`,{folder:t}),this.loading=!1}).catch(n=>{this.loading=!1,n.message.search(`405`)===-1?this.statusText=N`
<span class="error">
${e.t(`nextcloud-file-picker.webdav-error`,{error:n.message})}
</span>
`:this.statusText=N`
<span class="error">
${e.t(`nextcloud-file-picker.add-folder-error`,{folder:t})}
</span>
`}),this._(`#new-folder`).value=``,this.openAddFolderDialogue()}}selectAllFiles(){this.checkAllSelected()?this.tabulatorTable.getSelectedRows().forEach(e=>e.deselect()):this.tabulatorTable.selectRow(this.tabulatorTable.getRows().filter(e=>e.getData().type!=`directory`&&this.checkFileType(e.getData(),this.allowedMimeTypes)))}checkAllSelected(){if(this.tabulatorTable){let e=this.tabulatorTable.getRows().filter(e=>e.getData().type!=`directory`&&this.checkFileType(e.getData(),this.allowedMimeTypes)).length;if(this.tabulatorTable.getSelectedRows().length===e)return!0}return!1}logOut(){if(this.webDavClient=null,this.isPickerActive=!1,this.auth){let e=this.auth[`user-id`];localStorage.removeItem(`nextcloud-webdav-username`+e),localStorage.removeItem(`nextcloud-webdav-password`+e),localStorage.removeItem(`nextcloud-webdav-url-`+e)}}getBreadcrumb(){let e=this._i18n;this.directoryPath===void 0&&(this.directoryPath=``);let t=[];if(t[0]=N`
<span class="breadcrumb">
<a
class="home-link"
@click="${()=>{this.loadDirectory(``)}}"
title="${e.t(`nextcloud-file-picker.folder-home`)}">
<dbp-icon name="home"></dbp-icon>
</a>
</span>
`,this.isInFavorites)t[1]=N`
<span class="first">›</span>
<span class="breadcrumb special">
<a
@click="${()=>{this.loadFavorites()}}"
title="${e.t(`nextcloud-file-picker.favorites-title`)}">
${e.t(`nextcloud-file-picker.favorites-title`)}
</a>
</span>
`;else if(this.isInRecent)t[1]=N`
<span class="first">›</span>
<span class="breadcrumb special">
<a
@click="${()=>{this.loadAllRecentFiles()}}"
title="${e.t(`nextcloud-file-picker.recent-files-title`)}">
${e.t(`nextcloud-file-picker.recent-files-title`)}
</a>
</span>
`;else if(this.isInFilteredRecent)t[1]=N`
<span class="first">›</span>
<span class="breadcrumb special">
<a
@click="${()=>{this.loadMyRecentFiles()}}"
title="${e.t(`nextcloud-file-picker.my-recent-files-title`)}">
${e.t(`nextcloud-file-picker.my-recent-files-title`)}
</a>
</span>
`;else{let n=this.directoryPath.split(`/`);if(n[1]===``)return t;for(let r=1;r<n.length;r++){let i=``;for(let e=1;e<=r;e++)i+=`/`,i+=n[e];r===1?t[r]=N`
<span class="first breadcrumb-arrow">›</span>
<span class="breadcrumb">
<a
@click="${()=>{this.loadDirectory(i)}}"
title="${e.t(`nextcloud-file-picker.load-path-link`,{path:n[r]})}">
${n[r]}
</a>
</span>
`:t[r]=N`
<span class="breadcrumb-arrow">›</span>
<span class="breadcrumb">
<a
@click="${()=>{this.loadDirectory(i)}}"
title="${e.t(`nextcloud-file-picker.load-path-link`,{path:n[r]})}">
${n[r]}
</a>
</span>
`}let r=t.length,i=window.innerWidth;if(r>3&&i<=768){let i=[];for(let t=1;t<n.length-1;t++){let r=``;for(let e=1;e<=t;e++)r+=`/`,r+=n[e];i[t]=N`
<li class="breadcrumb-${t}" id="breadcrumb-${t}">
<a
@click="${()=>{this.loadDirectory(r)}}"
title="${e.t(`nextcloud-file-picker.load-path-link`,{path:n[t]})}">
<dbp-icon name="folder" class="breadcrumb-folder"></dbp-icon>
${n[t]}
</a>
</li>
`}let a=[];return a[0]=t[0],a[1]=N`
<span class="first breadcrumb-arrow">›</span>
<span class="breadcrumb">
<a
class="extended-breadcrumb-link"
@click="${()=>{this.toggleBreadcrumbMenu()}}">
. . .
</a>
<div class="breadcrumb-menu">
<ul class="extended-breadcrumb-menu hidden">
${i}
</ul>
</div>
</span>
`,a[2]=t[r-1],a}}return t}toggleBreadcrumbMenu(){let e=this.shadowRoot.querySelector(`ul.extended-breadcrumb-menu`),t=this.shadowRoot.querySelector(`a.extended-breadcrumb-link`);if(e===null||t===null)return;e.classList.toggle(`hidden`),this.menuHeightBreadcrumb=e.clientHeight;let n=t.getBoundingClientRect().bottom,r=this._(`.nextcloud-header`).offsetHeight,i=this.menuHeightBreadcrumb+r>=this._(`.wrapper`).offsetHeight,a=this._(`.wrapper`).offsetWidth;if(i&&!e.classList.contains(`hidden`)){let t=this._(`.wrapper`).offsetHeight-this._(`.nextcloud-nav`).offsetHeight;e.setAttribute(`style`,`position: fixed;top: `+n+`px;height: `+t+`px;max-width: `+a+`px;overflow-y: auto;`),e.scrollTop=0,this._(`.nextcloud-content`).setAttribute(`style`,`overflow:hidden;`)}else i&&e.classList.contains(`hidden`)&&(this._(`.nextcloud-content`).removeAttribute(`style`,`overflow:hidden;`),e.removeAttribute(`style`));e.classList.contains(`hidden`)?(document.removeEventListener(`click`,this.boundCloseBreadcrumbMenuHandler),this._(`.nextcloud-content`).removeAttribute(`style`,`overflow:hidden;`),e.removeAttribute(`style`)):(i||e.setAttribute(`style`,`max-width: `+a+`px;`),document.addEventListener(`click`,this.boundCloseBreadcrumbMenuHandler),this.initateOpenBreadcrumbMenu=!0)}hideBreadcrumbMenu(){if(this.initateOpenBreadcrumbMenu){this.initateOpenBreadcrumbMenu=!1;return}let e=this.shadowRoot.querySelector(`ul.extended-breadcrumb-menu`);e&&!e.classList.contains(`hidden`)&&this.toggleBreadcrumbMenu()}refreshOnWindowSizeChange(){this.requestUpdate()}getNextCloudLink(){return this.nextcloudFileURL+this.directoryPath}toggleMoreMenu(){let e=this.shadowRoot.querySelector(`ul.extended-menu`),t=this.shadowRoot.querySelector(`a.extended-menu-link`);e===null||t===null||(e.classList.toggle(`hidden`),e.classList.contains(`hidden`)?document.removeEventListener(`click`,this.boundCloseAdditionalMenuHandler):(document.addEventListener(`click`,this.boundCloseAdditionalMenuHandler),this.initateOpenAdditionalMenu=!0))}hideAdditionalMenu(){if(this.initateOpenAdditionalMenu){this.initateOpenAdditionalMenu=!1;return}let e=this.shadowRoot.querySelector(`ul.extended-menu`);e&&!e.classList.contains(`hidden`)&&this.toggleMoreMenu()}_atChangeInput(e){this._(`#new-folder-confirm-btn`)&&(this._(`#new-folder-confirm-btn`).disabled=this._(`#tf-new-folder-dialog`)&&this._(`#tf-new-folder-dialog`).value===``)}static get styles(){return tt`
${ut()}
${rt()}
${Qe()}
${Xe()}
${et()}
${ht()}
${xs()}
.breadcrumb-folder {
padding-right: 5px;
color: var(--dbp-muted);
font-size: 1.4em;
padding-top: 7px;
}
.breadcrumb.special a {
overflow: visible;
}
.breadcrumb-menu {
display: inline;
}
.breadcrumb {
border-bottom: var(--dbp-border);
}
.breadcrumb:last-child,
.breadcrumb:first-child {
border-bottom: none;
}
.breadcrumb a {
display: inline-block;
height: 33px;
vertical-align: middle;
line-height: 33px;
}
span.first {
margin-left: -6px;
}
a.home-link {
padding-left: 6px;
padding-right: 6px;
margin-left: -6px;
}
.extended-menu-link {
padding: 7px;
}
.extended-breadcrumb-menu li a {
max-width: none;
display: inline;
}
.nextcloud-nav {
position: relative;
width: 100%;
display: flex;
justify-content: space-between;
}
.nextcloud-nav p {
align-self: center;
}
.nextcloud-nav h2 {
padding-top: 10px;
}
.nextcloud-nav a {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.nextcloud-nav a.home-link {
font-size: 1.4em;
}
.nextcloud-header.hidden {
display: none !important;
}
.nextcloud-header {
padding-bottom: 7px;
width: 100%;
}
.nextcloud-header div button {
justify-self: start;
}
.extended-breadcrumb-menu li {
padding: 7px;
padding-right: 46px;
overflow: hidden;
}
.extended-breadcrumb-menu li:hover {
background-color: var(--dbp-hover-background-color);
}
.extended-breadcrumb-menu li.active {
background-color: var(--dbp-content-surface);
}
.extended-breadcrumb-menu li:hover > a {
color: var(--dbp-hover-color, var(--dbp-content));
}
.extended-breadcrumb-menu li.active > a {
color: var(--dbp-on-content-surface);
}
.extended-breadcrumb-menu a.inactive {
color: var(--dbp-muted);
pointer-events: none;
cursor: default;
}
.extended-breadcrumb-menu {
list-style: none;
border: var(--dbp-border);
position: absolute;
background-color: var(--dbp-background);
z-index: 1000;
}
input[type='text']#tf-new-folder:focus {
border: none;
background: transparent;
height: 100%;
}
input[type='text']#tf-new-folder:focus-visible {
outline: none;
box-shadow: none;
}
input[type='text']#tf-new-folder::placeholder {
color: #333;
font-weight: 300;
}
#tf-new-folder::-webkit-input-placeholder {
color: #333;
font-weight: 300;
}
#tf-new-folder:-moz-placeholder {
color: #333;
font-weight: 300;
}
#tf-new-folder::-moz-placeholder {
color: #333;
font-weight: 300;
}
#tf-new-folder::-ms-input-placeholder {
color: #333;
font-weight: 300;
}
input[type='text']#tf-new-folder {
border: 0px;
background: transparent;
width: 100%;
height: 100%;
margin-left: -8px;
color: white;
}
input[type='text']#tf-new-folder.smaller {
width: calc(100% - 42px);
}
.visible {
display: unset;
}
.block {
margin-bottom: 10px;
}
.error {
background-color: var(--dbp-background);
color: var(--dbp-danger);
}
.filter-options-wrapper {
padding-right: 0px;
padding-top: 10px;
padding-bottom: 10px;
padding-left: 4px;
}
.extended-menu a.inactive {
color: var(--dbp-muted);
pointer-events: none;
cursor: default;
}
.extended-menu a {
padding: 7px 54px 7px 15px;
display: block;
}
.extended-menu {
list-style: none;
border: var(--dbp-border);
position: absolute;
background-color: var(--dbp-background);
z-index: 1000;
right: 0px;
border-radius: var(--dbp-border-radius);
}
.extended-menu li:hover {
background-color: var(--dbp-hover-background-color);
}
.extended-menu li.active {
background-color: var(--dbp-content-surface);
}
.extended-menu li:hover > a {
color: var(--dbp-hover-color, var(--dbp-content));
}
.extended-menu li.active > a {
color: var(--dbp-on-content-surface);
}
.extended-menu li.inactive:hover {
background-color: var(--dbp-background);
}
.extended-menu li.inactive > a {
color: var(--dbp-muted);
pointer-events: none;
cursor: default;
}
.nextcloud-intro {
text-align: center;
}
.nextcloud-logo {
width: 80px;
height: 95px;
justify-self: end;
transition: all 0.5s ease;
margin: auto;
}
.nextcloud-logo-image {
height: 100%;
width: 100%;
background-image: var(
--dbp-override-image-nextcloud,
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M69.3 86.1l-46.1 0C11 85.9 1.1 75.9 1.1 63.7c0-11.8 9.1-21.4 20.6-22.4 0.5-15.2 13-27.4 28.3-27.4 3.4 0 6.6 0.5 9.2 1.6 6.2 2.1 11.4 6.4 14.8 12 6.5 1 12.7 4.3 16.9 9.1 5 5.5 7.8 12.6 7.8 19.9C98.8 72.8 85.6 86.1 69.3 86.1zM23.6 80.6h45.7c13.3 0 24-10.8 24-24 0-6-2.3-11.8-6.4-16.2 -3.7-4.2-9.1-6.9-14.9-7.5l-1.4-0.2L70 31.4c-2.8-5.1-7.2-8.9-12.6-10.7l-0.1 0c-2-0.8-4.5-1.2-7.2-1.2 -12.6 0-22.9 10.3-22.9 22.9v4.5h-3.6c-9.3 0-17 7.6-17 17C6.6 73 14.3 80.6 23.6 80.6z'/%3E%3C/svg%3E")
);
background-repeat: no-repeat;
background-position: center;
}
.nextcloud-logo-sm {
width: 40px;
justify-self: inherit;
margin-right: 70px;
display: none;
}
.m-inherit {
margin: inherit;
}
.wrapper {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
position: relative;
}
.select-button {
justify-self: end;
}
.nextcloud-content {
width: 100%;
height: 100%;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
}
.nextcloud-footer {
background-color: var(--dbp-background);
width: 100%;
padding-top: 10px;
}
.nextcloud-footer-grid {
width: 100%;
display: flex;
align-items: center;
flex-direction: row-reverse;
justify-content: space-between;
}
.additional-menu {
white-space: nowrap;
height: 33px;
margin-right: -11px;
}
#replace-modal-box {
display: flex;
flex-direction: column;
justify-content: center;
padding: 30px;
max-height: 450px;
min-height: 450px;
min-width: 380px;
max-width: 190px;
}
#replace-modal-box .modal-header {
display: flex;
justify-content: space-evenly;
align-items: baseline;
}
#replace-modal-box .modal-header h2 {
font-size: 1.2rem;
padding-right: 5px;
}
#replace-modal-box .modal-content {
display: flex;
flex-direction: column;
height: 100%;
justify-content: space-evenly;
}
#replace-modal-box .radio-btn {
margin-right: 5px;
}
#replace-modal-box .modal-content label {
display: block;
width: 100%;
text-align: left;
}
#replace-modal-box #replace-filename {
display: block;
width: 100%;
margin-top: 8px;
}
#replace-modal-box input[type='text']:disabled {
color: var(--dbp-muted);
}
#replace-modal-box .modal-content div {
display: flex;
}
#replace-modal-box .modal-footer {
padding-top: 15px;
}
#replace-modal-box .modal-footer .modal-footer-btn {
display: flex;
justify-content: space-between;
padding-bottom: 15px;
}
input:disabled + label {
color: var(--dbp-muted);
}
.inline-block {
display: inline-block;
}
.inline-block {
position: absolute;
right: 0px;
z-index: 1;
background-color: var(--dbp-background);
bottom: -45px;
}
.addRowAnimation {
color: var(--dbp-content);
animation: added 0.4s ease;
}
#abortButton {
background-color: var(--dbp-background);
color: var(--dbp-danger);
}
#abortButton:hover {
color: var(--dbp-on-content-surface);
}
.menu-buttons {
display: flex;
gap: 1em;
}
@keyframes added {
0% {
background-color: var(--dbp-background);
}
50% {
background-color: var(--dbp-success-surface);
}
100% {
background-color: var(--dbp-background);
}
}
.spinner {
font-size: 0.7em;
}
.nextcloud-picker-icon-disabled {
opacity: 0.4;
}
.button.button,
.button,
button.dt-button {
background-color: var(--dbp-background);
}
#new-folder {
padding-right: 50px;
}
#replace-modal-box .modal-header {
padding: 0px;
}
#replace-modal-content {
padding: 0px;
align-items: baseline;
}
#replace-modal-content div {
width: 100%;
}
#replace-modal-box .modal-header h2 {
text-align: left;
}
#replace-modal .checkmark {
height: 20px;
width: 20px;
left: 0px;
top: 1px;
}
.table-wrapper {
max-width: 100%;
width: 100%;
}
.remember-container {
display: inline-block;
line-height: 28px;
padding-left: 34px;
}
.remember-container .checkmark {
left: 7px;
top: 3px;
}
.more-menu {
height: 22.4px;
width: 19px;
margin-top: 4px;
}
#new-folder-modal-box {
display: flex;
flex-direction: column;
justify-content: space-between;
padding: 15px 20px 20px 20px;
max-height: 190px;
min-height: 190px;
min-width: 320px;
max-width: 400px;
}
#new-folder-modal-box header.modal-header {
padding: 0px;
display: flex;
justify-content: space-between;
}
#new-folder-modal-box footer.modal-footer .modal-footer-btn {
padding: 0px;
display: flex;
justify-content: space-between;
}
#new-folder-modal-content {
display: block;
padding-left: 0px;
padding-right: 0px;
overflow: unset;
}
#new-folder-modal-content div .input {
width: 100%;
}
#new-folder-modal-content .nf-label {
padding-bottom: 2px;
}
@media only screen and (orientation: portrait) and (max-width: 768px) {
.nextcloud-header {
padding-bottom: 0px;
grid-area: header-l;
margin-bottom: 0px;
}
.nextcloud-nav h2 > a {
font-size: 1.3rem;
}
.nextcloud-nav h2 {
padding-top: 8px;
}
.nextcloud-nav a {
font-size: 1rem;
/** max-width: max-content; **/
}
.nextcloud-nav .home-link {
font-size: 1.2rem;
}
.nextcloud-logo-sm {
display: none;
}
.nextcloud-logo {
margin: 0 auto;
}
.nextcloud-content,
.nextcloud-intro {
grid-area: content;
height: 100%;
justify-content: center;
}
.nextcloud-intro {
text-align: center;
display: flex;
flex-direction: column;
}
.nextcloud-footer {
bottom: 0px;
width: 100%;
left: 0px;
}
.nextcloud-footer-grid {
display: flex;
justify-content: center;
flex-direction: column-reverse;
}
.breadcrumb-arrow {
font-size: 1.6em;
vertical-align: middle;
padding-bottom: 3px;
padding-left: 2px;
padding-right: 2px;
}
.breadcrumb .extended-breadcrumb-menu a {
display: inherit;
}
.extended-breadcrumb-link {
margin-top: -4px;
font-size: 1.2em !important; /**TODO for demo purpose only */
font-weight: 400;
}
.extended-menu {
top: 38px;
}
.additional-menu {
position: inherit;
right: 0px;
margin-right: -12px;
}
.additional-menu button {
float: right;
}
.inline-block {
width: inherit;
position: absolute;
right: 52px;
z-index: 1;
background-color: var(--dbp-background);
bottom: 0px;
}
.add-folder-button {
right: 0px;
position: absolute;
}
.button-wrapper {
justify-self: start;
}
.wrapper {
display: flex;
justify-content: space-between;
}
.mobile-hidden {
display: none;
}
.info-box {
position: relative;
}
.select-button {
margin: 0px;
}
#new-folder {
width: 100%;
}
#replace-modal-box {
min-width: 100%;
max-width: 100%;
}
.hidden {
display: none;
}
}
`}render(){let e=this._i18n;return N`
<div class="wrapper">
<link rel="stylesheet" href="${dt(bs,`tabulator-tables/css/tabulator.min.css`)}" />
<div class="nextcloud-intro ${M({hidden:this.isPickerActive})}">
<div
class="nextcloud-logo ${M({"nextcloud-logo-sm":this.isPickerActive})}">
<div class="nextcloud-logo-image"></div>
</div>
<div class="block text-center ${M({hidden:this.isPickerActive})}">
<h2 class="m-inherit">${this.nextcloudName}</h2>
<p class="m-inherit">
${e.t(`nextcloud-file-picker.init-text-1`,{name:this.nextcloudName})}
<br />
${e.t(`nextcloud-file-picker.init-text-2`)}
<br />
<br />
</p>
</div>
<div class="block ${M({hidden:this.isPickerActive})}">
<button
class="button is-primary"
title="${e.t(`nextcloud-file-picker.open-nextcloud-file-picker`,{name:this.nextcloudName})}"
@click="${async()=>{this.openFilePicker()}}">
${e.t(`nextcloud-file-picker.connect-nextcloud`,{name:this.nextcloudName})}
</button>
</div>
<div
class="block text-center m-inherit ${M({hidden:!this.storeSession||!this.isLoggedIn()})}">
<label class="button-container remember-container">
${e.t(`nextcloud-file-picker.remember-me`,{name:this.nextcloudName})}
<input type="checkbox" id="remember-checkbox" name="remember" />
<span class="checkmark"></span>
</label>
</div>
<div
class="block text-center m-inherit ${M({hidden:this.isPickerActive})}">
<p class="m-inherit">
<br />
${e.t(`nextcloud-file-picker.auth-info`)}
<slot name="auth-info">
<br />
${this.authInfo}
</slot>
</p>
</div>
</div>
<div class="nextcloud-header ${M({hidden:!this.isPickerActive})}">
<div class="nextcloud-nav">
<p>${this.getBreadcrumb()}</p>
<div class="menu-buttons">
<div class="add-folder ${M({hidden:this.storeSession})}">
<div class="inline-block">
<div id="new-folder-wrapper" class="hidden">
<input
type="text"
placeholder="${e.t(`nextcloud-file-picker.new-folder-placeholder`)}"
name="new-folder"
class="input"
id="new-folder" />
<button
class="button add-folder-button"
title="${e.t(`nextcloud-file-picker.add-folder`)}"
@click="${()=>{this.addFolder()}}">
<dbp-icon
name="checkmark-circle"
class="nextcloud-add-folder"></dbp-icon>
</button>
</div>
</div>
</div>
</div>
<div class="additional-menu">
<a
class="extended-menu-link"
@click="${()=>{this.toggleMoreMenu()}}"
title="${e.t(`nextcloud-file-picker.more-menu`)}">
<dbp-icon name="menu-dots" class="more-menu"></dbp-icon>
</a>
<ul class="extended-menu hidden">
<li
class="${M({active:this.isInFavorites})}"
id="favorites-item">
<a class="" @click="${this.loadFavorites}">
${e.t(`nextcloud-file-picker.favorites-link-text`)}
</a>
</li>
<li
class="${M({active:this.isInFilteredRecent})}"
id="my-recent-item">
<a class="" @click="${this.loadMyRecentFiles}">
${e.t(`nextcloud-file-picker.my-recent-files-link-text`)}
</a>
</li>
<li
class="${M({active:this.isInRecent})}"
id="all-recent-item">
<a class="" @click="${this.loadAllRecentFiles}">
${e.t(`nextcloud-file-picker.all-recent-files-link-text`)}
</a>
</li>
<li
class="${M({inactive:this.isInRecent||this.isInFavorites||this.isInFilteredRecent||this.disableRowClick})}">
<a
class=""
@click="${()=>{this.addOpenFolderTableEntry()}}">
${e.t(`nextcloud-file-picker.add-folder`)}
</a>
</li>
<li
class="${M({hidden:!this.storeSession})}"
title="${e.t(`nextcloud-file-picker.log-out`)}">
<a
class=""
@click="${()=>{this.logOut(),this.hideAdditionalMenu()}}">
${e.t(`nextcloud-file-picker.log-out`)}
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="nextcloud-content ${M({hidden:!this.isPickerActive})}">
<div class="table-wrapper">
<table id="directory-content-table" class="force-no-select"></table>
</div>
</div>
<div class="nextcloud-footer ${M({hidden:!this.isPickerActive})}">
<div class="nextcloud-footer-grid">
<button
id="download-button"
class="button select-button is-primary ${M({hidden:!this.directoriesOnly||this.directoriesOnly&&this.abortUploadButton&&this.forAll})}"
@click="${()=>{this.sendDirectory(this.tabulatorTable.getSelectedData())}}"
?disabled="${this.selectBtnDisabled}">
<dbp-icon class="nav-icon" name="cloud-upload"></dbp-icon>
${this.folderIsSelected}
</button>
<button
class="button select-button is-primary ${M({hidden:this.directoriesOnly})}"
@click="${()=>{this.downloadFiles(this.tabulatorTable.getSelectedData())}}"
?disabled="${this.selectBtnDisabled}">
${this.tabulatorTable&&this.tabulatorTable.getSelectedRows().filter(e=>e.getData().type!=`directory`&&this.checkFileType(e.getData(),this.allowedMimeTypes)).length===0?e.t(`nextcloud-file-picker.select-files`):e.t(`nextcloud-file-picker.select-files-btn`,{count:this.tabulatorTable?this.tabulatorTable.getSelectedRows().length:0})}
</button>
<button
id="abortButton"
class="button select-button hidden ${M({visible:this.directoriesOnly&&this.forAll&&this.abortUploadButton})}"
title="${e.t(`nextcloud-file-picker.abort`)}"
@click="${()=>{this.abortUpload=!0}}">
${e.t(`nextcloud-file-picker.abort`)}
</button>
<div class="block info-box ${M({hidden:this.statusText===``})}">
<dbp-mini-spinner
class="spinner ${M({hidden:this.loading===!1})}"></dbp-mini-spinner>
<span>${this.statusText}</span>
</div>
</div>
</div>
</div>
<div class="modal micromodal-slide" id="replace-modal" aria-hidden="true">
<div class="modal-overlay" tabindex="-2" data-micromodal-close>
<div
class="modal-container"
id="replace-modal-box"
role="dialog"
aria-modal="true"
aria-labelledby="replace-modal-title">
<header class="modal-header">
<button
title="${e.t(`file-sink.modal-close`)}"
class="modal-close"
aria-label="Close modal"
@click="${()=>{this.closeDialog()}}">
<dbp-icon
title="${e.t(`file-sink.modal-close`)}"
name="close"
class="close-icon"></dbp-icon>
</button>
<h2 id="replace-modal-title">
${e.t(`nextcloud-file-picker.replace-title-1`)}
<span style="word-break: break-all;">${this.replaceFilename}</span>
${e.t(`nextcloud-file-picker.replace-title-2`)}.
</h2>
</header>
<main class="modal-content" id="replace-modal-content">
<h3>${e.t(`nextcloud-file-picker.replace-text`)}?</h3>
<div>
<label class="button-container">
<span>
${e.t(`nextcloud-file-picker.replace-new_name`)}:
</span>
<input
type="radio"
id="replace-new-name"
class="radio-btn"
name="replacement"
value="new-name"
checked
@click="${()=>{this.setInputFieldVisibility()}}" />
<span class="radiobutton"></span>
<input
type="text"
id="replace-filename"
class="input"
name="replace-filename"
value=""
onClick="this.select();" />
</label>
</div>
<div>
<label class="button-container">
<span>${e.t(`nextcloud-file-picker.replace-replace`)}</span>
<input
type="radio"
id="replace-replace"
name="replacement"
value="replace"
@click="${()=>{this.setInputFieldVisibility()}}" />
<span class="radiobutton"></span>
</label>
</div>
<div>
<label class="button-container">
<span>${e.t(`nextcloud-file-picker.replace-skip`)}</span>
<input
type="radio"
class="radio-btn"
name="replacement"
value="ignore"
@click="${()=>{this.setInputFieldVisibility()}}" />
<span class="radiobutton"></span>
</label>
</div>
</main>
<footer class="modal-footer">
<div class="modal-footer-btn">
<button
class="button"
data-micromodal-close
aria-label="Close this dialog window"
@click="${()=>{this.cancelOverwrite()}}">
${this.getCancelText()}
</button>
<button
class="button select-button is-primary"
@click="${()=>{this.uploadFileAfterConflict()}}">
OK
</button>
</div>
<div>
<label class="button-container">
${e.t(`nextcloud-file-picker.replace-mode-all`)}
<input
type="checkbox"
id="replace_mode_all"
name="replace_mode_all"
value="replace_mode_all"
@click="${()=>{this.setRepeatForAllConflicts()}}" />
<span class="checkmark"></span>
</label>
</div>
</footer>
</div>
</div>
</div>
<div class="modal micromodal-slide" id="new-folder-modal" aria-hidden="true">
<div class="modal-overlay" tabindex="-2" data-micromodal-close>
<div
class="modal-container"
id="new-folder-modal-box"
role="dialog"
aria-modal="true"
aria-labelledby="new-folder-modal-title">
<header class="modal-header">
<button
title="${e.t(`file-sink.modal-close`)}"
class="modal-close"
aria-label="Close modal"
@click="${()=>{this.deleteNewFolderEntry()}}">
<dbp-icon
title="${e.t(`file-sink.modal-close`)}"
name="close"
class="close-icon"></dbp-icon>
</button>
<h3 id="new-folder-modal-title">
${e.t(`nextcloud-file-picker.new-folder-dialog-title`)}
</h3>
</header>
<main class="modal-content" id="new-folder-modal-content">
<div class="nf-label">
${e.t(`nextcloud-file-picker.new-folder-dialog-label`)}
</div>
<div>
<input
type="text"
class="input"
name="tf-new-folder-dialog"
id="tf-new-folder-dialog"
value="${e.t(`nextcloud-file-picker.new-folder-dialog-default-name`)}"
@input="${()=>{this._atChangeInput()}}" />
</div>
</main>
<footer class="modal-footer">
<div class="modal-footer-btn">
<button
class="button"
data-micromodal-close
aria-label="Close this dialog window"
@click="${()=>{this.deleteNewFolderEntry()}}">
${e.t(`nextcloud-file-picker.new-folder-dialog-button-cancel`)}
</button>
<button
class="button select-button is-primary"
id="new-folder-confirm-btn"
@click="${()=>{this.addNewFolder()}}">
${e.t(`nextcloud-file-picker.new-folder-dialog-button-ok`)}
</button>
</div>
</footer>
</div>
</div>
</div>
`}};const cl=`file-sink`,ll=`file-source`;var ul=class extends it(Ye(at),mt){constructor(){super(),this.allowedMimeTypes=``,this.clipboardFiles={files:``},this.clipboardSelectBtnDisabled=!0,this.tabulatorTable=null,this._onReceiveBeforeUnload=this.onReceiveBeforeUnload.bind(this),this.boundSelectHandler=this.selectAllFiles.bind(this),this.filesToSave=[],this.numberOfSelectedFiles=0,this.enabledTargets=`local`,this.countUploadFiles=0,this.buttonsDisabled=!1,this.nextcloudWebAppPasswordURL=``,this.nextcloudWebDavURL=``,this.nextcloudName=``,this.nextcloudFileURL=``,this.nextcloudAuthInfo=``,this.nextcloudStoreSession=!1,this.authInfo=``,this.allowNesting=!1,import(`./file-sink.CYfpcUQ8.js`).then(({FileSink:e})=>this.defineScopedElement(`dbp-file-sink`,e)),import(`./file-source.BrJcQTsH.js`).then(({FileSource:e})=>this.defineScopedElement(`dbp-file-source`,e)),this.mode=`table-only`}static get scopedElements(){return{"dbp-icon":Ze}}static get properties(){return{...super.properties,allowedMimeTypes:{type:String,attribute:`allowed-mime-types`},clipboardSelectBtnDisabled:{type:Boolean},clipboardFiles:{type:Object,attribute:`clipboard-files`},filesToSave:{type:Array,attribute:`files-to-save`},numberOfSelectedFiles:{type:Number,attribute:!1},enabledTargets:{type:String,attribute:`enabled-targets`},buttonsDisabled:{type:Boolean},nextcloudWebAppPasswordURL:{type:String,attribute:`nextcloud-auth-url`},nextcloudWebDavURL:{type:String,attribute:`nextcloud-web-dav-url`},nextcloudName:{type:String,attribute:`nextcloud-name`},nextcloudFileURL:{type:String,attribute:`nextcloud-file-url`},nextcloudAuthInfo:{type:String,attribute:`nextcloud-auth-info`},nextcloudStoreSession:{type:Boolean,attribute:`nextcloud-store-session`},mode:{type:String,attribute:`mode`},allowNesting:{type:Boolean,attribute:`allow-nesting`}}}_(e){return this.renderRoot.querySelector(e)}_a(e){return this.renderRoot.querySelectorAll(e)}update(e){e.forEach((e,t)=>{switch(t){case`clipboardFiles`:this.tabulatorTable&&this.generateClipboardTable();break}}),super.update(e)}toggleCollapse(e){let t=this.tabulatorTable;setTimeout(function(){t.redraw()},0)}connectedCallback(){let e=this._i18n;super.connectedCallback(),this.updateComplete.then(()=>{this.tabulatorTable=new cs(this._(`#clipboard-content-table`),{layout:`fitColumns`,selectableRows:!0,placeholder:e.t(`clipboard.no-data`),responsiveLayout:`collapse`,responsiveLayoutCollapseStartOpen:!1,columnHeaderVertAlign:`middle`,columnDefaults:{vertAlign:`middle`,hozAlign:`left`,resizable:!1},columns:[{minWidth:40,headerSort:!1,formatter:`responsiveCollapse`},{title:`<label class="button-container select-all-icon"><input type="checkbox" id="select_all" name="select_all" value="select_all"><span class="checkmark" id="select_all_checkmark"></span></label>`,field:`type`,hozAlign:`center`,width:40,headerSort:!1,responsive:1,formatter:(e,t,n)=>{let r=this.createScopedElement(`div`);return r.innerHTML=`<dbp-icon name="empty-file" class="nextcloud-picker-icon "></dbp-icon>`,r}},{title:e.t(`clipboard.file-name`),responsive:0,widthGrow:5,minWidth:150,field:`name`,sorter:`alphanum`,formatter:e=>{let t=this.createScopedElement(`div`);return t.classList.add(`filename`),t.innerHTML=e.getValue(),t}},{title:e.t(`clipboard.file-size`),responsive:4,widthGrow:1,minWidth:84,field:`size`,formatter:(e,t,n)=>$e(e.getValue())},{title:e.t(`clipboard.file-type`),responsive:2,widthGrow:1,minWidth:58,field:`type`,formatter:(e,t,n)=>{if(e.getValue()===void 0)return``;let[,r]=e.getValue().split(`/`);return r}},{title:e.t(`clipboard.file-mod`),responsive:3,widthGrow:1,minWidth:150,field:`lastModified`,sorter:(e,t,n,r,i,a,o)=>Date.parse(e)-Date.parse(t),formatter:function(e,t,n){let r=new Date(e.getValue()),i=r.getFullYear(),a=(`0`+(r.getMonth()+1)).slice(-2),o=(`0`+r.getDate()).slice(-2),s=(`0`+r.getHours()).slice(-2),c=(`0`+r.getMinutes()).slice(-2);return o+`.`+a+`.`+i+` `+s+`:`+c}},{title:`file`,field:`file`,visible:!1}],initialSort:[{column:`name`,dir:`asc`},{column:`type`,dir:`asc`}]}),this.tabulatorTable.on(`tableBuilt`,this.tableBuiltFunction.bind(this)),this.tabulatorTable.on(`rowClick`,this.rowClickFunction.bind(this)),this.tabulatorTable.on(`rowSelectionChanged`,this.rowSelectionChangedFunction.bind(this)),this.tabulatorTable.on(`dataChanged`,this.dataChangedFunction.bind(this))}),window.clipboardWarning||(window.addEventListener(`beforeunload`,this._onReceiveBeforeUnload,!1),window.clipboardWarning=!0)}tableBuiltFunction(){this.tabulatorTable.addRow([{}]).then(function(e){e.delete()}),this.generateClipboardTable(),this._(`#select_all`)&&this._(`#select_all`).addEventListener(`click`,this.boundSelectHandler)}rowClickFunction(e,t){this.numberOfSelectedFiles=this.tabulatorTable===null?0:this.tabulatorTable.getSelectedRows().length,this.tabulatorTable!==null&&this.tabulatorTable.getSelectedRows().length===this.tabulatorTable.getRows().filter(e=>this.checkFileType(e.getData())).length?this._(`#select_all`).checked=!0:this._(`#select_all`).checked=!1}rowSelectionChangedFunction(e,t){let n=this._i18n;this.tabulatorTable&&this.tabulatorTable.getSelectedRows().length>0?this.clipboardSelectBtnDisabled=!1:this.clipboardSelectBtnDisabled=!0,this._(`#select_all_checkmark`)&&(this._(`#select_all_checkmark`).title=this.checkAllSelected()?n.t(`clipboard.select-nothing`):n.t(`clipboard.select-all`))}dataChangedFunction(){if(this.tabulatorTable!==null){let e=this;setTimeout(function(){e._(`.tabulator-responsive-collapse-toggle-open`)&&e._a(`.tabulator-responsive-collapse-toggle-open`).forEach(t=>t.addEventListener(`click`,e.toggleCollapse.bind(e))),e._(`.tabulator-responsive-collapse-toggle-close`)&&e._a(`.tabulator-responsive-collapse-toggle-close`).forEach(t=>t.addEventListener(`click`,e.toggleCollapse.bind(e)))},0)}}disconnectedCallback(){super.disconnectedCallback(),this.tabulatorTable.off(`tableBuilt`),this.tabulatorTable.off(`rowClick`),this.tabulatorTable.off(`rowSelectionChanged`),this.tabulatorTable.off(`dataChanged`)}selectAllFiles(){this.checkAllSelected()?(this.tabulatorTable.getSelectedRows().forEach(e=>e.deselect()),this.numberOfSelectedFiles=0):(this.tabulatorTable.selectRow(this.tabulatorTable.getRows().filter(e=>e.getData().type!=`directory`&&this.checkFileType(e.getData(),this.allowedMimeTypes))),this.numberOfSelectedFiles=this.tabulatorTable.getSelectedRows().length)}checkAllSelected(){if(this.tabulatorTable){let e=this.tabulatorTable.getRows().filter(e=>e.getData().type!=`directory`&&this.checkFileType(e.getData(),this.allowedMimeTypes)).length;if(this.tabulatorTable.getSelectedRows().length===e)return!0}return!1}checkFileType(e){if(this.allowedMimeTypes===``||!e.type)return!0;let[t,n]=e.type.split(`/`),r=this.allowedMimeTypes.split(`,`),i=!0;return r.forEach(e=>{let[r,a]=e.split(`/`);i&&=r!==`*`&&r!==t||a!==`*`&&a!==n}),i?(console.log(`mime type ${e.type} of file '${e.name}' is not compatible with ${this.allowedMimeTypes}`),!1):!0}generateClipboardTable(){if(this.numberOfSelectedFiles=0,this.clipboardFiles.files&&this.tabulatorTable){let e=[];for(let t=0;t<this.clipboardFiles.files.length;t++)e[t]={name:this.clipboardFiles.files[t].name,size:this.clipboardFiles.files[t].size,type:this.clipboardFiles.files[t].type,lastModified:this.clipboardFiles.files[t].lastModified,file:this.clipboardFiles.files[t]};if(this.tabulatorTable.clearData(),this.tabulatorTable.setData(e),this.clipboardFiles.files.length>0){let e=this._a(`.tabulator-placeholder`);e&&e.forEach(e=>e.style.display=`none`)}else{let e=this._a(`.tabulator-placeholder`);e&&e.forEach(e=>e.style.display=`inherit`)}}this._(`#select_all`)&&(this._(`#select_all`).checked=!1)}async sendClipboardFiles(e){let t=this._i18n;for(let t=0;t<e.length;t++)await this.sendFileEvent(e[t].file,e.length);this.tabulatorTable.deselectRow(),lt({summary:t.t(`clipboard.saved-files-title`,{count:e.length}),body:t.t(`clipboard.saved-files-body`,{count:e.length}),type:`success`,timeout:5});let n=new CustomEvent(`dbp-file-source-file-upload-finished`,{detail:{count:e.length},bubbles:!0,composed:!0});this.dispatchEvent(n)}async sendFileEvent(e,t){let n={file:e,data:e,maxUpload:t},r=new CustomEvent(`dbp-clipboard-file-picker-file-downloaded`,{detail:n,bubbles:!0,composed:!0});this.dispatchEvent(r)}onReceiveBeforeUnload(e){let t=this._i18n;if(this.clipboardFiles.files.length!==0&&e.target&&e.target.activeElement&&e.target.activeElement.nodeName){if(lt({summary:t.t(`clipboard.file-warning`),body:t.t(`clipboard.file-warning-body`,{count:this.clipboardFiles.files.length}),type:`warning`,timeout:5}),!e.isTrusted&&confirm(`##carefulsaveialuge`))return;e.preventDefault(),e.returnValue=``}}saveFilesToClipboardEvent(e){let t={},n=[];if(this.clipboardFiles&&this.clipboardFiles.files.length!==0&&(n=n.concat(this.clipboardFiles.files)),n=n.concat(e.detail.file),this.filesToSave=n,n&&n.length!==0){t={files:n},this.sendSetPropertyEvent(`clipboard-files`,t);let e=new CustomEvent(`dbp-clipboard-file-picker-file-uploaded`,{bubbles:!0,composed:!0});this.dispatchEvent(e)}this.countUploadFiles+=1,this.countUploadFiles===e.detail.maxUpload?(this.buttonsDisabled=!1,this.countUploadFiles=0):this.buttonsDisabled=!0}saveFilesToClipboard(){let e=this._i18n,t={},n=[];if(this.clipboardFiles&&this.clipboardFiles.files.length!==0&&(n=n.concat(this.clipboardFiles.files)),n=n.concat(this.filesToSave),this.filesToSave&&this.filesToSave.length!==0){t={files:n},this.sendSetPropertyEvent(`clipboard-files`,t);let r=new CustomEvent(`dbp-clipboard-file-picker-file-uploaded`,{bubbles:!0,composed:!0});this.dispatchEvent(r),lt({summary:e.t(`clipboard.saved-files-title`,{count:this.filesToSave.length}),body:e.t(`clipboard.saved-files-body`,{count:this.filesToSave.length}),type:`success`,timeout:5})}}finishedSaveFilesToClipboard(e){let t=this._i18n;lt({summary:t.t(`clipboard.saved-files-title`,{count:e.detail.count}),body:t.t(`clipboard.saved-files-body`,{count:e.detail.count}),type:`success`,timeout:5})}openFileSink(){if(this._(`#file-sink-clipboard`)){let e=[];this.tabulatorTable.getSelectedData().length>0?this.tabulatorTable.getSelectedData().forEach(t=>{e.push(t.file)}):e=this.clipboardFiles.files,this._(`#file-sink-clipboard`).files=Object.create(e),this._(`#file-sink-clipboard`).openDialog()}}openFileSource(){this._(`#file-source-clipboard`)&&this._(`#file-source-clipboard`).openDialog()}clearClipboard(){let e=this._i18n;if(this.tabulatorTable&&this.tabulatorTable.getSelectedData().length>0){let t=this.tabulatorTable.getSelectedData().length;this.tabulatorTable.deleteRow(this.tabulatorTable.getSelectedRows());let n={files:[]};this.tabulatorTable.getRows().forEach(e=>n.files.push(e.getData().file)),this.sendSetPropertyEvent(`clipboard-files`,n),lt({summary:e.t(`clipboard.clear-count-clipboard-title`,{count:t}),body:e.t(`clipboard.clear-count-clipboard-body`,{count:t}),type:`success`,timeout:5}),this.numberOfSelectedFiles=0}else this.sendSetPropertyEvent(`clipboard-files`,{files:[]}),lt({summary:e.t(`clipboard.clear-clipboard-title`),body:e.t(`clipboard.clear-clipboard-body`),type:`success`,timeout:5})}getAdditionalButtons(){let e=this._i18n,t=this.clipboardFiles.files.length===0?!0:this.clipboardSelectBtnDisabled;return t=this.buttonsDisabled?!0:t,N`
<div class="flex-container additional-button-container">
<div class="btn-flex-container-mobile">
<button
id="clipboard-add-files-button"
@click="${()=>{this.openFileSource()}}"
class="button ${M({hidden:this.mode===cl||this.mode===ll})}"
title="${e.t(`clipboard.add-files`)}"
?disabled="${this.buttonsDisabled}">
<dbp-icon class="nav-icon" name="clipboard"></dbp-icon>
${e.t(`clipboard.add-files-btn`)}
</button>
<button
id="clipboard-remove-files-button"
@click="${()=>{this.clearClipboard()}}"
class="button"
title="${this.numberOfSelectedFiles>0?e.t(`clipboard.remove-count`,{count:this.numberOfSelectedFiles}):e.t(`clipboard.remove-all`)}"
?disabled="${t}">
${this.numberOfSelectedFiles>0?e.t(`clipboard.remove-count-btn`,{count:this.numberOfSelectedFiles}):e.t(`clipboard.remove-all-btn`)}
</button>
</div>
<div class="btn-flex-container-mobile">
<button
id="clipboard-save-files-button"
@click="${()=>{this.openFileSink()}}"
?disabled="${t}"
class="button"
title="${this.numberOfSelectedFiles>0?e.t(`clipboard.save-count`,{count:this.numberOfSelectedFiles}):e.t(`clipboard.save-all`)}">
${this.numberOfSelectedFiles>0?e.t(`clipboard.save-count-btn`,{count:this.numberOfSelectedFiles}):e.t(`clipboard.save-all-btn`)}
</button>
</div>
</div>
<dbp-file-source
id="file-source-clipboard"
context="${e.t(`clipboard.add-files`)}"
allowed-mime-types="${this.allowedMimeTypes}"
nextcloud-auth-url="${this.nextcloudWebAppPasswordURL}"
nextcloud-web-dav-url="${this.nextcloudWebDavURL}"
nextcloud-name="${this.nextcloudName}"
nextcloud-file-url="${this.nextcloudFileURL}"
nexcloud-auth-info="${this.nextcloudAuthInfo}"
?nextcloud-store-session="${this.nextcloudStoreSession}"
enabled-targets="${this.allowNesting?this.enabledTargets:this.enabledTargets.replace(`clipboard`,``)}"
decompress-zip
lang="${this.lang}"
text="${e.t(`clipboard.upload-area-text`)}"
button-label="${e.t(`clipboard.upload-button-label`)}"
@dbp-file-source-file-selected="${this.saveFilesToClipboardEvent}"
@dbp-nextcloud-file-picker-number-files="${this.finishedSaveFilesToClipboard}"
@dbp-file-source-file-upload-finished="${this.finishedSaveFilesToClipboard}"></dbp-file-source>
<dbp-file-sink
id="file-sink-clipboard"
context="${this.numberOfSelectedFiles>0?e.t(`clipboard.save-count`,{count:this.numberOfSelectedFiles}):e.t(`clipboard.save-all`)}"
filename="clipboard-documents.zip"
allowed-mime-types="${this.allowedMimeTypes}"
enabled-targets="${this.allowNesting?this.enabledTargets:this.enabledTargets.replace(`clipboard`,``)}"
nextcloud-auth-url="${this.nextcloudWebAppPasswordURL}"
nextcloud-web-dav-url="${this.nextcloudWebDavURL}"
nextcloud-name="${this.nextcloudName}"
nextcloud-file-url="${this.nextcloudFileURL}"
nexcloud-auth-info="${this.nextcloudAuthInfo}"
?nextcloud-store-session="${this.nextcloudStoreSession}"
lang="${this.lang}"></dbp-file-sink>
`}getClipboardSink(){let e=this._i18n,t=dt(bs,`tabulator-tables/css/tabulator.min.css`);return N`
<div class="wrapper">
<div class="content">
<h3>${e.t(`clipboard.sink-title`)}</h3>
<div class="warning-container">
<dbp-icon name="warning-high" class="warning-icon"></dbp-icon>
<p>${e.t(`clipboard.warning`)}</p>
</div>
<div>
${this.getAdditionalButtons()}
<link rel="stylesheet" href="${t}" />
<div class="table-wrapper">
<table id="clipboard-content-table" class="force-no-select"></table>
</div>
</div>
</div>
<div class="clipboard-footer">
<button
class="button select-button is-primary"
title="${e.t(`clipboard.sink-btn`,{count:this.filesToSave.length})}"
@click="${()=>{this.saveFilesToClipboard()}}">
<dbp-icon class="nav-icon" name="clipboard"></dbp-icon>
${e.t(`clipboard.sink-btn`,{count:this.filesToSave.length})}
</button>
</div>
</div>
`}getClipboardSource(){let e=dt(bs,`tabulator-tables/css/tabulator.min.css`),t=this._i18n;return N`
<div class="wrapper">
<div class="content">
<h3>${t.t(`clipboard.source-title`)}</h3>
<div class="warning-container">
<dbp-icon name="warning-high" class="warning-icon"></dbp-icon>
<p>${t.t(`clipboard.warning`)}</p>
</div>
<div>
${this.getAdditionalButtons()}
<link rel="stylesheet" href="${e}" />
<div class="table-wrapper">
<table id="clipboard-content-table" class="force-no-select"></table>
</div>
</div>
</div>
<div class="clipboard-footer">
<button
class="button select-button is-primary"
?disabled="${this.clipboardSelectBtnDisabled}"
@click="${()=>{this.sendClipboardFiles(this.tabulatorTable.getSelectedData())}}">
${this.tabulatorTable&&this.tabulatorTable.getSelectedRows().length>0?t.t(`clipboard.source-btn`,{count:this.tabulatorTable?this.tabulatorTable.getSelectedRows().length:0}):t.t(`clipboard.source-btn-none`)}
</button>
</div>
</div>
`}static get styles(){return tt`
${ct()}
${ut(!1)}
${rt()}
${Qe()}
${Xe()}
${et()}
${ht()}
${xs()}
a {
border-bottom: var(--dbp-border);
padding: 0;
}
a:hover {
color: var(--dbp-hover-color, var(--dbp-content));
background-color: var(--dbp-hover-background-color);
}
h2:first-child {
margin-top: 0;
margin-bottom: 0px;
}
.subheadline {
font-style: italic;
padding-left: 2em;
margin-top: -1px;
margin-bottom: 1.2em;
}
.warning-container {
display: flex;
flex-direction: inherit;
align-items: center;
}
.warning-icon {
margin-right: 10px;
font-size: 1.5rem;
margin-top: -23px;
}
.container {
margin-top: 2rem;
}
.flex-container {
margin-bottom: 5px;
}
.select-btn-wrapper {
float: right;
}
.init {
margin: 0px;
}
.flex-container {
display: flex;
justify-content: space-between;
}
.table-wrapper {
position: relative;
}
.clipboard-footer {
background-color: var(--dbp-background);
width: 100%;
padding-top: 10px;
display: flex;
align-items: end;
flex-direction: column;
}
.wrapper {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
/* position: relative; */
}
.content {
width: 100%;
height: 100%;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
}
.additional-button-container {
margin-top: 0.5rem;
}
.warning-container p {
margin-top: 0px;
}
@media only screen and (orientation: portrait) and (max-width: 768px) {
.flex-container {
justify-content: space-between;
display: flex;
}
.btn-flex-container-mobile {
width: 100%;
display: flex;
justify-content: space-between;
margin-bottom: 5px;
}
.select-btn-wrapper {
width: 100%;
display: flex;
justify-content: end;
float: none;
}
.flex-container {
display: block;
}
.btn-flex-container-mobile {
flex-direction: column;
}
.btn-flex-container-mobile button:nth-child(2) {
margin-top: 5px;
}
.warning-icon {
margin-right: 10px;
font-size: 85px;
margin-top: -43px;
}
}
`}render(){let e=dt(bs,`tabulator-tables/css/tabulator.min.css`);return this.mode===cl?this.getClipboardSink():this.mode===ll?this.getClipboardSource():N`
<div>
${this.getAdditionalButtons()}
<link rel="stylesheet" href="${e}" />
<div class="table-wrapper">
<table id="clipboard-content-table" class="force-no-select"></table>
</div>
</div>
`}},dl=class extends Ye(ot){constructor(){super()}static get properties(){return{...super.properties}}handleScroll(e){if(!this._(`.right-paddle`)||!this._(`.left-paddle`))return;let t=e.currentTarget.scrollLeft,n=e.currentTarget.scrollWidth-e.currentTarget.clientWidth;t>0&&this._(`.left-paddle`).classList.remove(`hidden`),t<n&&this._(`.right-paddle`).classList.remove(`hidden`),t>=n&&this._(`.right-paddle`).classList.add(`hidden`),t<=0&&this._(`.left-paddle`).classList.add(`hidden`)}handleScrollRight(e){let t=e.scrollWidth-e.clientWidth,n=e,r=0,i=setInterval(function(){n.scrollLeft+=10,r+=10,r>=t&&window.clearInterval(i)},25)}handleScrollLeft(e){let t=e,n=e.scrollWidth-e.clientWidth,r=setInterval(function(){t.scrollLeft-=10,n-=10,n<=0&&window.clearInterval(r)},25)}};export{bs as a,ht as c,xs as i,mt as l,ul as n,ys as o,sl as r,cs as s,dl as t};
//# sourceMappingURL=dbp-file-handling-lit-element.CLTUtIyO.js.map