handsontable
Version:
Handsontable is a JavaScript Data Grid available for React, Angular and Vue.
32 lines • 1.78 MB
JavaScript
/*!
* Copyright (c) HANDSONCODE sp. z o. o.
*
* HANDSONTABLE is a software distributed by HANDSONCODE sp. z o. o., a Polish corporation based in
* Gdynia, Poland, at Aleja Zwyciestwa 96-98, registered by the District Court in Gdansk under number
* 538651, EU tax ID number: PL5862294002, share capital: PLN 62,800.00.
*
* This software is protected by applicable copyright laws, including international treaties, and dual-
* licensed - depending on whether your use for commercial purposes, meaning intended for or
* resulting in commercial advantage or monetary compensation, or not.
*
* If your use is strictly personal or solely for evaluation purposes, meaning for the purposes of testing
* the suitability, performance, and usefulness of this software outside the production environment,
* you agree to be bound by the terms included in the "handsontable-non-commercial-license.pdf" file.
*
* Your use of this software for commercial purposes is subject to the terms included in an applicable
* license agreement.
*
* In any case, you must not make any such use of this software as to develop software which may be
* considered competitive with this software.
*
* UNLESS EXPRESSLY AGREED OTHERWISE, HANDSONCODE PROVIDES THIS SOFTWARE ON AN "AS IS"
* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, AND IN NO EVENT AND UNDER NO
* LEGAL THEORY, SHALL HANDSONCODE BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY DIRECT,
* INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
* USE OR INABILITY TO USE THIS SOFTWARE.
*
* Version: 15.3.0
* Release date: 29/04/2025 (built at 24/04/2025 10:59:11)
*/
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("Handsontable",[],t):"object"==typeof exports?exports.Handsontable=t():e.Handsontable=t()}("undefined"!=typeof self?self:this,(()=>(()=>{var e={96:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(5105);t.VALIDATOR_TYPE=n.VALIDATOR_TYPE,t.dropdownValidator=n.dropdownValidator},274:(e,t,r)=>{"use strict";var n=r(28473);e.exports=!n((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))},298:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"editorCloseWithoutSaving",callback(e){const t=e._getEditorManager();t.closeEditorAndRestoreOriginalValue(e.getShortcutManager().isCtrlPressed()),t.activeEditor.focus()}}},312:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(71336),r(41558),r(17663),r(68630),r(79645),r(89858),r(8620),r(14846),r(63333),r(94364);var s=r(75089),o=r(62577),i=r(22137),a=r(10587),l=r(30889),h=r(28197),u=n(r(79349)),c=n(r(24048)),d=r(61149);function p(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function g(e,t){return e.get(m(e,t))}function f(e,t,r){return e.set(m(e,t),r),r}function m(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}h.Hooks.getSingleton().register("beforeHideColumns"),h.Hooks.getSingleton().register("afterHideColumns"),h.Hooks.getSingleton().register("beforeUnhideColumns"),h.Hooks.getSingleton().register("afterUnhideColumns");const y=t.PLUGIN_KEY="hiddenColumns",w=t.PLUGIN_PRIORITY=310;var E=new WeakMap,C=new WeakSet;class v extends s.BasePlugin{constructor(){var e,t;super(...arguments),p(e=this,t=C),t.add(e),function(e,t,r){p(e,t),t.set(e,r)}(this,E,null)}static get PLUGIN_KEY(){return y}static get PLUGIN_PRIORITY(){return w}static get DEFAULT_SETTINGS(){return{copyPasteEnabled:!0,indicators:!1,columns:[]}}isEnabled(){return!!this.hot.getSettings()[y]}enablePlugin(){var e=this;this.enabled||(f(E,this,new d.HidingMap),g(E,this).addLocalHook("init",(()=>m(C,this,_).call(this))),this.hot.columnIndexMapper.registerMap(this.pluginName,g(E,this)),this.addHook("afterContextMenuDefaultOptions",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return m(C,e,M).call(e,...r)})),this.addHook("afterGetCellMeta",((e,t,r)=>m(C,this,S).call(this,e,t,r))),this.addHook("modifyColWidth",((e,t)=>m(C,this,R).call(this,e,t)),2),this.addHook("afterGetColHeader",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return m(C,e,N).call(e,...r)})),this.addHook("modifyCopyableRange",(e=>m(C,this,T).call(this,e))),super.enablePlugin())}updatePlugin(){this.disablePlugin(),this.enablePlugin(),super.updatePlugin()}disablePlugin(){super.disablePlugin(),this.hot.columnIndexMapper.unregisterMap(this.pluginName),this.resetCellsMeta()}showColumns(e){const t=this.getHiddenColumns(),r=this.isValidConfig(e);let n=t;const s=g(E,this).getValues().slice(),o=e.length>0;if(r&&o){const t=e.map((e=>this.hot.toPhysicalColumn(e)));(0,a.arrayEach)(t,(e=>{s[e]=!1})),n=(0,a.arrayReduce)(s,((e,t,r)=>(t&&e.push(this.hot.toVisualColumn(r)),e)),[])}!1!==this.hot.runHooks("beforeUnhideColumns",t,n,r&&o)&&(r&&o&&g(E,this).setValues(s),this.hot.view.adjustElementsSize(),this.hot.runHooks("afterUnhideColumns",t,n,r&&o,r&&n.length<t.length))}showColumn(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.showColumns(t)}hideColumns(e){const t=this.getHiddenColumns(),r=this.isValidConfig(e);let n=t;r&&(n=Array.from(new Set(t.concat(e))));!1!==this.hot.runHooks("beforeHideColumns",t,n,r)&&(r&&this.hot.batchExecution((()=>{(0,a.arrayEach)(e,(e=>{g(E,this).setValueAtIndex(this.hot.toPhysicalColumn(e),!0)}))}),!0),this.hot.runHooks("afterHideColumns",t,n,r,r&&n.length>t.length))}hideColumn(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.hideColumns(t)}getHiddenColumns(){return(0,a.arrayMap)(g(E,this).getHiddenIndexes(),(e=>this.hot.toVisualColumn(e)))}isHidden(e){return g(E,this).getValueAtIndex(this.hot.toPhysicalColumn(e))||!1}isValidConfig(e){const t=this.hot.countCols();return!!(Array.isArray(e)&&e.length>0)&&e.every((e=>Number.isInteger(e)&&e>=0&&e<t))}resetCellsMeta(){(0,a.arrayEach)(this.hot.getCellsMeta(),(e=>{e.skipColumnOnPaste=!1}))}destroy(){f(E,this,null),super.destroy()}}function R(e,t){return this.isHidden(t)?0:this.getSetting("indicators")&&(this.isHidden(t+1)||this.isHidden(t-1))&&"number"==typeof e&&this.hot.hasColHeaders()?e+15:void 0}function S(e,t,r){if(!1===this.getSetting("copyPasteEnabled")&&this.isHidden(t)&&(r.skipColumnOnPaste=!0),this.isHidden(t-1))r.className=r.className||"",-1===r.className.indexOf("afterHiddenColumn")&&(r.className+=" afterHiddenColumn");else if(r.className){const e=r.className.split(" ");if(e.length>0){const t=e.indexOf("afterHiddenColumn");t>-1&&e.splice(t,1),r.className=e.join(" ")}}}function T(e){if(this.getSetting("copyPasteEnabled"))return e;const t=[],r=(e,r,n,s)=>{t.push({startRow:e,endRow:r,startCol:n,endCol:s})};return(0,a.arrayEach)(e,(e=>{let t=!0,n=0;(0,i.rangeEach)(e.startCol,e.endCol,(s=>{this.isHidden(s)?(t||r(e.startRow,e.endRow,n,s-1),t=!0):(t&&(n=s),s===e.endCol&&r(e.startRow,e.endRow,n,s),t=!1)}))})),t}function N(e,t){if(!this.getSetting("indicators")||e<0)return;const r=[];e>=1&&this.isHidden(e-1)&&r.push("afterHiddenColumn"),e<this.hot.countCols()-1&&this.isHidden(e+1)&&r.push("beforeHiddenColumn"),(0,o.addClass)(t,r)}function M(e){e.items.push({name:l.SEPARATOR},(0,u.default)(this),(0,c.default)(this))}function _(){const e=this.getSetting("columns");Array.isArray(e)&&this.hideColumns(e)}t.HiddenColumns=v},348:(e,t,r)=>{"use strict";var n=r(21807),s=r(1483),o=r(71704),i=TypeError;e.exports=function(e,t){var r,a;if("string"===t&&s(r=e.toString)&&!o(a=n(r,e)))return a;if(s(r=e.valueOf)&&!o(a=n(r,e)))return a;if("string"!==t&&s(r=e.toString)&&!o(a=n(r,e)))return a;throw new i("Can't convert object to primitive value")}},680:(e,t,r)=>{"use strict";var n=r(14762),s=r(68120);e.exports=function(e,t,r){try{return n(s(Object.getOwnPropertyDescriptor(e,t)[r]))}catch(e){}}},816:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(73296);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.BindRowsWithHeaders=n.BindRowsWithHeaders},954:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(70505),s=r(25499);t.default=()=>({_automaticallyAssignedMetaProps:void 0,activeHeaderClassName:"ht__active_highlight",allowEmpty:!0,allowHtml:!1,allowInsertColumn:!0,allowInsertRow:!0,allowInvalid:!0,allowRemoveColumn:!0,allowRemoveRow:!0,ariaTags:!0,autoColumnSize:void 0,autoRowSize:void 0,autoWrapCol:!1,autoWrapRow:!1,bindRowsWithHeaders:void 0,cell:[],cells:void 0,checkedTemplate:void 0,className:void 0,colHeaders:null,collapsibleColumns:void 0,columnHeaderHeight:void 0,columns:void 0,columnSorting:void 0,columnSummary:void 0,colWidths:void 0,commentedCellClassName:"htCommentCell",comments:!1,contextMenu:void 0,copyable:!0,copyPaste:!0,correctFormat:!1,currentColClassName:void 0,currentHeaderClassName:"ht__highlight",currentRowClassName:void 0,customBorders:!1,data:void 0,dataDotNotation:!0,dataSchema:void 0,dateFormat:"DD/MM/YYYY",timeFormat:"h:mm:ss a",datePickerConfig:void 0,defaultDate:void 0,disableVisualSelection:!1,dragToScroll:!0,dropdownMenu:void 0,editor:void 0,enterBeginsEditing:!0,enterMoves:{col:0,row:1},fillHandle:{autoInsertRow:!1},filter:!0,filteringCaseSensitive:!1,filters:void 0,fixedColumnsLeft:0,fixedColumnsStart:0,fixedRowsBottom:0,fixedRowsTop:0,formulas:void 0,fragmentSelection:!1,headerClassName:void 0,height:void 0,hiddenColumns:void 0,hiddenRows:void 0,invalidCellClassName:"htInvalid",imeFastEdit:!1,isEmptyCol(e){let t,r,s;for(t=0,r=this.countRows();t<r;t++)if(s=this.getDataAtCell(t,e),!1===(0,n.isEmpty)(s))return!1;return!0},isEmptyRow(e){let t,r,o,i;for(t=0,r=this.countCols();t<r;t++)if(o=this.getDataAtCell(e,t),!1===(0,n.isEmpty)(o))return"object"==typeof o&&(i=this.getCellMeta(e,t),(0,s.isObjectEqual)(this.getSchema()[i.prop],o));return!0},label:void 0,language:"en-US",layoutDirection:"inherit",licenseKey:void 0,locale:"en-US",manualColumnFreeze:void 0,manualColumnMove:void 0,manualColumnResize:void 0,manualRowMove:void 0,manualRowResize:void 0,maxCols:1/0,maxRows:1/0,mergeCells:!1,minCols:0,minRows:0,minSpareCols:0,minSpareRows:0,multiColumnSorting:void 0,navigableHeaders:!1,tabNavigation:!0,nestedHeaders:void 0,nestedRows:void 0,noWordWrapClassName:"htNoWrap",numericFormat:void 0,observeDOMVisibility:!0,outsideClickDeselects:!0,persistentState:void 0,placeholder:void 0,placeholderCellClassName:"htPlaceholder",preventOverflow:!1,preventWheel:!1,readOnly:!1,readOnlyCellClassName:"htDimmed",renderAllRows:!1,renderAllColumns:!1,renderer:void 0,rowHeaders:void 0,rowHeaderWidth:void 0,rowHeights:void 0,search:!1,selectionMode:"multiple",selectOptions:void 0,skipColumnOnPaste:!1,skipRowOnPaste:!1,sortByRelevance:!0,source:void 0,startCols:5,startRows:5,stretchH:"none",strict:void 0,tableClassName:void 0,themeName:void 0,tabMoves:{row:0,col:1},title:void 0,trimDropdown:!0,trimRows:void 0,trimWhitespace:!0,type:"text",uncheckedTemplate:void 0,undo:!0,validator:void 0,viewportColumnRenderingOffset:"auto",viewportRowRenderingOffset:"auto",viewportColumnRenderingThreshold:0,viewportRowRenderingThreshold:0,visibleRows:10,width:void 0,wordWrap:!0})},1052:(e,t,r)=>{"use strict";t.__esModule=!0,t.createCellHeadersRange=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:t,[s,o]=[r,n];e>t&&([s,o]=[o,s]);return`${s}-${o}`},t.extendNotExistingKeys=function(e,t){return(0,s.objectEach)(t,((t,r)=>{(0,n.isUndefined)(e[r])&&(e[r]=t)})),e},t.normalizeLanguageCode=function(e){const t=/^([a-zA-Z]{2})-([a-zA-Z]{2})$/.exec(e);if(t)return`${t[1].toLowerCase()}-${t[2].toUpperCase()}`;return e},t.warnUserAboutLanguageRegistration=function(e){(0,n.isDefined)(e)&&(0,o.error)(i.toSingleLine`Language with code "${e}" was not found. You should register particular language\x20
before using it. Read more about this issue at: https://docs.handsontable.com/i18n/missing-language-code.`)};var n=r(70505),s=r(25499),o=r(14859),i=r(21595)},1104:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707));t.StretchStrategy=class{constructor(e){(0,s.default)(this,"viewportWidth",void 0),(0,s.default)(this,"overwriteColumnWidthFn",void 0),(0,s.default)(this,"baseWidths",new Map),(0,s.default)(this,"stretchedWidths",new Map),this.overwriteColumnWidthFn=e}prepare(e){let{viewportWidth:t}=e;this.viewportWidth=t,this.baseWidths.clear(),this.stretchedWidths.clear()}setColumnBaseWidth(e,t){this.baseWidths.set(e,t)}calculate(){}getWidths(){return Array.from(this.stretchedWidths)}}},1313:()=>{},1483:e=>{"use strict";var t="object"==typeof document&&document.all;e.exports=void 0===t&&void 0!==t?function(e){return"function"==typeof e||e===t}:function(e){return"function"==typeof e}},1584:(e,t,r)=>{"use strict";t.__esModule=!0,t.useRecorder=function(e,t,r,n,d){const p=e=>l.includes(e),g=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const r=[];return e.altKey&&r.push("alt"),t&&(e.ctrlKey||e.metaKey)?r.push("control/meta"):(e.ctrlKey&&r.push("control"),e.metaKey&&r.push("meta")),e.shiftKey&&r.push("shift"),r},f=e=>{if(!1===t(e))return;if(!1===r(e)||229===e.keyCode||"string"!=typeof e.key||(0,o.isImmediatePropagationStopped)(e))return;const i=(0,s.normalizeEventKey)(e);let l=[];p(i)||(l=g(e));const h=[i].concat(l);!d(e,h)&&((0,a.isMacOS)()&&l.includes("meta")||!(0,a.isMacOS)()&&l.includes("control"))&&d(e,[i].concat(g(e,!0))),n(e)},m=e=>{if("string"==typeof e.key){const t=(0,s.normalizeEventKey)(e);p(t)&&h.press(t)}},y=e=>{if("string"==typeof e.key){const t=(0,s.normalizeEventKey)(e);p(t)&&h.release(t)}},w=()=>{h.releaseAll()};return{mount:()=>{let t=e;for(c+=1;t;)1===c&&(t.document.documentElement.addEventListener("keydown",m),u.push({event:"keydown",listener:m}),t.document.documentElement.addEventListener("keyup",y),u.push({event:"keyup",listener:y})),t.document.documentElement.addEventListener("keydown",f),t.document.documentElement.addEventListener("blur",w),t=(0,i.getParentWindow)(t)},unmount:()=>{let t=e;for(c-=1;t;){if(0===c){for(let e=0;e<u.length;e++){const{event:r,listener:n}=u[e];t.document.documentElement.removeEventListener(r,n)}u.length=0}t.document.documentElement.removeEventListener("keydown",f),t.document.documentElement.removeEventListener("blur",w),t=(0,i.getParentWindow)(t)}},isPressed:e=>h.isPressed(e),releasePressedKeys:()=>h.releaseAll()}},r(15724);var n=r(86353),s=r(17577),o=r(77661),i=r(62577),a=r(25046);const l=["meta","alt","shift","control"],h=(0,n.createKeysObserver)(),u=[];let c=0},1758:(e,t,r)=>{"use strict";t.__esModule=!0,t.condition=l;var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=i(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&{}.hasOwnProperty.call(e,o)){var a=s?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(23384)),s=r(69196),o=r(68833);function i(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(i=function(e){return e?r:t})(e)}const a=t.CONDITION_NAME="not_between";function l(e,t){return!(0,s.getCondition)(o.CONDITION_NAME,t)(e)}(0,s.registerCondition)(a,l,{name:n.FILTERS_CONDITIONS_NOT_BETWEEN,inputsCount:2,showOperators:!0})},1791:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.getCellType=function(e){if(!u(e))throw Error(`You declared cell type "${e}" as a string that is not mapped to a known object.\n Cell type must be an object or a string mapped to an object registered by\n "Handsontable.cellTypes.registerCellType" method`);return h(e)},t.registerCellType=function(e,t){"string"!=typeof e&&(e=(t=e).CELL_TYPE);const{editor:r,renderer:n,validator:s}=t;r&&(0,o.registerEditor)(e,r);n&&(0,i.registerRenderer)(e,n);s&&(0,a.registerValidator)(e,s);l(e,t)},r(67834);var s=n(r(28651)),o=r(8266),i=r(54852),a=r(17027);const{register:l,getItem:h,hasItem:u,getNames:c,getValues:d}=(0,s.default)("cellTypes");t.getRegisteredCellTypes=d,t.getRegisteredCellTypeNames=c,t.hasCellType=u},1799:(e,t,r)=>{"use strict";var n=r(20382),s=r(28473),o=r(3145);e.exports=!n&&!s((function(){return 7!==Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a}))},1915:(e,t,r)=>{"use strict";t.__esModule=!0,t.condition=a;var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=o(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var a=s?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(23384)),s=r(69196);function o(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(o=function(e){return e?r:t})(e)}const i=t.CONDITION_NAME="none";function a(){return!0}(0,s.registerCondition)(i,a,{name:n.FILTERS_CONDITIONS_NONE,inputsCount:0,showOperators:!1})},2069:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707)),o=r(48454);class i extends o.PartiallyVisibleColumnsCalculationType{constructor(){super(...arguments),(0,s.default)(this,"columnStartOffset",0),(0,s.default)(this,"columnEndOffset",0)}finalize(e){var t;super.finalize(e);const{overrideFn:r,totalColumns:n,startPositions:s}=e;if(null!==this.startColumn&&"function"==typeof r){const e=this.startColumn,t=this.endColumn;r(this),this.columnStartOffset=e-this.startColumn,this.columnEndOffset=this.endColumn-t}this.startColumn<0&&(this.startColumn=0),this.startPosition=null!==(t=s[this.startColumn])&&void 0!==t?t:null,n<this.endColumn&&(this.endColumn=n-1),null!==this.startColumn&&(this.count=this.endColumn-this.startColumn+1)}}t.RenderedColumnsCalculationType=i},2141:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834);var s=n(r(85707));function o(e,t,r){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,r)}function i(e,t){return e.get(l(e,t))}function a(e,t,r){return e.set(l(e,t),r),r}function l(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var h=new WeakMap;class u{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];(0,s.default)(this,"row",null),(0,s.default)(this,"col",null),o(this,h,!1),a(h,this,r),void 0!==e&&void 0!==t&&(this.row=e,this.col=t)}isValid(e){const{countRows:t,countCols:r,countRowHeaders:n,countColHeaders:s}={countRows:0,countCols:0,countRowHeaders:0,countColHeaders:0,...e};return!(!Number.isInteger(this.row)||!Number.isInteger(this.col))&&(!(this.row<-s||this.col<-n)&&!(this.row>=t||this.col>=r))}isEqual(e){return e===this||this.row===e.row&&this.col===e.col}isHeader(){return!this.isCell()}isCell(){return this.row>=0&&this.col>=0}isRtl(){return i(h,this)}isSouthEastOf(e){return this.row>=e.row&&(i(h,this)?this.col<=e.col:this.col>=e.col)}isNorthWestOf(e){return this.row<=e.row&&(i(h,this)?this.col>=e.col:this.col<=e.col)}isSouthWestOf(e){return this.row>=e.row&&(i(h,this)?this.col>=e.col:this.col<=e.col)}isNorthEastOf(e){return this.row<=e.row&&(i(h,this)?this.col<=e.col:this.col>=e.col)}normalize(){return this.row=null===this.row?this.row:Math.max(this.row,0),this.col=null===this.col?this.col:Math.max(this.col,0),this}assign(e){return Number.isInteger(null==e?void 0:e.row)&&(this.row=e.row),Number.isInteger(null==e?void 0:e.col)&&(this.col=e.col),e instanceof u&&a(h,this,e.isRtl()),this}clone(){return new u(this.row,this.col,i(h,this))}toObject(){return{row:this.row,col:this.col}}}t.default=u},2293:(e,t,r)=>{"use strict";var n=r(71704),s=String,o=TypeError;e.exports=function(e){if(n(e))return e;throw new o(s(e)+" is not an object")}},2609:()=>{},2933:(e,t,r)=>{"use strict";t.__esModule=!0,t.getOperationFunc=function(e){if(!n[e])throw Error(`Operation with id "${e}" does not exist.`);const t=n[e].func;return function(e,r){return t(e,r)}},t.getOperationName=function(e){return n[e].name},t.registerOperation=function(e,t,r){n[e]={name:t,func:r}},r(67834);const n=t.operations={}},2998:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(14846),r(27458),r(69655),r(90458);var s=n(r(85707)),o=r(75089),i=r(85992),a=n(r(4965)),l=r(28197),h=r(25499),u=r(22137),c=n(r(93968)),d=r(5893),p=r(50206),g=r(61149);function f(e,t,r){m(e,t),t.set(e,r)}function m(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function y(e,t){return e.get(E(e,t))}function w(e,t,r){return e.set(E(e,t),r),r}function E(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}l.Hooks.getSingleton().register("modifyAutoColumnSizeSeed");const C=t.PLUGIN_KEY="autoColumnSize",v=t.PLUGIN_PRIORITY=10;var R=new WeakMap,S=new WeakMap,T=new WeakMap,N=new WeakSet;class M extends o.BasePlugin{static get PLUGIN_KEY(){return C}static get PLUGIN_PRIORITY(){return v}static get SETTING_KEYS(){return!0}static get DEFAULT_SETTINGS(){return{useHeaders:!0,samplingRatio:null,allowSampleDuplicates:!1}}static get CALCULATION_STEP(){return 50}static get SYNC_CALCULATION_LIMIT(){return 50}constructor(e){var t,r;super(e),m(t=this,r=N),r.add(t),(0,s.default)(this,"ghostTable",new a.default(this.hot)),(0,s.default)(this,"samplesGenerator",new c.default(((e,t)=>{const r=this.hot.toPhysicalRow(e),n=this.hot.toPhysicalColumn(t);if(this.hot.rowIndexMapper.isHidden(r)||this.hot.columnIndexMapper.isHidden(n))return!1;const s=this.hot.getCellMeta(e,t);let o="";s.spanned||(o=this.hot.getDataAtCell(e,t));let i="";return this.hot.hasHook("modifyAutoColumnSizeSeed")&&(i=this.hot.runHooks("modifyAutoColumnSizeSeed",i,s,o)),{value:o,bundleSeed:i}}))),(0,s.default)(this,"inProgress",!1),(0,s.default)(this,"measuredColumns",0),(0,s.default)(this,"columnWidthsMap",new g.PhysicalIndexToValueMap),f(this,R,!1),f(this,S,[]),f(this,T,[]),this.hot.columnIndexMapper.registerMap("autoColumnSize",this.columnWidthsMap),this.addHook("beforeColumnResize",((e,t,r)=>E(N,this,P).call(this,e,t,r)))}isEnabled(){return!1!==this.hot.getSettings()[C]&&!this.hot.getSettings().colWidths}enablePlugin(){var e=this;if(this.enabled)return;this.ghostTable.setSetting("useHeaders",this.getSetting("useHeaders")),this.samplesGenerator.setAllowDuplicates(this.getSetting("allowSampleDuplicates"));const t=this.getSetting("samplingRatio");t&&!isNaN(t)&&this.samplesGenerator.setSampleCount(parseInt(t,10)),this.addHook("afterLoadData",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return E(N,e,I).call(e,...r)})),this.addHook("beforeChangeRender",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return E(N,e,x).call(e,...r)})),this.addHook("afterFormulasValuesUpdate",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return E(N,e,D).call(e,...r)})),this.addHook("beforeRender",(()=>E(N,this,A).call(this))),this.addHook("modifyColWidth",((e,t)=>this.getColumnWidth(t,e))),this.addHook("init",(()=>E(N,this,L).call(this))),super.enablePlugin()}updatePlugin(){w(T,this,this.findColumnsWhereHeaderWasChanged()),super.updatePlugin()}disablePlugin(){super.disablePlugin(),this.addHook("beforeColumnResize",((e,t,r)=>E(N,this,P).call(this,e,t,r)))}calculateVisibleColumnsWidth(){if(!this.hot.countRows())return;const e=this.getFirstVisibleColumn(),t=this.getLastVisibleColumn();if(-1===e||-1===t)return;const r=this.hot.forceFullRender;this.calculateColumnsWidth({from:e,to:t},void 0,r)}calculateColumnsWidth(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{from:0,to:this.hot.countCols()-1},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{from:0,to:this.hot.countRows()-1},r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const n="number"==typeof e?{from:e,to:e}:e,s="number"==typeof t?{from:t,to:t}:t;(0,u.rangeEach)(n.from,n.to,(e=>{let t=this.hot.toPhysicalColumn(e);null===t&&(t=e),(r||null===this.columnWidthsMap.getValueAtIndex(t)&&!this.hot._getColWidthFromSettings(t))&&E(N,this,b).call(this,e,s)})),this.ghostTable.columns.length&&(E(N,this,O).call(this),this.measuredColumns=n.to+1,this.ghostTable.clean())}calculateAllColumnsWidth(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{from:0,to:this.hot.countRows()-1},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=0;const n=this.hot.countCols()-1;let s=null;this.inProgress=!0;const o=()=>{if(!this.hot)return(0,i.cancelAnimationFrame)(s),void(this.inProgress=!1);this.calculateColumnsWidth({from:r,to:Math.min(r+M.CALCULATION_STEP,n)},e,t),r=r+M.CALCULATION_STEP+1,r<n?s=(0,i.requestAnimationFrame)(o):((0,i.cancelAnimationFrame)(s),this.inProgress=!1,this.hot.view.adjustElementsSize())},a=this.getSyncCalculationLimit();a>=0&&(this.calculateColumnsWidth({from:0,to:a},e,t),r=a+1),r<n?o():this.inProgress=!1}recalculateAllColumnsWidth(){this.hot.view.isVisible()&&this.calculateAllColumnsWidth({from:0,to:this.hot.countRows()-1},!0)}getSyncCalculationLimit(){const e=this.hot.getSettings()[C];let t=M.SYNC_CALCULATION_LIMIT;const r=this.hot.countCols()-1;return(0,h.isObject)(e)&&(t=e.syncLimit,(0,d.isPercentValue)(t)?t=(0,u.valueAccordingPercent)(r,t):t>>=0),Math.min(t,r)}getColumnWidth(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=t;return void 0===n&&(n=this.columnWidthsMap.getValueAtIndex(this.hot.toPhysicalColumn(e)),r&&"number"==typeof n&&(n=Math.max(n,p.DEFAULT_COLUMN_WIDTH))),n}getFirstVisibleColumn(){var e;return null!==(e=this.hot.getFirstRenderedVisibleColumn())&&void 0!==e?e:-1}getLastVisibleColumn(){var e;return null!==(e=this.hot.getLastRenderedVisibleColumn())&&void 0!==e?e:-1}findColumnsWhereHeaderWasChanged(){return this.hot.getColHeader().reduce(((e,t,r)=>{const n=y(S,this).length;return(n-1<r||y(S,this)[r]!==t)&&e.push(this.hot.toVisualColumn(r)),n-1<r?y(S,this).push(t):y(S,this)[r]=t,e}),[])}clearCache(e){Array.isArray(e)?this.hot.batchExecution((()=>{e.forEach((e=>{this.columnWidthsMap.setValueAtIndex(e,null)}))}),!0):this.columnWidthsMap.clear()}isNeedRecalculate(){return!!this.columnWidthsMap.getValues().slice(0,this.measuredColumns).filter((e=>null===e)).length}destroy(){this.ghostTable.clean(),super.destroy()}}function _(e){const t={from:0,to:this.hot.countRows()-1};e.forEach((e=>{const r=this.hot.toPhysicalColumn(e);null!==r&&(this.hot._getColWidthFromSettings(r)||E(N,this,b).call(this,e,t))})),this.ghostTable.columns.length&&(E(N,this,O).call(this),this.ghostTable.clean())}function b(e,t){this.samplesGenerator.generateColumnSamples(e,t).forEach(((e,t)=>this.ghostTable.addColumn(t,e)))}function O(){this.hot.batchExecution((()=>{this.ghostTable.getWidths(((e,t)=>{const r=this.hot.toPhysicalColumn(e);this.columnWidthsMap.setValueAtIndex(r,t)}))}),!0)}function A(){this.calculateVisibleColumnsWidth(),this.inProgress||(E(N,this,_).call(this,y(T,this)),w(T,this,[]))}function I(e,t){t||this.recalculateAllColumnsWidth()}function x(e){const t=e.reduce(((e,t)=>{let[,r]=t;const n=this.hot.propToCol(r);return Number.isInteger(n)&&-1===e.indexOf(n)&&e.push(n),e}),[]);y(T,this).push(...t)}function P(e,t,r){let n=e;return r&&(this.calculateColumnsWidth(t,void 0,!0),n=this.getColumnWidth(t,void 0,!1)),n}function L(){w(S,this,this.hot.getColHeader()),this.recalculateAllColumnsWidth(),w(R,this,!0)}function D(e){if(!y(R,this))return;const t=e.reduce(((e,t)=>{var r;const n=null===(r=t.address)||void 0===r?void 0:r.col;if(Number.isInteger(n)){const t=this.hot.toVisualColumn(n);-1===e.indexOf(t)&&e.push(t)}return e}),[]);y(T,this).push(...t)}t.AutoColumnSize=M},3145:(e,t,r)=>{"use strict";var n=r(85578),s=r(71704),o=n.document,i=s(o)&&s(o.createElement);e.exports=function(e){return i?o.createElement(e):{}}},3421:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(82304),s=r(17756),o=r(48636);const i=t.CELL_TYPE="numeric";t.NumericCellType={CELL_TYPE:i,editor:n.NumericEditor,renderer:s.numericRenderer,validator:o.numericValidator,dataType:"number"}},3557:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724);var s=n(r(30480));function o(e,t,r){i(e,t),t.set(e,r)}function i(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function a(e,t){return e.get(h(e,t))}function l(e,t,r){return e.set(h(e,t),r),r}function h(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var u=new WeakMap,c=new WeakMap,d=new WeakMap,p=new WeakMap,g=new WeakMap,f=new WeakMap,m=new WeakMap,y=new WeakSet;function w(e,t,r,n,s){const o=e.getTopStartCorner(),i=e.getBottomEndCorner(),l=e.highlight.clone().normalize(),h=a(g,this).call(this,n,s);if(h&&r.has(h))return null;const u={colStart:s,colEnd:s,rowStart:n,rowEnd:n};if(h){if(r.add(h),h.row<o.row||h.row+h.rowspan-1>i.row||h.col<o.col||h.col+h.colspan-1>i.col)return null;u.colStart=h.col,u.colEnd=h.col+h.colspan-1,u.rowStart=h.row,u.rowEnd=h.row+h.rowspan-1}const c=t.push(u);return n===l.row&&s===l.col||h&&l.row>=h.row&&l.row<=h.row+h.rowspan-1&&l.col>=h.col&&l.col<=h.col+h.colspan-1?c:null}t.FocusOrder=class{constructor(e){let{mergedCellsGetter:t,rowIndexMapper:r,columnIndexMapper:n}=e;var a,h;i(a=this,h=y),h.add(a),o(this,u,new s.default),o(this,c,new s.default),o(this,d,null),o(this,p,null),o(this,g,null),o(this,f,null),o(this,m,null),l(g,this,t),l(f,this,r),l(m,this,n)}getCurrentVerticalNode(){return a(p,this).data}getFirstVerticalNode(){return a(c,this).first.data}getNextVerticalNode(){return a(p,this).next.data}getPrevVerticalNode(){return a(p,this).prev.data}getCurrentHorizontalNode(){return a(d,this).data}getFirstHorizontalNode(){return a(u,this).first.data}getNextHorizontalNode(){return a(d,this).next.data}getPrevHorizontalNode(){return a(d,this).prev.data}setPrevNodeAsActive(){l(p,this,a(p,this).prev),l(d,this,a(d,this).prev)}setNextNodeAsActive(){l(p,this,a(p,this).next),l(d,this,a(d,this).next)}buildFocusOrder(e){const t=e.getTopStartCorner(),r=e.getBottomEndCorner(),n=new WeakSet;l(u,this,new s.default);for(let s=t.row;s<=r.row;s++)if(!a(f,this).isHidden(s))for(let o=t.col;o<=r.col;o++){if(a(m,this).isHidden(o))continue;const t=h(y,this,w).call(this,e,a(u,this),n,s,o);t&&l(d,this,t)}a(u,this).first&&(a(u,this).first.prev=a(u,this).last,a(u,this).last.next=a(u,this).first);const o=new WeakSet;l(c,this,new s.default);for(let n=t.col;n<=r.col;n++)if(!a(m,this).isHidden(n))for(let s=t.row;s<=r.row;s++){if(a(f,this).isHidden(s))continue;const t=h(y,this,w).call(this,e,a(c,this),o,s,n);t&&l(p,this,t)}a(c,this).first&&(a(c,this).first.prev=a(c,this).last,a(c,this).last.next=a(c,this).first)}setActiveNode(e,t){return a(u,this).inorder((r=>{const{rowStart:n,rowEnd:s,colStart:o,colEnd:i}=r.data;if(e>=n&&e<=s&&t>=o&&t<=i)return l(d,this,r),!1})),a(c,this).inorder((r=>{const{rowStart:n,rowEnd:s,colStart:o,colEnd:i}=r.data;if(e>=n&&e<=s&&t>=o&&t<=i)return l(p,this,r),!1})),this}}},3809:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(14846),r(27458);var s=n(r(85707)),o=r(88814);class i extends o.BaseAction{constructor(e){let{conditionsStack:t,previousConditionsStack:r}=e;super("filter"),(0,s.default)(this,"conditionsStack",void 0),(0,s.default)(this,"previousConditionsStack",void 0),this.conditionsStack=t,this.previousConditionsStack=r}static startRegisteringEvents(e,t){e.addHook("beforeFilter",((e,r)=>{t.done((()=>new i({conditionsStack:e,previousConditionsStack:r})))}))}undo(e,t){const r=e.getPlugin("filters");e.addHookOnce("afterViewRender",t),r.importConditions(this.previousConditionsStack),r.filter()}redo(e,t){const r=e.getPlugin("filters");e.addHookOnce("afterViewRender",t),r.importConditions(this.conditionsStack),r.filter()}}t.FiltersAction=i},3849:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.getListenersCounter=function(){return i},r(15724);var s=n(r(85707)),o=r(77661);let i=0;t.default=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;(0,s.default)(this,"context",void 0),this.context=e||this,this.context.eventListeners||(this.context.eventListeners=[])}addEventListener(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];function s(e){r.call(this,function(e){const t=e.stopImmediatePropagation;return e.stopImmediatePropagation=function(){t.apply(this),(0,o.stopImmediatePropagation)(this)},e}(e))}return this.context.eventListeners.push({element:e,event:t,callback:r,callbackProxy:s,options:n,eventManager:this}),e.addEventListener(t,s,n),i+=1,()=>{this.removeEventListener(e,t,r)}}removeEventListener(e,t,r){let n,s=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=this.context.eventListeners.length;for(;o;)if(o-=1,n=this.context.eventListeners[o],n.event===t&&n.element===e){if(r&&r!==n.callback)continue;if(s&&n.eventManager!==this)continue;this.context.eventListeners.splice(o,1),n.element.removeEventListener(n.event,n.callbackProxy,n.options),i-=1}}clearEvents(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!this.context)return;let t=this.context.eventListeners.length;for(;t;){t-=1;const r=this.context.eventListeners[t];e&&r.eventManager!==this||(this.context.eventListeners.splice(t,1),r.element.removeEventListener(r.event,r.callbackProxy,r.options),i-=1)}}clear(){this.clearEvents()}destroy(){this.clearEvents(),this.context=null}destroyWithOwnEventsOnly(){this.clearEvents(!0),this.context=null}fireEvent(e,t){let r=e.document,n=e;r||(r=e.ownerDocument?e.ownerDocument:e,n=r.defaultView);const s={bubbles:!0,cancelable:"mousemove"!==t,view:n,detail:0,screenX:0,screenY:0,clientX:1,clientY:1,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:void 0};let o;r.createEvent?(o=r.createEvent("MouseEvents"),o.initMouseEvent(t,s.bubbles,s.cancelable,s.view,s.detail,s.screenX,s.screenY,s.clientX,s.clientY,s.ctrlKey,s.altKey,s.shiftKey,s.metaKey,s.button,s.relatedTarget||r.body.parentNode)):o=r.createEventObject(),e.dispatchEvent?e.dispatchEvent(o):e.fireEvent(`on${t}`,o)}}},3896:(e,t,r)=>{"use strict";var n=r(20382),s=r(28473);e.exports=n&&s((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},3899:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(14846),r(69655);var s=r(25499),o=n(r(16050));function i(e,t,r){a(e,t),t.set(e,r)}function a(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function l(e,t){return e.get(u(e,t))}function h(e,t,r){return e.set(u(e,t),r),r}function u(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var c=new WeakMap,d=new WeakMap,p=new WeakMap,g=new WeakSet;class f{constructor(){var e,t;a(e=this,t=g),t.add(e),i(this,c,!0),i(this,d,null),i(this,p,new ResizeObserver((e=>u(g,this,m).call(this,e))))}setObservedElement(e){h(d,this,e)}unobserve(){l(p,this).unobserve(l(d,this))}observe(){h(c,this,!0),l(p,this).observe(l(d,this))}destroy(){l(p,this).disconnect()}}function m(e){!l(c,this)&&Array.isArray(e)&&e.length?e.forEach((e=>{let{borderBoxSize:t}=e;const{inlineSize:r,blockSize:n}=t[0];this.runLocalHooks("resize",r,n)})):h(c,this,!1)}t.EditorResizeObserver=f,(0,s.mixin)(f,o.default)},4048:()=>{},4066:e=>{"use strict";var t=TypeError;e.exports=function(e,r){if(e<r)throw new t("Not enough arguments");return e}},4163:()=>{},4184:(e,t,r)=>{"use strict";t.__esModule=!0,t.getAllCommands=function(){return[n.command,s.command,o.command,i.command,a.command,l.command,h.command,u.command,c.command,d.command,p.command,g.command,f.command,m.command,y.command,w.command]};var n=r(77646),s=r(36846),o=r(53354),i=r(74007),a=r(76967),l=r(37830),h=r(72739),u=r(9033),c=r(71580),d=r(12677),p=r(98613),g=r(51572),f=r(14701),m=r(43702),y=r(47375),w=r(22763)},4440:(e,t,r)=>{"use strict";t.__esModule=!0,t.getListWithInsertedItems=function(e,t,r,s){const o=r.length?r[0]:void 0;return[...e.slice(0,o),...r.map(((e,t)=>(0,n.isFunction)(s)?s(e,t):s)),...void 0===o?[]:e.slice(o)]},t.getListWithRemovedItems=function(e,t){return(0,s.arrayFilter)(e,((e,r)=>!1===t.includes(r)))},r(14846),r(94364);var n=r(89804),s=r(10587)},4566:()=>{},4659:()=>{},4679:(e,t,r)=>{"use strict";t.__esModule=!0,t.createMenuFocusController=function(e,t){let r,l=-1;const h=(0,n.createFocusNavigator)(t),u=e=>()=>{r.isOpened()&&r.getKeyboardShortcutsCtrl().listen(a),h.setCurrentPage(t.indexOf(e))};function c(e){const n=r.getKeyboardShortcutsCtrl(),u=e.getKeyboardShortcutsCtrl();h.clear(),u.addCustomShortcuts([{keys:[["Tab"],["Shift","Tab"]],forwardToContext:n.getContext(a),callback:()=>{e.isSubMenu()&&e.close(),n.listen(a)}}]),e.isSubMenu()||n.addCustomShortcuts([{keys:[["Tab"],["Shift","Tab"]],callback:e=>{const t=r.getNavigator();t.getCurrentPage()>-1&&(l=t.getCurrentPage()),t.clear(),e.shiftKey?h.toPreviousItem():h.toNextItem()}},{keys:[["Escape"]],callback:()=>{r.close()}},{keys:[["Enter"],["Space"]],preventDefault:!1,callback:e=>{const r=t[h.getCurrentPage()];r instanceof s.SelectUI&&(r.openOptions(),e.preventDefault()),r instanceof i.LinkUI&&(r.activate(),e.preventDefault()),r instanceof o.BaseUI||e.preventDefault()}}],a)}function d(e){e.addLocalHook("afterSelectionChange",(e=>{e.key.startsWith("filter_")||h.clear()})),e.addLocalHook("afterSubmenuOpen",c),e.addLocalHook("afterOpen",c),r=e}return t.forEach((e=>{e instanceof o.BaseUI&&(e.addLocalHook("click",u(e)),e.addLocalHook("focus",u(e)),e.addLocalHook("afterClose",u(e)))})),d(e),{...h,listen:function(){r.focus(),r.getKeyboardShortcutsCtrl().listen(a)},setMenu:d,getMenu:function(){return r},getLastMenuPage:function(){return l}}},r(14846),r(69655);var n=r(98666),s=r(71620),o=r(69942),i=r(34688);const a="filters"},4815:(e,t,r)=>{"use strict";var n=r(14762);e.exports=n({}.isPrototypeOf)},4894:(e,t,r)=>{"use strict";t.__esModule=!0,t.shortcutsEditorContext=function(e){const t=e.getShortcutManager().addContext("editor"),r=(0,s.createKeyboardShortcutCommandsPool)(e),o={group:n.EDITOR_EDIT_GROUP};t.addShortcuts([{keys:[["Enter"],["Enter","Shift"]],callback:(e,t)=>r.editorCloseAndSaveByEnter(e,t)},{keys:[["Enter","Control/Meta"],["Enter","Control/Meta","Shift"]],captureCtrl:!0,callback:(e,t)=>r.editorCloseAndSaveByEnter(e,t)},{keys:[["Tab"],["Tab","Shift"],["PageDown"],["PageUp"]],forwardToContext:e.getShortcutManager().getContext("grid"),callback:(e,t)=>r.editorCloseAndSave(e,t)},{keys:[["ArrowDown"],["ArrowUp"],["ArrowLeft"],["ArrowRight"]],preventDefault:!1,callback:(e,t)=>r.editorCloseAndSaveByArrowKeys(e,t)},{keys:[["Escape"],["Escape","Control/Meta"]],callback:()=>r.editorCloseWithoutSaving()}],o)};var n=r(72466),s=r(84302)},4961:(e,t,r)=>{"use strict";var n=r(20382),s=r(21807),o=r(37611),i=r(57738),a=r(35599),l=r(83815),h=r(55755),u=r(1799),c=Object.getOwnPropertyDescriptor;t.f=n?c:function(e,t){if(e=a(e),t=l(t),u)try{return c(e,t)}catch(e){}if(h(e,t))return i(!s(o.f,e,t),e[t])}},4965:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(14846),r(69655);var s=n(r(85707)),o=r(62577),i=r(10587);t.default=class{constructor(e){(0,s.default)(this,"hot",null),(0,s.default)(this,"container",null),(0,s.default)(this,"injected",!1),(0,s.default)(this,"rows",[]),(0,s.default)(this,"columns",[]),(0,s.default)(this,"samples",null),(0,s.default)(this,"settings",{useHeaders:!0}),this.hot=e}addRow(e,t){if(this.columns.length)throw new Error("Doesn't support multi-dimensional table");this.rows.length||(this.container=this.createContainer(this.hot.rootElement.className));const r={row:e};this.rows.push(r),this.samples=t,this.table=this.createTable(this.hot.table.className),this.table.colGroup.appendChild(this.createColGroupsCol(e)),this.table.tr.appendChild(this.createRow(e)),0===e&&(0,o.addClass)(this.table.table,"htGhostTableFirstRow"),this.container.container.appendChild(this.table.fragment),r.table=this.table.table}addColumnHeadersRow(e){const t=this.hot.getColHeader(0);if(null!=t){const t={row:-1};this.rows.push(t),this.container=this.createContainer(this.hot.rootElement.className),this.samples=e,this.table=this.createTable(this.hot.table.className),this.table.colGroup.appendChild(this.createColGroupsCol()),this.appendColumnHeadersRow(),this.container.container.appendChild(this.table.fragment),t.table=this.table.table}}addColumn(e,t){if(this.rows.length)throw new Error("Doesn't support multi-dimensional table");this.columns.length||(this.container=this.createContainer(this.hot.rootElement.className));const r={col:e};this.columns.push(r),this.samples=t,this.table=this.createTable(this.hot.table.className),this.getSetting("useHeaders")&&null!==this.hot.getColHeader(e)&&this.hot.view.appendColHeader(e,this.table.th,void 0,-1),this.table.tBody.appendChild(this.createCol(e)),this.container.container.appendChild(this.table.fragment),r.table=this.table.table}getHeights(e){this.injected||this.injectTable(),(0,i.arrayEach)(this.rows,(t=>{const{height:r}=t.table.getBoundingClientRect();e(t.row,Math.ceil(r))}))}getWidths(e){this.injected||this.injectTable(),(0,i.arrayEach)(this.columns,(t=>{const{width:r}=t.table.getBoundingClientRect();e(t.col,Math.ceil(r))}))}setSettings(e){this.settings=e}setSetting(e,t){this.settings||(this.settings={}),this.settings[e]=t}getSettings(){return this.settings}getSetting(e){return this.settings?this.settings[e]:null}createColGroupsCol(e){const t=this.hot.rootDocument.createDocumentFragment();return this.hot.hasRowHeaders()&&t.appendChild(this.createColElement(-1,-1)),this.samples.forEach((r=>{(0,i.arrayEach)(r.strings,(r=>{t.appendChild(this.createColElement(r.col,e))}))})),t}createRow(e){const{rootDocument:t}=this.hot,r=t.createDocumentFragment(),n=t.createElement("th");return this.hot.hasRowHeaders()&&(this.hot.view.appendRowHeader(e,n),r.appendChild(n)),this.samples.forEach((n=>{(0,i.arrayEach)(n.strings,(n=>{const s=n.col,o=this.hot.getCellMeta(e,s),i=this.hot.getCellRenderer(o),a=t.createElement("td");a.setAttribute("ghost-table",1),i(this.hot,a,e,s,this.hot.colToProp(s),n.value,o),r.appendChild(a)}))})),r}appendColumnHeadersRow(){const{rootDocument:e}=this.hot,t=e.createDocumentFragment(),r=[];if(this.hot.hasRowHeaders()){const n=e.createElement("th");r.push([-1,n]),t.appendChild(n)}this.samples.forEach((n=>{(0,i.arrayEach)(n.strings,(n=>{const s=n.col,o=e.createElement("th");r.push([s,o]),t.appendChild(o)}))})),this.table.tHead.appendChild(t),(0,i.arrayEach)(r,(e=>{const[t,r]=e;this.hot.view.appendColHeader(t,r)}))}createCol(e){const{rootDocument:t}=this.hot,r=t.createDocumentFragment();return this.samples.forEach((n=>{(0,i.arrayEach)(n.strings,(n=>{const s=n.row,o=this.hot.getCellMeta(s,e),i=this.hot.getCellRenderer(o),a=t.createElement("td"),l=t.createElement("tr");a.setAttribute("ghost-table",1),i(this.hot,a,s,e,this.hot.colToProp(e),n.value,o),l.appendChild(a),r.appendChild(l)}))})),r}clean(){this.rows.length=0,this.rows[-1]=void 0,this.columns.length=0,this.samples&&this.samples.clear(),this.samples=null,this.removeTable()}injectTable(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.injected||((e||this.hot.rootElement).appendChild(this.container.fragment),this.injected=!0)}removeTable(){this.injected&&this.container.container.parentNode&&(this.container.container.parentNode.removeChild(this.container.container),this.container=null,this.injected=!1)}createColElement(e,t){const r=this.hot.rootDocument.createElement("col");let n=0;t>=0&&e>=0&&(n=this.hot.getCellMeta(t,e).colspan);let s=this.hot.getColWidth(e);if(n>1)for(let t=e+1;t<e+n;t++)s+=this.hot.getColWidth(t);return r.style.width=`${s}px`,r}createTable(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";const{rootDocument:t}=this.hot,r=t.createDocumentFragment(),n=t.createElement("table"),s=t.createElement("thead"),i=t.createElement("tbody"),a=t.createElement("colgroup"),l=t.createElement("tr"),h=t.createElement("th");return this.isVertical()&&n.appendChild(a),this.isHorizontal()&&(l.appendChild(h),s.appendChild(l),n.style.tableLayout="auto",n.style.width="auto"),n.appendChild(s),this.isVertical()&&i.appendChild(l),n.appendChild(i),(0,o.addClass)(n,e),r.appendChild(n),{fragment:r,table:n,tHead:s,tBody:i,colGroup:a,tr:l,th:h}}createContainer(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";const{rootDocument:t}=this.hot,r=t.createDocumentFragment(),n=t.createElement("div"),s=`htGhostTable htAutoSize ${e.trim()}`;return(0,o.addClass)(n,s),r.appendChild(n),{fragment:r,container:n}}isVertical(){return!(!this.rows.length||this.columns.length)}isHorizontal(){return!(!this.columns.length||this.rows.length)}}},4968:(e,t,r)=>{"use strict";t.__esModule=!0,t.rootComparator=function(e,t){return function(r,s){const[,...o]=r,[,...i]=s;return function(r){const s=e[r],a=t[r],l=o[r],h=i[r],u=a.columnSorting;return(u.compareFunctionFactory?u.compareFunctionFactory:(0,n.getCompareFunctionFactory)(a.type))(s,a,u)(l,h)}(0)}};var n=r(80118)},4980:(e,t,r)=>{"use strict";t.__esModule=!0,t.getMoves=function(e,t,r){return function(e){return e.forEach(((t,r)=>{e.slice(r+1).forEach((e=>{const r=e.from<e.to;e.from>t.from&&r&&(e.from-=1)}))})),e}(function(e,t){const r=[];return e.forEach((e=>{const n={from:e,to:t};r.forEach((e=>{const t=e.from>e.to,r=e.to<=n.from;e.from>n.from&&r&&t&&(n.from+=1)})),n.from>=t&&(t+=1),r.push(n)})),r}(e,function(e,t,r){const n=Array.from(Array(r).keys()).filter((t=>!1===e.includes(t)));var s;return 0===t?null!==(s=n[t])&&void 0!==s?s:0:n[t-1]+1}(e,t,r)))},r(15724),r(14846),r(27458),r(69655)},4986:()=>{},5105:(e,t,r)=>{"use strict";t.__esModule=!0,t.dropdownValidator=o;var n=r(39385);const s=t.VALIDATOR_TYPE="dropdown";function o(e,t){n.autocompleteValidator.apply(this,[e,t])}o.VALIDATOR_TYPE=s},5137:()=>{},5154:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"extendCellsSelectionToMostInlineEnd",callback(e){const{selection:t,columnIndexMapper:r}=e,{highlight:n,from:s,to:o}=e.getSelectedRangeLast();if(!t.isSelectedByRowHeader()&&!t.isSelectedByCorner()&&n.isCell()){const i=r.getNearestNotHiddenIndex(e.countCols()-1,-1),a=s.clone();a.col=n.col,t.markSource("keyboard"),t.setRangeStart(a,void 0,!1,n.clone()),t.setRangeEnd(e._createCellCoords(o.row,i)),t.markEndSource()}}}},5242:(e,t,r)=>{"use strict";var n=r(11409),s=function(e){return{size:e,has:function(){return!1},keys:function(){return{next:function(){return{done:!0}}}}}},o=function(e){return{size:e,has:function(){return!0},keys:function(){throw new Error("e")}}};e.exports=function(e,t){var r=n("Set");try{(new r)[e](s(0));try{return(new r)[e](s(-1)),!1}catch(n){if(!t)return!0;try{return(new r)[e](o(-1/0)),!1}catch(n){var i=new r;return i.add(1),i.add(2),t(i[e](o(1/0)))}}}catch(e){return!1}}},5324:()=>{},5388:(e,t,r)=>{"use strict";t.__esModule=!0,t.getClassesToAdd=function(e,t,r){const s=[];if(!1===r)return s;e.isColumnSorted(t)&&e.getNumberOfSortedColumns()>1&&s.push(`${n}-${e.getIndexOfColumnInSortQueue(t)+1}`);return s},t.getClassesToRemove=function(e){const t=e.className.split(" "),r=new RegExp(`^${n}-[0-9]{1,2}$`);return t.filter((e=>r.test(e)))},r(15724),r(14846),r(27458);const n="sort"},5535:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(88993);t.VALIDATOR_TYPE=n.VALIDATOR_TYPE,t.correctFormat=n.correctFormat,t.dateValidator=n.dateValidator},5881:()=>{},5893:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.equalsIgnoreCase=function(){const e=[];for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];let s=r.length;for(;s;){s-=1;const t=(0,o.stringify)(r[s]).toLowerCase();-1===e.indexOf(t)&&e.push(t)}return 1===e.length},t.isPercentValue=function(e){return/^([0-9][0-9]?%$)|(^100%$)/.test(e)},t.randomString=function(){function e(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return e()+e()+e()+e()},t.sanitize=i,t.stripTags=function(e){return i(`${e}`,{ALLOWED_TAGS:[]})},t.substitute=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return`${e}`.replace(/(?:\\)?\[([^[\]]+)]/g,((e,r)=>"\\"===e.charAt(0)?e.substr(1,e.length-1):void 0===t[r]?"":t[r]))},t.toUpperCaseFirst=function(e){return e[0].toUpperCase()+e.substr(1)},r(15724);var s=n(r(98339)),o=r(70505);function i(e,t){return s.default.sanitize(e,t)}},5909:()=>{},6036:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"extendCellsSelectionDown",callback(e){const{selection:t}=e,{highlight:r}=e.getSelectedRangeLast();t.isSelectedByColumnHeader()||t.isSelectedByCorner()||!(r.isCell()||r.isHeader()&&t.isSelectedByRowHeader())||(t.markSource("keyboard"),t.transformEnd(1,0),t.markEndSource())}}},6116:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(e){const t=e.hot.isRtl()?"start":"end";return{key:"borders:right",name(){let e=this.getTranslatedPhrase(n.CONTEXTMENU_ITEMS_BORDERS_RIGHT);return(0,s.checkSelectionBorders)(this,t)&&(e=(0,s.markSelected)(e)),e},callback(r,n){const o=(0,s.checkSelectionBorders)(this,t);e.prepareBorder(n,t,o)}}};var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=o(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var a=s?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(23384)),s=r(86675);function o(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(o=function(e){return e?r:t})(e)}},6211:(e,t,r)=>{"use strict";r(73242)},6232:(e,t,r)=>{"use strict";var n=r(967