handsontable 14.0.0-next-e8f87aa-20231030 → 14.0.0-next-5fd908e-20231030
Sign up to get free protection for your applications and to get access to all the features.
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/dist/handsontable.css +8 -2
- package/dist/handsontable.full.css +8 -2
- package/dist/handsontable.full.js +20 -6
- package/dist/handsontable.full.min.css +3 -3
- package/dist/handsontable.full.min.js +5 -5
- package/dist/handsontable.js +20 -6
- package/dist/handsontable.min.css +3 -3
- package/dist/handsontable.min.js +5 -5
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/package.json +1 -1
- package/pluginHooks.js +1 -1
- package/pluginHooks.mjs +1 -1
- package/plugins/mergeCells/mergeCells.js +14 -0
- package/plugins/mergeCells/mergeCells.mjs +14 -0
package/dist/handsontable.min.js
CHANGED
@@ -25,11 +25,11 @@
|
|
25
25
|
* INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
|
26
26
|
* USE OR INABILITY TO USE THIS SOFTWARE.
|
27
27
|
*
|
28
|
-
* Version: 14.0.0-next-
|
29
|
-
* Release date: 08/11/2023 (built at 30/10/2023
|
28
|
+
* Version: 14.0.0-next-5fd908e-20231030
|
29
|
+
* Release date: 08/11/2023 (built at 30/10/2023 14:44:38)
|
30
30
|
*/
|
31
31
|
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("dompurify"),require("pikaday"),require("moment"),require("numbro")):"function"==typeof define&&define.amd?define("Handsontable",["dompurify","pikaday","moment","numbro"],t):"object"==typeof exports?exports.Handsontable=t(require("dompurify"),require("pikaday"),require("moment"),require("numbro")):e.Handsontable=t(e.DOMPurify,e.Pikaday,e.moment,e.numbro)}("undefined"!=typeof self?self:this,((e,t,o,s)=>(()=>{var n={2964:()=>{},54894:(e,t)=>{"use strict";t.__esModule=!0,t.parse=function(e){const t=[[""]];if(0===e.length)return t;let r,i=0,l=0;for(;e.length>0&&r!==e.length;)if(r=e.length,e.match(n))e=e.replace(n,""),i+=1,t[l][i]="";else if(e.match(o))e=e.replace(o,""),i=0,l+=1,t[l]=[""];else{let o="";if(e.startsWith('"')){let t=0,s=!0;for(;s;){const n=e.slice(0,1);'"'===n&&(t+=1),o+=n,(0===(e=e.slice(1)).length||e.match(/^[\t\r\n]/)&&t%2==0)&&(s=!1)}o=o.replace(/^"/,"").replace(/"$/,"").replace(/["]*/g,(e=>new Array(Math.floor(e.length/2)).fill('"').join("")))}else{const t=e.match(s);o=t?t[0]:"",e=e.slice(o.length)}t[l][i]=o}return t},t.stringify=function(e){let t,o,s,n,r,i="";for(t=0,o=e.length;t<o;t+=1){for(n=e[t].length,s=0;s<n;s+=1)s>0&&(i+="\t"),r=e[t][s],"string"==typeof r?r.indexOf("\n")>-1?i+=`"${r.replace(/"/g,'""')}"`:i+=r:i+=null==r?"":r;t!==o-1&&(i+="\n")}return i};const o=/^(\r\n|\n\r|\r|\n)/,s=/^[^\t\r\n]+/,n=/^\t/},29270:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(54894);t.parse=s.parse,t.stringify=s.stringify},13698:(e,t)=>{"use strict";t.__esModule=!0,t.autoResize=function(){var e,t={minHeight:200,maxHeight:300,minWidth:100,maxWidth:300},o=document.body,s=document.createTextNode(""),n=document.createElement("SPAN"),r=function(e,t,o){e.addEventListener(t,o,!1)},i=function(e,t,o){e.removeEventListener(t,o,!1)},l=function(r){var i,l;r?/^[a-zA-Z \.,\\\/\|0-9]$/.test(r)||(r="."):r="",void 0!==s.textContent?s.textContent=e.value+r:s.data=e.value+r,n.style.position="absolute",n.style.fontSize=d(e).fontSize,n.style.fontFamily=d(e).fontFamily,n.style.whiteSpace="pre",o.appendChild(n),i=n.clientWidth+2,o.removeChild(n),e.style.height=t.minHeight+"px",t.minWidth>i?e.style.width=t.minWidth+"px":i>t.maxWidth?e.style.width=t.maxWidth+"px":e.style.width=i+"px",l=e.scrollHeight?e.scrollHeight-1:0,t.minHeight>l?e.style.height=t.minHeight+"px":t.maxHeight<l?(e.style.height=t.maxHeight+"px",e.style.overflowY="visible"):e.style.height=l+"px"},a=function(){window.setTimeout(l,0)},h=function(o,i,h){e=o,function(o){if(o&&o.minHeight)if("inherit"==o.minHeight)t.minHeight=e.clientHeight;else{var r=parseInt(o.minHeight);isNaN(r)||(t.minHeight=r)}if(o&&o.maxHeight)if("inherit"==o.maxHeight)t.maxHeight=e.clientHeight;else{var i=parseInt(o.maxHeight);isNaN(i)||(t.maxHeight=i)}if(o&&o.minWidth)if("inherit"==o.minWidth)t.minWidth=e.clientWidth;else{var l=parseInt(o.minWidth);isNaN(l)||(t.minWidth=l)}if(o&&o.maxWidth)if("inherit"==o.maxWidth)t.maxWidth=e.clientWidth;else{var a=parseInt(o.maxWidth);isNaN(a)||(t.maxWidth=a)}n.firstChild||(n.className="autoResize",n.style.display="inline-block",n.appendChild(s))}(i),"TEXTAREA"==e.nodeName&&(e.style.resize="none",e.style.overflowY="",e.style.height=t.minHeight+"px",e.style.minWidth=t.minWidth+"px",e.style.maxWidth=t.maxWidth+"px",e.style.overflowY="hidden"),h&&(r(e,"change",l),r(e,"cut",a),r(e,"paste",a),r(e,"drop",a),r(e,"keydown",a),r(e,"focus",l),r(e,"compositionstart",a),r(e,"compositionupdate",a),r(e,"compositionend",a)),l()};function d(e){return e.currentStyle||document.defaultView.getComputedStyle(e)}return{init:function(e,t,o){h(e,t,o)},unObserve:function(){i(e,"change",l),i(e,"cut",a),i(e,"paste",a),i(e,"drop",a),i(e,"keydown",a),i(e,"focus",l),i(e,"compositionstart",a),i(e,"compositionupdate",a),i(e,"compositionend",a)},resize:l}}},95881:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(13698);t.autoResize=s.autoResize},17137:(e,t)=>{"use strict";t.__esModule=!0;t.RENDER_TYPE=1,t.FULLY_VISIBLE_TYPE=2,t.PARTIALLY_VISIBLE_TYPE=3},46003:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n={ViewportColumnsCalculator:!0,ViewportRowsCalculator:!0},r=s(o(65658));t.ViewportColumnsCalculator=r.default;var i=s(o(36107));t.ViewportRowsCalculator=i.default;var l=o(17137);Object.keys(l).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===l[e]||(t[e]=l[e]))}))},65658:(e,t,o)=>{"use strict";t.__esModule=!0,o(63517),o(51344);var s=o(17137);const n=new WeakMap;class r{static get DEFAULT_WIDTH(){return 50}constructor(){let{viewportSize:e,scrollOffset:t,totalItems:o,itemSizeFn:s,overrideFn:r,calculationType:i,stretchMode:l,stretchingItemWidthFn:a=(e=>e),inlineStartOffset:h}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};n.set(this,{viewportWidth:e,scrollOffset:t,totalColumns:o,columnWidthFn:s,overrideFn:r,calculationType:i,stretchingColumnWidthFn:a,inlineStartOffset:h}),this.count=0,this.startColumn=null,this.endColumn=null,this.startPosition=null,this.isVisibleInTrimmingContainer=!1,this.stretchAllRatio=0,this.stretchLastWidth=0,this.stretch=l,this.totalTargetWidth=0,this.needVerifyLastColumnWidth=!0,this.stretchAllColumnsWidth=[],this.calculate()}calculate(){let e=0,t=!0;const o=[];let r,i=0,l=0;const a=n.get(this),h=a.calculationType,d=a.overrideFn,c=a.scrollOffset,u=Math.max(a.scrollOffset,0),g=a.totalColumns,f=a.viewportWidth,p=u>0?f+1:f;for(let n=0;n<g;n++)if(r=this._getColumnWidth(n),e<=u&&h!==s.FULLY_VISIBLE_TYPE&&(this.startColumn=n,i=r),e>=u&&e+(h===s.FULLY_VISIBLE_TYPE?r:0)<=u+p&&(null!==this.startColumn&&void 0!==this.startColumn||(this.startColumn=n,i=r),this.endColumn=n),o.push(e),e+=r,l=r,h!==s.FULLY_VISIBLE_TYPE&&(this.endColumn=n),e>=u+f){t=!1;break}const m=c+f-p,C=h===s.FULLY_VISIBLE_TYPE?0:l,w=h===s.FULLY_VISIBLE_TYPE?i:0;if(m<-1*a.inlineStartOffset||c>o.at(-1)+C||-1*a.scrollOffset-a.viewportWidth>-1*w?this.isVisibleInTrimmingContainer=!1:this.isVisibleInTrimmingContainer=!0,this.endColumn===g-1&&t)for(this.startColumn=this.endColumn;this.startColumn>0;){const e=o[this.endColumn]+r-o[this.startColumn-1];if((e<=f||h!==s.FULLY_VISIBLE_TYPE)&&(this.startColumn-=1),e>f)break}h===s.RENDER_TYPE&&null!==this.startColumn&&d&&d(this),this.startPosition=o[this.startColumn],void 0===this.startPosition&&(this.startPosition=null),g<this.endColumn&&(this.endColumn=g-1),null!==this.startColumn&&(this.count=this.endColumn-this.startColumn+1)}refreshStretching(e){if("none"===this.stretch)return;let t=e;this.totalTargetWidth=t;const o=n.get(this),s=o.totalColumns;let r=0;for(let e=0;e<s;e++){const s=this._getColumnWidth(e),n=o.stretchingColumnWidthFn(void 0,e);"number"==typeof n?t-=n:r+=s}const i=t-r;if("all"===this.stretch&&i>0)this.stretchAllRatio=t/r,this.stretchAllColumnsWidth=[],this.needVerifyLastColumnWidth=!0;else if("last"===this.stretch&&t!==1/0){const e=this._getColumnWidth(s-1),t=i+e;this.stretchLastWidth=t>=0?t:e}}getStretchedColumnWidth(e,t){let o=null;return"all"===this.stretch&&0!==this.stretchAllRatio?o=this._getStretchedAllColumnWidth(e,t):"last"===this.stretch&&0!==this.stretchLastWidth&&(o=this._getStretchedLastColumnWidth(e)),o}_getStretchedAllColumnWidth(e,t){let o=0;const s=n.get(this),r=s.totalColumns;if(!this.stretchAllColumnsWidth[e]){const o=Math.round(t*this.stretchAllRatio),n=s.stretchingColumnWidthFn(o,e);this.stretchAllColumnsWidth[e]=void 0===n?o:isNaN(n)?this._getColumnWidth(e):n}if(this.stretchAllColumnsWidth.length===r&&this.needVerifyLastColumnWidth){this.needVerifyLastColumnWidth=!1;for(let e=0;e<this.stretchAllColumnsWidth.length;e++)o+=this.stretchAllColumnsWidth[e];o!==this.totalTargetWidth&&(this.stretchAllColumnsWidth[this.stretchAllColumnsWidth.length-1]+=this.totalTargetWidth-o)}return this.stretchAllColumnsWidth[e]}_getStretchedLastColumnWidth(e){return e===n.get(this).totalColumns-1?this.stretchLastWidth:null}_getColumnWidth(e){let t=n.get(this).columnWidthFn(e);return isNaN(t)&&(t=r.DEFAULT_WIDTH),t}}t.default=r},36107:(e,t,o)=>{"use strict";t.__esModule=!0,o(63517),o(51344);var s=o(17137);const n=new WeakMap;class r{static get DEFAULT_HEIGHT(){return 23}constructor(){let{viewportSize:e,scrollOffset:t,totalItems:o,itemSizeFn:s,overrideFn:r,calculationType:i,scrollbarHeight:l}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};n.set(this,{viewportHeight:e,scrollOffset:t,totalRows:o,rowHeightFn:s,overrideFn:r,calculationType:i,horizontalScrollbarHeight:l}),this.count=0,this.startRow=null,this.endRow=null,this.startPosition=null,this.isVisibleInTrimmingContainer=!1,this.calculate()}calculate(){const e=n.get(this),t=e.calculationType,o=e.overrideFn,i=e.rowHeightFn,l=e.scrollOffset,a=Math.max(e.scrollOffset,0),h=e.totalRows,d=e.viewportHeight,c=e.horizontalScrollbarHeight||0;let u=0,g=!0;const f=[];let p,m=0,C=0;for(let e=0;e<h;e++)if(p=i(e),isNaN(p)&&(p=r.DEFAULT_HEIGHT),u<=a&&t!==s.FULLY_VISIBLE_TYPE&&(this.startRow=e,m=p),u>=a&&u+(t===s.FULLY_VISIBLE_TYPE?p:0)<=a+d-c&&(null===this.startRow&&(this.startRow=e,m=p),this.endRow=e),f.push(u),u+=p,C=p,t!==s.FULLY_VISIBLE_TYPE&&(this.endRow=e),u>=a+d-c){g=!1;break}const w=l+d-c,E=t===s.FULLY_VISIBLE_TYPE?m:0,y=t===s.FULLY_VISIBLE_TYPE?0:C;if(w<E||l>f.at(-1)+y?this.isVisibleInTrimmingContainer=!1:this.isVisibleInTrimmingContainer=!0,this.endRow===h-1&&g)for(this.startRow=this.endRow;this.startRow>0;){const e=f[this.endRow]+p-f[this.startRow-1];if((e<=d-c||t!==s.FULLY_VISIBLE_TYPE)&&(this.startRow-=1),e>=d-c)break}t===s.RENDER_TYPE&&null!==this.startRow&&o&&o(this),this.startPosition=f[this.startRow],void 0===this.startPosition&&(this.startPosition=null),h<this.endRow&&(this.endRow=h-1),null!==this.startRow&&(this.count=this.endRow-this.startRow+1)}}t.default=r},82325:(e,t,o)=>{"use strict";o(91683);var s=o(73203);t.__esModule=!0;var n=s(o(93231)),r=s(o(42538)),i=s(o(48427));function l(e,t,o){!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,o)}var a=new WeakMap;class h{constructor(e,t){let o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];(0,n.default)(this,"row",null),(0,n.default)(this,"col",null),l(this,a,{writable:!0,value:!1}),(0,i.default)(this,a,o),void 0!==e&&void 0!==t&&(this.row=e,this.col=t)}isValid(e){const{countRows:t,countCols:o,countRowHeaders:s,countColHeaders:n}={countRows:0,countCols:0,countRowHeaders:0,countColHeaders:0,...e};return!(!Number.isInteger(this.row)||!Number.isInteger(this.col))&&(!(this.row<-n||this.col<-s)&&!(this.row>=t||this.col>=o))}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(0,r.default)(this,a)}isSouthEastOf(e){return this.row>=e.row&&((0,r.default)(this,a)?this.col<=e.col:this.col>=e.col)}isNorthWestOf(e){return this.row<=e.row&&((0,r.default)(this,a)?this.col>=e.col:this.col<=e.col)}isSouthWestOf(e){return this.row>=e.row&&((0,r.default)(this,a)?this.col>=e.col:this.col<=e.col)}isNorthEastOf(e){return this.row<=e.row&&((0,r.default)(this,a)?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 h&&(0,i.default)(this,a,e.isRtl()),this}clone(){return new h(this.row,this.col,(0,r.default)(this,a))}toObject(){return{row:this.row,col:this.col}}}t.default=h},2961:(e,t,o)=>{"use strict";o(91683);var s=o(73203);t.__esModule=!0,o(63517);var n=s(o(93231)),r=s(o(42538)),i=s(o(48427)),l=s(o(82325));function a(e,t,o){!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,o)}var h=new WeakMap;class d{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,s=arguments.length>3&&void 0!==arguments[3]&&arguments[3];(0,n.default)(this,"highlight",null),(0,n.default)(this,"from",null),(0,n.default)(this,"to",null),a(this,h,{writable:!0,value:!1}),this.highlight=e.clone(),this.from=t.clone(),this.to=o.clone(),(0,i.default)(this,h,s)}setHighlight(e){return this.highlight=e.clone(),this}setFrom(e){return this.from=e.clone(),this}setTo(e){return this.to=e.clone(),this}isValid(e){return this.from.isValid(e)&&this.to.isValid(e)}isSingle(){return this.isSingleCell()||this.isSingleHeader()}isSingleCell(){return this.from.row>=0&&this.from.row===this.to.row&&this.from.col>=0&&this.from.col===this.to.col}isSingleHeader(){return(this.from.row<0||this.from.col<0)&&this.from.row===this.to.row&&this.from.col===this.to.col}containsHeaders(){return this.from.isHeader()||this.to.isHeader()}getOuterHeight(){return Math.max(this.from.row,this.to.row)-Math.min(this.from.row,this.to.row)+1}getOuterWidth(){return Math.max(this.from.col,this.to.col)-Math.min(this.from.col,this.to.col)+1}getHeight(){if(this.from.row<0&&this.to.row<0)return 0;const e=Math.max(this.from.row,0),t=Math.max(this.to.row,0);return Math.max(e,t)-Math.min(e,t)+1}getWidth(){if(this.from.col<0&&this.to.col<0)return 0;const e=Math.max(this.from.col,0),t=Math.max(this.to.col,0);return Math.max(e,t)-Math.min(e,t)+1}getCellsCount(){return this.getWidth()*this.getHeight()}includes(e){const{row:t,col:o}=e,s=this.getOuterTopStartCorner(),n=this.getOuterBottomEndCorner();return s.row<=t&&n.row>=t&&s.col<=o&&n.col>=o}includesRange(e){return this.includes(e.getOuterTopStartCorner())&&this.includes(e.getOuterBottomEndCorner())}isEqual(e){return Math.min(this.from.row,this.to.row)===Math.min(e.from.row,e.to.row)&&Math.max(this.from.row,this.to.row)===Math.max(e.from.row,e.to.row)&&Math.min(this.from.col,this.to.col)===Math.min(e.from.col,e.to.col)&&Math.max(this.from.col,this.to.col)===Math.max(e.from.col,e.to.col)}overlaps(e){return e.isSouthEastOf(this.getOuterTopLeftCorner())&&e.isNorthWestOf(this.getOuterBottomRightCorner())}isSouthEastOf(e){return this.getOuterTopLeftCorner().isSouthEastOf(e)||this.getOuterBottomRightCorner().isSouthEastOf(e)}isNorthWestOf(e){return this.getOuterTopLeftCorner().isNorthWestOf(e)||this.getOuterBottomRightCorner().isNorthWestOf(e)}isOverlappingHorizontally(e){return this.getOuterTopRightCorner().col>=e.getOuterTopLeftCorner().col&&this.getOuterTopRightCorner().col<=e.getOuterTopRightCorner().col||this.getOuterTopLeftCorner().col<=e.getOuterTopRightCorner().col&&this.getOuterTopLeftCorner().col>=e.getOuterTopLeftCorner().col}isOverlappingVertically(e){return this.getOuterBottomRightCorner().row>=e.getOuterTopRightCorner().row&&this.getOuterBottomRightCorner().row<=e.getOuterBottomRightCorner().row||this.getOuterTopRightCorner().row<=e.getOuterBottomRightCorner().row&&this.getOuterTopRightCorner().row>=e.getOuterTopRightCorner().row}expand(e){const t=this.getOuterTopStartCorner(),o=this.getOuterBottomEndCorner();return(e.row<t.row||e.col<t.col||e.row>o.row||e.col>o.col)&&(this.from=this._createCellCoords(Math.min(t.row,e.row),Math.min(t.col,e.col)),this.to=this._createCellCoords(Math.max(o.row,e.row),Math.max(o.col,e.col)),!0)}expandByRange(e){if(this.includesRange(e)||!this.overlaps(e))return!1;const t=this.getOuterTopStartCorner(),o=this.getOuterBottomEndCorner(),s=this.getDirection(),n=e.getOuterTopStartCorner(),r=e.getOuterBottomEndCorner(),i=Math.min(t.row,n.row),l=Math.min(t.col,n.col),a=Math.max(o.row,r.row),h=Math.max(o.col,r.col),d=this._createCellCoords(i,l),c=this._createCellCoords(a,h);return this.from=d,this.to=c,this.setDirection(s),this.highlight.row===this.getOuterBottomRightCorner().row&&"N-S"===this.getVerticalDirection()&&this.flipDirectionVertically(),this.highlight.col===this.getOuterTopRightCorner().col&&"W-E"===this.getHorizontalDirection()&&this.flipDirectionHorizontally(),!0}getDirection(){return this.from.isNorthWestOf(this.to)?"NW-SE":this.from.isNorthEastOf(this.to)?"NE-SW":this.from.isSouthEastOf(this.to)?"SE-NW":this.from.isSouthWestOf(this.to)?"SW-NE":void 0}setDirection(e){switch(e){case"NW-SE":[this.from,this.to]=[this.getOuterTopLeftCorner(),this.getOuterBottomRightCorner()];break;case"NE-SW":[this.from,this.to]=[this.getOuterTopRightCorner(),this.getOuterBottomLeftCorner()];break;case"SE-NW":[this.from,this.to]=[this.getOuterBottomRightCorner(),this.getOuterTopLeftCorner()];break;case"SW-NE":[this.from,this.to]=[this.getOuterBottomLeftCorner(),this.getOuterTopRightCorner()]}}getVerticalDirection(){return["NE-SW","NW-SE"].indexOf(this.getDirection())>-1?"N-S":"S-N"}getHorizontalDirection(){return["NW-SE","SW-NE"].indexOf(this.getDirection())>-1?"W-E":"E-W"}flipDirectionVertically(){switch(this.getDirection()){case"NW-SE":this.setDirection("SW-NE");break;case"NE-SW":this.setDirection("SE-NW");break;case"SE-NW":this.setDirection("NE-SW");break;case"SW-NE":this.setDirection("NW-SE")}}flipDirectionHorizontally(){switch(this.getDirection()){case"NW-SE":this.setDirection("NE-SW");break;case"NE-SW":this.setDirection("NW-SE");break;case"SE-NW":this.setDirection("SW-NE");break;case"SW-NE":this.setDirection("SE-NW")}}getTopStartCorner(){return this._createCellCoords(Math.min(this.from.row,this.to.row),Math.min(this.from.col,this.to.col)).normalize()}getTopLeftCorner(){return(0,r.default)(this,h)?this.getTopEndCorner():this.getTopStartCorner()}getBottomEndCorner(){return this._createCellCoords(Math.max(this.from.row,this.to.row),Math.max(this.from.col,this.to.col)).normalize()}getBottomRightCorner(){return(0,r.default)(this,h)?this.getBottomStartCorner():this.getBottomEndCorner()}getTopEndCorner(){return this._createCellCoords(Math.min(this.from.row,this.to.row),Math.max(this.from.col,this.to.col)).normalize()}getTopRightCorner(){return(0,r.default)(this,h)?this.getTopStartCorner():this.getTopEndCorner()}getBottomStartCorner(){return this._createCellCoords(Math.max(this.from.row,this.to.row),Math.min(this.from.col,this.to.col)).normalize()}getBottomLeftCorner(){return(0,r.default)(this,h)?this.getBottomEndCorner():this.getBottomStartCorner()}getOuterTopStartCorner(){return this._createCellCoords(Math.min(this.from.row,this.to.row),Math.min(this.from.col,this.to.col))}getOuterTopLeftCorner(){return(0,r.default)(this,h)?this.getOuterTopEndCorner():this.getOuterTopStartCorner()}getOuterBottomEndCorner(){return this._createCellCoords(Math.max(this.from.row,this.to.row),Math.max(this.from.col,this.to.col))}getOuterBottomRightCorner(){return(0,r.default)(this,h)?this.getOuterBottomStartCorner():this.getOuterBottomEndCorner()}getOuterTopEndCorner(){return this._createCellCoords(Math.min(this.from.row,this.to.row),Math.max(this.from.col,this.to.col))}getOuterTopRightCorner(){return(0,r.default)(this,h)?this.getOuterTopStartCorner():this.getOuterTopEndCorner()}getOuterBottomStartCorner(){return this._createCellCoords(Math.max(this.from.row,this.to.row),Math.min(this.from.col,this.to.col))}getOuterBottomLeftCorner(){return(0,r.default)(this,h)?this.getOuterBottomEndCorner():this.getOuterBottomStartCorner()}isCorner(e,t){return!!(t&&t.includes(e)&&(this.getOuterTopLeftCorner().isEqual(this._createCellCoords(t.from.row,t.from.col))||this.getOuterTopRightCorner().isEqual(this._createCellCoords(t.from.row,t.to.col))||this.getOuterBottomLeftCorner().isEqual(this._createCellCoords(t.to.row,t.from.col))||this.getOuterBottomRightCorner().isEqual(this._createCellCoords(t.to.row,t.to.col))))||(e.isEqual(this.getOuterTopLeftCorner())||e.isEqual(this.getOuterTopRightCorner())||e.isEqual(this.getOuterBottomLeftCorner())||e.isEqual(this.getOuterBottomRightCorner()))}getOppositeCorner(e,t){if(!(e instanceof l.default))return!1;if(t){const{from:o,to:s}=t;if(t.includes(e)){if(this.getOuterTopStartCorner().isEqual(this._createCellCoords(o.row,o.col)))return this.getOuterBottomEndCorner();if(this.getOuterTopEndCorner().isEqual(this._createCellCoords(o.row,s.col)))return this.getOuterBottomStartCorner();if(this.getOuterBottomStartCorner().isEqual(this._createCellCoords(s.row,o.col)))return this.getOuterTopEndCorner();if(this.getOuterBottomEndCorner().isEqual(this._createCellCoords(s.row,s.col)))return this.getOuterTopStartCorner()}}return e.isEqual(this.getOuterBottomEndCorner())?this.getOuterTopStartCorner():e.isEqual(this.getOuterTopStartCorner())?this.getOuterBottomEndCorner():e.isEqual(this.getOuterTopEndCorner())?this.getOuterBottomStartCorner():e.isEqual(this.getOuterBottomStartCorner())?this.getOuterTopEndCorner():void 0}getBordersSharedWith(e){if(!this.includesRange(e))return[];const t=Math.min(this.from.row,this.to.row),o=Math.max(this.from.row,this.to.row),s=Math.min(this.from.col,this.to.col),n=Math.max(this.from.col,this.to.col),r=Math.min(e.from.row,e.to.row),i=Math.max(e.from.row,e.to.row),l=Math.min(e.from.col,e.to.col),a=Math.max(e.from.col,e.to.col),h=[];return t===r&&h.push("top"),n===a&&h.push("right"),o===i&&h.push("bottom"),s===l&&h.push("left"),h}getInner(){const e=this.getOuterTopStartCorner(),t=this.getOuterBottomEndCorner(),o=[];for(let s=e.row;s<=t.row;s++)for(let n=e.col;n<=t.col;n++)this.from.row===s&&this.from.col===n||this.to.row===s&&this.to.col===n||o.push(this._createCellCoords(s,n));return o}getAll(){const e=this.getOuterTopStartCorner(),t=this.getOuterBottomEndCorner(),o=[];for(let s=e.row;s<=t.row;s++)for(let n=e.col;n<=t.col;n++)e.row===s&&e.col===n?o.push(e):t.row===s&&t.col===n?o.push(t):o.push(this._createCellCoords(s,n));return o}forAll(e){const t=this.getOuterTopStartCorner(),o=this.getOuterBottomEndCorner();for(let s=t.row;s<=o.row;s++)for(let n=t.col;n<=o.col;n++){if(!1===e(s,n))return}}clone(){return new d(this.highlight,this.from,this.to,(0,r.default)(this,h))}toObject(){return{from:this.from.toObject(),to:this.to.toObject()}}_createCellCoords(e,t){return new l.default(e,t,(0,r.default)(this,h))}}t.default=d},25984:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(63517);var n=s(o(93231)),r=o(83302),i=o(18609),l=s(o(75244)),a=s(o(52188)),h=s(o(82325)),d=s(o(2961));t.default=class{get eventManager(){return new l.default(this)}constructor(e,t){(0,n.default)(this,"wtTable",void 0),(0,n.default)(this,"wtScroll",void 0),(0,n.default)(this,"wtViewport",void 0),(0,n.default)(this,"wtOverlays",void 0),(0,n.default)(this,"selectionManager",void 0),(0,n.default)(this,"wtEvent",void 0),(0,n.default)(this,"guid",`wt_${(0,i.randomString)()}`),(0,n.default)(this,"drawInterrupted",!1),(0,n.default)(this,"drawn",!1),(0,n.default)(this,"domBindings",void 0),(0,n.default)(this,"wtSettings",void 0),this.domBindings={rootTable:e,rootDocument:e.ownerDocument,rootWindow:e.ownerDocument.defaultView},this.wtSettings=t,this.wtScroll=new a.default(this.createScrollDao())}findOriginalHeaders(){const e=[];if(this.wtTable.THEAD.childNodes.length&&this.wtTable.THEAD.childNodes[0].childNodes.length){for(let t=0,o=this.wtTable.THEAD.childNodes[0].childNodes.length;t<o;t++)e.push(this.wtTable.THEAD.childNodes[0].childNodes[t].innerHTML);this.wtSettings.getSetting("columnHeaders").length||this.wtSettings.update("columnHeaders",[function(t,o){(0,r.fastInnerText)(o,e[t])}])}}createCellCoords(e,t){return new h.default(e,t,this.wtSettings.getSetting("rtlMode"))}createCellRange(e,t,o){return new d.default(e,t,o,this.wtSettings.getSetting("rtlMode"))}draw(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.drawInterrupted=!1,e||this.wtTable.isVisible()?this.wtTable.draw(e):this.drawInterrupted=!0,this}getCell(e){if(!(arguments.length>1&&void 0!==arguments[1]&&arguments[1]))return this.wtTable.getCell(e);const t=this.wtSettings.getSetting("totalRows"),o=this.wtSettings.getSetting("fixedRowsTop"),s=this.wtSettings.getSetting("fixedRowsBottom"),n=this.wtSettings.getSetting("fixedColumnsStart");if(e.row<o&&e.col<n)return this.wtOverlays.topInlineStartCornerOverlay.clone.wtTable.getCell(e);if(e.row<o)return this.wtOverlays.topOverlay.clone.wtTable.getCell(e);if(e.col<n&&e.row>=t-s){if(this.wtOverlays.bottomInlineStartCornerOverlay&&this.wtOverlays.bottomInlineStartCornerOverlay.clone)return this.wtOverlays.bottomInlineStartCornerOverlay.clone.wtTable.getCell(e)}else{if(e.col<n)return this.wtOverlays.inlineStartOverlay.clone.wtTable.getCell(e);if(e.row<t&&e.row>=t-s&&this.wtOverlays.bottomOverlay&&this.wtOverlays.bottomOverlay.clone)return this.wtOverlays.bottomOverlay.clone.wtTable.getCell(e)}return this.wtTable.getCell(e)}scrollViewport(e,t,o,s,n){return!(e.col<0||e.row<0)&&this.wtScroll.scrollViewport(e,t,o,s,n)}scrollViewportHorizontally(e,t,o){return!(e<0)&&this.wtScroll.scrollViewportHorizontally(e,t,o)}scrollViewportVertically(e,t,o){return!(e<0)&&this.wtScroll.scrollViewportVertically(e,t,o)}getViewport(){return[this.wtTable.getFirstVisibleRow(),this.wtTable.getFirstVisibleColumn(),this.wtTable.getLastVisibleRow(),this.wtTable.getLastVisibleColumn()]}destroy(){this.wtOverlays.destroy(),this.wtEvent.destroy()}createScrollDao(){const e=this;return{get drawn(){return e.drawn},get topOverlay(){return e.wtOverlays.topOverlay},get inlineStartOverlay(){return e.wtOverlays.inlineStartOverlay},get wtTable(){return e.wtTable},get wtViewport(){return e.wtViewport},get wtSettings(){return e.wtSettings},get rootWindow(){return e.domBindings.rootWindow},get totalRows(){return e.wtSettings.getSetting("totalRows")},get totalColumns(){return e.wtSettings.getSetting("totalColumns")},get fixedRowsTop(){return e.wtSettings.getSetting("fixedRowsTop")},get fixedRowsBottom(){return e.wtSettings.getSetting("fixedRowsBottom")},get fixedColumnsStart(){return e.wtSettings.getSetting("fixedColumnsStart")}}}getTableDao(){const e=this;return{get wot(){return e},get parentTableOffset(){return e.cloneSource.wtTable.tableOffset},get cloneSource(){return e.cloneSource},get workspaceWidth(){return e.wtViewport.getWorkspaceWidth()},get wtViewport(){return e.wtViewport},get wtOverlays(){return e.wtOverlays},get selectionManager(){return e.selectionManager},get drawn(){return e.drawn},set drawn(t){e.drawn=t},get wtTable(){return e.wtTable},get startColumnRendered(){return e.wtViewport.columnsRenderCalculator.startColumn},get startColumnVisible(){return e.wtViewport.columnsVisibleCalculator.startColumn},get endColumnRendered(){return e.wtViewport.columnsRenderCalculator.endColumn},get endColumnVisible(){return e.wtViewport.columnsVisibleCalculator.endColumn},get countColumnsRendered(){return e.wtViewport.columnsRenderCalculator.count},get countColumnsVisible(){return e.wtViewport.columnsVisibleCalculator.count},get startRowRendered(){return e.wtViewport.rowsRenderCalculator.startRow},get startRowVisible(){return e.wtViewport.rowsVisibleCalculator.startRow},get endRowRendered(){return e.wtViewport.rowsRenderCalculator.endRow},get endRowVisible(){return e.wtViewport.rowsVisibleCalculator.endRow},get countRowsRendered(){return e.wtViewport.rowsRenderCalculator.count},get countRowsVisible(){return e.wtViewport.rowsVisibleCalculator.count},get columnHeaders(){return e.wtSettings.getSetting("columnHeaders")},get rowHeaders(){return e.wtSettings.getSetting("rowHeaders")}}}}},49755:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=s(o(93231)),r=s(o(83154)),i=s(o(25984));class l extends i.default{constructor(e,t,o){super(e,t),(0,n.default)(this,"cloneSource",void 0),(0,n.default)(this,"cloneOverlay",void 0);const s=this.wtSettings.getSetting("facade",this);this.cloneSource=o.source,this.cloneOverlay=o.overlay,this.wtTable=this.cloneOverlay.createTable(this.getTableDao(),s,this.domBindings,this.wtSettings),this.wtViewport=o.viewport,this.selectionManager=o.selectionManager,this.wtEvent=new r.default(s,this.domBindings,this.wtSettings,this.eventManager,this.wtTable,this.selectionManager,o.event),this.findOriginalHeaders()}}t.default=l},59189:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(63517);var n=s(o(83154)),r=s(o(87831)),i=s(o(64057)),l=s(o(94915)),a=s(o(57293)),h=s(o(25984)),d=o(86143),c=o(22232),u=o(83302);class g extends h.default{constructor(e,t){super(e,new i.default(t));const o=this.wtSettings.getSetting("facade",this);this.wtTable=new l.default(this.getTableDao(),o,this.domBindings,this.wtSettings),this.wtViewport=new a.default(this.getViewportDao(),this.domBindings,this.wtSettings,this.eventManager,this.wtTable),this.selectionManager=new d.SelectionManager(this.wtSettings.getSetting("selections")),this.wtEvent=new n.default(o,this.domBindings,this.wtSettings,this.eventManager,this.wtTable,this.selectionManager),this.wtOverlays=new r.default(this,o,this.domBindings,this.wtSettings,this.eventManager,this.wtTable),this.exportSettingsAsClassNames(),this.findOriginalHeaders()}exportSettingsAsClassNames(){const e=[],t=[];(0,c.objectEach)({rowHeaders:"htRowHeaders",columnHeaders:"htColumnHeaders"},((o,s)=>{this.wtSettings.getSetting(s).length&&t.push(o),e.push(o)})),(0,u.removeClass)(this.wtTable.wtRootElement.parentNode,e),(0,u.addClass)(this.wtTable.wtRootElement.parentNode,t)}getViewportDao(){const e=this;return{get wot(){return e},get topOverlayTrimmingContainer(){return e.wtOverlays.topOverlay.trimmingContainer},get inlineStartOverlayTrimmingContainer(){return e.wtOverlays.inlineStartOverlay.trimmingContainer},get topScrollPosition(){return e.wtOverlays.topOverlay.getScrollPosition()},get topParentOffset(){return e.wtOverlays.topOverlay.getTableParentOffset()},get inlineStartScrollPosition(){return e.wtOverlays.inlineStartOverlay.getScrollPosition()},get inlineStartParentOffset(){return e.wtOverlays.inlineStartOverlay.getTableParentOffset()},get topOverlay(){return e.wtOverlays.topOverlay},get inlineStartOverlay(){return e.wtOverlays.inlineStartOverlay},get bottomOverlay(){return e.wtOverlays.bottomOverlay}}}}t.default=g},83154:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(83302),n=o(85015),r=o(7374),i=o(37595),l=o(93315);const a=new WeakMap;t.default=class{constructor(e,t,o,s,n,r){let i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null;this.wtSettings=o,this.domBindings=t,this.wtTable=n,this.selectionManager=r,this.parent=i,this.eventManager=s,this.facadeGetter=e,a.set(this,{selectedCellBeforeTouchEnd:void 0,dblClickTimeout:[null,null],dblClickOrigin:[null,null]}),this.registerEvents()}registerEvents(){this.eventManager.addEventListener(this.wtTable.holder,"contextmenu",(e=>this.onContextMenu(e))),this.eventManager.addEventListener(this.wtTable.TABLE,"mouseover",(e=>this.onMouseOver(e))),this.eventManager.addEventListener(this.wtTable.TABLE,"mouseout",(e=>this.onMouseOut(e)));const e=()=>{this.eventManager.addEventListener(this.wtTable.holder,"touchstart",(e=>this.onTouchStart(e))),this.eventManager.addEventListener(this.wtTable.holder,"touchend",(e=>this.onTouchEnd(e))),this.momentumScrolling||(this.momentumScrolling={}),this.eventManager.addEventListener(this.wtTable.holder,"scroll",(()=>{clearTimeout(this.momentumScrolling._timeout),this.momentumScrolling.ongoing||this.wtSettings.getSetting("onBeforeTouchScroll"),this.momentumScrolling.ongoing=!0,this.momentumScrolling._timeout=setTimeout((()=>{this.touchApplied||(this.momentumScrolling.ongoing=!1,this.wtSettings.getSetting("onAfterMomentumScroll"))}),200)}))},t=()=>{this.eventManager.addEventListener(this.wtTable.holder,"mouseup",(e=>this.onMouseUp(e))),this.eventManager.addEventListener(this.wtTable.holder,"mousedown",(e=>this.onMouseDown(e)))};(0,i.isMobileBrowser)()?e():((0,r.isTouchSupported)()&&e(),t())}selectedCellWasTouched(e){const t=a.get(this),o=this.parentCell(e).coords;if(t.selectedCellBeforeTouchEnd&&o){const[e,s]=[o.row,t.selectedCellBeforeTouchEnd.from.row],[n,r]=[o.col,t.selectedCellBeforeTouchEnd.from.col];return e===s&&n===r}return!1}parentCell(e){const t={},o=this.wtTable.TABLE,n=(0,s.closestDown)(e,["TD","TH"],o);return n?(t.coords=this.wtTable.getCoords(n),t.TD=n):(0,s.hasClass)(e,"wtBorder")&&(0,s.hasClass)(e,"current")?(t.coords=this.selectionManager.getFocusSelection().cellRange.highlight,t.TD=this.wtTable.getCell(t.coords)):(0,s.hasClass)(e,"wtBorder")&&(0,s.hasClass)(e,"area")&&this.selectionManager.getAreaSelection().cellRange&&(t.coords=this.selectionManager.getAreaSelection().cellRange.to,t.TD=this.wtTable.getCell(t.coords)),t}onMouseDown(e){const t=a.get(this),o=this.domBindings.rootDocument.activeElement,r=(0,n.partial)(s.getParent,e.target),i=e.target;if(!["TD","TH"].includes(o.nodeName)&&(i===o||r(0)===o||r(1)===o))return;const l=this.parentCell(i);(0,s.hasClass)(i,"corner")?this.wtSettings.getSetting("onCellCornerMouseDown",e,i):l.TD&&this.wtSettings.has("onCellMouseDown")&&this.callListener("onCellMouseDown",e,l.coords,l.TD),(0===e.button||this.touchApplied)&&l.TD&&(t.dblClickOrigin[0]=l.TD,clearTimeout(t.dblClickTimeout[0]),t.dblClickTimeout[0]=setTimeout((()=>{t.dblClickOrigin[0]=null}),1e3))}onContextMenu(e){if(this.wtSettings.has("onCellContextMenu")){const t=this.parentCell(e.target);t.TD&&this.callListener("onCellContextMenu",e,t.coords,t.TD)}}onMouseOver(e){if(!this.wtSettings.has("onCellMouseOver"))return;const t=this.wtTable.TABLE,o=(0,s.closestDown)(e.target,["TD","TH"],t),n=this.parent||this;o&&o!==n.lastMouseOver&&(0,s.isChildOf)(o,t)&&(n.lastMouseOver=o,this.callListener("onCellMouseOver",e,this.wtTable.getCoords(o),o))}onMouseOut(e){if(!this.wtSettings.has("onCellMouseOut"))return;const t=this.wtTable.TABLE,o=(0,s.closestDown)(e.target,["TD","TH"],t),n=(0,s.closestDown)(e.relatedTarget,["TD","TH"],t),r=this.parent||this;o&&o!==n&&(0,s.isChildOf)(o,t)&&(this.callListener("onCellMouseOut",e,this.wtTable.getCoords(o),o),null===n&&(r.lastMouseOver=null))}onMouseUp(e){const t=a.get(this),o=this.parentCell(e.target);o.TD&&this.wtSettings.has("onCellMouseUp")&&this.callListener("onCellMouseUp",e,o.coords,o.TD),(0===e.button||this.touchApplied)&&(o.TD===t.dblClickOrigin[0]&&o.TD===t.dblClickOrigin[1]?((0,s.hasClass)(e.target,"corner")?this.callListener("onCellCornerDblClick",e,o.coords,o.TD):this.callListener("onCellDblClick",e,o.coords,o.TD),t.dblClickOrigin[0]=null,t.dblClickOrigin[1]=null):o.TD===t.dblClickOrigin[0]&&(t.dblClickOrigin[1]=o.TD,clearTimeout(t.dblClickTimeout[1]),t.dblClickTimeout[1]=setTimeout((()=>{t.dblClickOrigin[1]=null}),500)))}onTouchStart(e){a.get(this).selectedCellBeforeTouchEnd=this.selectionManager.getFocusSelection().cellRange,this.touchApplied=!0,this.onMouseDown(e)}onTouchEnd(e){var t;const o=e.target,s=null===(t=this.parentCell(o))||void 0===t?void 0:t.coords,n=(0,l.isDefined)(s)&&s.row>=0&&s.col>=0;if(e.cancelable&&n&&this.wtSettings.getSetting("isDataViewInstance")){const t=["A","BUTTON","INPUT"];(0,i.isIOS)()&&((0,i.isChromeWebKit)()||(0,i.isFirefoxWebKit)())&&this.selectedCellWasTouched(o)&&!t.includes(o.tagName)?e.preventDefault():this.selectedCellWasTouched(o)||e.preventDefault()}this.onMouseUp(e),this.touchApplied=!1}callListener(e,t,o,s){const n=this.wtSettings.getSettingPure(e);n&&n(t,o,s,this.facadeGetter())}destroy(){const e=a.get(this);clearTimeout(e.dblClickTimeout[0]),clearTimeout(e.dblClickTimeout[1]),this.eventManager.destroy()}}},70559:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=s(o(59189)),r=s(o(25984));class i{constructor(e){e instanceof r.default?this._wot=e:this._initFromSettings(e)}_initFromSettings(e){e.facade=e=>{const t=new i(e);return()=>t},this._wot=new n.default(e.table,e)}get guid(){return this._wot.guid}get rootDocument(){return this._wot.domBindings.rootDocument}get rootWindow(){return this._wot.domBindings.rootWindow}get wtSettings(){return this._wot.wtSettings}get cloneSource(){return this._wot.cloneSource}get cloneOverlay(){return this._wot.cloneOverlay}get selectionManager(){return this._wot.selectionManager}get wtViewport(){return this._wot.wtViewport}get wtOverlays(){return this._wot.wtOverlays}get wtTable(){return this._wot.wtTable}get wtEvent(){return this._wot.wtEvent}get wtScroll(){return this._wot.wtScroll}get drawn(){return this._wot.drawn}set drawn(e){this._wot.drawn=e}get drawInterrupted(){return this._wot.drawInterrupted}set drawInterrupted(e){this._wot.drawInterrupted=e}get lastMouseOver(){return this._wot.lastMouseOver}set lastMouseOver(e){this._wot.lastMouseOver=e}get momentumScrolling(){return this._wot.momentumScrolling}set momentumScrolling(e){this._wot.momentumScrolling=e}get touchApplied(){return this._wot.touchApplied}set touchApplied(e){this._wot.touchApplied=e}get domBindings(){return this._wot.domBindings}get eventListeners(){return this._wot.eventListeners}set eventListeners(e){this._wot.eventListeners=e}get eventManager(){return this._wot.eventManager}createCellCoords(e,t){return this._wot.createCellCoords(e,t)}createCellRange(e,t,o){return this._wot.createCellRange(e,t,o)}draw(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this._wot.draw(e),this}getCell(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this._wot.getCell(e,t)}scrollViewport(e,t,o,s,n){return this._wot.scrollViewport(e,t,o,s,n)}scrollViewportHorizontally(e,t,o){return this._wot.scrollViewportHorizontally(e,t,o)}scrollViewportVertically(e,t,o){return this._wot.scrollViewportVertically(e,t,o)}getViewport(){return this._wot.getViewport()}getOverlayName(){return this._wot.cloneOverlay?this._wot.cloneOverlay.type:"master"}exportSettingsAsClassNames(){return this._wot.exportSettingsAsClassNames()}update(e,t){return this._wot.wtSettings.update(e,t),this}getSetting(e,t,o,s,n){return this._wot.wtSettings.getSetting(e,t,o,s,n)}hasSetting(e){return this._wot.wtSettings.hasSetting(e)}destroy(){this._wot.destroy()}}t.default=i},65946:(e,t)=>{"use strict";t.__esModule=!0;t.default=class{constructor(e,t,o){this.offset=e,this.total=t,this.countTH=o}offsetted(e){return e+this.offset}unOffsetted(e){return e-this.offset}renderedToSource(e){return this.offsetted(e)}sourceToRendered(e){return this.unOffsetted(e)}offsettedTH(e){return e-this.countTH}unOffsettedTH(e){return e+this.countTH}visibleRowHeadedColumnToSourceColumn(e){return this.renderedToSource(this.offsettedTH(e))}sourceColumnToVisibleRowHeadedColumn(e){return this.unOffsettedTH(this.sourceToRendered(e))}}},22350:(e,t)=>{"use strict";t.__esModule=!0;t.default=class{constructor(e,t,o){this.offset=e,this.total=t,this.countTH=o}offsetted(e){return e+this.offset}unOffsetted(e){return e-this.offset}renderedToSource(e){return this.offsetted(e)}sourceToRendered(e){return this.unOffsetted(e)}offsettedTH(e){return e-this.countTH}unOffsettedTH(e){return e+this.countTH}visibleColHeadedRowToSourceRow(e){return this.renderedToSource(this.offsettedTH(e))}sourceRowToVisibleColHeadedRow(e){return this.unOffsettedTH(this.sourceToRendered(e))}}},21280:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=s(o(65658));t.ViewportColumnsCalculator=n.default;var r=s(o(36107));t.ViewportRowsCalculator=r.default;var i=s(o(82325));t.CellCoords=i.default;var l=s(o(2961));t.CellRange=l.default;var a=s(o(70559));t.default=a.default,t.Core=a.default;var h=o(88361);t.Selection=h.Selection,t.HIGHLIGHT_ACTIVE_HEADER_TYPE=h.ACTIVE_HEADER_TYPE,t.HIGHLIGHT_AREA_TYPE=h.AREA_TYPE,t.HIGHLIGHT_FOCUS_TYPE=h.FOCUS_TYPE,t.HIGHLIGHT_FILL_TYPE=h.FILL_TYPE,t.HIGHLIGHT_HEADER_TYPE=h.HEADER_TYPE,t.HIGHLIGHT_ROW_TYPE=h.ROW_TYPE,t.HIGHLIGHT_COLUMN_TYPE=h.COLUMN_TYPE,t.HIGHLIGHT_CUSTOM_SELECTION_TYPE=h.CUSTOM_SELECTION_TYPE;var d=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var o=g(t);if(o&&o.has(e))return o.get(e);var s={__proto__:null},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if("default"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var i=n?Object.getOwnPropertyDescriptor(e,r):null;i&&(i.get||i.set)?Object.defineProperty(s,r,i):s[r]=e[r]}return s.default=e,o&&o.set(e,s),s}(o(96649));t.Renderer=d;var c=o(1909);t.OrderView=c.OrderView,t.SharedOrderView=c.SharedOrderView;var u=o(75244);function g(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,o=new WeakMap;return(g=function(e){return e?o:t})(e)}t.getListenersCounter=u.getListenersCounter},75391:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(91683);var n=s(o(93231)),r=o(83302),i=o(22232),l=o(50095),a=o(69173),h=o(3984),d=s(o(49755)),c=o(5386);t.Overlay=class{constructor(e,t,o,s,l){(0,n.default)(this,"wtSettings",null),(0,i.defineGetter)(this,"wot",e,{writable:!1}),this.domBindings=l,this.facadeGetter=t,this.wtSettings=s;const{TABLE:a,hider:h,spreader:d,holder:c,wtRootElement:u}=this.wot.wtTable;this.instance=this.wot,this.type=o,this.mainTableScrollableElement=null,this.TABLE=a,this.hider=h,this.spreader=d,this.holder=c,this.wtRootElement=u,this.trimmingContainer=(0,r.getTrimmingContainer)(this.hider.parentNode.parentNode),this.updateStateOfRendering(),this.clone=this.makeClone()}updateStateOfRendering(){const e=this.needFullRender;this.needFullRender=this.shouldBeRendered();const t=e!==this.needFullRender;return t&&!this.needFullRender&&this.reset(),t}shouldBeRendered(){return!0}updateTrimmingContainer(){this.trimmingContainer=(0,r.getTrimmingContainer)(this.hider.parentNode.parentNode)}updateMainScrollableElement(){const{wtTable:e}=this.wot,{rootWindow:t}=this.domBindings;"hidden"===t.getComputedStyle(e.wtRootElement.parentNode).getPropertyValue("overflow")?this.mainTableScrollableElement=this.wot.wtTable.holder:this.mainTableScrollableElement=(0,r.getScrollableElement)(e.TABLE)}getRelativeCellPosition(e,t,o){if(!1===this.clone.wtTable.holder.contains(e))return void(0,a.warn)(`The provided element is not a child of the ${this.type} overlay`);const s=this.mainTableScrollableElement===this.domBindings.rootWindow,n=o<this.wtSettings.getSetting("fixedColumnsStart"),r=t<this.wtSettings.getSetting("fixedRowsTop"),i=t>=this.wtSettings.getSetting("totalRows")-this.wtSettings.getSetting("fixedRowsBottom"),l=this.clone.wtTable.spreader,h={start:this.getRelativeStartPosition(l),top:l.offsetTop},d={start:this.getRelativeStartPosition(e),top:e.offsetTop};let c=null;return c=s?this.getRelativeCellPositionWithinWindow(r,n,d,h):this.getRelativeCellPositionWithinHolder(r,i,n,d,h),c}getRelativeStartPosition(e){return this.isRtl()?e.offsetParent.offsetWidth-e.offsetLeft-e.offsetWidth:e.offsetLeft}getRelativeCellPositionWithinWindow(e,t,o,s){const n=this.wot.wtTable.wtRootElement.getBoundingClientRect();let i=0,l=0;if(t){let e=n.left;this.isRtl()&&(e=this.domBindings.rootWindow.innerWidth-(n.left+n.width+(0,r.getScrollbarWidth)())),i=e<=0?-1*e:0}else i=s.start;if(e){l=this.clone.wtTable.TABLE.getBoundingClientRect().top-n.top}else l=s.top;return{start:o.start+i,top:o.top+l}}getRelativeCellPositionWithinHolder(e,t,o,s,n){const r=this.wot.wtOverlays.inlineStartOverlay.getScrollPosition(),i=this.wot.wtOverlays.topOverlay.getScrollPosition();let l=0,a=0;if(o||(l=r-n.start),t){const e=this.wot.wtTable.wtRootElement.getBoundingClientRect();a=-1*this.clone.wtTable.TABLE.getBoundingClientRect().top+e.top}else e||(a=i-n.top);return{start:s.start-l,top:s.top-a}}makeClone(){if(-1===h.CLONE_TYPES.indexOf(this.type))throw new Error(`Clone type "${this.type}" is not supported.`);const{wtTable:e,wtSettings:t}=this.wot,{rootDocument:o,rootWindow:s}=this.domBindings,n=o.createElement("DIV"),i=o.createElement("TABLE"),l=e.wtRootElement.parentNode;n.className=`${h.CLONE_CLASS_NAMES.get(this.type)} handsontable`,n.setAttribute("dir",this.isRtl()?"rtl":"ltr"),n.style.position="absolute",n.style.top=0,n.style.overflow="visible",this.isRtl()?n.style.right=0:n.style.left=0,t.getSetting("ariaTags")&&(0,r.setAttribute)(n,[(0,c.A11Y_PRESENTATION)()]),i.className=e.TABLE.className;e.TABLE.getAttribute("role")&&i.setAttribute("role",e.TABLE.getAttribute("role")),n.appendChild(i),l.appendChild(n);const a=this.wtSettings.getSetting("preventOverflow");return!0===a||"horizontal"===a&&this.type===h.CLONE_TOP||"vertical"===a&&this.type===h.CLONE_INLINE_START?this.mainTableScrollableElement=s:"hidden"===s.getComputedStyle(l).getPropertyValue("overflow")?this.mainTableScrollableElement=e.holder:this.mainTableScrollableElement=(0,r.getScrollableElement)(e.TABLE),new d.default(i,this.wtSettings,{source:this.wot,overlay:this,viewport:this.wot.wtViewport,event:this.wot.wtEvent,selectionManager:this.wot.selectionManager})}refresh(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=this.shouldBeRendered();this.clone&&(this.needFullRender||t)&&this.clone.draw(e),this.needFullRender=t}reset(){if(!this.clone)return;const e=this.clone.wtTable.holder,t=this.clone.wtTable.hider,o=e.style,s=t.style,n=e.parentNode.style;(0,l.arrayEach)([o,s,n],(e=>{e.width="",e.height=""}))}isRtl(){return this.wtSettings.getSetting("rtlMode")}destroy(){this.clone.eventManager.destroy()}}},99260:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(91683);var n=s(o(93231)),r=o(83302),i=s(o(86363)),l=o(75391),a=o(3984);class h extends l.Overlay{constructor(e,t,o,s){super(e,t,a.CLONE_BOTTOM,o,s),(0,n.default)(this,"cachedFixedRowsBottom",-1),this.cachedFixedRowsBottom=this.wtSettings.getSetting("fixedRowsBottom")}createTable(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return new i.default(...t)}shouldBeRendered(){return this.wtSettings.getSetting("shouldRenderBottomOverlay")}resetFixedPosition(){if(!this.needFullRender||!this.wot.wtTable.holder.parentNode)return!1;const{rootWindow:e}=this.domBindings,t=this.clone.wtTable.holder.parentNode;t.style.top="";let o=0;const s=this.wtSettings.getSetting("preventOverflow");this.trimmingContainer!==e||s&&"vertical"===s?(o=this.getScrollPosition(),this.repositionOverlay()):(o=this.getOverlayOffset(),t.style.bottom=`${o}px`);const n=this.adjustHeaderBordersPosition(o);return this.adjustElementsSize(),n}repositionOverlay(){const{wtTable:e,wtViewport:t}=this.wot,{rootDocument:o}=this.domBindings,s=this.clone.wtTable.holder.parentNode;let n=0;t.hasVerticalScroll()||(n+=t.getWorkspaceHeight()-e.getTotalHeight()),t.hasVerticalScroll()&&t.hasHorizontalScroll()&&(n+=(0,r.getScrollbarWidth)(o)),s.style.bottom=`${n}px`}setScrollPosition(e){const{rootWindow:t}=this.domBindings;let o=!1;return this.mainTableScrollableElement===t?(t.scrollTo((0,r.getWindowScrollLeft)(t),e),o=!0):this.mainTableScrollableElement.scrollTop!==e&&(this.mainTableScrollableElement.scrollTop=e,o=!0),o}onScroll(){this.wtSettings.getSetting("onScrollHorizontally")}sumCellSizes(e,t){const{wtTable:o,wtSettings:s}=this.wot,n=s.getSetting("defaultRowHeight");let r=e,i=0;for(;r<t;){const e=o.getRowHeight(r);i+=void 0===e?n:e,r+=1}return i}adjustElementsSize(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.updateTrimmingContainer(),(this.needFullRender||e)&&(this.adjustRootElementSize(),this.adjustRootChildrenSize())}adjustRootElementSize(){const{wtTable:e,wtViewport:t}=this.wot,{rootDocument:o,rootWindow:s}=this.domBindings,n=(0,r.getScrollbarWidth)(o),i=this.clone.wtTable.holder.parentNode.style,l=this.wtSettings.getSetting("preventOverflow");if(this.trimmingContainer!==s||"horizontal"===l){let o=t.getWorkspaceWidth();this.wot.wtOverlays.hasScrollbarRight&&(o-=n),o=Math.min(o,e.wtRootElement.scrollWidth),i.width=`${o}px`}else i.width="";this.clone.wtTable.holder.style.width=i.width;let a=(0,r.outerHeight)(this.clone.wtTable.TABLE);this.wot.wtTable.hasDefinedSize()||(a=0),i.height=`${a}px`}adjustRootChildrenSize(){const{holder:e}=this.clone.wtTable;this.clone.wtTable.hider.style.width=this.hider.style.width,e.style.width=e.parentNode.style.width,e.style.height=e.parentNode.style.height}applyToDOM(){const e=this.wtSettings.getSetting("totalRows");if("number"==typeof this.wot.wtViewport.rowsRenderCalculator.startPosition)this.spreader.style.top=`${this.wot.wtViewport.rowsRenderCalculator.startPosition}px`;else{if(0!==e)throw new Error("Incorrect value of the rowsRenderCalculator");this.spreader.style.top="0"}this.spreader.style.bottom="",this.needFullRender&&this.syncOverlayOffset()}syncOverlayOffset(){const e=this.isRtl()?"right":"left",{spreader:t}=this.clone.wtTable;"number"==typeof this.wot.wtViewport.columnsRenderCalculator.startPosition?t.style[e]=`${this.wot.wtViewport.columnsRenderCalculator.startPosition}px`:t.style[e]=""}scrollTo(e,t){let o=this.getTableParentOffset();const s=(this.wot.cloneSource?this.wot.cloneSource:this.wot).wtTable.holder;let n=0;t&&s.offsetHeight!==s.clientHeight&&(n=(0,r.getScrollbarWidth)(this.domBindings.rootDocument)),t?(o+=this.sumCellSizes(0,e+1),o-=this.wot.wtViewport.getViewportHeight(),o+=1):o+=this.sumCellSizes(this.wtSettings.getSetting("fixedRowsBottom"),e),o+=n,this.setScrollPosition(o)}getTableParentOffset(){return this.mainTableScrollableElement===this.domBindings.rootWindow?this.wot.wtTable.holderOffset.top:0}getScrollPosition(){return(0,r.getScrollTop)(this.mainTableScrollableElement,this.domBindings.rootWindow)}getOverlayOffset(){const{rootWindow:e}=this.domBindings,t=this.wtSettings.getSetting("preventOverflow");let o=0;if(this.trimmingContainer===e&&(!t||"vertical"!==t)){const e=this.wot.wtTable.getTotalHeight(),t=e-this.clone.wtTable.getTotalHeight(),s=this.domBindings.rootDocument.documentElement.clientHeight;o=Math.max(this.getTableParentOffset()-this.getScrollPosition()-s+e,0),o>t&&(o=0)}return o}adjustHeaderBordersPosition(e){const t=this.wtSettings.getSetting("fixedRowsBottom"),o=this.cachedFixedRowsBottom!==t,s=this.wtSettings.getSetting("columnHeaders");let n=!1;if((o||0===t)&&s.length>0){const t=this.wot.wtTable.holder.parentNode,o=(0,r.hasClass)(t,"innerBorderBottom");this.cachedFixedRowsBottom=this.wtSettings.getSetting("fixedRowsBottom"),e||0===this.wtSettings.getSetting("totalRows")?((0,r.addClass)(t,"innerBorderBottom"),n=!o):((0,r.removeClass)(t,"innerBorderBottom"),n=o)}return n}}t.BottomOverlay=h},79720:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=o(83302),r=s(o(58654)),i=o(75391),l=o(3984);class a extends i.Overlay{constructor(e,t,o,s,n,r){super(e,t,l.CLONE_BOTTOM_INLINE_START_CORNER,o,s),this.bottomOverlay=n,this.inlineStartOverlay=r}createTable(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return new r.default(...t)}shouldBeRendered(){return this.wtSettings.getSetting("shouldRenderBottomOverlay")&&this.wtSettings.getSetting("shouldRenderInlineStartOverlay")}resetFixedPosition(){const{wot:e}=this;if(this.updateTrimmingContainer(),!e.wtTable.holder.parentNode)return!1;const t=this.clone.wtTable.holder.parentNode;if(t.style.top="",this.trimmingContainer===this.domBindings.rootWindow){const e=this.inlineStartOverlay.getOverlayOffset(),o=this.bottomOverlay.getOverlayOffset();t.style[this.isRtl()?"right":"left"]=`${e}px`,t.style.bottom=`${o}px`}else(0,n.resetCssTransform)(t),this.repositionOverlay();let o=(0,n.outerHeight)(this.clone.wtTable.TABLE);const s=(0,n.outerWidth)(this.clone.wtTable.TABLE);return this.wot.wtTable.hasDefinedSize()||(o=0),t.style.height=`${o}px`,t.style.width=`${s}px`,!1}repositionOverlay(){const{wtTable:e,wtViewport:t}=this.wot,{rootDocument:o}=this.domBindings,s=this.clone.wtTable.holder.parentNode;let r=0;t.hasVerticalScroll()||(r+=t.getWorkspaceHeight()-e.getTotalHeight()),t.hasVerticalScroll()&&t.hasHorizontalScroll()&&(r+=(0,n.getScrollbarWidth)(o)),s.style.bottom=`${r}px`}}t.BottomInlineStartCornerOverlay=a},3984:(e,t)=>{"use strict";t.__esModule=!0;const o=t.CLONE_TOP="top",s=t.CLONE_BOTTOM="bottom",n=t.CLONE_INLINE_START="inline_start",r=t.CLONE_TOP_INLINE_START_CORNER="top_inline_start_corner",i=t.CLONE_BOTTOM_INLINE_START_CORNER="bottom_inline_start_corner";t.CLONE_TYPES=[o,s,n,r,i],t.CLONE_CLASS_NAMES=new Map([[o,`ht_clone_${o}`],[s,`ht_clone_${s}`],[n,`ht_clone_${n} ht_clone_left`],[r,`ht_clone_${r} ht_clone_top_left_corner`],[i,`ht_clone_${i} ht_clone_bottom_left_corner`]])},89381:(e,t,o)=>{"use strict";t.__esModule=!0;var s={BottomInlineStartCornerOverlay:!0,BottomOverlay:!0,InlineStartOverlay:!0,Overlay:!0,TopInlineStartCornerOverlay:!0,TopOverlay:!0},n=o(79720);t.BottomInlineStartCornerOverlay=n.BottomInlineStartCornerOverlay;var r=o(99260);t.BottomOverlay=r.BottomOverlay;var i=o(34170);t.InlineStartOverlay=i.InlineStartOverlay;var l=o(75391);t.Overlay=l.Overlay;var a=o(40387);t.TopInlineStartCornerOverlay=a.TopInlineStartCornerOverlay;var h=o(82148);t.TopOverlay=h.TopOverlay;var d=o(3984);Object.keys(d).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(s,e)||e in t&&t[e]===d[e]||(t[e]=d[e]))}))},34170:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(91683);var n=o(83302),r=s(o(32173)),i=o(75391),l=o(88361),a=o(3984);class h extends i.Overlay{constructor(e,t,o,s){super(e,t,a.CLONE_INLINE_START,o,s)}createTable(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return new r.default(...t)}shouldBeRendered(){return this.wtSettings.getSetting("shouldRenderInlineStartOverlay")}resetFixedPosition(){const{wtTable:e}=this.wot;if(!this.needFullRender||!e.holder.parentNode)return!1;const{rootWindow:t}=this.domBindings,o=this.clone.wtTable.holder.parentNode,s=this.wtSettings.getSetting("preventOverflow");let r=0;this.trimmingContainer!==t||s&&"horizontal"===s?(r=this.getScrollPosition(),(0,n.resetCssTransform)(o)):(r=this.getOverlayOffset()*(this.isRtl()?-1:1),(0,n.setOverlayPosition)(o,`${r}px`,"0px"));const i=this.adjustHeaderBordersPosition(r);return this.adjustElementsSize(),i}setScrollPosition(e){const{rootWindow:t}=this.domBindings;let o=!1;return this.isRtl()&&(e=-e),this.mainTableScrollableElement===t&&t.scrollX!==e?(t.scrollTo(e,(0,n.getWindowScrollTop)(t)),o=!0):this.mainTableScrollableElement.scrollLeft!==e&&(this.mainTableScrollableElement.scrollLeft=e,o=!0),o}onScroll(){this.wtSettings.getSetting("onScrollVertically")}sumCellSizes(e,t){const o=this.wtSettings.getSetting("defaultColumnWidth");let s=e,n=0;for(;s<t;)n+=this.wot.wtTable.getStretchedColumnWidth(s)||o,s+=1;return n}adjustElementsSize(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.updateTrimmingContainer(),(this.needFullRender||e)&&(this.adjustRootElementSize(),this.adjustRootChildrenSize())}adjustRootElementSize(){const{wtTable:e}=this.wot,{rootDocument:t,rootWindow:o}=this.domBindings,s=(0,n.getScrollbarWidth)(t),r=this.clone.wtTable.holder.parentNode.style,i=this.wtSettings.getSetting("preventOverflow");if(this.trimmingContainer!==o||"vertical"===i){let t=this.wot.wtViewport.getWorkspaceHeight();this.wot.wtOverlays.hasScrollbarBottom&&(t-=s),t=Math.min(t,e.wtRootElement.scrollHeight),r.height=`${t}px`}else r.height="";this.clone.wtTable.holder.style.height=r.height;const l=(0,n.outerWidth)(this.clone.wtTable.TABLE);r.width=`${l}px`}adjustRootChildrenSize(){const{holder:e}=this.clone.wtTable,t=this.wot.selectionManager.getFocusSelection()?parseInt(l.CORNER_DEFAULT_STYLE.width,10)/2:0;this.clone.wtTable.hider.style.height=this.hider.style.height,e.style.height=e.parentNode.style.height,e.style.width=`${parseInt(e.parentNode.style.width,10)+t}px`}applyToDOM(){const e=this.wtSettings.getSetting("totalColumns"),t=this.isRtl()?"right":"left";if("number"==typeof this.wot.wtViewport.columnsRenderCalculator.startPosition)this.spreader.style[t]=`${this.wot.wtViewport.columnsRenderCalculator.startPosition}px`;else{if(0!==e)throw new Error("Incorrect value of the columnsRenderCalculator");this.spreader.style[t]="0"}this.isRtl()?this.spreader.style.left="":this.spreader.style.right="",this.needFullRender&&this.syncOverlayOffset()}syncOverlayOffset(){"number"==typeof this.wot.wtViewport.rowsRenderCalculator.startPosition?this.clone.wtTable.spreader.style.top=`${this.wot.wtViewport.rowsRenderCalculator.startPosition}px`:this.clone.wtTable.spreader.style.top=""}scrollTo(e,t){let o=this.getTableParentOffset();const s=(this.wot.cloneSource?this.wot.cloneSource:this.wot).wtTable.holder;let r=0;if(t){this.wot.wtTable.getColumnWidth(e)>this.wot.wtViewport.getViewportWidth()&&(t=!1)}return t&&s.offsetWidth!==s.clientWidth&&(r=(0,n.getScrollbarWidth)(this.domBindings.rootDocument)),t?(o+=this.sumCellSizes(0,e+1),o-=this.wot.wtViewport.getViewportWidth()):o+=this.sumCellSizes(this.wtSettings.getSetting("fixedColumnsStart"),e),o+=r,this.setScrollPosition(o)}getTableParentOffset(){let e=0;return this.wtSettings.getSetting("preventOverflow")||this.trimmingContainer!==this.domBindings.rootWindow||(e=this.wot.wtTable.holderOffset.left),e}getScrollPosition(){return Math.abs((0,n.getScrollLeft)(this.mainTableScrollableElement,this.domBindings.rootWindow))}getOverlayOffset(){const{rootWindow:e}=this.domBindings,t=this.wtSettings.getSetting("preventOverflow");let o=0;if(this.trimmingContainer===e&&(!t||"horizontal"!==t)){o=this.isRtl()?Math.abs(Math.min(this.getTableParentOffset()-this.getScrollPosition(),0)):Math.max(this.getScrollPosition()-this.getTableParentOffset(),0);o>this.wot.wtTable.getTotalWidth()-this.clone.wtTable.getTotalWidth()&&(o=0)}return o}adjustHeaderBordersPosition(e){const t=this.wot.wtTable.holder.parentNode,o=this.wtSettings.getSetting("rowHeaders"),s=this.wtSettings.getSetting("fixedColumnsStart");this.wtSettings.getSetting("totalRows")?(0,n.removeClass)(t,"emptyRows"):(0,n.addClass)(t,"emptyRows");let r=!1;if(s&&!o.length)(0,n.addClass)(t,"innerBorderLeft innerBorderInlineStart");else if(!s&&o.length){const o=(0,n.hasClass)(t,"innerBorderInlineStart");e?((0,n.addClass)(t,"innerBorderLeft innerBorderInlineStart"),r=!o):((0,n.removeClass)(t,"innerBorderLeft innerBorderInlineStart"),r=o)}return r}}t.InlineStartOverlay=h},82148:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(91683);var n=s(o(93231)),r=o(83302),i=s(o(85043)),l=o(75391),a=o(88361),h=o(3984);class d extends l.Overlay{constructor(e,t,o,s){super(e,t,h.CLONE_TOP,o,s),(0,n.default)(this,"cachedFixedRowsTop",-1),this.cachedFixedRowsTop=this.wtSettings.getSetting("fixedRowsTop")}createTable(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return new i.default(...t)}shouldBeRendered(){return this.wtSettings.getSetting("shouldRenderTopOverlay")}resetFixedPosition(){if(!this.needFullRender||!this.wot.wtTable.holder.parentNode)return!1;const e=this.clone.wtTable.holder.parentNode,{rootWindow:t}=this.domBindings,o=this.wtSettings.getSetting("preventOverflow");let s=0,n=!1;if(this.trimmingContainer!==t||o&&"vertical"===o)s=this.getScrollPosition(),(0,r.resetCssTransform)(e);else{const{wtTable:t}=this.wot,o=t.hider.getBoundingClientRect();n=Math.ceil(o.bottom)===e.offsetHeight,s=this.getOverlayOffset(),(0,r.setOverlayPosition)(e,"0px",`${s}px`)}const i=this.adjustHeaderBordersPosition(s,n);return this.adjustElementsSize(),i}setScrollPosition(e){const t=this.domBindings.rootWindow;let o=!1;return this.mainTableScrollableElement===t&&t.scrollY!==e?(t.scrollTo((0,r.getWindowScrollLeft)(t),e),o=!0):this.mainTableScrollableElement.scrollTop!==e&&(this.mainTableScrollableElement.scrollTop=e,o=!0),o}onScroll(){this.wtSettings.getSetting("onScrollHorizontally")}sumCellSizes(e,t){const o=this.wtSettings.getSetting("defaultRowHeight");let s=e,n=0;for(;s<t;){const e=this.wot.wtTable.getRowHeight(s);n+=void 0===e?o:e,s+=1}return n}adjustElementsSize(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.updateTrimmingContainer(),(this.needFullRender||e)&&(this.adjustRootElementSize(),this.adjustRootChildrenSize())}adjustRootElementSize(){const{wtTable:e}=this.wot,{rootDocument:t,rootWindow:o}=this.domBindings,s=(0,r.getScrollbarWidth)(t),n=this.clone.wtTable.holder.parentNode.style,i=this.wtSettings.getSetting("preventOverflow");if(this.trimmingContainer!==o||"horizontal"===i){let t=this.wot.wtViewport.getWorkspaceWidth();this.wot.wtOverlays.hasScrollbarRight&&(t-=s),t=Math.min(t,e.wtRootElement.scrollWidth),n.width=`${t}px`}else n.width="";this.clone.wtTable.holder.style.width=n.width;let l=(0,r.outerHeight)(this.clone.wtTable.TABLE);this.wot.wtTable.hasDefinedSize()||(l=0),n.height=`${l}px`}adjustRootChildrenSize(){const{holder:e}=this.clone.wtTable,t=this.wot.selectionManager.getFocusSelection()?parseInt(a.CORNER_DEFAULT_STYLE.height,10)/2:0;this.clone.wtTable.hider.style.width=this.hider.style.width,e.style.width=e.parentNode.style.width,e.style.height=`${parseInt(e.parentNode.style.height,10)+t}px`}applyToDOM(){const e=this.wtSettings.getSetting("totalRows");if("number"==typeof this.wot.wtViewport.rowsRenderCalculator.startPosition)this.spreader.style.top=`${this.wot.wtViewport.rowsRenderCalculator.startPosition}px`;else{if(0!==e)throw new Error("Incorrect value of the rowsRenderCalculator");this.spreader.style.top="0"}this.spreader.style.bottom="",this.needFullRender&&this.syncOverlayOffset()}syncOverlayOffset(){const e=this.isRtl()?"right":"left",{spreader:t}=this.clone.wtTable;"number"==typeof this.wot.wtViewport.columnsRenderCalculator.startPosition?t.style[e]=`${this.wot.wtViewport.columnsRenderCalculator.startPosition}px`:t.style[e]=""}scrollTo(e,t){const{wot:o,wtSettings:s}=this,n=(o.cloneSource?o.cloneSource:o).wtTable.holder;let i=this.getTableParentOffset(),l=0;if(t){this.wot.wtTable.getRowHeight(e)>this.wot.wtViewport.getViewportHeight()&&(t=!1)}if(t&&n.offsetHeight!==n.clientHeight&&(l=(0,r.getScrollbarWidth)(this.domBindings.rootDocument)),t){const t=s.getSetting("fixedRowsBottom"),n=s.getSetting("totalRows");i+=this.sumCellSizes(0,e+1),i-=o.wtViewport.getViewportHeight()-this.sumCellSizes(n-t,n),i+=1}else i+=this.sumCellSizes(s.getSetting("fixedRowsTop"),e);return i+=l,this.setScrollPosition(i)}getTableParentOffset(){return this.mainTableScrollableElement===this.domBindings.rootWindow?this.wot.wtTable.holderOffset.top:0}getScrollPosition(){return(0,r.getScrollTop)(this.mainTableScrollableElement,this.domBindings.rootWindow)}getOverlayOffset(){const{rootWindow:e}=this.domBindings,t=this.wtSettings.getSetting("preventOverflow");let o=0;if(this.trimmingContainer===e&&(!t||"vertical"!==t)){const e=this.wot.wtTable.getTotalHeight()-this.clone.wtTable.getTotalHeight();o=Math.max(this.getScrollPosition()-this.getTableParentOffset(),0),o>e&&(o=0)}return o}adjustHeaderBordersPosition(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const o=this.wot.wtTable.holder.parentNode;this.wtSettings.getSetting("totalColumns")?(0,r.removeClass)(o,"emptyColumns"):(0,r.addClass)(o,"emptyColumns");let s=!1;if(!t){const t=this.wtSettings.getSetting("fixedRowsTop"),n=this.cachedFixedRowsTop!==t,i=this.wtSettings.getSetting("columnHeaders");if((n||0===t)&&i.length>0){const t=(0,r.hasClass)(o,"innerBorderTop");this.cachedFixedRowsTop=this.wtSettings.getSetting("fixedRowsTop"),e||0===this.wtSettings.getSetting("totalRows")?((0,r.addClass)(o,"innerBorderTop"),s=!t):((0,r.removeClass)(o,"innerBorderTop"),s=t)}}return s}}t.TopOverlay=d},40387:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=s(o(93231)),r=o(83302),i=s(o(56754)),l=o(75391),a=o(3984);class h extends l.Overlay{constructor(e,t,o,s,r,i){super(e,t,a.CLONE_TOP_INLINE_START_CORNER,o,s),(0,n.default)(this,"topOverlay",void 0),(0,n.default)(this,"inlineStartOverlay",void 0),this.topOverlay=r,this.inlineStartOverlay=i}createTable(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return new i.default(...t)}shouldBeRendered(){return this.wtSettings.getSetting("shouldRenderTopOverlay")&&this.wtSettings.getSetting("shouldRenderInlineStartOverlay")}resetFixedPosition(){if(this.updateTrimmingContainer(),!this.wot.wtTable.holder.parentNode)return!1;const e=this.clone.wtTable.holder.parentNode;if(this.trimmingContainer===this.domBindings.rootWindow){const t=this.inlineStartOverlay.getOverlayOffset()*(this.isRtl()?-1:1),o=this.topOverlay.getOverlayOffset();(0,r.setOverlayPosition)(e,`${t}px`,`${o}px`)}else(0,r.resetCssTransform)(e);let t=(0,r.outerHeight)(this.clone.wtTable.TABLE);const o=(0,r.outerWidth)(this.clone.wtTable.TABLE);return this.wot.wtTable.hasDefinedSize()||(t=0),e.style.height=`${t}px`,e.style.width=`${o}px`,!1}}t.TopInlineStartCornerOverlay=h},87831:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(63517);var n=s(o(93231)),r=o(83302),i=o(7374),l=o(50095),a=o(80151),h=o(37595),d=o(89381);t.default=class{constructor(e,t,o,s,l,a){(0,n.default)(this,"wot",null),(0,n.default)(this,"topOverlay",null),(0,n.default)(this,"bottomOverlay",null),(0,n.default)(this,"inlineStartOverlay",null),(0,n.default)(this,"topInlineStartCornerOverlay",null),(0,n.default)(this,"bottomInlineStartCornerOverlay",null),(0,n.default)(this,"browserLineHeight",void 0),(0,n.default)(this,"wtSettings",null),(0,n.default)(this,"resizeObserver",new ResizeObserver((e=>{(0,i.requestAnimationFrame)((()=>{Array.isArray(e)&&e.length&&this.wtSettings.getSetting("onContainerElementResize")}))}))),this.wot=e,this.wtSettings=s,this.domBindings=o,this.facadeGetter=t,this.wtTable=a;const{rootDocument:h,rootWindow:d}=this.domBindings;this.instance=this.wot,this.eventManager=l,this.scrollbarSize=(0,r.getScrollbarWidth)(h);const c="hidden"===d.getComputedStyle(a.wtRootElement.parentNode).getPropertyValue("overflow");this.scrollableElement=c?a.holder:(0,r.getScrollableElement)(a.TABLE),this.initOverlays(),this.hasScrollbarBottom=!1,this.hasScrollbarRight=!1,this.destroyed=!1,this.keyPressed=!1,this.spreaderLastSize={width:null,height:null},this.verticalScrolling=!1,this.horizontalScrolling=!1,this.initBrowserLineHeight(),this.registerListeners(),this.lastScrollX=d.scrollX,this.lastScrollY=d.scrollY}getOverlays(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=[this.topOverlay,this.topInlineStartCornerOverlay,this.inlineStartOverlay,this.bottomOverlay,this.bottomInlineStartCornerOverlay];return e&&t.push(this.wtTable),t}initBrowserLineHeight(){const{rootWindow:e,rootDocument:t}=this.domBindings,o=e.getComputedStyle(t.body),s=parseInt(o.lineHeight,10),n=1.2*parseInt(o.fontSize,10);this.browserLineHeight=s||n}initOverlays(){const e=[this.wot,this.facadeGetter,this.wtSettings,this.domBindings];this.topOverlay=new d.TopOverlay(...e),this.bottomOverlay=new d.BottomOverlay(...e),this.inlineStartOverlay=new d.InlineStartOverlay(...e),this.topInlineStartCornerOverlay=new d.TopInlineStartCornerOverlay(...e,this.topOverlay,this.inlineStartOverlay),this.bottomInlineStartCornerOverlay=new d.BottomInlineStartCornerOverlay(...e,this.bottomOverlay,this.inlineStartOverlay)}updateStateOfRendering(){let e=this.topOverlay.updateStateOfRendering();return e=this.bottomOverlay.updateStateOfRendering()||e,e=this.inlineStartOverlay.updateStateOfRendering()||e,this.inlineStartOverlay.needFullRender&&(this.topOverlay.needFullRender&&(e=this.topInlineStartCornerOverlay.updateStateOfRendering()||e),this.bottomOverlay.needFullRender&&(e=this.bottomInlineStartCornerOverlay.updateStateOfRendering()||e)),e}refreshAll(){this.wot.drawn&&(this.wtTable.holder.parentNode?(this.wot.draw(!0),this.verticalScrolling&&this.inlineStartOverlay.onScroll(),this.horizontalScrolling&&this.topOverlay.onScroll(),this.verticalScrolling=!1,this.horizontalScrolling=!1):this.destroy())}registerListeners(){const{rootDocument:e,rootWindow:t}=this.domBindings,{mainTableScrollableElement:o}=this.topOverlay,{mainTableScrollableElement:s}=this.inlineStartOverlay;this.eventManager.addEventListener(e.documentElement,"keydown",(e=>this.onKeyDown(e))),this.eventManager.addEventListener(e.documentElement,"keyup",(()=>this.onKeyUp())),this.eventManager.addEventListener(e,"visibilitychange",(()=>this.onKeyUp())),this.eventManager.addEventListener(o,"scroll",(e=>this.onTableScroll(e)),{passive:!0}),o!==s&&this.eventManager.addEventListener(s,"scroll",(e=>this.onTableScroll(e)),{passive:!0});const n=t.devicePixelRatio&&t.devicePixelRatio>1,r=this.scrollableElement===t,i=this.wtSettings.getSetting("preventWheel"),l={passive:r};(i||n||!(0,h.isChrome)())&&this.eventManager.addEventListener(this.wtTable.wtRootElement,"wheel",(e=>this.onCloneWheel(e,i)),l);let a;[this.topOverlay,this.bottomOverlay,this.inlineStartOverlay,this.topInlineStartCornerOverlay,this.bottomInlineStartCornerOverlay].forEach((e=>{if(e&&e.needFullRender){const{holder:t}=e.clone.wtTable;this.eventManager.addEventListener(t,"wheel",(e=>this.onCloneWheel(e,i)),l)}})),this.eventManager.addEventListener(t,"resize",(()=>{clearTimeout(a),a=setTimeout((()=>{this.wtSettings.getSetting("onWindowResize")}),200)})),r||this.resizeObserver.observe(this.wtTable.wtRootElement.parentElement)}deregisterListeners(){this.eventManager.clearEvents(!0)}onTableScroll(e){const t=this.domBindings.rootWindow,o=this.inlineStartOverlay.mainTableScrollableElement,s=this.topOverlay.mainTableScrollableElement,n=e.target;this.keyPressed&&(s!==t&&n!==t&&!e.target.contains(s)||o!==t&&n!==t&&!e.target.contains(o))||this.syncScrollPositions(e)}onCloneWheel(e,t){const{rootWindow:o}=this.domBindings,s=this.inlineStartOverlay.mainTableScrollableElement,n=this.topOverlay.mainTableScrollableElement,r=e.target,i=n!==o&&r!==o&&!r.contains(n),l=s!==o&&r!==o&&!r.contains(s);if(this.keyPressed&&(i||l))return;const a=this.translateMouseWheelToScroll(e);(t||this.scrollableElement!==o&&a)&&e.preventDefault()}onKeyDown(e){this.keyPressed=(0,a.isKey)(e.keyCode,"ARROW_UP|ARROW_RIGHT|ARROW_DOWN|ARROW_LEFT")}onKeyUp(){this.keyPressed=!1}translateMouseWheelToScroll(e){let t=isNaN(e.deltaY)?-1*e.wheelDeltaY:e.deltaY,o=isNaN(e.deltaX)?-1*e.wheelDeltaX:e.deltaX;1===e.deltaMode&&(o+=o*this.browserLineHeight,t+=t*this.browserLineHeight);const s=this.scrollVertically(t),n=this.scrollHorizontally(o);return s||n}scrollVertically(e){const t=this.scrollableElement.scrollTop;return this.scrollableElement.scrollTop+=e,t!==this.scrollableElement.scrollTop}scrollHorizontally(e){const t=this.scrollableElement.scrollLeft;return this.scrollableElement.scrollLeft+=e,t!==this.scrollableElement.scrollLeft}syncScrollPositions(){if(this.destroyed)return;const{rootWindow:e}=this.domBindings,t=this.topOverlay.clone.wtTable.holder,o=this.inlineStartOverlay.clone.wtTable.holder,[s,n]=[this.scrollableElement.scrollLeft,this.scrollableElement.scrollTop];if(this.horizontalScrolling=t.scrollLeft!==s||this.lastScrollX!==e.scrollX,this.verticalScrolling=o.scrollTop!==n||this.lastScrollY!==e.scrollY,this.lastScrollX=e.scrollX,this.lastScrollY=e.scrollY,this.horizontalScrolling){t.scrollLeft=s;const e=this.bottomOverlay.needFullRender?this.bottomOverlay.clone.wtTable.holder:null;e&&(e.scrollLeft=s)}this.verticalScrolling&&(o.scrollTop=n),this.refreshAll()}syncScrollWithMaster(){const e=this.topOverlay.mainTableScrollableElement,{scrollLeft:t,scrollTop:o}=e;this.topOverlay.needFullRender&&(this.topOverlay.clone.wtTable.holder.scrollLeft=t),this.bottomOverlay.needFullRender&&(this.bottomOverlay.clone.wtTable.holder.scrollLeft=t),this.inlineStartOverlay.needFullRender&&(this.inlineStartOverlay.clone.wtTable.holder.scrollTop=o)}updateMainScrollableElements(){this.deregisterListeners(),this.inlineStartOverlay.updateMainScrollableElement(),this.topOverlay.updateMainScrollableElement(),this.bottomOverlay.needFullRender&&this.bottomOverlay.updateMainScrollableElement();const{wtTable:e}=this,{rootWindow:t}=this.domBindings;"hidden"===t.getComputedStyle(e.wtRootElement.parentNode).getPropertyValue("overflow")?this.scrollableElement=e.holder:this.scrollableElement=(0,r.getScrollableElement)(e.TABLE),this.registerListeners()}destroy(){this.resizeObserver.disconnect(),this.eventManager.destroy(),this.topOverlay.destroy(),this.bottomOverlay.clone&&this.bottomOverlay.destroy(),this.inlineStartOverlay.destroy(),this.topInlineStartCornerOverlay&&this.topInlineStartCornerOverlay.destroy(),this.bottomInlineStartCornerOverlay&&this.bottomInlineStartCornerOverlay.clone&&this.bottomInlineStartCornerOverlay.destroy(),this.destroyed=!0}refresh(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.updateLastSpreaderSize()&&this.adjustElementsSize(),this.bottomOverlay.clone&&this.bottomOverlay.refresh(e),this.inlineStartOverlay.refresh(e),this.topOverlay.refresh(e),this.topInlineStartCornerOverlay&&this.topInlineStartCornerOverlay.refresh(e),this.bottomInlineStartCornerOverlay&&this.bottomInlineStartCornerOverlay.clone&&this.bottomInlineStartCornerOverlay.refresh(e)}updateLastSpreaderSize(){const e=this.wtTable.spreader,t=e.clientWidth,o=e.clientHeight,s=t!==this.spreaderLastSize.width||o!==this.spreaderLastSize.height;return s&&(this.spreaderLastSize.width=t,this.spreaderLastSize.height=o),s}adjustElementsSize(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const{wtViewport:t}=this.wot,{wtTable:o}=this,s=this.wtSettings.getSetting("totalColumns"),n=this.wtSettings.getSetting("totalRows"),r=t.getRowHeaderWidth(),i=t.getColumnHeaderHeight(),l=o.hider.style;if(l.width=`${r+this.inlineStartOverlay.sumCellSizes(0,s)}px`,l.height=`${i+this.topOverlay.sumCellSizes(0,n)+1}px`,this.scrollbarSize>0){const{scrollHeight:e,scrollWidth:t}=o.wtRootElement,{scrollHeight:s,scrollWidth:n}=o.holder;this.hasScrollbarRight=e<s,this.hasScrollbarBottom=t<n,this.hasScrollbarRight&&o.hider.scrollWidth+this.scrollbarSize>t?this.hasScrollbarBottom=!0:this.hasScrollbarBottom&&o.hider.scrollHeight+this.scrollbarSize>e&&(this.hasScrollbarRight=!0)}this.topOverlay.adjustElementsSize(e),this.inlineStartOverlay.adjustElementsSize(e),this.bottomOverlay.adjustElementsSize(e)}applyToDOM(){this.wtTable.isVisible()&&(this.topOverlay.applyToDOM(),this.bottomOverlay.clone&&this.bottomOverlay.applyToDOM(),this.inlineStartOverlay.applyToDOM())}getParentOverlay(e){if(!e)return null;const t=[this.topOverlay,this.inlineStartOverlay,this.bottomOverlay,this.topInlineStartCornerOverlay,this.bottomInlineStartCornerOverlay];let o=null;return(0,l.arrayEach)(t,(t=>{t&&t.clone&&t.clone.wtTable.TABLE.contains(e)&&(o=t.clone)})),o}syncOverlayTableClassNames(){const e=this.wtTable.TABLE,t=[this.topOverlay,this.inlineStartOverlay,this.bottomOverlay,this.topInlineStartCornerOverlay,this.bottomInlineStartCornerOverlay];(0,l.arrayEach)(t,(t=>{t&&(t.clone.wtTable.TABLE.className=e.className)}))}}},46593:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=s(o(94191));t.default=class{constructor(e,t){this.nodesPool="string"==typeof e?new n.default(e):null,this.nodeType=e,this.rootNode=t,this.table=null,this.renderedNodes=0}setTable(e){this.nodesPool&&this.nodesPool.setRootDocument(e.rootDocument),this.table=e}adjust(){}render(){}}},91767:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=o(83302),r=o(1909),i=s(o(46593)),l=o(5386);class a extends i.default{constructor(){super("TD"),this.orderViews=new WeakMap,this.sourceRowIndex=0}obtainOrderView(e){let t;return this.orderViews.has(e)?t=this.orderViews.get(e):(t=new r.SharedOrderView(e,(e=>this.nodesPool.obtain(this.sourceRowIndex,e)),this.nodeType),this.orderViews.set(e,t)),t}render(){const{rowsToRender:e,columnsToRender:t,rows:o,rowHeaders:s}=this.table;for(let a=0;a<e;a++){const e=this.table.renderedRowToSource(a),h=o.getRenderedNode(a);this.sourceRowIndex=e;const d=this.obtainOrderView(h),c=s.obtainOrderView(h);d.prependView(c).setSize(t).setOffset(this.table.renderedColumnToSource(0)).start();for(let o=0;o<t;o++){d.render();const t=d.getCurrentNode(),s=this.table.renderedColumnToSource(o);var r,i;if((0,n.hasClass)(t,"hide")||(t.className=""),t.removeAttribute("style"),t.removeAttribute("dir"),(0,n.removeAttribute)(t,[new RegExp("aria-(.*)"),new RegExp("role")]),this.table.cellRenderer(e,s,t),this.table.isAriaEnabled())(0,n.setAttribute)(t,[...t.hasAttribute("role")?[]:[(0,l.A11Y_GRIDCELL)()],(0,l.A11Y_TABINDEX)(-1),(0,l.A11Y_COLINDEX)(s+(null!==(r=null===(i=this.table.rowUtils)||void 0===i||null===(i=i.dataAccessObject)||void 0===i?void 0:i.rowHeaders.length)&&void 0!==r?r:0)+1)])}d.end()}}}t.default=a},84888:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=s(o(46593)),r=o(83302);class i extends n.default{constructor(e){super(null,e)}adjust(){const{columnsToRender:e,rowHeadersCount:t}=this.table,o=e+t;for(;this.renderedNodes<o;)this.rootNode.appendChild(this.table.rootDocument.createElement("col")),this.renderedNodes+=1;for(;this.renderedNodes>o;)this.rootNode.removeChild(this.rootNode.lastChild),this.renderedNodes-=1}render(){this.adjust();const{columnsToRender:e,rowHeadersCount:t}=this.table;for(let e=0;e<t;e++){const t=this.table.renderedColumnToSource(e),o=this.table.columnUtils.getHeaderWidth(t);this.rootNode.childNodes[e].style.width=`${o}px`}for(let o=0;o<e;o++){const e=this.table.renderedColumnToSource(o),s=this.table.columnUtils.getStretchedColumnWidth(e);this.rootNode.childNodes[o+t].style.width=`${s}px`}const o=this.rootNode.firstChild;o&&(0,r.addClass)(o,"rowHeader")}}t.default=i},90802:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=o(83302),r=s(o(46593)),i=o(5386);class l extends r.default{constructor(e){super(null,e)}adjust(){const{columnHeadersCount:e,rowHeadersCount:t}=this.table;let o=this.rootNode.firstChild;if(e){const{columnsToRender:s}=this.table,n=s+t;for(let t=0,s=e;t<s;t++){for(o=this.rootNode.childNodes[t],o||(o=this.table.rootDocument.createElement("tr"),this.rootNode.appendChild(o)),this.renderedNodes=o.childNodes.length;this.renderedNodes<n;)o.appendChild(this.table.rootDocument.createElement("th")),this.renderedNodes+=1;for(;this.renderedNodes>n;)o.removeChild(o.lastChild),this.renderedNodes-=1}const r=this.rootNode.childNodes.length;if(r>e)for(let t=e;t<r;t++)this.rootNode.removeChild(this.rootNode.lastChild)}else o&&(0,n.empty)(o)}render(){const{columnHeadersCount:e}=this.table;this.table.isAriaEnabled()&&(0,n.setAttribute)(this.rootNode,[(0,i.A11Y_PRESENTATION)()]);for(let t=0;t<e;t+=1){const{columnHeaderFunctions:e,columnsToRender:o,rowHeadersCount:s}=this.table,r=this.rootNode.childNodes[t];this.table.isAriaEnabled()&&(0,n.setAttribute)(r,[(0,i.A11Y_ROW)(),(0,i.A11Y_ROWINDEX)(t+1)]);for(let l=-1*s;l<o;l+=1){const o=this.table.renderedColumnToSource(l),a=r.childNodes[l+s];a.className="",a.removeAttribute("style"),(0,n.removeAttribute)(a,[new RegExp("aria-(.*)"),new RegExp("role")]),this.table.isAriaEnabled()&&(0,n.setAttribute)(a,[(0,i.A11Y_COLINDEX)(l+1+this.table.rowHeadersCount),(0,i.A11Y_TABINDEX)(-1),...l<0?[(0,i.A11Y_PRESENTATION)()]:[(0,i.A11Y_COLUMNHEADER)(),(0,i.A11Y_SCOPE_COL)()]]),e[t](o,a,t)}}}}t.default=l},96649:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=s(o(68384));t.RowHeadersRenderer=n.default;var r=s(o(90802));t.ColumnHeadersRenderer=r.default;var i=s(o(84888));t.ColGroupRenderer=i.default;var l=s(o(77267));t.RowsRenderer=l.default;var a=s(o(91767));t.CellsRenderer=a.default;var h=s(o(46538));t.TableRenderer=h.default;t.Renderer=class{constructor(){let{TABLE:e,THEAD:t,COLGROUP:o,TBODY:s,rowUtils:d,columnUtils:c,cellRenderer:u}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.renderer=new h.default(e,{cellRenderer:u}),this.renderer.setRenderers({rowHeaders:new n.default,columnHeaders:new r.default(t),colGroup:new i.default(o),rows:new l.default(s),cells:new a.default}),this.renderer.setAxisUtils(d,c)}setFilters(e,t){return this.renderer.setFilters(e,t),this}setViewportSize(e,t){return this.renderer.setViewportSize(e,t),this}setHeaderContentRenderers(e,t){return this.renderer.setHeaderContentRenderers(e,t),this}adjust(){this.renderer.adjust()}render(){this.renderer.render()}}},68384:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=o(1909),r=s(o(46593)),i=o(83302),l=o(5386);class a extends r.default{constructor(){super("TH"),this.orderViews=new WeakMap,this.sourceRowIndex=0}obtainOrderView(e){let t;return this.orderViews.has(e)?t=this.orderViews.get(e):(t=new n.SharedOrderView(e,(e=>this.nodesPool.obtain(this.sourceRowIndex,e)),this.nodeType),this.orderViews.set(e,t)),t}render(){const{rowsToRender:e,rowHeaderFunctions:t,rowHeadersCount:o,rows:s,cells:n}=this.table;for(let r=0;r<e;r++){const e=this.table.renderedRowToSource(r),a=s.getRenderedNode(r);this.sourceRowIndex=e;const h=this.obtainOrderView(a),d=n.obtainOrderView(a);h.appendView(d).setSize(o).setOffset(this.table.renderedColumnToSource(0)).start();for(let s=0;s<o;s++){h.render();const o=h.getCurrentNode();o.className="",o.removeAttribute("style"),(0,i.removeAttribute)(o,[new RegExp("aria-(.*)"),new RegExp("role")]),this.table.isAriaEnabled()&&(0,i.setAttribute)(o,[(0,l.A11Y_ROWHEADER)(),(0,l.A11Y_SCOPE_ROW)(),(0,l.A11Y_COLINDEX)(s+1),(0,l.A11Y_TABINDEX)(-1)]),t[s](e,o,s)}h.end()}}}t.default=a},77267:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=o(69173),r=o(28236),i=o(1909),l=s(o(46593)),a=o(83302),h=o(5386);let d=!1;class c extends l.default{constructor(e){super("TR",e),this.orderView=new i.OrderView(e,(e=>this.nodesPool.obtain(e)),this.nodeType)}getRenderedNode(e){return this.orderView.getNode(e)}render(){const{rowsToRender:e}=this.table;!d&&e>1e3&&(d=!0,(0,n.warn)(r.toSingleLine`Performance tip: Handsontable rendered more than 1000 visible rows. Consider limiting\x20
|
32
|
-
the number of rendered rows by specifying the table height and/or turning off the "renderAllRows" option.`)),this.table.isAriaEnabled()&&(0,a.setAttribute)(this.rootNode,[(0,h.A11Y_PRESENTATION)()]),this.orderView.setSize(e).setOffset(this.table.renderedRowToSource(0)).start();for(let s=0;s<e;s++){this.orderView.render();const e=this.orderView.getCurrentNode(),n=this.table.renderedRowToSource(s);var t,o;if(this.table.isAriaEnabled())(0,a.setAttribute)(e,[(0,h.A11Y_ROW)(),(0,h.A11Y_ROWINDEX)(n+(null!==(t=null===(o=this.table.rowUtils)||void 0===o||null===(o=o.dataAccessObject)||void 0===o?void 0:o.columnHeaders.length)&&void 0!==t?t:0)+1)])}this.orderView.end()}}t.default=c},46538:(e,t)=>{"use strict";t.__esModule=!0;t.default=class{constructor(e){let{cellRenderer:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.rootNode=e,this.rootDocument=this.rootNode.ownerDocument,this.rowHeaders=null,this.columnHeaders=null,this.colGroup=null,this.rows=null,this.cells=null,this.rowFilter=null,this.columnFilter=null,this.rowUtils=null,this.columnUtils=null,this.rowsToRender=0,this.columnsToRender=0,this.rowHeaderFunctions=[],this.rowHeadersCount=0,this.columnHeaderFunctions=[],this.columnHeadersCount=0,this.cellRenderer=t}setAxisUtils(e,t){this.rowUtils=e,this.columnUtils=t}setViewportSize(e,t){this.rowsToRender=e,this.columnsToRender=t}setFilters(e,t){this.rowFilter=e,this.columnFilter=t}setHeaderContentRenderers(e,t){this.rowHeaderFunctions=e,this.rowHeadersCount=e.length,this.columnHeaderFunctions=t,this.columnHeadersCount=t.length}setRenderers(){let{rowHeaders:e,columnHeaders:t,colGroup:o,rows:s,cells:n}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.setTable(this),t.setTable(this),o.setTable(this),s.setTable(this),n.setTable(this),this.rowHeaders=e,this.columnHeaders=t,this.colGroup=o,this.rows=s,this.cells=n}renderedRowToSource(e){return this.rowFilter.renderedToSource(e)}renderedColumnToSource(e){return this.columnFilter.renderedToSource(e)}isAriaEnabled(){return this.rowUtils.wtSettings.getSetting("ariaTags")}render(){this.colGroup.adjust(),this.columnHeaders.adjust(),this.rows.adjust(),this.rowHeaders.adjust(),this.columnHeaders.render(),this.rows.render(),this.rowHeaders.render(),this.cells.render(),this.columnUtils.calculateWidths(),this.colGroup.render();const{rowsToRender:e,rows:t}=this;for(let o=0;o<e;o++){const e=t.getRenderedNode(o);if(e.firstChild){const t=this.renderedRowToSource(o),s=this.rowUtils.getHeight(t);e.firstChild.style.height=s?s-1+"px":""}}}}},52188:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=s(o(93231)),r=o(83302);t.default=class{constructor(e){(0,n.default)(this,"dataAccessObject",void 0),(0,n.default)(this,"lastScrolledColumnPos",-1),(0,n.default)(this,"lastScrolledRowPos",-1),this.dataAccessObject=e}scrollViewport(e,t,o,s,n){const r=this.scrollViewportHorizontally(e.col,o,n),i=this.scrollViewportVertically(e.row,t,s);return r||i}scrollViewportHorizontally(e,t,o){const{drawn:s,totalColumns:n}=this.dataAccessObject;if(!s||!Number.isInteger(e)||e<0||e>n)return!1;const r=this.getFirstVisibleColumn(),i=this.getLastVisibleColumn(),l=void 0===t&&void 0===o,{fixedColumnsStart:a,inlineStartOverlay:h}=this.dataAccessObject;if(l&&e<a)return!1;let d=!1;return e=this.dataAccessObject.wtSettings.getSetting("onBeforeViewportScrollHorizontally",e),-1===r?d=h.scrollTo(e,l?e>this.lastScrolledColumnPos:t):(l&&(e<r||e>i)||!l)&&(d=h.scrollTo(e,l?e>i:t)),d&&(this.lastScrolledColumnPos=e),d}scrollViewportVertically(e,t,o){const{drawn:s,totalRows:n}=this.dataAccessObject;if(!s||!Number.isInteger(e)||e<0||e>n)return!1;const r=this.getFirstVisibleRow(),i=this.getLastVisibleRow(),l=void 0===t&&void 0===o,{fixedRowsBottom:a,fixedRowsTop:h,topOverlay:d}=this.dataAccessObject;if(l&&(e<h||e>n-a-1))return!1;let c=!1;return e=this.dataAccessObject.wtSettings.getSetting("onBeforeViewportScrollVertically",e),-1===r?c=d.scrollTo(e,l?e>this.lastScrolledRowPos:o):(l&&(e<r||e>i)||!l)&&(c=d.scrollTo(e,l?e>i:o)),c&&(this.lastScrolledRowPos=e),c}getFirstVisibleRow(){const{topOverlay:e,wtTable:t,wtViewport:o,totalRows:s,fixedRowsTop:n,rootWindow:i}=this.dataAccessObject;let l=t.getFirstVisibleRow();if(e.mainTableScrollableElement===i){const a=(0,r.offset)(t.wtRootElement),h=(0,r.innerHeight)(t.hider),d=(0,r.innerHeight)(i),c=(0,r.getScrollTop)(i,i);if(a.top+h-d<=c){let t=o.getColumnHeaderHeight();t+=e.sumCellSizes(0,n);for(let o=s;o>0;o--)if(t+=e.sumCellSizes(o-1,o),a.top+h-t<=c){l=o;break}}}return l}getLastVisibleRow(){const{topOverlay:e,wtTable:t,wtViewport:o,totalRows:s,rootWindow:n}=this.dataAccessObject;let i=t.getLastVisibleRow();if(e.mainTableScrollableElement===n){const l=(0,r.offset)(t.wtRootElement),a=(0,r.getScrollTop)(n,n);if(l.top>a){const t=(0,r.innerHeight)(n);let h=o.getColumnHeaderHeight();for(let o=1;o<=s;o++)if(h+=e.sumCellSizes(o-1,o),l.top+h-a>=t){i=o-2;break}}}return i}getFirstVisibleColumn(){const{inlineStartOverlay:e,wtTable:t,wtViewport:o,totalColumns:s,rootWindow:n}=this.dataAccessObject;let i=t.getFirstVisibleColumn();if(e.mainTableScrollableElement===n){const l=(0,r.offset)(t.wtRootElement),a=(0,r.innerWidth)(t.hider),h=(0,r.innerWidth)(n),d=Math.abs((0,r.getScrollLeft)(n,n));if(l.left+a-h<=d){let t=o.getRowHeaderWidth();for(let o=s;o>0;o--)if(t+=e.sumCellSizes(o-1,o),l.left+a-t<=d){i=o;break}}}return i}getLastVisibleColumn(){const{wtSettings:e,inlineStartOverlay:t,wtTable:o,wtViewport:s,totalColumns:n,rootWindow:i}=this.dataAccessObject;let l=o.getLastVisibleColumn();if(t.mainTableScrollableElement===i){let a=null;if(e.getSetting("rtlMode")){const e=o.TABLE.getBoundingClientRect(),t=this.dataAccessObject.rootWindow.document.documentElement.offsetWidth;a=Math.abs(e.right-t)}else{a=(0,r.offset)(o.wtRootElement).left}const h=Math.abs((0,r.getScrollLeft)(i,i));if(a>h){const e=(0,r.innerWidth)(i);let o=s.getRowHeaderWidth();for(let s=1;s<=n;s++)if(o+=t.sumCellSizes(s-1,s),a+o-h>=e){l=s-2;break}}}return l}}},67175:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(83302),n=o(24449),r=o(22232),i=o(37595),l=o(97132);t.default=class{constructor(e,t){t&&(this.eventManager=e.eventManager,this.instance=e,this.wot=e,this.settings=t,this.mouseDown=!1,this.main=null,this.top=null,this.bottom=null,this.start=null,this.end=null,this.topStyle=null,this.bottomStyle=null,this.startStyle=null,this.endStyle=null,this.cornerDefaultStyle=l.CORNER_DEFAULT_STYLE,this.cornerCenterPointOffset=-parseInt(this.cornerDefaultStyle.width,10)/2,this.corner=null,this.cornerStyle=null,this.createBorders(t),this.registerListeners())}registerListeners(){const e=this.wot.rootDocument.body;this.eventManager.addEventListener(e,"mousedown",(()=>this.onMouseDown())),this.eventManager.addEventListener(e,"mouseup",(()=>this.onMouseUp()));for(let e=0,t=this.main.childNodes.length;e<t;e++){const t=this.main.childNodes[e];this.eventManager.addEventListener(t,"mouseenter",(t=>this.onMouseEnter(t,this.main.childNodes[e])))}}onMouseDown(){this.mouseDown=!0}onMouseUp(){this.mouseDown=!1}onMouseEnter(e,t){if(!this.mouseDown||!this.wot.getSetting("hideBorderOnMouseDownOver"))return;e.preventDefault(),(0,n.stopImmediatePropagation)(e);const o=this,s=this.wot.rootDocument.body,r=t.getBoundingClientRect();t.style.display="none",this.eventManager.addEventListener(s,"mousemove",(function e(n){var i;((i=n).clientY<Math.floor(r.top)||i.clientY>Math.ceil(r.top+r.height)||i.clientX<Math.floor(r.left)||i.clientX>Math.ceil(r.left+r.width))&&(o.eventManager.removeEventListener(s,"mousemove",e),t.style.display="block")}))}createBorders(e){const{rootDocument:t}=this.wot;this.main=t.createElement("div");const o=["top","start","bottom","end","corner"];let s=this.main.style;s.position="absolute",s.top=0,s.left=0;for(let n=0;n<5;n++){const r=o[n],i=t.createElement("div");i.className=`wtBorder ${this.settings.className||""}`,this.settings[r]&&this.settings[r].hide&&(i.className+=" hidden"),s=i.style,s.backgroundColor=this.settings[r]&&this.settings[r].color?this.settings[r].color:e.border.color,s.height=this.settings[r]&&this.settings[r].width?`${this.settings[r].width}px`:`${e.border.width}px`,s.width=this.settings[r]&&this.settings[r].width?`${this.settings[r].width}px`:`${e.border.width}px`,this.main.appendChild(i)}this.top=this.main.childNodes[0],this.start=this.main.childNodes[1],this.bottom=this.main.childNodes[2],this.end=this.main.childNodes[3],this.topStyle=this.top.style,this.startStyle=this.start.style,this.bottomStyle=this.bottom.style,this.endStyle=this.end.style,this.corner=this.main.childNodes[4],this.corner.className+=" corner",this.cornerStyle=this.corner.style,this.cornerStyle.width=this.cornerDefaultStyle.width,this.cornerStyle.height=this.cornerDefaultStyle.height,this.cornerStyle.border=[this.cornerDefaultStyle.borderWidth,this.cornerDefaultStyle.borderStyle,this.cornerDefaultStyle.borderColor].join(" "),(0,i.isMobileBrowser)()&&this.createMultipleSelectorHandles(),this.disappear();const{wtTable:n}=this.wot;let r=n.bordersHolder;r||(r=t.createElement("div"),r.className="htBorders",n.bordersHolder=r,n.spreader.appendChild(r)),r.appendChild(this.main)}createMultipleSelectorHandles(){const{rootDocument:e}=this.wot;this.selectionHandles={top:e.createElement("DIV"),topHitArea:e.createElement("DIV"),bottom:e.createElement("DIV"),bottomHitArea:e.createElement("DIV")};this.selectionHandles.top.className="topSelectionHandle topLeftSelectionHandle",this.selectionHandles.topHitArea.className="topSelectionHandle-HitArea topLeftSelectionHandle-HitArea",this.selectionHandles.bottom.className="bottomSelectionHandle bottomRightSelectionHandle",this.selectionHandles.bottomHitArea.className="bottomSelectionHandle-HitArea bottomRightSelectionHandle-HitArea",this.selectionHandles.styles={top:this.selectionHandles.top.style,topHitArea:this.selectionHandles.topHitArea.style,bottom:this.selectionHandles.bottom.style,bottomHitArea:this.selectionHandles.bottomHitArea.style};const t={position:"absolute",height:"40px",width:"40px","border-radius":`${parseInt(40/1.5,10)}px`};(0,r.objectEach)(t,((e,t)=>{this.selectionHandles.styles.bottomHitArea[t]=e,this.selectionHandles.styles.topHitArea[t]=e}));const o={position:"absolute",height:"10px",width:"10px","border-radius":`${parseInt(10/1.5,10)}px`,background:"#F5F5FF",border:"1px solid #4285c8"};(0,r.objectEach)(o,((e,t)=>{this.selectionHandles.styles.bottom[t]=e,this.selectionHandles.styles.top[t]=e})),this.main.appendChild(this.selectionHandles.top),this.main.appendChild(this.selectionHandles.bottom),this.main.appendChild(this.selectionHandles.topHitArea),this.main.appendChild(this.selectionHandles.bottomHitArea)}isPartRange(e,t){const o=this.wot.selectionManager.getAreaSelection();return!(!o.cellRange||e===o.cellRange.to.row&&t===o.cellRange.to.col)}updateMultipleSelectionHandlesPosition(e,t,o,s,n,r){const i=this.wot.wtSettings.getSetting("rtlMode")?"right":"left",{top:l,topHitArea:a,bottom:h,bottomHitArea:d}=this.selectionHandles.styles,c=parseInt(l.borderWidth,10),u=parseInt(l.width,10),g=parseInt(a.width,10),f=this.wot.wtTable.getWidth(),p=this.wot.wtTable.getHeight();l.top=`${parseInt(o-u-1,10)}px`,l[i]=`${parseInt(s-u-1,10)}px`,a.top=`${parseInt(o-g/4*3,10)}px`,a[i]=`${parseInt(s-g/4*3,10)}px`;const m=Math.min(parseInt(s+n,10),f-u-2*c),C=Math.min(parseInt(s+n-g/4,10),f-g-2*c);h[i]=`${m}px`,d[i]=`${C}px`;const w=Math.min(parseInt(o+r,10),p-u-2*c),E=Math.min(parseInt(o+r-g/4,10),p-g-2*c);h.top=`${w}px`,d.top=`${E}px`,this.settings.border.cornerVisible&&this.settings.border.cornerVisible()?(l.display="block",a.display="block",this.isPartRange(e,t)?(h.display="none",d.display="none"):(h.display="block",d.display="block")):(l.display="none",h.display="none",a.display="none",d.display="none"),e===this.wot.wtSettings.getSetting("fixedRowsTop")||t===this.wot.wtSettings.getSetting("fixedColumnsStart")?(l.zIndex="9999",a.zIndex="9999"):(l.zIndex="",a.zIndex="")}appear(e){if(this.disabled)return;const{wtTable:t,rootDocument:o,rootWindow:n}=this.wot;let r,l,a,h,d,c;const u=t.getRenderedRowsCount();for(let o=0;o<u;o+=1){const s=t.rowFilter.renderedToSource(o);if(s>=e[0]&&s<=e[2]){r=s,d=e[0];break}}for(let o=u-1;o>=0;o-=1){const s=t.rowFilter.renderedToSource(o);if(s>=e[0]&&s<=e[2]){l=s;break}}const g=t.getRenderedColumnsCount();for(let o=0;o<g;o+=1){const s=t.columnFilter.renderedToSource(o);if(s>=e[1]&&s<=e[3]){a=s,c=e[1];break}}for(let o=g-1;o>=0;o-=1){const s=t.columnFilter.renderedToSource(o);if(s>=e[1]&&s<=e[3]){h=s;break}}if(void 0===r||void 0===a)return void this.disappear();let f=t.getCell(this.wot.createCellCoords(r,a));const p=r!==l||a!==h,m=p?t.getCell(this.wot.createCellCoords(l,h)):f,C=(0,s.offset)(f),w=p?(0,s.offset)(m):C,E=(0,s.offset)(t.TABLE),y=(0,s.outerWidth)(t.TABLE),v=C.top,S=C.left,R=this.wot.wtSettings.getSetting("rtlMode");let _=0,b=0;if(R){const e=(0,s.outerWidth)(f),t=n.innerWidth-E.left-y;b=S+e-w.left,_=n.innerWidth-S-e-t-1}else b=w.left+(0,s.outerWidth)(m)-S,_=S-E.left-1;if(this.isEntireColumnSelected(r,l)){const e=this.getDimensionsFromHeader("columns",a,h,d,E);let t=null;e&&([t,_,b]=e),t&&(f=t)}let T=v-E.top-1,M=w.top+(0,s.outerHeight)(m)-v;if(this.isEntireRowSelected(a,h)){const e=this.getDimensionsFromHeader("rows",r,l,c,E);let t=null;e&&([t,T,M]=e),t&&(f=t)}const O=(0,s.getComputedStyle)(f,n);parseInt(O.borderTopWidth,10)>0&&(T+=1,M=M>0?M-1:0),parseInt(O[R?"borderRightWidth":"borderLeftWidth"],10)>0&&(_+=1,b=b>0?b-1:0);const I=R?"right":"left";this.topStyle.top=`${T}px`,this.topStyle[I]=`${_}px`,this.topStyle.width=`${b}px`,this.topStyle.display="block",this.startStyle.top=`${T}px`,this.startStyle[I]=`${_}px`,this.startStyle.height=`${M}px`,this.startStyle.display="block";const A=Math.floor(this.settings.border.width/2);this.bottomStyle.top=T+M-A+"px",this.bottomStyle[I]=`${_}px`,this.bottomStyle.width=`${b}px`,this.bottomStyle.display="block",this.endStyle.top=`${T}px`,this.endStyle[I]=_+b-A+"px",this.endStyle.height=`${M+1}px`,this.endStyle.display="block";let N=this.settings.border.cornerVisible;N="function"==typeof N?N(this.settings.layerLevel):N;const P=this.wot.getSetting("onModifyGetCellCoords",l,h);let[H,x]=[l,h];if(P&&Array.isArray(P)&&([,,H,x]=P),(0,i.isMobileBrowser)()||!N||this.isPartRange(H,x))this.cornerStyle.display="none";else{this.cornerStyle.top=T+M+this.cornerCenterPointOffset-1+"px",this.cornerStyle[I]=_+b+this.cornerCenterPointOffset-1+"px",this.cornerStyle.borderRightWidth=this.cornerDefaultStyle.borderWidth,this.cornerStyle.width=this.cornerDefaultStyle.width,this.cornerStyle.display="none";let e=(0,s.getTrimmingContainer)(t.TABLE);const r=e===n;r&&(e=o.documentElement);const i=parseInt(this.cornerDefaultStyle.width,10)/2,a=parseInt(this.cornerDefaultStyle.height,10)/2;if(h===this.wot.getSetting("totalColumns")-1){const t=r?m.getBoundingClientRect().left:m.offsetLeft;let o=!1,n=0;R?(n=t-parseInt(this.cornerDefaultStyle.width,10)/2,o=n<0):(n=t+(0,s.outerWidth)(m)+parseInt(this.cornerDefaultStyle.width,10)/2,o=n>=(0,s.innerWidth)(e)),o&&(this.cornerStyle[I]=`${Math.floor(_+b+this.cornerCenterPointOffset-i)}px`,this.cornerStyle[R?"borderLeftWidth":"borderRightWidth"]=0)}if(l===this.wot.getSetting("totalRows")-1){(r?m.getBoundingClientRect().top:m.offsetTop)+(0,s.outerHeight)(m)+parseInt(this.cornerDefaultStyle.height,10)/2>=(0,s.innerHeight)(e)&&(this.cornerStyle.top=`${Math.floor(T+M+this.cornerCenterPointOffset-a)}px`,this.cornerStyle.borderBottomWidth=0)}this.cornerStyle.display="block"}(0,i.isMobileBrowser)()&&this.updateMultipleSelectionHandlesPosition(l,h,T,_,b,M)}isEntireColumnSelected(e,t){return e===this.wot.wtTable.getFirstRenderedRow()&&t===this.wot.wtTable.getLastRenderedRow()}isEntireRowSelected(e,t){return e===this.wot.wtTable.getFirstRenderedColumn()&&t===this.wot.wtTable.getLastRenderedColumn()}getDimensionsFromHeader(e,t,o,n,r){const{wtTable:i}=this.wot,l=i.wtRootElement.parentNode;let a=null,h=null,d=null,c=null,u=null,g=null,f=null,p=null;switch(e){case"rows":a=function(){return i.getRowHeader(...arguments)},h=function(){return(0,s.outerHeight)(...arguments)},d="ht__selection--rows",g="top";break;case"columns":a=function(){return i.getColumnHeader(...arguments)},h=function(){return(0,s.outerWidth)(...arguments)},d="ht__selection--columns",g="left"}if(l.classList.contains(d)){const e=this.wot.getSetting("columnHeaders").length;if(f=a(t,e-n),p=a(o,e-n),!f||!p)return!1;const i=(0,s.offset)(f),l=(0,s.offset)(p);return f&&p&&(c=i[g]-r[g]-1,u=l[g]+h(p)-i[g]),[f,c,u]}return!1}changeBorderStyle(e,t){const o=this[e].style,n=t[e];!n||n.hide?(0,s.addClass)(this[e],"hidden"):((0,s.hasClass)(this[e],"hidden")&&(0,s.removeClass)(this[e],"hidden"),o.backgroundColor=n.color,"top"!==e&&"bottom"!==e||(o.height=`${n.width}px`),"start"!==e&&"end"!==e||(o.width=`${n.width}px`))}changeBorderToDefaultStyle(e){const t=1,o="#000",s=this[e].style;s.backgroundColor=o,s.width=`${t}px`,s.height=`${t}px`}toggleHiddenClass(e,t){this.changeBorderToDefaultStyle(e),t?(0,s.addClass)(this[e],"hidden"):(0,s.removeClass)(this[e],"hidden")}disappear(){this.topStyle.display="none",this.bottomStyle.display="none",this.startStyle.display="none",this.endStyle.display="none",this.cornerStyle.display="none",(0,i.isMobileBrowser)()&&(this.selectionHandles.styles.top.display="none",this.selectionHandles.styles.topHitArea.display="none",this.selectionHandles.styles.bottom.display="none",this.selectionHandles.styles.bottomHitArea.display="none")}destroy(){this.eventManager.destroyWithOwnEventsOnly(),this.main.parentNode.removeChild(this.main)}}},97132:(e,t)=>{"use strict";t.__esModule=!0;t.CORNER_DEFAULT_STYLE=Object.freeze({width:"6px",height:"6px",borderWidth:"1px",borderStyle:"solid",borderColor:"#FFF"})},23009:(e,t)=>{"use strict";t.__esModule=!0;t.ACTIVE_HEADER_TYPE="active-header",t.HEADER_TYPE="header",t.AREA_TYPE="area",t.FOCUS_TYPE="focus",t.FILL_TYPE="fill",t.ROW_TYPE="row",t.COLUMN_TYPE="column",t.CUSTOM_SELECTION_TYPE="custom-selection"},88361:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n={SelectionManager:!0,Selection:!0},r=s(o(33468));t.Selection=r.default;var i=o(23009);Object.keys(i).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===i[e]||(t[e]=i[e]))}));var l=o(97132);Object.keys(l).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===l[e]||(t[e]=l[e]))}));var a=o(86143);t.SelectionManager=a.SelectionManager},86143:(e,t,o)=>{"use strict";o(91683);var s=o(73203);t.__esModule=!0,o(9815);var n=s(o(42538)),r=s(o(48427)),i=o(83302),l=o(7161),a=s(o(67175));function h(e,t,o){d(e,t),t.set(e,o)}function d(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}var c=new WeakMap,u=new WeakMap,g=new WeakMap,f=new WeakMap,p=new WeakMap,m=new WeakMap,C=new WeakSet;function w(){const e=(0,n.default)(this,f).get((0,n.default)(this,c)),t=(0,n.default)(this,c).wtSettings.getSetting("onBeforeRemoveCellClassNames");if(Array.isArray(t))for(let o=0;o<t.length;o++)e.add(t[o]);e.forEach((e=>{var t,o;const s=(0,n.default)(this,c).wtTable.TABLE.querySelectorAll(`.${e}`);let r=[];Array.isArray(null===(t=(0,n.default)(this,u).options)||void 0===t?void 0:t.cellAttributes)&&(r=(0,n.default)(this,u).options.cellAttributes.map((e=>e[0]))),Array.isArray(null===(o=(0,n.default)(this,u).options)||void 0===o?void 0:o.headerAttributes)&&(r=[...r,...(0,n.default)(this,u).options.headerAttributes.map((e=>e[0]))]);for(let t=0,o=s.length;t<o;t++)(0,i.removeClass)(s[t],e),(0,i.removeAttribute)(s[t],r)})),e.clear()}t.SelectionManager=class{constructor(e){var t,o;d(t=this,o=C),o.add(t),h(this,c,{writable:!0,value:void 0}),h(this,u,{writable:!0,value:void 0}),h(this,g,{writable:!0,value:new l.SelectionScanner}),h(this,f,{writable:!0,value:new WeakMap}),h(this,p,{writable:!0,value:new WeakSet}),h(this,m,{writable:!0,value:new Map}),(0,r.default)(this,u,e)}setActiveOverlay(e){return(0,r.default)(this,c,e),(0,n.default)(this,g).setActiveOverlay((0,n.default)(this,c)),(0,n.default)(this,f).has((0,n.default)(this,c))||(0,n.default)(this,f).set((0,n.default)(this,c),new Set),this}getFocusSelection(){return null!==(0,n.default)(this,u)?(0,n.default)(this,u).getFocus():null}getAreaSelection(){return null!==(0,n.default)(this,u)?(0,n.default)(this,u).createLayeredArea():null}getBorderInstance(e){if(!e.settings.border)return null;if((0,n.default)(this,m).has(e)){const t=(0,n.default)(this,m).get(e);if(t.has((0,n.default)(this,c)))return t.get((0,n.default)(this,c));const o=new a.default((0,n.default)(this,c),e.settings);return t.set((0,n.default)(this,c),o),o}const t=new a.default((0,n.default)(this,c),e.settings);return(0,n.default)(this,m).set(e,new Map([[(0,n.default)(this,c),t]])),t}getBorderInstances(e){var t,o;return Array.from(null!==(t=null===(o=(0,n.default)(this,m).get(e))||void 0===o?void 0:o.values())&&void 0!==t?t:[])}destroyBorders(e){(0,n.default)(this,m).get(e).forEach((e=>e.destroy())),(0,n.default)(this,m).delete(e)}render(e){if(null===(0,n.default)(this,u))return;e&&function(e,t,o){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return o}(this,C,w).call(this);const t=Array.from((0,n.default)(this,u)),o=new Map;for(let e=0;e<t.length;e++){const s=t[e],{className:r,createLayers:i,selectionType:l}=s.settings;(0,n.default)(this,p).has(s)||((0,n.default)(this,p).add(s),s.addLocalHook("destroy",(()=>this.destroyBorders(s))));const a=this.getBorderInstance(s);if(s.isEmpty()){null==a||a.disappear();continue}if(r){(0,n.default)(this,g).setActiveSelection(s).scan().forEach((e=>{if(o.has(e)){const t=o.get(e);t.has(r)&&!0===i?t.set(r,t.get(r)+1):t.set(r,1)}else o.set(e,new Map([[r,1]]))}))}const h=s.getCorners();(0,n.default)(this,c).getSetting("onBeforeDrawBorders",h,l),null==a||a.appear(h)}o.forEach(((e,t)=>{var o,s;const r=Array.from(e).map((e=>{let[t,o]=e;return 1===o?t:[t,...Array.from({length:o-1},((e,o)=>`${t}-${o+1}`))]})).flat();r.forEach((e=>(0,n.default)(this,f).get((0,n.default)(this,c)).add(e))),(0,i.addClass)(t,r),"TD"===t.nodeName&&Array.isArray(null===(o=(0,n.default)(this,u).options)||void 0===o?void 0:o.cellAttributes)?(0,i.setAttribute)(t,(0,n.default)(this,u).options.cellAttributes):"TH"===t.nodeName&&Array.isArray(null===(s=(0,n.default)(this,u).options)||void 0===s?void 0:s.headerAttributes)&&(0,i.setAttribute)(t,(0,n.default)(this,u).options.headerAttributes)}))}}},7161:(e,t,o)=>{"use strict";o(91683);var s=o(73203);t.__esModule=!0;var n=s(o(42538)),r=s(o(48427)),i=o(83302);function l(e,t,o){a(e,t),t.set(e,o)}function a(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function h(e,t,o){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return o}var d=new WeakMap,c=new WeakMap,u=new WeakSet;function g(e){const{wtTable:t}=(0,n.default)(this,c),o=t.getRenderedRowsCount(),s=t.getRenderedColumnsCount();for(let n=0;n<o;n+=1){const o=t.rowFilter.renderedToSource(n);for(let n=0;n<s;n+=1)e(o,t.columnFilter.renderedToSource(n))}}t.SelectionScanner=class{constructor(){var e,t;a(e=this,t=u),t.add(e),l(this,d,{writable:!0,value:void 0}),l(this,c,{writable:!0,value:void 0})}setActiveOverlay(e){return(0,r.default)(this,c,e),this}setActiveSelection(e){return(0,r.default)(this,d,e),this}scan(){const e=(0,n.default)(this,d).settings.selectionType,t=new Set;return"active-header"===e?(this.scanColumnsInHeadersRange((e=>t.add(e))),this.scanRowsInHeadersRange((e=>t.add(e)))):"area"===e?this.scanCellsRange((e=>t.add(e))):"focus"===e?(this.scanColumnsInHeadersRange((e=>t.add(e))),this.scanRowsInHeadersRange((e=>t.add(e))),this.scanCellsRange((e=>t.add(e)))):"fill"===e?this.scanCellsRange((e=>t.add(e))):"header"===e?(this.scanColumnsInHeadersRange((e=>t.add(e))),this.scanRowsInHeadersRange((e=>t.add(e)))):"row"===e?(this.scanRowsInHeadersRange((e=>t.add(e))),this.scanRowsInCellsRange((e=>t.add(e)))):"column"===e&&(this.scanColumnsInHeadersRange((e=>t.add(e))),this.scanColumnsInCellsRange((e=>t.add(e)))),t}scanColumnsInHeadersRange(e){const[t,o,s,r]=(0,n.default)(this,d).getCorners(),{wtTable:i}=(0,n.default)(this,c),l=i.getRenderedColumnsCount(),a=i.getColumnHeadersCount();let h=0;for(let u=-i.getRowHeadersCount();u<l;u++){const l=i.columnFilter.renderedToSource(u);if(!(l<o||l>r)){for(let u=-a;u<0;u++){if(u<t||u>s)continue;const g=u+a;let f=i.getColumnHeader(l,g);const p=(0,n.default)(this,c).getSetting("onBeforeHighlightingColumnHeader",l,g,{selectionType:(0,n.default)(this,d).settings.selectionType,columnCursor:h,selectionWidth:r-o+1});null!==p&&(p!==l&&(f=i.getColumnHeader(p,g)),e(f))}h+=1}}}scanRowsInHeadersRange(e){const[t,o,s,r]=(0,n.default)(this,d).getCorners(),{wtTable:i}=(0,n.default)(this,c),l=i.getRenderedRowsCount(),a=i.getRowHeadersCount();let h=0;for(let u=-i.getColumnHeadersCount();u<l;u++){const l=i.rowFilter.renderedToSource(u);if(!(l<t||l>s)){for(let u=-a;u<0;u++){if(u<o||u>r)continue;const g=u+a;let f=i.getRowHeader(l,g);const p=(0,n.default)(this,c).getSetting("onBeforeHighlightingRowHeader",l,g,{selectionType:(0,n.default)(this,d).settings.selectionType,rowCursor:h,selectionHeight:s-t+1});null!==p&&(p!==l&&(f=i.getRowHeader(p,g)),e(f))}h+=1}}}scanCellsRange(e){const[t,o,s,r]=(0,n.default)(this,d).getCorners(),{wtTable:l}=(0,n.default)(this,c);h(this,u,g).call(this,((a,h)=>{if(a>=t&&a<=s&&h>=o&&h<=r){const t=l.getCell((0,n.default)(this,c).createCellCoords(a,h)),o=(0,n.default)(this,c).getSetting("onAfterDrawSelection",a,h,(0,n.default)(this,d).settings.layerLevel);"string"==typeof o&&(0,i.addClass)(t,o),e(t)}}))}scanRowsInCellsRange(e){const[t,,o]=(0,n.default)(this,d).getCorners(),{wtTable:s}=(0,n.default)(this,c);h(this,u,g).call(this,((r,i)=>{if(r>=t&&r<=o){const t=s.getCell((0,n.default)(this,c).createCellCoords(r,i));e(t)}}))}scanColumnsInCellsRange(e){const[,t,,o]=(0,n.default)(this,d).getCorners(),{wtTable:s}=(0,n.default)(this,c);h(this,u,g).call(this,((r,i)=>{if(i>=t&&i<=o){const t=s.getCell((0,n.default)(this,c).createCellCoords(r,i));e(t)}}))}}},33468:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=o(22232),r=s(o(65718));class i{constructor(e,t){this.settings=e,this.cellRange=t||null}isEmpty(){return null===this.cellRange}add(e){return this.isEmpty()?this.cellRange=this.settings.createCellRange(e):this.cellRange.expand(e),this}replace(e,t){if(!this.isEmpty()){if(this.cellRange.from.isEqual(e))return this.cellRange.from=t,!0;if(this.cellRange.to.isEqual(e))return this.cellRange.to=t,!0}return!1}clear(){return this.cellRange=null,this}getCorners(){const e=this.cellRange.getOuterTopStartCorner(),t=this.cellRange.getOuterBottomEndCorner();return[e.row,e.col,t.row,t.col]}destroy(){this.runLocalHooks("destroy")}}(0,n.mixin)(i,r.default);t.default=i},64057:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(91683);var n=s(o(93231)),r=o(83302),i=o(22232);t.default=class{constructor(e){(0,n.default)(this,"settings",{}),(0,n.default)(this,"defaults",Object.freeze(this.getDefaults())),(0,i.objectEach)(this.defaults,((t,o)=>{if(void 0!==e[o])this.settings[o]=e[o];else{if(void 0===t)throw new Error(`A required setting "${o}" was not provided`);this.settings[o]=t}}))}getDefaults(){return{facade:void 0,table:void 0,isDataViewInstance:!0,externalRowCalculator:!1,stretchH:"none",currentRowClassName:null,currentColumnClassName:null,preventOverflow:()=>!1,preventWheel:!1,data:void 0,freezeOverlays:!1,fixedColumnsStart:0,fixedRowsTop:0,fixedRowsBottom:0,shouldRenderInlineStartOverlay:()=>this.getSetting("fixedColumnsStart")>0||this.getSetting("rowHeaders").length>0,shouldRenderTopOverlay:()=>this.getSetting("fixedRowsTop")>0||this.getSetting("columnHeaders").length>0,shouldRenderBottomOverlay:()=>this.getSetting("fixedRowsBottom")>0,minSpareRows:0,rowHeaders:()=>[],columnHeaders:()=>[],totalRows:void 0,totalColumns:void 0,cellRenderer:(e,t,o)=>{const s=this.getSetting("data",e,t);(0,r.fastInnerText)(o,null==s?"":s)},columnWidth(){},rowHeight(){},defaultRowHeight:23,defaultColumnWidth:50,selections:null,hideBorderOnMouseDownOver:!1,viewportRowCalculatorOverride:null,viewportColumnCalculatorOverride:null,onCellMouseDown:null,onCellContextMenu:null,onCellMouseOver:null,onCellMouseOut:null,onCellMouseUp:null,onCellDblClick:null,onCellCornerMouseDown:null,onCellCornerDblClick:null,beforeDraw:null,onDraw:null,onBeforeRemoveCellClassNames:null,onAfterDrawSelection:null,onBeforeDrawBorders:null,onBeforeViewportScrollHorizontally:e=>e,onBeforeViewportScrollVertically:e=>e,onScrollHorizontally:null,onScrollVertically:null,onBeforeTouchScroll:null,onAfterMomentumScroll:null,onBeforeStretchingColumnWidth:e=>e,onModifyRowHeaderWidth:null,onModifyGetCellCoords:null,onBeforeHighlightingRowHeader:e=>e,onBeforeHighlightingColumnHeader:e=>e,onWindowResize:null,onContainerElementResize:null,renderAllRows:!1,groups:!1,rowHeaderWidth:null,columnHeaderHeight:null,headerClassName:null,rtlMode:!1,ariaTags:!0}}update(e,t){return void 0===t?(0,i.objectEach)(e,((e,t)=>{this.settings[t]=e})):this.settings[e]=t,this}getSetting(e,t,o,s,n){return"function"==typeof this.settings[e]?this.settings[e](t,o,s,n):void 0!==t&&Array.isArray(this.settings[e])?this.settings[e][t]:this.settings[e]}getSettingPure(e){return this.settings[e]}has(e){return!!this.settings[e]}}},45460:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(91683),o(63517);var n=s(o(93231)),r=o(83302),i=o(85015),l=s(o(65946)),a=s(o(22350)),h=o(96649),d=s(o(35863)),c=s(o(72772)),u=o(89381),g=o(5386);t.default=class{constructor(e,t,o,s,i){(0,n.default)(this,"wtSettings",null),(0,n.default)(this,"domBindings",void 0),(0,n.default)(this,"TBODY",null),(0,n.default)(this,"THEAD",null),(0,n.default)(this,"COLGROUP",null),(0,n.default)(this,"hasTableHeight",!0),(0,n.default)(this,"hasTableWidth",!0),(0,n.default)(this,"isTableVisible",!1),(0,n.default)(this,"tableOffset",0),(0,n.default)(this,"holderOffset",0),this.domBindings=o,this.isMaster="master"===i,this.name=i,this.dataAccessObject=e,this.facadeGetter=t,this.wtSettings=s,this.instance=this.dataAccessObject.wot,this.wot=this.dataAccessObject.wot,this.TABLE=o.rootTable,(0,r.removeTextNodes)(this.TABLE),this.spreader=this.createSpreader(this.TABLE),this.hider=this.createHider(this.spreader),this.holder=this.createHolder(this.hider),this.wtRootElement=this.holder.parentNode,this.isMaster&&this.alignOverlaysWithTrimmingContainer(),this.fixTableDomTree(),this.rowFilter=null,this.columnFilter=null,this.correctHeaderWidth=!1;const l=this.wtSettings.getSettingPure("rowHeaderWidth");this.wtSettings.update("rowHeaderWidth",(()=>this._modifyRowHeaderWidth(l))),this.rowUtils=new c.default(this.dataAccessObject,this.wtSettings),this.columnUtils=new d.default(this.dataAccessObject,this.wtSettings),this.tableRenderer=new h.Renderer({TABLE:this.TABLE,THEAD:this.THEAD,COLGROUP:this.COLGROUP,TBODY:this.TBODY,rowUtils:this.rowUtils,columnUtils:this.columnUtils,cellRenderer:this.wtSettings.getSettingPure("cellRenderer")})}is(e){return this.name===e}fixTableDomTree(){const e=this.domBindings.rootDocument;this.TBODY=this.TABLE.querySelector("tbody"),this.TBODY||(this.TBODY=e.createElement("tbody"),this.TABLE.appendChild(this.TBODY)),this.THEAD=this.TABLE.querySelector("thead"),this.THEAD||(this.THEAD=e.createElement("thead"),this.TABLE.insertBefore(this.THEAD,this.TBODY)),this.COLGROUP=this.TABLE.querySelector("colgroup"),this.COLGROUP||(this.COLGROUP=e.createElement("colgroup"),this.TABLE.insertBefore(this.COLGROUP,this.THEAD))}createSpreader(e){const t=e.parentNode;let o;return t&&t.nodeType===Node.ELEMENT_NODE&&(0,r.hasClass)(t,"wtHolder")||(o=this.domBindings.rootDocument.createElement("div"),o.className="wtSpreader",t&&t.insertBefore(o,e),o.appendChild(e)),o.style.position="relative",this.wtSettings.getSetting("ariaTags")&&(0,r.setAttribute)(o,[(0,g.A11Y_PRESENTATION)()]),o}createHider(e){const t=e.parentNode;let o;return t&&t.nodeType===Node.ELEMENT_NODE&&(0,r.hasClass)(t,"wtHolder")||(o=this.domBindings.rootDocument.createElement("div"),o.className="wtHider",t&&t.insertBefore(o,e),o.appendChild(e)),this.wtSettings.getSetting("ariaTags")&&(0,r.setAttribute)(o,[(0,g.A11Y_PRESENTATION)()]),o}createHolder(e){const t=e.parentNode;let o;return t&&t.nodeType===Node.ELEMENT_NODE&&(0,r.hasClass)(t,"wtHolder")||(o=this.domBindings.rootDocument.createElement("div"),o.style.position="relative",o.className="wtHolder",t&&t.insertBefore(o,e),this.isMaster&&(o.parentNode.className+="ht_master handsontable",o.parentNode.setAttribute("dir",this.wtSettings.getSettingPure("rtlMode")?"rtl":"ltr"),this.wtSettings.getSetting("ariaTags")&&(0,r.setAttribute)(o.parentNode,[(0,g.A11Y_PRESENTATION)()])),o.appendChild(e)),this.wtSettings.getSetting("ariaTags")&&(0,r.setAttribute)(o,[(0,g.A11Y_PRESENTATION)()]),o}draw(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const{wtSettings:t}=this,{wtOverlays:o,wtViewport:s}=this.dataAccessObject,n=t.getSetting("totalRows"),i=t.getSetting("totalColumns"),h=t.getSetting("rowHeaders"),d=h.length,c=t.getSetting("columnHeaders"),g=c.length;let f=!1,p=e;if(this.isMaster&&(this.holderOffset=(0,r.offset)(this.holder),p=s.createRenderCalculators(p),d&&!t.getSetting("fixedColumnsStart"))){const e=o.inlineStartOverlay.getScrollPosition(),t=this.correctHeaderWidth;this.correctHeaderWidth=0!==e,t!==this.correctHeaderWidth&&(p=!1)}if(this.isMaster&&(f=o.updateStateOfRendering()),p)this.isMaster&&s.createVisibleCalculators(),o&&o.refresh(!0);else{this.isMaster?this.tableOffset=(0,r.offset)(this.TABLE):this.tableOffset=this.dataAccessObject.parentTableOffset;const e=n>0?this.getFirstRenderedRow():0,t=i>0?this.getFirstRenderedColumn():0;this.rowFilter=new a.default(e,n,g),this.columnFilter=new l.default(t,i,d);let o=!0;if(this.isMaster){this.alignOverlaysWithTrimmingContainer();const e={};this.wtSettings.getSetting("beforeDraw",!0,e),o=!0!==e.skipRender}if(o){let e;if(this.tableRenderer.setHeaderContentRenderers(h,c),(this.is(u.CLONE_BOTTOM)||this.is(u.CLONE_BOTTOM_INLINE_START_CORNER))&&this.tableRenderer.setHeaderContentRenderers(h,[]),this.resetOversizedRows(),this.tableRenderer.setViewportSize(this.getRenderedRowsCount(),this.getRenderedColumnsCount()).setFilters(this.rowFilter,this.columnFilter).render(),this.isMaster&&(e=this.dataAccessObject.workspaceWidth,this.dataAccessObject.wtViewport.containerWidth=null,this.markOversizedColumnHeaders()),this.adjustColumnHeaderHeights(),(this.isMaster||this.is(u.CLONE_BOTTOM))&&this.markOversizedRows(),this.isMaster){this.dataAccessObject.wtViewport.createVisibleCalculators(),this.dataAccessObject.wtOverlays.refresh(!1),this.dataAccessObject.wtOverlays.applyToDOM();const t=(0,r.outerWidth)(this.hider),o=(0,r.outerWidth)(this.TABLE);0!==t&&o!==t&&(this.columnUtils.calculateWidths(),this.tableRenderer.renderer.colGroup.render()),e!==this.dataAccessObject.wtViewport.getWorkspaceWidth()&&(this.dataAccessObject.wtViewport.containerWidth=null,this.columnUtils.calculateWidths(),this.tableRenderer.renderer.colGroup.render()),this.wtSettings.getSetting("onDraw",!0)}else this.is(u.CLONE_BOTTOM)&&this.dataAccessObject.cloneSource.wtOverlays.adjustElementsSize()}}let m=!1;return this.isMaster&&(m=o.topOverlay.resetFixedPosition(),o.bottomOverlay.clone&&(m=o.bottomOverlay.resetFixedPosition()||m),m=o.inlineStartOverlay.resetFixedPosition()||m,o.topInlineStartCornerOverlay&&o.topInlineStartCornerOverlay.resetFixedPosition(),o.bottomInlineStartCornerOverlay&&o.bottomInlineStartCornerOverlay.clone&&o.bottomInlineStartCornerOverlay.resetFixedPosition()),m?(o.refreshAll(),o.adjustElementsSize()):this.dataAccessObject.selectionManager.setActiveOverlay(this.facadeGetter()).render(p),f&&o.syncScrollWithMaster(),this.dataAccessObject.drawn=!0,this}markIfOversizedColumnHeader(e){const t=this.columnFilter.renderedToSource(e);let o=this.wtSettings.getSetting("columnHeaders").length;const s=this.wtSettings.getSetting("defaultRowHeight");let n,i,l;const a=this.wtSettings.getSetting("columnHeaderHeight")||[];for(;o;)o-=1,n=this.getColumnHeaderHeight(o),i=this.getColumnHeader(t,o),i&&(l=(0,r.innerHeight)(i),(!n&&s<l||n<l)&&(this.dataAccessObject.wtViewport.oversizedColumnHeaders[o]=l),Array.isArray(a)?null!==a[o]&&void 0!==a[o]&&(this.dataAccessObject.wtViewport.oversizedColumnHeaders[o]=a[o]):isNaN(a)||(this.dataAccessObject.wtViewport.oversizedColumnHeaders[o]=a),this.dataAccessObject.wtViewport.oversizedColumnHeaders[o]<(a[o]||a)&&(this.dataAccessObject.wtViewport.oversizedColumnHeaders[o]=a[o]||a))}adjustColumnHeaderHeights(){const{wtSettings:e}=this,t=this.THEAD.childNodes,o=this.dataAccessObject.wtViewport.oversizedColumnHeaders;for(let s=0,n=e.getSetting("columnHeaders").length;s<n;s++)if(o[s]){if(!t[s]||0===t[s].childNodes.length)return;t[s].childNodes[0].style.height=`${o[s]}px`}}resetOversizedRows(){const{wtSettings:e}=this,{wtViewport:t}=this.dataAccessObject;if((this.isMaster||this.is(u.CLONE_BOTTOM))&&!e.getSetting("externalRowCalculator")){const e=this.getRenderedRowsCount();for(let o=0;o<e;o++){const e=this.rowFilter.renderedToSource(o);t.oversizedRows&&t.oversizedRows[e]&&(t.oversizedRows[e]=void 0)}}}getCell(e){let t=e.row,o=e.col;const s=this.wtSettings.getSetting("onModifyGetCellCoords",t,o);if(s&&Array.isArray(s)&&([t,o]=s),this.isRowBeforeRenderedRows(t))return-1;if(this.isRowAfterRenderedRows(t))return-2;if(this.isColumnBeforeRenderedColumns(o))return-3;if(this.isColumnAfterRenderedColumns(o))return-4;const n=this.getRow(t);if(!n&&t>=0)throw new Error("TR was expected to be rendered but is not");const r=n.childNodes[this.columnFilter.sourceColumnToVisibleRowHeadedColumn(o)];if(!r&&o>=0)throw new Error("TD or TH was expected to be rendered but is not");return r}getRow(e){let t=null,o=null;var s,n;e<0?(t=null===(s=this.rowFilter)||void 0===s?void 0:s.sourceRowToVisibleColHeadedRow(e),o=this.THEAD):(t=null===(n=this.rowFilter)||void 0===n?void 0:n.sourceToRendered(e),o=this.TBODY);return void 0!==t&&void 0!==o&&(!(o.childNodes.length<t+1)&&o.childNodes[t])}getColumnHeader(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const o=this.THEAD.childNodes[t];return null==o?void 0:o.childNodes[this.columnFilter.sourceColumnToVisibleRowHeadedColumn(e)]}getColumnHeaders(e){const t=[],o=this.columnFilter.sourceColumnToVisibleRowHeadedColumn(e);return this.THEAD.childNodes.forEach((e=>{const s=e.childNodes[o];s&&t.push(s)})),t}getRowHeader(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(t>=this.wtSettings.getSetting("rowHeaders").length)return;const o=this.rowFilter.sourceToRendered(e),s=o<0?this.rowFilter.sourceRowToVisibleColHeadedRow(e):o,n=(o<0?this.THEAD:this.TBODY).childNodes[s];return null==n?void 0:n.childNodes[t]}getRowHeaders(e){const t=[],o=this.wtSettings.getSetting("rowHeaders").length;for(let s=0;s<o;s++){const o=this.TBODY.childNodes[this.rowFilter.sourceToRendered(e)],n=null==o?void 0:o.childNodes[s];n&&t.push(n)}return t}getCoords(e){let t=e;if("TD"!==t.nodeName&&"TH"!==t.nodeName&&(t=(0,r.closest)(t,["TD","TH"])),null===t)return null;const o=t.parentNode,s=o.parentNode;let n=(0,r.index)(o),i=t.cellIndex;if((0,r.overlayContainsElement)(u.CLONE_TOP_INLINE_START_CORNER,t,this.wtRootElement)||(0,r.overlayContainsElement)(u.CLONE_TOP,t,this.wtRootElement))"THEAD"===s.nodeName&&(n-=s.childNodes.length);else if((0,r.overlayContainsElement)(u.CLONE_BOTTOM_INLINE_START_CORNER,t,this.wtRootElement)||(0,r.overlayContainsElement)(u.CLONE_BOTTOM,t,this.wtRootElement)){n=this.wtSettings.getSetting("totalRows")-s.childNodes.length+n}else n=s===this.THEAD?this.rowFilter.visibleColHeadedRowToSourceRow(n):this.rowFilter.renderedToSource(n);return i=(0,r.overlayContainsElement)(u.CLONE_TOP_INLINE_START_CORNER,t,this.wtRootElement)||(0,r.overlayContainsElement)(u.CLONE_INLINE_START,t,this.wtRootElement)||(0,r.overlayContainsElement)(u.CLONE_BOTTOM_INLINE_START_CORNER,t,this.wtRootElement)?this.columnFilter.offsettedTH(i):this.columnFilter.visibleRowHeadedColumnToSourceColumn(i),this.wot.createCellCoords(n,i)}markOversizedRows(){if(this.wtSettings.getSetting("externalRowCalculator"))return;let e=this.TBODY.childNodes.length;let t,o,s,n,i;if(e*this.wtSettings.getSetting("defaultRowHeight")!==(0,r.innerHeight)(this.TBODY)-1||this.wtSettings.getSetting("fixedRowsBottom"))for(;e;)e-=1,s=this.rowFilter.renderedToSource(e),t=this.getRowHeight(s),n=this.getTrForRow(s),i=n.querySelector("th"),o=i?(0,r.innerHeight)(i):(0,r.innerHeight)(n)-1,(!t&&this.wtSettings.getSetting("defaultRowHeight")<o||t<o)&&(o+=1,this.dataAccessObject.wtViewport.oversizedRows[s]=o)}getTrForRow(e){return this.TBODY.childNodes[this.rowFilter.sourceToRendered(e)]}isColumnHeaderRendered(e){if(e>=0)return!1;const t=this.wtSettings.getSetting("rowHeaders").length;return Math.abs(e)<=t}isRowHeaderRendered(e){if(e>=0)return!1;const t=this.wtSettings.getSetting("columnHeaders").length;return Math.abs(e)<=t}isRowBeforeRenderedRows(e){const t=this.getFirstRenderedRow();return e<0&&t<=0?!this.isRowHeaderRendered(e):e<t}isRowAfterRenderedRows(e){return e>this.getLastRenderedRow()}isColumnBeforeRenderedColumns(e){const t=this.getFirstRenderedColumn();return e<0&&t<=0?!this.isColumnHeaderRendered(e):e<t}isColumnAfterRenderedColumns(e){return this.columnFilter&&e>this.getLastRenderedColumn()}isColumnAfterViewport(e){return this.columnFilter&&e>this.getLastVisibleColumn()}isRowAfterViewport(e){return this.rowFilter&&e>this.getLastVisibleRow()}isColumnBeforeViewport(e){return this.columnFilter&&this.columnFilter.sourceToRendered(e)<0&&e>=0}isLastRowFullyVisible(){return this.getLastVisibleRow()===this.getLastRenderedRow()}isLastColumnFullyVisible(){return this.getLastVisibleColumn()===this.getLastRenderedColumn()}allRowsInViewport(){return this.wtSettings.getSetting("totalRows")===this.getVisibleRowsCount()}allColumnsInViewport(){return this.wtSettings.getSetting("totalColumns")===this.getVisibleColumnsCount()}getRowHeight(e){return this.rowUtils.getHeight(e)}getColumnHeaderHeight(e){return this.columnUtils.getHeaderHeight(e)}getColumnWidth(e){return this.columnUtils.getWidth(e)}getStretchedColumnWidth(e){return this.columnUtils.getStretchedColumnWidth(e)}hasDefinedSize(){return this.hasTableHeight&&this.hasTableWidth}getWidth(){return(0,r.outerWidth)(this.TABLE)}getHeight(){return(0,r.outerHeight)(this.TABLE)}getTotalWidth(){const e=(0,r.outerWidth)(this.hider);return 0!==e?e:this.getWidth()}getTotalHeight(){const e=(0,r.outerHeight)(this.hider);return 0!==e?e:this.getHeight()}isVisible(){return(0,r.isVisible)(this.TABLE)}_modifyRowHeaderWidth(e){let t=(0,i.isFunction)(e)?e():null;return Array.isArray(t)?(t=[...t],t[t.length-1]=this._correctRowHeaderWidth(t[t.length-1])):t=this._correctRowHeaderWidth(t),t}_correctRowHeaderWidth(e){let t=e;return"number"!=typeof e&&(t=this.wtSettings.getSetting("defaultColumnWidth")),this.correctHeaderWidth&&(t+=1),t}}},86363:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=s(o(45460)),r=s(o(6271)),i=s(o(92117)),l=o(22232),a=o(89381);class h extends n.default{constructor(e,t,o,s){super(e,t,o,s,a.CLONE_BOTTOM)}}(0,l.mixin)(h,r.default),(0,l.mixin)(h,i.default);t.default=h},58654:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=s(o(45460)),r=s(o(6271)),i=s(o(6214)),l=o(22232),a=o(89381);class h extends n.default{constructor(e,t,o,s){super(e,t,o,s,a.CLONE_BOTTOM_INLINE_START_CORNER)}}(0,l.mixin)(h,r.default),(0,l.mixin)(h,i.default);t.default=h},32173:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=s(o(45460)),r=s(o(37610)),i=s(o(6214)),l=o(22232),a=o(89381);class h extends n.default{constructor(e,t,o,s){super(e,t,o,s,a.CLONE_INLINE_START)}}(0,l.mixin)(h,r.default),(0,l.mixin)(h,i.default);t.default=h},94915:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=o(83302),r=s(o(45460)),i=s(o(37610)),l=s(o(92117)),a=o(22232);class h extends r.default{constructor(e,t,o,s){super(e,t,o,s,"master")}alignOverlaysWithTrimmingContainer(){const e=(0,n.getTrimmingContainer)(this.wtRootElement),{rootWindow:t}=this.domBindings;if(e===t){this.wtSettings.getSetting("preventOverflow")||(this.holder.style.overflow="visible",this.wtRootElement.style.overflow="visible")}else{const o=e.parentElement,s=(0,n.getStyle)(e,"height",t),r=(0,n.getStyle)(e,"overflow",t),i=this.holder.style,{scrollWidth:l,scrollHeight:a}=e;let h=e.offsetWidth,d=e.offsetHeight;if(o&&["auto","hidden","scroll"].includes(r)){const s=e.cloneNode(!1);s.style.overflow="auto",s.style.position="absolute",e.nextElementSibling?o.insertBefore(s,e.nextElementSibling):o.appendChild(s);const r=parseInt((0,n.getComputedStyle)(s,t).height,10);o.removeChild(s),0===r&&(d=0)}d=Math.min(d,a),i.height="auto"===s?"auto":`${d}px`,h=Math.min(h,l),i.width=`${h}px`,i.overflow="",this.hasTableHeight="auto"===i.height||d>0,this.hasTableWidth=h>0}this.isTableVisible=(0,n.isVisible)(this.TABLE)}markOversizedColumnHeaders(){const{wtSettings:e}=this,{wtViewport:t}=this.dataAccessObject,o="master",s=e.getSetting("columnHeaders").length;if(s&&!t.hasOversizedColumnHeadersMarked[o]){const n=e.getSetting("rowHeaders").length,r=this.getRenderedColumnsCount();for(let e=0;e<s;e++)for(let e=-1*n;e<r;e++)this.markIfOversizedColumnHeader(e);t.hasOversizedColumnHeadersMarked[o]=!0}}}(0,a.mixin)(h,i.default),(0,a.mixin)(h,l.default);t.default=h},92117:(e,t,o)=>{"use strict";t.__esModule=!0;const s={getFirstRenderedColumn(){const e=this.dataAccessObject.startColumnRendered;return null===e?-1:e},getFirstVisibleColumn(){const e=this.dataAccessObject.startColumnVisible;return null===e?-1:e},getLastRenderedColumn(){const e=this.dataAccessObject.endColumnRendered;return null===e?-1:e},getLastVisibleColumn(){const e=this.dataAccessObject.endColumnVisible;return null===e?-1:e},getRenderedColumnsCount(){return this.dataAccessObject.countColumnsRendered},getVisibleColumnsCount(){return this.dataAccessObject.countColumnsVisible},getRowHeadersCount(){return this.dataAccessObject.rowHeaders.length}};(0,o(22232).defineGetter)(s,"MIXIN_NAME","calculatedColumns",{writable:!1,enumerable:!1});t.default=s},37610:(e,t,o)=>{"use strict";t.__esModule=!0;const s={getFirstRenderedRow(){const e=this.dataAccessObject.startRowRendered;return null===e?-1:e},getFirstVisibleRow(){const e=this.dataAccessObject.startRowVisible;return null===e?-1:e},getLastRenderedRow(){const e=this.dataAccessObject.endRowRendered;return null===e?-1:e},getLastVisibleRow(){const e=this.dataAccessObject.endRowVisible;return null===e?-1:e},getRenderedRowsCount(){return this.dataAccessObject.countRowsRendered},getVisibleRowsCount(){return this.dataAccessObject.countRowsVisible},getColumnHeadersCount(){return this.dataAccessObject.columnHeaders.length}};(0,o(22232).defineGetter)(s,"MIXIN_NAME","calculatedRows",{writable:!1,enumerable:!1});t.default=s},6214:(e,t,o)=>{"use strict";t.__esModule=!0;const s={getFirstRenderedColumn(){return 0===this.wtSettings.getSetting("totalColumns")?-1:0},getFirstVisibleColumn(){return this.getFirstRenderedColumn()},getLastRenderedColumn(){return this.getRenderedColumnsCount()-1},getLastVisibleColumn(){return this.getLastRenderedColumn()},getRenderedColumnsCount(){const e=this.wtSettings.getSetting("totalColumns");return Math.min(this.wtSettings.getSetting("fixedColumnsStart"),e)},getVisibleColumnsCount(){return this.getRenderedColumnsCount()},getRowHeadersCount(){return this.dataAccessObject.rowHeaders.length}};(0,o(22232).defineGetter)(s,"MIXIN_NAME","stickyColumnsStart",{writable:!1,enumerable:!1});t.default=s},6271:(e,t,o)=>{"use strict";t.__esModule=!0;const s={getFirstRenderedRow(){const e=this.wtSettings.getSetting("totalRows"),t=this.wtSettings.getSetting("fixedRowsBottom"),o=e-t;return 0===e||0===t?-1:o<0?0:o},getFirstVisibleRow(){return this.getFirstRenderedRow()},getLastRenderedRow(){return this.wtSettings.getSetting("totalRows")-1},getLastVisibleRow(){return this.getLastRenderedRow()},getRenderedRowsCount(){const e=this.wtSettings.getSetting("totalRows");return Math.min(this.wtSettings.getSetting("fixedRowsBottom"),e)},getVisibleRowsCount(){return this.getRenderedRowsCount()},getColumnHeadersCount:()=>0};(0,o(22232).defineGetter)(s,"MIXIN_NAME","stickyRowsBottom",{writable:!1,enumerable:!1});t.default=s},15491:(e,t,o)=>{"use strict";t.__esModule=!0;const s={getFirstRenderedRow(){return 0===this.wtSettings.getSetting("totalRows")?-1:0},getFirstVisibleRow(){return this.getFirstRenderedRow()},getLastRenderedRow(){return this.getRenderedRowsCount()-1},getLastVisibleRow(){return this.getLastRenderedRow()},getRenderedRowsCount(){const e=this.wtSettings.getSetting("totalRows");return Math.min(this.wtSettings.getSetting("fixedRowsTop"),e)},getVisibleRowsCount(){return this.getRenderedRowsCount()},getColumnHeadersCount(){return this.dataAccessObject.columnHeaders.length}};(0,o(22232).defineGetter)(s,"MIXIN_NAME","stickyRowsTop",{writable:!1,enumerable:!1});t.default=s},85043:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=s(o(45460)),r=s(o(15491)),i=s(o(92117)),l=o(22232),a=o(89381);class h extends n.default{constructor(e,t,o,s){super(e,t,o,s,a.CLONE_TOP)}}(0,l.mixin)(h,r.default),(0,l.mixin)(h,i.default);t.default=h},56754:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=s(o(45460)),r=s(o(15491)),i=s(o(6214)),l=o(22232),a=o(89381);class h extends n.default{constructor(e,t,o,s){super(e,t,o,s,a.CLONE_TOP_INLINE_START_CORNER)}}(0,l.mixin)(h,r.default),(0,l.mixin)(h,i.default);t.default=h},35863:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(83302);t.default=class{constructor(e,t){this.dataAccessObject=e,this.wtSettings=t,this.headerWidths=new Map}getWidth(e){return this.wtSettings.getSetting("columnWidth",e)||this.wtSettings.getSetting("defaultColumnWidth")}getStretchedColumnWidth(e){const t=this.dataAccessObject.wtViewport.columnsRenderCalculator;let o=this.getWidth(e);if(t){const s=t.getStretchedColumnWidth(e,o);s&&(o=s)}return o}getHeaderHeight(e){let t=this.wtSettings.getSetting("defaultRowHeight");const o=this.dataAccessObject.wtViewport.oversizedColumnHeaders[e];return void 0!==o&&(t=t?Math.max(t,o):o),t}getHeaderWidth(e){return this.headerWidths.get(this.dataAccessObject.wtTable.columnFilter.sourceToRendered(e))}calculateWidths(){const{wtSettings:e}=this,{wtTable:t,wtViewport:o,cloneSource:n}=this.dataAccessObject,r=n?n.wtTable.holder:t.holder,i=r.offsetHeight<r.scrollHeight?(0,s.getScrollbarWidth)():0;let l=e.getSetting("rowHeaderWidth");if(o.columnsRenderCalculator.refreshStretching(o.getViewportWidth()-i),l=e.getSetting("onModifyRowHeaderWidth",l),null!=l){const t=e.getSetting("rowHeaders").length,o=e.getSetting("defaultColumnWidth");for(let e=0;e<t;e++){let t=Array.isArray(l)?l[e]:l;t=null==t?o:t,this.headerWidths.set(e,t)}}}}},94191:(e,t)=>{"use strict";t.__esModule=!0;t.default=class{constructor(e){this.nodeType=e.toUpperCase()}setRootDocument(e){this.rootDocument=e}obtain(){return this.rootDocument.createElement(this.nodeType)}}},81787:(e,t)=>{"use strict";t.__esModule=!0;t.WORKING_SPACE_ALL=0,t.WORKING_SPACE_TOP=1,t.WORKING_SPACE_BOTTOM=2},1909:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=s(o(55407));t.OrderView=n.default;var r=s(o(52025));t.SharedOrderView=r.default},52025:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=s(o(55407));class r extends n.default{prependView(e){return this.sizeSet.prepend(e.sizeSet),e.sizeSet.append(this.sizeSet),this}appendView(e){return this.sizeSet.append(e.sizeSet),e.sizeSet.prepend(this.sizeSet),this}}t.default=r},55407:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(63517);var n=o(81787),r=s(o(96747));t.default=class{constructor(e,t,o){this.rootNode=e,this.nodesPool=t,this.sizeSet=new r.default,this.childNodeType=o.toUpperCase(),this.visualIndex=0,this.collectedNodes=[]}setSize(e){return this.sizeSet.setSize(e),this}setOffset(e){return this.sizeSet.setOffset(e),this}isSharedViewSet(){return this.sizeSet.isShared()}getNode(e){return e<this.collectedNodes.length?this.collectedNodes[e]:null}getCurrentNode(){const e=this.collectedNodes.length;return e>0?this.collectedNodes[e-1]:null}getRenderedChildCount(){const{rootNode:e,sizeSet:t}=this;let o=0;if(this.isSharedViewSet()){let s=e.firstElementChild;for(;s;){if(s.tagName===this.childNodeType)o+=1;else if(t.isPlaceOn(n.WORKING_SPACE_TOP))break;s=s.nextElementSibling}}else o=e.childElementCount;return o}start(){this.collectedNodes.length=0,this.visualIndex=0;const{rootNode:e,sizeSet:t}=this,o=this.isSharedViewSet(),{nextSize:s}=t.getViewSize();let r=this.getRenderedChildCount();for(;r<s;){const s=this.nodesPool();!o||o&&t.isPlaceOn(n.WORKING_SPACE_BOTTOM)?e.appendChild(s):e.insertBefore(s,e.firstChild),r+=1}const i=o&&t.isPlaceOn(n.WORKING_SPACE_TOP);for(;r>s;)e.removeChild(i?e.firstChild:e.lastChild),r-=1}render(){const{rootNode:e,sizeSet:t}=this;let o=this.visualIndex;this.isSharedViewSet()&&t.isPlaceOn(n.WORKING_SPACE_BOTTOM)&&(o+=t.sharedSize.nextSize);let s=e.childNodes[o];if(s.tagName!==this.childNodeType){const t=this.nodesPool();e.replaceChild(t,s),s=t}this.collectedNodes.push(s),this.visualIndex+=1}end(){}}},79193:(e,t)=>{"use strict";t.__esModule=!0;t.default=class{constructor(){this.currentSize=0,this.nextSize=0,this.currentOffset=0,this.nextOffset=0}setSize(e){this.currentSize=this.nextSize,this.nextSize=e}setOffset(e){this.currentOffset=this.nextOffset,this.nextOffset=e}}},96747:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=s(o(79193)),r=o(81787);t.default=class{constructor(){this.size=new n.default,this.workingSpace=r.WORKING_SPACE_ALL,this.sharedSize=null}setSize(e){this.size.setSize(e)}setOffset(e){this.size.setOffset(e)}getViewSize(){return this.size}isShared(){return this.sharedSize instanceof n.default}isPlaceOn(e){return this.workingSpace===e}append(e){this.workingSpace=r.WORKING_SPACE_TOP,e.workingSpace=r.WORKING_SPACE_BOTTOM,this.sharedSize=e.getViewSize()}prepend(e){this.workingSpace=r.WORKING_SPACE_BOTTOM,e.workingSpace=r.WORKING_SPACE_TOP,this.sharedSize=e.getViewSize()}}},72772:(e,t)=>{"use strict";t.__esModule=!0;t.default=class{constructor(e,t){this.dataAccessObject=e,this.wtSettings=t}getHeight(e){let t=this.wtSettings.getSetting("rowHeight",e);const o=this.dataAccessObject.wtViewport.oversizedRows[e];return void 0!==o&&(t=void 0===t?o:Math.max(t,o)),t}}},57293:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(83302),n=o(22232),r=o(46003);t.default=class{constructor(e,t,o,s,n){this.dataAccessObject=e,this.wot=e.wot,this.instance=this.wot,this.domBindings=t,this.wtSettings=o,this.wtTable=n,this.oversizedRows=[],this.oversizedColumnHeaders=[],this.hasOversizedColumnHeadersMarked={},this.clientHeight=0,this.containerWidth=NaN,this.rowHeaderWidth=NaN,this.rowsVisibleCalculator=null,this.columnsVisibleCalculator=null,this.eventManager=s,this.eventManager.addEventListener(this.domBindings.rootWindow,"resize",(()=>{this.clientHeight=this.getWorkspaceHeight()}))}getWorkspaceHeight(){const e=this.domBindings.rootDocument,t=this.dataAccessObject.topOverlayTrimmingContainer;let o=0;if(t===this.domBindings.rootWindow)o=e.documentElement.clientHeight;else{o=(0,s.outerHeight)(t)>0&&t.clientHeight>0?t.clientHeight:1/0}return o}getWorkspaceWidth(){const{wtSettings:e}=this,{rootDocument:t,rootWindow:o}=this.domBindings,n=this.dataAccessObject.inlineStartOverlayTrimmingContainer,r=t.documentElement.offsetWidth,i=e.getSetting("totalColumns"),l=e.getSetting("preventOverflow"),a=e.getSetting("rtlMode"),h=this.wtTable.TABLE.getBoundingClientRect(),d=r-(a?h.right-r:h.left);let c,u;if(l)return(0,s.outerWidth)(this.wtTable.wtRootElement);if(c=e.getSetting("freezeOverlays")?Math.min(d,r):Math.min(this.getContainerFillWidth(),d,r),n===o&&i>0&&this.sumColumnWidths(0,i-1)>c)return t.documentElement.clientWidth;if(n!==o&&(u=(0,s.getStyle)(this.dataAccessObject.inlineStartOverlayTrimmingContainer,"overflow",o),"scroll"===u||"hidden"===u||"auto"===u))return Math.max(c,n.clientWidth);const g=e.getSetting("stretchH");return"none"!==g&&g?c:Math.max(c,(0,s.outerWidth)(this.wtTable.TABLE))}hasVerticalScroll(){return this.wtTable.hider.offsetHeight>this.getWorkspaceHeight()}hasHorizontalScroll(){return this.wtTable.hider.offsetWidth>this.getWorkspaceWidth()}sumColumnWidths(e,t){let o=0,s=e;for(;s<t;)o+=this.wtTable.getColumnWidth(s),s+=1;return o}getContainerFillWidth(){if(this.containerWidth)return this.containerWidth;const e=this.wtTable.holder,t=this.domBindings.rootDocument.createElement("div");t.style.width="100%",t.style.height="1px",e.appendChild(t);const o=t.offsetWidth;return this.containerWidth=o,e.removeChild(t),o}getWorkspaceOffset(){return(0,s.offset)(this.wtTable.TABLE)}getColumnHeaderHeight(){return this.wtSettings.getSetting("columnHeaders").length?isNaN(this.columnHeaderHeight)&&(this.columnHeaderHeight=(0,s.outerHeight)(this.wtTable.THEAD)):this.columnHeaderHeight=0,this.columnHeaderHeight}getViewportHeight(){let e=this.getWorkspaceHeight();if(e===1/0)return e;const t=this.getColumnHeaderHeight();return t>0&&(e-=t),e}getRowHeaderWidth(){const e=this.wtSettings.getSetting("rowHeaderWidth"),t=this.wtSettings.getSetting("rowHeaders");if(e){this.rowHeaderWidth=0;for(let o=0,s=t.length;o<s;o++)this.rowHeaderWidth+=e[o]||e}if(isNaN(this.rowHeaderWidth))if(t.length){let e=this.wtTable.TABLE.querySelector("TH");this.rowHeaderWidth=0;for(let o=0,n=t.length;o<n;o++)e?(this.rowHeaderWidth+=(0,s.outerWidth)(e),e=e.nextSibling):this.rowHeaderWidth+=50}else this.rowHeaderWidth=0;return this.rowHeaderWidth=this.wtSettings.getSetting("onModifyRowHeaderWidth",this.rowHeaderWidth)||this.rowHeaderWidth,this.rowHeaderWidth}getViewportWidth(){const e=this.getWorkspaceWidth();if(e===1/0)return e;const t=this.getRowHeaderWidth();return t>0?e-t:e}createRowsCalculator(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:r.RENDER_TYPE;const{wtSettings:t,wtTable:o}=this;let n,i,l;this.rowHeaderWidth=NaN,n=t.getSetting("renderAllRows")&&e===r.RENDER_TYPE?1/0:this.getViewportHeight();let a=this.dataAccessObject.topScrollPosition-this.dataAccessObject.topParentOffset;const h=t.getSetting("fixedRowsTop"),d=t.getSetting("fixedRowsBottom"),c=t.getSetting("totalRows");return h&&a>=0&&(l=this.dataAccessObject.topOverlay.sumCellSizes(0,h),a+=l,n-=l),d&&this.dataAccessObject.bottomOverlay.clone&&(l=this.dataAccessObject.bottomOverlay.sumCellSizes(c-d,c),n-=l),i=o.holder.clientHeight===o.holder.offsetHeight?0:(0,s.getScrollbarWidth)(this.domBindings.rootDocument),new r.ViewportRowsCalculator({viewportSize:n,scrollOffset:a,totalItems:t.getSetting("totalRows"),itemSizeFn:e=>o.getRowHeight(e),overrideFn:t.getSettingPure("viewportRowCalculatorOverride"),calculationType:e,scrollbarHeight:i})}createColumnsCalculator(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:r.RENDER_TYPE;const{wtSettings:t,wtTable:o}=this;let n=this.getViewportWidth(),i=Math.abs(this.dataAccessObject.inlineStartScrollPosition)-this.dataAccessObject.inlineStartParentOffset;this.columnHeaderHeight=NaN;const l=t.getSetting("fixedColumnsStart");if(l&&i>=0){const e=this.dataAccessObject.inlineStartOverlay.sumCellSizes(0,l);i+=e,n-=e}return o.holder.clientWidth!==o.holder.offsetWidth&&(n-=(0,s.getScrollbarWidth)(this.domBindings.rootDocument)),new r.ViewportColumnsCalculator({viewportSize:n,scrollOffset:i,totalItems:t.getSetting("totalColumns"),itemSizeFn:e=>o.getColumnWidth(e),overrideFn:t.getSettingPure("viewportColumnCalculatorOverride"),calculationType:e,stretchMode:t.getSetting("stretchH"),stretchingItemWidthFn:(e,o)=>t.getSetting("onBeforeStretchingColumnWidth",e,o),inlineStartOffset:this.dataAccessObject.inlineStartParentOffset})}createRenderCalculators(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(e){const t=this.createRowsCalculator(r.FULLY_VISIBLE_TYPE),o=this.createColumnsCalculator(r.FULLY_VISIBLE_TYPE);this.areAllProposedVisibleRowsAlreadyRendered(t)&&this.areAllProposedVisibleColumnsAlreadyRendered(o)||(e=!1)}return e||(this.rowsRenderCalculator=this.createRowsCalculator(r.RENDER_TYPE),this.columnsRenderCalculator=this.createColumnsCalculator(r.RENDER_TYPE)),this.rowsVisibleCalculator=null,this.columnsVisibleCalculator=null,e}createVisibleCalculators(){this.rowsVisibleCalculator=this.createRowsCalculator(r.FULLY_VISIBLE_TYPE),this.columnsVisibleCalculator=this.createColumnsCalculator(r.FULLY_VISIBLE_TYPE)}areAllProposedVisibleRowsAlreadyRendered(e){if(!this.rowsVisibleCalculator)return!1;const{startRow:t,endRow:o,isVisibleInTrimmingContainer:s}=e;if(null===t&&null===o)return!s;const{startRow:n,endRow:r}=this.rowsRenderCalculator;return!(t<n||t===n&&t>0)&&!(o>r||o===r&&o<this.wtSettings.getSetting("totalRows")-1)}areAllProposedVisibleColumnsAlreadyRendered(e){if(!this.columnsVisibleCalculator)return!1;const{startColumn:t,endColumn:o,isVisibleInTrimmingContainer:s}=e;if(null===t&&null===o)return!s;const{startColumn:n,endColumn:r}=this.columnsRenderCalculator;return!(t<n||t===n&&t>0)&&!(o>r||o===r&&o<this.wtSettings.getSetting("totalColumns")-1)}resetHasOversizedColumnHeadersMarked(){(0,n.objectEach)(this.hasOversizedColumnHeadersMarked,((e,t,o)=>{o[t]=void 0}))}}},73596:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(16247),o(25671),o(97796),o(36662);var n=s(o(78900)),r=o(45433),i=o(3177),l=s(o(56307)),a=o(22489),h=o(65324),d=o(57924),c=o(48253),u=o(21280);function g(e,t){const o=new n.default(e,t||{},r.rootInstanceSymbol);return o.init(),o}t.CellCoords=u.CellCoords,t.CellRange=u.CellRange,(0,h.registerCellType)(d.TextCellType),g.editors={BaseEditor:c.BaseEditor},g.Core=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new n.default(e,t,r.rootInstanceSymbol)},g.DefaultSettings=(0,i.metaSchemaFactory)(),g.hooks=l.default.getSingleton(),g.CellCoords=u.CellCoords,g.CellRange=u.CellRange,g.packageName="handsontable",g.buildDate="30/10/2023 09:28:44",g.version="14.0.0-next-e8f87aa-20231030",g.languages={dictionaryKeys:a.dictionaryKeys,getLanguageDictionary:a.getLanguageDictionary,getLanguagesDictionaries:a.getLanguagesDictionaries,registerLanguageDictionary:a.registerLanguageDictionary,getTranslatedPhrase:a.getTranslatedPhrase};t.default=g},78380:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(25815),n=o(16124),r=o(67156);const i=t.CELL_TYPE="autocomplete";t.AutocompleteCellType={CELL_TYPE:i,editor:s.AutocompleteEditor,renderer:n.autocompleteRenderer,validator:r.autocompleteValidator}},83954:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(78380);t.AutocompleteCellType=s.AutocompleteCellType,t.CELL_TYPE=s.CELL_TYPE},30749:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(63729),n=o(8877);const r=t.CELL_TYPE="checkbox";t.CheckboxCellType={CELL_TYPE:r,editor:s.CheckboxEditor,renderer:n.checkboxRenderer}},42855:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(30749);t.CELL_TYPE=s.CELL_TYPE,t.CheckboxCellType=s.CheckboxCellType},24259:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(58437),n=o(56522),r=o(82951);const i=t.CELL_TYPE="date";t.DateCellType={CELL_TYPE:i,editor:s.DateEditor,renderer:n.dateRenderer,validator:r.dateValidator}},56844:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(24259);t.CELL_TYPE=s.CELL_TYPE,t.DateCellType=s.DateCellType},72061:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(9535),n=o(16124),r=o(67156);const i=t.CELL_TYPE="dropdown";t.DropdownCellType={CELL_TYPE:i,editor:s.DropdownEditor,renderer:n.autocompleteRenderer,validator:r.autocompleteValidator}},65867:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(72061);t.CELL_TYPE=s.CELL_TYPE,t.DropdownCellType=s.DropdownCellType},85334:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(93273),n=o(67981);const r=t.CELL_TYPE="handsontable";t.HandsontableCellType={CELL_TYPE:r,editor:s.HandsontableEditor,renderer:n.handsontableRenderer}},243:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(85334);t.CELL_TYPE=s.CELL_TYPE,t.HandsontableCellType=s.HandsontableCellType},74319:(e,t,o)=>{"use strict";t.__esModule=!0,t.registerAllCellTypes=function(){(0,g.registerCellType)(s.AutocompleteCellType),(0,g.registerCellType)(n.CheckboxCellType),(0,g.registerCellType)(r.DateCellType),(0,g.registerCellType)(i.DropdownCellType),(0,g.registerCellType)(l.HandsontableCellType),(0,g.registerCellType)(a.NumericCellType),(0,g.registerCellType)(h.PasswordCellType),(0,g.registerCellType)(d.SelectCellType),(0,g.registerCellType)(c.TextCellType),(0,g.registerCellType)(u.TimeCellType)};var s=o(83954);t.AutocompleteCellType=s.AutocompleteCellType,t.AUTOCOMPLETE_TYPE=s.CELL_TYPE;var n=o(42855);t.CheckboxCellType=n.CheckboxCellType,t.CHECKBOX_TYPE=n.CELL_TYPE;var r=o(56844);t.DateCellType=r.DateCellType,t.DATE_TYPE=r.CELL_TYPE;var i=o(65867);t.DropdownCellType=i.DropdownCellType,t.DROPDOWN_TYPE=i.CELL_TYPE;var l=o(243);t.HandsontableCellType=l.HandsontableCellType,t.HANDSONTABLE_TYPE=l.CELL_TYPE;var a=o(68683);t.NumericCellType=a.NumericCellType,t.NUMERIC_TYPE=a.CELL_TYPE;var h=o(81762);t.PasswordCellType=h.PasswordCellType,t.PASSWORD_TYPE=h.CELL_TYPE;var d=o(12256);t.SelectCellType=d.SelectCellType,t.SELECT_TYPE=d.CELL_TYPE;var c=o(57924);t.TextCellType=c.TextCellType,t.TEXT_TYPE=c.CELL_TYPE;var u=o(8228);t.TimeCellType=u.TimeCellType,t.TIME_TYPE=u.CELL_TYPE;var g=o(65324);t.registerCellType=g.registerCellType,t.getCellType=g.getCellType,t.getRegisteredCellTypeNames=g.getRegisteredCellTypeNames,t.getRegisteredCellTypes=g.getRegisteredCellTypes,t.hasCellType=g.hasCellType},68683:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(79486);t.CELL_TYPE=s.CELL_TYPE,t.NumericCellType=s.NumericCellType},79486:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(97130),n=o(78416),r=o(71);const i=t.CELL_TYPE="numeric";t.NumericCellType={CELL_TYPE:i,editor:s.NumericEditor,renderer:n.numericRenderer,validator:r.numericValidator,dataType:"number"}},81762:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(40229);t.CELL_TYPE=s.CELL_TYPE,t.PasswordCellType=s.PasswordCellType},40229:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(63630),n=o(76978);const r=t.CELL_TYPE="password";t.PasswordCellType={CELL_TYPE:r,editor:s.PasswordEditor,renderer:n.passwordRenderer,copyable:!1}},65324:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,t.getCellType=function(e){if(!d(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:o,renderer:s,validator:n}=t;o&&(0,r.registerEditor)(e,o);s&&(0,i.registerRenderer)(e,s);n&&(0,l.registerValidator)(e,n);a(e,t)},o(91683);var n=s(o(63800)),r=o(83605),i=o(7462),l=o(80239);const{register:a,getItem:h,hasItem:d,getNames:c,getValues:u}=(0,n.default)("cellTypes");t.getRegisteredCellTypes=u,t.getRegisteredCellTypeNames=c,t.hasCellType=d},12256:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(2145);t.CELL_TYPE=s.CELL_TYPE,t.SelectCellType=s.SelectCellType},2145:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(93333),n=o(73619);const r=t.CELL_TYPE="select";t.SelectCellType={CELL_TYPE:r,editor:s.SelectEditor,renderer:n.selectRenderer}},57924:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(80617);t.CELL_TYPE=s.CELL_TYPE,t.TextCellType=s.TextCellType},80617:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(5071),n=o(50695);const r=t.CELL_TYPE="text";t.TextCellType={CELL_TYPE:r,editor:s.TextEditor,renderer:n.textRenderer}},8228:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(90214);t.CELL_TYPE=s.CELL_TYPE,t.TimeCellType=s.TimeCellType},90214:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(65930),n=o(43853),r=o(85342);const i=t.CELL_TYPE="time";t.TimeCellType={CELL_TYPE:i,editor:s.TimeEditor,renderer:n.timeRenderer,validator:r.timeValidator}},78900:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,t.default=function(e,t){var o,s=this;let k=arguments.length>2&&void 0!==arguments[2]&&arguments[2],F=!1,V=this;const W=new h.default(V);let B,U,Y,j,G,z=!0;(0,_.hasValidParameter)(k)&&(0,_.registerAsRootInstance)(this);this.rootElement=e,this.rootDocument=e.ownerDocument,this.rootWindow=this.rootDocument.defaultView,this.isDestroyed=!1,this.renderSuspendedCounter=0,this.executionSuspendedCounter=0;const $=null!==(o=null==t?void 0:t.layoutDirection)&&void 0!==o?o:"inherit",K=["rtl","ltr"].includes($)?$:this.rootWindow.getComputedStyle(this.rootElement).direction;this.rootElement.setAttribute("dir",K),this.isRtl=function(){return"rtl"===K},this.isLtr=function(){return!V.isRtl()},this.getDirectionFactor=function(){return V.isLtr()?1:-1},t.language=(0,M.getValidLanguageCode)(t.language);const X=new A.MetaManager(V,t,[A.DynamicCellMetaMod,A.ExtendMetaPropertiesMod]),q=X.getTableMeta(),Q=X.getGlobalMeta(),J=(0,P.createUniqueMap)();this.container=this.rootDocument.createElement("div"),this.renderCall=!1,e.insertBefore(this.container,e.firstChild),(0,_.isRootInstance)(this)&&(0,i._injectProductInfo)(t.licenseKey,e);this.guid=`ht_${(0,w.randomString)()}`,L.set(this.guid,this),this.columnIndexMapper=new R.IndexMapper,this.rowIndexMapper=new R.IndexMapper,this.columnIndexMapper.addLocalHook("indexesSequenceChange",(e=>{V.runHooks("afterColumnSequenceChange",e)})),this.rowIndexMapper.addLocalHook("indexesSequenceChange",(e=>{V.runHooks("afterRowSequenceChange",e)})),U=new v.default(V),this.rootElement.id&&"ht_"!==this.rootElement.id.substring(0,3)||(this.rootElement.id=this.guid);let Z=new I.Selection(q,{rowIndexMapper:V.rowIndexMapper,columnIndexMapper:V.columnIndexMapper,countCols:()=>V.countCols(),countRows:()=>V.countRows(),propToCol:e=>B.propToCol(e),isEditorOpened:()=>!!V.getActiveEditor()&&V.getActiveEditor().isOpened(),countRenderableColumns:()=>this.view.countRenderableColumns(),countRenderableRows:()=>this.view.countRenderableRows(),countRowHeaders:()=>this.countRowHeaders(),countColHeaders:()=>this.countColHeaders(),getShortcutManager:()=>V.getShortcutManager(),createCellCoords:(e,t)=>V._createCellCoords(e,t),createCellRange:(e,t,o)=>V._createCellRange(e,t,o),visualToRenderableCoords:e=>{const{row:t,col:o}=e;return V._createCellCoords(t>=0?V.rowIndexMapper.getRenderableFromVisualIndex(t):t,o>=0?V.columnIndexMapper.getRenderableFromVisualIndex(o):o)},renderableToVisualCoords:e=>{const{row:t,col:o}=e;return V._createCellCoords(t>=0?V.rowIndexMapper.getVisualFromRenderableIndex(t):t,o>=0?V.columnIndexMapper.getVisualFromRenderableIndex(o):o)},isDisabledCellSelection:(e,t)=>V.getCellMeta(e,t).disableVisualSelection});this.selection=Z;const ee=e=>{let{hiddenIndexesChanged:t}=e;t&&this.selection.refresh()};function te(e){const t=(0,O.normalizeLanguageCode)(e);(0,M.hasLanguageDictionary)(t)?(V.runHooks("beforeLanguageChange",t),Q.language=t,V.runHooks("afterLanguageChange",t)):(0,O.warnUserAboutLanguageRegistration)(e)}function oe(e,t){const o="className"===e?V.rootElement:V.table;if(z)(0,n.addClass)(o,t);else{let s=[],r=[];Q[e]&&(s=Array.isArray(Q[e])?Q[e]:(0,u.stringToArray)(Q[e])),t&&(r=Array.isArray(t)?t:(0,u.stringToArray)(t));const i=(0,u.getDifferenceOfArrays)(s,r),l=(0,u.getDifferenceOfArrays)(r,s);i.length&&(0,n.removeClass)(o,i),l.length&&(0,n.addClass)(o,l)}Q[e]=t}function se(){let e=!1;return{validatorsInQueue:0,valid:!0,addValidatorToQueue(){this.validatorsInQueue+=1,e=!1},removeValidatorFormQueue(){this.validatorsInQueue=this.validatorsInQueue-1<0?0:this.validatorsInQueue-1,this.checkIfQueueIsEmpty()},onQueueEmpty(){},checkIfQueueIsEmpty(){0===this.validatorsInQueue&&!1===e&&(e=!0,this.onQueueEmpty(this.valid))}}}function ne(e){const t=e.replace(",",".");return!1===isNaN(parseFloat(t))?parseFloat(t):e}function re(e,t,o){if(!e.length)return;const s=V.getActiveEditor(),r=new se;let i=!0;r.onQueueEmpty=e=>{s&&i&&s.cancelChanges(),o(e)};for(let o=e.length-1;o>=0;o--){const[s,l,,a]=e[o],h=B.propToCol(l),d=V.getCellMeta(s,h);"numeric"===d.type&&"string"==typeof a&&(0,E.isNumericLike)(a)&&(e[o][3]=ne(a)),V.getCellValidator(d)&&(r.addValidatorToQueue(),V.validateCell(e[o][3],d,function(t,o){return function(s){if("boolean"!=typeof s)throw new Error("Validation error: result is not boolean");if(!1===s&&!1===o.allowInvalid){i=!1,e.splice(t,1),o.valid=!0;const s=V.getCell(o.visualRow,o.visualCol);null!==s&&(0,n.removeClass)(s,q.invalidCellClassName)}r.removeValidatorFormQueue()}}(o,d),t))}r.checkIfQueueIsEmpty()}function ie(e,t){let o=e.length-1;if(o<0)return;for(;o>=0;o--){let s=!1;if(null!==e[o]){if(null!==e[o][2]&&void 0!==e[o][2]||null!==e[o][3]&&void 0!==e[o][3]){if(q.allowInsertRow)for(;e[o][0]>V.countRows()-1;){const{delta:e}=B.createRow(void 0,void 0,{source:t});if(0===e){s=!0;break}}if("array"===V.dataType&&(!q.columns||0===q.columns.length)&&q.allowInsertColumn)for(;B.propToCol(e[o][1])>V.countCols()-1;){const{delta:e}=B.createCol(void 0,void 0,{source:t});if(0===e){s=!0;break}}s||B.set(e[o][0],e[o][1],e[o][3])}}else e.splice(o,1)}V.forceFullRender=!0,Y.adjustRowsAndCols(),V.runHooks("beforeChangeRender",e,t),j.lockEditor(),V._refreshBorders(null),j.unlockEditor(),V.view.adjustElementsSize(),V.runHooks("afterChange",e,t||"edit");const s=V.getActiveEditor();s&&(0,i.isDefined)(s.refreshValue)&&s.refreshValue()}function le(e,t,o){return Array.isArray(e)?e:[[e,t,o]]}function ae(e,t){const o=V.getActiveEditor(),s=V.runHooks("beforeChange",e,t||"edit"),n=e.filter((e=>null!==e));return!1===s||0===n.length?(o&&o.cancelChanges(),[]):n}this.columnIndexMapper.addLocalHook("cacheUpdated",ee),this.rowIndexMapper.addLocalHook("cacheUpdated",ee),this.selection.addLocalHook("afterSetRangeEnd",(e=>{const t=(0,d.createObjectPropListener)(!1),o=this.selection.getSelectedRange(),{from:s,to:r}=o.current(),i=o.size()-1;this.runHooks("afterSelection",s.row,s.col,r.row,r.col,t,i),this.runHooks("afterSelectionByProp",s.row,V.colToProp(s.col),r.row,V.colToProp(r.col),t,i);let l=!0;F&&(l=!1),t.isTouched()&&(l=!t.value);const a=this.selection.selectedRange.current(),h=this.selection.isSelectedByAnyHeader(),c=this.selection.isSelectedByRowHeader(),u=this.selection.isSelectedByColumnHeader();if(!1!==l)if(h)c?this.scrollViewportTo({row:e.row}):u&&this.scrollViewportTo({col:e.col});else if(a&&!this.selection.isMultiple()){const{row:e,col:t}=a.from;e<0&&t>=0?this.scrollViewportTo({col:t}):t<0&&e>=0?this.scrollViewportTo({row:e}):this.scrollViewportTo({row:e,col:t})}else this.scrollViewportTo(e.toObject());c&&u?(0,n.addClass)(this.rootElement,["ht__selection--rows","ht__selection--columns"]):c?((0,n.removeClass)(this.rootElement,"ht__selection--columns"),(0,n.addClass)(this.rootElement,"ht__selection--rows")):u?((0,n.removeClass)(this.rootElement,"ht__selection--rows"),(0,n.addClass)(this.rootElement,"ht__selection--columns")):(0,n.removeClass)(this.rootElement,["ht__selection--rows","ht__selection--columns"]),this._refreshBorders(null)})),this.selection.addLocalHook("afterSelectionFinished",(e=>{const t=e.length-1,{from:o,to:s}=e[t];this.runHooks("afterSelectionEnd",o.row,o.col,s.row,s.col,t),this.runHooks("afterSelectionEndByProp",o.row,V.colToProp(o.col),s.row,V.colToProp(s.col),t)})),this.selection.addLocalHook("afterIsMultipleSelection",(e=>{const t=this.runHooks("afterIsMultipleSelection",e.value);e.value&&(e.value=t)})),this.selection.addLocalHook("afterDeselect",(()=>{j.destroyEditor(),this._refreshBorders(),(0,n.removeClass)(this.rootElement,["ht__selection--rows","ht__selection--columns"]),this.runHooks("afterDeselect")})),this.selection.addLocalHook("beforeHighlightSet",(()=>this.runHooks("beforeSelectionHighlightSet"))).addLocalHook("beforeSetRangeStart",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return s.runHooks("beforeSetRangeStart",...t)})).addLocalHook("beforeSetRangeStartOnly",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return s.runHooks("beforeSetRangeStartOnly",...t)})).addLocalHook("beforeSetRangeEnd",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return s.runHooks("beforeSetRangeEnd",...t)})).addLocalHook("beforeSelectColumns",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return s.runHooks("beforeSelectColumns",...t)})).addLocalHook("afterSelectColumns",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return s.runHooks("afterSelectColumns",...t)})).addLocalHook("beforeSelectRows",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return s.runHooks("beforeSelectRows",...t)})).addLocalHook("afterSelectRows",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return s.runHooks("afterSelectRows",...t)})).addLocalHook("beforeModifyTransformStart",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return s.runHooks("modifyTransformStart",...t)})).addLocalHook("afterModifyTransformStart",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return s.runHooks("afterModifyTransformStart",...t)})).addLocalHook("beforeModifyTransformEnd",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return s.runHooks("modifyTransformEnd",...t)})).addLocalHook("afterModifyTransformEnd",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return s.runHooks("afterModifyTransformEnd",...t)})).addLocalHook("beforeRowWrap",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return s.runHooks("beforeRowWrap",...t)})).addLocalHook("beforeColumnWrap",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return s.runHooks("beforeColumnWrap",...t)})).addLocalHook("insertRowRequire",(e=>this.alter("insert_row_above",e,1,"auto"))).addLocalHook("insertColRequire",(e=>this.alter("insert_col_start",e,1,"auto"))),Y={alter(e,t){var o,s;let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3?arguments[3]:void 0,l=arguments.length>4?arguments[4]:void 0;const a=e=>{if(0===e.length)return[];const t=[...e];t.sort(((e,t)=>{let[o]=e,[s]=t;return o===s?0:o>s?1:-1}));return(0,u.arrayReduce)(t,((e,t)=>{let[o,s]=t;const n=e[e.length-1],[r,i]=n,l=r+i;if(o<=l){const e=Math.max(s-(l-o),0);n[1]+=e}else e.push([o,s]);return e}),[t[0]])};switch(e){case"insert_row_below":case"insert_row_above":const l=V.countSourceRows();if(q.maxRows===l)return;const h="insert_row_below"===e?"below":"above";t=null!==(o=t)&&void 0!==o?o:"below"===h?l:0;const{delta:d,startPhysicalIndex:c}=B.createRow(t,n,{source:r,mode:h});if(d){const e=Z.selectedRange.current(),t=null==e?void 0:e.from,o=null==t?void 0:t.row,s=V.toVisualRow(c);if(Z.isSelectedByCorner())Z.selectAll(!0,!0,{disableHeadersHighlight:!0});else if((0,i.isDefined)(o)&&o>=s){const{row:s,col:n}=e.to;let r=t.col;Z.isSelectedByRowHeader()&&(r=-1),Z.getSelectedRange().pop(),Z.setRangeStartOnly(V._createCellCoords(o+d,r),!0),Z.setRangeEnd(V._createCellCoords(s+d,n))}else V._refreshBorders()}break;case"insert_col_start":case"insert_col_end":const g="insert_col_end"===e?"end":"start";t=null!==(s=t)&&void 0!==s?s:"end"===g?V.countSourceCols():0;const{delta:f,startPhysicalIndex:p}=B.createCol(t,n,{source:r,mode:g});if(f){if(Array.isArray(q.colHeaders)){const e=[V.toVisualColumn(p),0];e.length+=f,Array.prototype.splice.apply(q.colHeaders,e)}const e=Z.selectedRange.current(),t=null==e?void 0:e.from,o=null==t?void 0:t.col,s=V.toVisualColumn(p);if(Z.isSelectedByCorner())Z.selectAll(!0,!0,{disableHeadersHighlight:!0});else if((0,i.isDefined)(o)&&o>=s){const{row:s,col:n}=e.to;let r=t.row;Z.isSelectedByColumnHeader()&&(r=-1),Z.getSelectedRange().pop(),Z.setRangeStartOnly(V._createCellCoords(r,o+f),!0),Z.setRangeEnd(V._createCellCoords(s,n+f))}else V._refreshBorders()}break;case"remove_row":const m=e=>{let t=0;(0,u.arrayEach)(e,(e=>{let[o,s]=e;const n=(0,i.isEmpty)(o)?V.countRows()-1:Math.max(o-t,0);Number.isInteger(o)&&(o=Math.max(o-t,0));if(!B.removeRow(o,s,r))return;const l=V.countRows(),a=q.fixedRowsTop;a>=n+1&&(q.fixedRowsTop-=Math.min(s,a-n));const h=q.fixedRowsBottom;h&&n>=l-h&&(q.fixedRowsBottom-=Math.min(s,h)),t+=s}))};Array.isArray(t)?m(a(t)):m([[t,n]]),Y.adjustRowsAndCols(),V._refreshBorders();break;case"remove_col":const C=e=>{let t=0;(0,u.arrayEach)(e,(e=>{let[o,s]=e;const n=(0,i.isEmpty)(o)?V.countCols()-1:Math.max(o-t,0);let l=V.toPhysicalColumn(n);Number.isInteger(o)&&(o=Math.max(o-t,0));if(!B.removeCol(o,s,r))return;const a=q.fixedColumnsStart;a>=n+1&&(q.fixedColumnsStart-=Math.min(s,a-n)),Array.isArray(q.colHeaders)&&(void 0===l&&(l=-1),q.colHeaders.splice(l,s)),t+=s}))};Array.isArray(t)?C(a(t)):C([[t,n]]),Y.adjustRowsAndCols(),V._refreshBorders();break;default:throw new Error(`There is no such action "${e}"`)}l||Y.adjustRowsAndCols()},adjustRowsAndCols(){const e=q.minRows,t=q.minSpareRows,o=q.minCols,s=q.minSpareCols;if(0===V.countRows()&&0===V.countCols()&&Z.deselect(),e){const t=V.countRows();t<e&&B.createRow(t,e-t,{source:"auto"})}if(t){const e=V.countEmptyRows(!0);if(e<t){const o=t-e,s=Math.min(o,q.maxRows-V.countSourceRows());B.createRow(V.countRows(),s,{source:"auto"})}}{let e;(o||s)&&(e=V.countEmptyCols(!0));let t=V.countCols();if(o&&!q.columns&&t<o){const s=o-t;e+=s,B.createCol(t,s,{source:"auto"})}if(s&&!q.columns&&"array"===V.dataType&&e<s){t=V.countCols();const o=s-e,n=Math.min(o,q.maxCols-t);B.createCol(t,n,{source:"auto"})}}if(Z.isSelected()){const e=V.countRows(),t=V.countCols();(0,u.arrayEach)(Z.selectedRange,(o=>{let s=!1,n=o.from.row,r=o.from.col,i=o.to.row,l=o.to.col;n>e-1?(n=e-1,s=!0,i>n&&(i=n)):i>e-1&&(i=e-1,s=!0,n>i&&(n=i)),r>t-1?(r=t-1,s=!0,l>r&&(l=r)):l>t-1&&(l=t-1,s=!0,r>l&&(r=l)),s&&V.selectCell(n,r,i,l)}))}V.view&&V.view.adjustElementsSize()},populateFromArray(e,t,o,s,n){let r,i,l,a;const h=[],c={},g=[],f=e.row,p=e.col;if(i=t.length,0===i)return!1;let m=0,C=0;switch((0,d.isObject)(o)&&(m=o.col-p+1,C=o.row-f+1),n){case"shift_down":const n=(0,u.pivot)(t),w=n.length,E=Math.max(w,m),y=V.getData().slice(f),v=(0,u.pivot)(y).slice(p,p+E);for(l=0;l<E;l+=1)if(l<w){for(r=0,i=n[l].length;r<C-i;r+=1)n[l].push(n[l][r%i]);l<v.length?g.push(n[l].concat(v[l])):g.push(n[l].concat(new Array(y.length).fill(null)))}else g.push(n[l%w].concat(v[l]));V.populateFromArray(f,p,(0,u.pivot)(g));break;case"shift_right":const S=t.length,R=Math.max(S,C),_=V.getData().slice(f).map((e=>e.slice(p)));for(r=0;r<R;r+=1)if(r<S){for(l=0,a=t[r].length;l<m-a;l+=1)t[r].push(t[r][l%a]);if(r<_.length)for(let e=0;e<_[r].length;e+=1)t[r].push(_[r][e]);else t[r].push(...new Array(_[0].length).fill(null))}else t.push(t[r%i].slice(0,R).concat(_[r]));V.populateFromArray(f,p,t);break;default:c.row=e.row,c.col=e.col;let b,T=0,M=0,O=!0;const I=function(e){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const s=t[e%t.length];return null!==o?s[o%s.length]:s},A=t.length,N=o?o.row-e.row+1:0;for(i=o?N:Math.max(A,N),r=0;r<i&&!(o&&c.row>o.row&&N>A||!q.allowInsertRow&&c.row>V.countRows()-1||c.row>=q.maxRows);r++){const t=r-T,n=I(t).length,u=o?o.col-e.col+1:0;if(a=o?u:Math.max(n,u),c.col=e.col,b=V.getCellMeta(c.row,c.col),"CopyPaste.paste"!==s&&"Autofill.fill"!==s||!b.skipRowOnPaste){for(M=0,l=0;l<a&&!(o&&c.col>o.col&&u>n||!q.allowInsertColumn&&c.col>V.countCols()-1||c.col>=q.maxCols);l++){if(b=V.getCellMeta(c.row,c.col),("CopyPaste.paste"===s||"Autofill.fill"===s)&&b.skipColumnOnPaste){M+=1,c.col+=1,a+=1;continue}if(b.readOnly&&"UndoRedo.undo"!==s){c.col+=1;continue}let e=I(t,l-M),o=V.getDataAtCell(c.row,c.col);if(null!==e&&"object"==typeof e)if(Array.isArray(e)&&null===o&&(o=[]),null===o||"object"!=typeof o)O=!1;else{const t=(0,d.duckSchema)(Array.isArray(o)?o:o[0]||o),s=(0,d.duckSchema)(Array.isArray(e)?e:e[0]||e);(0,d.isObjectEqual)(t,s)||Array.isArray(t)&&Array.isArray(s)?e=(0,d.deepClone)(e):O=!1}else null!==o&&"object"==typeof o&&(O=!1);O&&h.push([c.row,c.col,e]),O=!0,c.col+=1}c.row+=1}else T+=1,c.row+=1,i+=1}V.setDataAtCell(h,null,null,s||"populateFromArray")}}},this.init=function(){U.setData(q.data),V.runHooks("beforeInit"),((0,l.isMobileBrowser)()||(0,l.isIpadOS)())&&(0,n.addClass)(V.rootElement,"mobile"),this.updateSettings(q,!0),this.view=new y.default(this),j=a.default.getInstance(V,q,Z),G=new c.FocusManager(V),(0,_.isRootInstance)(this)&&(0,N.installFocusCatcher)(V),V.runHooks("init"),this.forceFullRender=!0,this.view.render(),z&&null===V.rootElement.offsetParent&&(0,n.observeVisibilityChangeOnce)(V.rootElement,(()=>{V.view._wt.wtOverlays.updateLastSpreaderSize(),V.render(),V.view.adjustElementsSize()})),"object"==typeof z&&(V.runHooks("afterChange",z[0],z[1]),z=!1),V.runHooks("afterInit")},this._createCellCoords=function(e,t){return V.view._wt.createCellCoords(e,t)},this._createCellRange=function(e,t,o){return V.view._wt.createCellRange(e,t,o)},this.validateCell=function(e,t,o,s){let n=V.getCellValidator(t);function l(e){if(!(!(arguments.length>1&&void 0!==arguments[1])||arguments[1])||!0===t.hidden)return void o(e);const s=t.visualCol,n=t.visualRow,r=V.getCell(n,s,!0);if(r&&"TH"!==r.nodeName){const e=V.rowIndexMapper.getRenderableFromVisualIndex(n),t=V.columnIndexMapper.getRenderableFromVisualIndex(s);V.view._wt.getSetting("cellRenderer",e,t,r)}o(e)}var a;(0,i.isRegExp)(n)&&(a=n,n=function(e,t){t(a.test(e))}),(0,r.isFunction)(n)?(e=V.runHooks("beforeValidate",e,t.visualRow,t.prop,s),V._registerImmediate((()=>{n.call(t,e,(o=>{V&&(o=V.runHooks("afterValidate",o,e,t.visualRow,t.prop,s),t.valid=o,l(o),V.runHooks("postAfterValidate",o,e,t.visualRow,t.prop,s))}))}))):V._registerImmediate((()=>{t.valid=!0,l(t.valid,!1)}))},this.setDataAtCell=function(e,t,o,s){const n=le(e,t,o),r=[];let i,l,a,h=s;for(i=0,l=n.length;i<l;i++){if("object"!=typeof n[i])throw new Error("Method `setDataAtCell` accepts row number or changes array of arrays as its first parameter");if("number"!=typeof n[i][1])throw new Error("Method `setDataAtCell` accepts row and column number as its parameters. If you want to use object property name, use method `setDataAtRowProp`");a=n[i][1]>=this.countCols()?n[i][1]:B.colToProp(n[i][1]),r.push([n[i][0],a,U.getAtCell(this.toPhysicalRow(n[i][0]),n[i][1]),n[i][2]])}h||"object"!=typeof e||(h=t);const d=ae(r,s);V.runHooks("afterSetDataAtCell",d,h),re(d,h,(()=>{ie(d,h)}))},this.setDataAtRowProp=function(e,t,o,s){const n=le(e,t,o),r=[];let i,l,a=s;for(i=0,l=n.length;i<l;i++)r.push([n[i][0],n[i][1],U.getAtCell(this.toPhysicalRow(n[i][0]),n[i][1]),n[i][2]]);a||"object"!=typeof e||(a=t);const h=ae(r,s);V.runHooks("afterSetDataAtRowProp",h,a),re(h,a,(()=>{ie(h,a)}))},this.listen=function(){V&&!V.isListening()&&(L.forEach((e=>{V!==e&&e.unlisten()})),D=V.guid,V.runHooks("afterListen"))},this.unlisten=function(){this.isListening()&&(D=null,V.runHooks("afterUnlisten"))},this.isListening=function(){return D===V.guid},this.destroyEditor=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];V._refreshBorders(e,t)},this.populateFromArray=function(e,t,o,s,n,r,i){if("object"!=typeof o||"object"!=typeof o[0])throw new Error("populateFromArray parameter `input` must be an array of arrays");const l="number"==typeof s?V._createCellCoords(s,n):null;return Y.populateFromArray(V._createCellCoords(e,t),o,l,r,i)},this.spliceCol=function(e,t,o){for(var s=arguments.length,n=new Array(s>3?s-3:0),r=3;r<s;r++)n[r-3]=arguments[r];return B.spliceCol(e,t,o,...n)},this.spliceRow=function(e,t,o){for(var s=arguments.length,n=new Array(s>3?s-3:0),r=3;r<s;r++)n[r-3]=arguments[r];return B.spliceRow(e,t,o,...n)},this.getSelected=function(){if(Z.isSelected())return(0,u.arrayMap)(Z.getSelectedRange(),(e=>{let{from:t,to:o}=e;return[t.row,t.col,o.row,o.col]}))},this.getSelectedLast=function(){const e=this.getSelected();let t;return e&&e.length>0&&(t=e[e.length-1]),t},this.getSelectedRange=function(){if(Z.isSelected())return Array.from(Z.getSelectedRange())},this.getSelectedRangeLast=function(){const e=this.getSelectedRange();let t;return e&&e.length>0&&(t=e[e.length-1]),t},this.emptySelectedCells=function(e){if(!Z.isSelected()||0===this.countRows()||0===this.countCols())return;const t=[];(0,u.arrayEach)(Z.getSelectedRange(),(e=>{if(e.isSingleHeader())return;const o=e.getTopStartCorner(),s=e.getBottomEndCorner();(0,E.rangeEach)(o.row,s.row,(e=>{(0,E.rangeEach)(o.col,s.col,(o=>{this.getCellMeta(e,o).readOnly||t.push([e,o,null])}))}))})),t.length>0&&this.setDataAtCell(t,e)},this.isRenderSuspended=function(){return this.renderSuspendedCounter>0},this.suspendRender=function(){this.renderSuspendedCounter+=1},this.resumeRender=function(){const e=this.renderSuspendedCounter-1;this.renderSuspendedCounter=Math.max(e,0),this.isRenderSuspended()||e!==this.renderSuspendedCounter||(this.renderCall?this.render():this._refreshBorders(null))},this.render=function(){this.view&&(this.renderCall=!0,this.forceFullRender=!0,this.isRenderSuspended()||(j.lockEditor(),this._refreshBorders(null),j.unlockEditor()))},this.batchRender=function(e){this.suspendRender();const t=e();return this.resumeRender(),t},this.isExecutionSuspended=function(){return this.executionSuspendedCounter>0},this.suspendExecution=function(){this.executionSuspendedCounter+=1,this.columnIndexMapper.suspendOperations(),this.rowIndexMapper.suspendOperations()},this.resumeExecution=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=this.executionSuspendedCounter-1;this.executionSuspendedCounter=Math.max(t,0),(!this.isExecutionSuspended()&&t===this.executionSuspendedCounter||e)&&(this.columnIndexMapper.resumeOperations(),this.rowIndexMapper.resumeOperations())},this.batchExecution=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.suspendExecution();const o=e();return this.resumeExecution(t),o},this.batch=function(e){this.suspendRender(),this.suspendExecution();const t=e();return this.resumeExecution(),this.resumeRender(),t},this.refreshDimensions=function(){if(!V.view)return;const{width:e,height:t}=V.view.getLastSize(),{width:o,height:s}=V.rootElement.getBoundingClientRect(),n=o!==e||s!==t;!1===V.runHooks("beforeRefreshDimensions",{width:e,height:t},{width:o,height:s},n)||((n||V.view._wt.wtOverlays.scrollableElement===V.rootWindow)&&(V.view.setLastSize(o,s),V.render()),V.runHooks("afterRefreshDimensions",{width:e,height:t},{width:o,height:s},n))},this.updateData=function(e,t){(0,A.replaceData)(e,(e=>{B=e}),(e=>{B=e,V.columnIndexMapper.fitToLength(this.getInitialColumnCount()),V.rowIndexMapper.fitToLength(this.countSourceRows()),Y.adjustRowsAndCols()}),{hotInstance:V,dataMap:B,dataSource:U,internalSource:"updateData",source:t,metaManager:X,firstRun:z})},this.loadData=function(e,t){(0,A.replaceData)(e,(e=>{B=e}),(()=>{X.clearCellsCache(),V.initIndexMappers(),Y.adjustRowsAndCols(),z&&(z=[null,"loadData"])}),{hotInstance:V,dataMap:B,dataSource:U,internalSource:"loadData",source:t,metaManager:X,firstRun:z})},this.getInitialColumnCount=function(){const e=q.columns;let t=0;if(Array.isArray(e))t=e.length;else if((0,r.isFunction)(e))if("array"===V.dataType){const o=this.countSourceCols();for(let s=0;s<o;s+=1)e(s)&&(t+=1)}else"object"!==V.dataType&&"function"!==V.dataType||(t=B.colToPropCache.length);else if((0,i.isDefined)(q.dataSchema)){const e=B.getSchema();t=Array.isArray(e)?e.length:(0,d.deepObjectSize)(e)}else t=this.countSourceCols();return t},this.initIndexMappers=function(){this.columnIndexMapper.initToLength(this.getInitialColumnCount()),this.rowIndexMapper.initToLength(this.countSourceRows())},this.getData=function(e,t,o,s){return(0,i.isUndefined)(e)?B.getAll():B.getRange(V._createCellCoords(e,t),V._createCellCoords(o,s),B.DESTINATION_RENDERER)},this.getCopyableText=function(e,t,o,s){return B.getCopyableText(V._createCellCoords(e,t),V._createCellCoords(o,s))},this.getCopyableData=function(e,t){return B.getCopyable(e,B.colToProp(t))},this.getSchema=function(){return B.getSchema()},this.updateSettings=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const o=(z?V.loadData:V.updateData).bind(this);let s,n,l=!1;if((0,i.isDefined)(e.rows))throw new Error('The "rows" setting is no longer supported. Do you mean startRows, minRows or maxRows?');if((0,i.isDefined)(e.cols))throw new Error('The "cols" setting is no longer supported. Do you mean startCols, minCols or maxCols?');if((0,i.isDefined)(e.ganttChart))throw new Error('Since 8.0.0 the "ganttChart" setting is no longer supported.');for(s in e)"data"===s||("language"===s?te(e.language):"className"===s?oe("className",e.className):"tableClassName"===s&&V.table?(oe("tableClassName",e.tableClassName),V.view._wt.wtOverlays.syncOverlayTableClassNames()):T.default.getSingleton().isRegistered(s)||T.default.getSingleton().isDeprecated(s)?((0,r.isFunction)(e[s])||Array.isArray(e[s]))&&(e[s].initialHook=!0,V.addHook(s,e[s])):!t&&(0,d.hasOwnProperty)(e,s)&&(Q[s]=e[s]));void 0===e.data&&void 0===q.data?o(null,"updateSettings"):void 0!==e.data?o(e.data,"updateSettings"):void 0!==e.columns&&(B.createMap(),V.initIndexMappers());const a=V.countCols(),h=q.columns;if(h&&(0,r.isFunction)(h)&&(l=!0),void 0===e.cell&&void 0===e.cells&&void 0===e.columns||X.clearCache(),a>0)for(s=0,n=0;s<a;s++){if(h){const e=l?h(s):h[n];e&&X.updateColumnMeta(n,e)}n+=1}(0,i.isDefined)(e.cell)&&(0,d.objectEach)(e.cell,(e=>{V.setCellMetaObject(e.row,e.col,e)})),V.runHooks("afterCellMetaReset");let c=V.rootElement.style.height;""!==c&&(c=parseInt(V.rootElement.style.height,10));let u=e.height;if((0,r.isFunction)(u)&&(u=u()),t){V.rootElement.getAttribute("style")&&V.rootElement.setAttribute("data-initialstyle",V.rootElement.getAttribute("style"))}if(null===u){const e=V.rootElement.getAttribute("data-initialstyle");e&&(e.indexOf("height")>-1||e.indexOf("overflow")>-1)?V.rootElement.setAttribute("style",e):(V.rootElement.style.height="",V.rootElement.style.overflow="")}else void 0!==u&&(V.rootElement.style.height=isNaN(u)?`${u}`:`${u}px`,V.rootElement.style.overflow="hidden");if(void 0!==e.width){let t=e.width;(0,r.isFunction)(t)&&(t=t()),V.rootElement.style.width=isNaN(t)?`${t}`:`${t}px`}t||(V.view&&(V.view._wt.wtViewport.resetHasOversizedColumnHeadersMarked(),V.view._wt.exportSettingsAsClassNames()),V.runHooks("afterUpdateSettings",e)),Y.adjustRowsAndCols(),V.view&&!z&&(V.forceFullRender=!0,j.lockEditor(),V._refreshBorders(null),V.view._wt.wtOverlays.adjustElementsSize(),j.unlockEditor()),t||!V.view||""!==c&&""!==u&&void 0!==u||c===u||V.view._wt.wtOverlays.updateMainScrollableElements()},this.getValue=function(){const e=V.getSelectedLast();if(q.getValue){if((0,r.isFunction)(q.getValue))return q.getValue.call(V);if(e)return V.getData()[e[0][0]][q.getValue]}else if(e)return V.getDataAtCell(e[0],e[1])},this.getSettings=function(){return q},this.clear=function(){this.selectAll(),this.emptySelectedCells()},this.alter=function(e,t,o,s,n){Y.alter(e,t,o,s,n)},this.getCell=function(e,t){let o=arguments.length>2&&void 0!==arguments[2]&&arguments[2],s=t,n=e;if(t>=0){if(this.columnIndexMapper.isHidden(this.toPhysicalColumn(t)))return null;s=this.columnIndexMapper.getRenderableFromVisualIndex(t)}if(e>=0){if(this.rowIndexMapper.isHidden(this.toPhysicalRow(e)))return null;n=this.rowIndexMapper.getRenderableFromVisualIndex(e)}return null===n||null===s?null:V.view.getCellAtCoords(V._createCellCoords(n,s),o)},this.getCoords=function(e){const t=this.view._wt.wtTable.getCoords(e);if(null===t)return null;const{row:o,col:s}=t;let n=o,r=s;return o>=0&&(n=this.rowIndexMapper.getVisualFromRenderableIndex(o)),s>=0&&(r=this.columnIndexMapper.getVisualFromRenderableIndex(s)),V._createCellCoords(n,r)},this.colToProp=function(e){return B.colToProp(e)},this.propToCol=function(e){return B.propToCol(e)},this.toVisualRow=e=>this.rowIndexMapper.getVisualFromPhysicalIndex(e),this.toVisualColumn=e=>this.columnIndexMapper.getVisualFromPhysicalIndex(e),this.toPhysicalRow=e=>this.rowIndexMapper.getPhysicalFromVisualIndex(e),this.toPhysicalColumn=e=>this.columnIndexMapper.getPhysicalFromVisualIndex(e),this.getDataAtCell=function(e,t){return B.get(e,B.colToProp(t))},this.getDataAtRowProp=function(e,t){return B.get(e,t)},this.getDataAtCol=function(e){const t=[],o=B.getRange(V._createCellCoords(0,e),V._createCellCoords(q.data.length-1,e),B.DESTINATION_RENDERER);for(let e=0;e<o.length;e+=1)for(let s=0;s<o[e].length;s+=1)t.push(o[e][s]);return t},this.getDataAtProp=function(e){const t=[],o=B.getRange(V._createCellCoords(0,B.propToCol(e)),V._createCellCoords(q.data.length-1,B.propToCol(e)),B.DESTINATION_RENDERER);for(let e=0;e<o.length;e+=1)for(let s=0;s<o[e].length;s+=1)t.push(o[e][s]);return t},this.getSourceData=function(e,t,o,s){let n;return n=void 0===e?U.getData():U.getByRange(V._createCellCoords(e,t),V._createCellCoords(o,s)),n},this.getSourceDataArray=function(e,t,o,s){let n;return n=void 0===e?U.getData(!0):U.getByRange(V._createCellCoords(e,t),V._createCellCoords(o,s),!0),n},this.getSourceDataAtCol=function(e){return U.getAtColumn(e)},this.setSourceDataAtCell=function(e,t,o,s){const n=le(e,t,o),r=this.hasHook("afterSetSourceDataAtCell"),l=[];r&&(0,u.arrayEach)(n,(e=>{let[t,o,s]=e;l.push([t,o,U.getAtCell(t,o),s])})),(0,u.arrayEach)(n,(e=>{let[t,o,s]=e;U.setAtCell(t,o,s)})),r&&this.runHooks("afterSetSourceDataAtCell",l,s),this.render();const a=V.getActiveEditor();a&&(0,i.isDefined)(a.refreshValue)&&a.refreshValue()},this.getSourceDataAtRow=function(e){return U.getAtRow(e)},this.getSourceDataAtCell=function(e,t){return U.getAtCell(e,t)},this.getDataAtRow=function(e){return B.getRange(V._createCellCoords(e,0),V._createCellCoords(e,this.countCols()-1),B.DESTINATION_RENDERER)[0]||[]},this.getDataType=function(e,t,o,s){const n=void 0===e?[0,0,this.countRows(),this.countCols()]:[e,t,o,s],[r,i]=n;let[,,l,a]=n,h=null,d=null;void 0===l&&(l=r),void 0===a&&(a=i);let c="mixed";return(0,E.rangeEach)(Math.max(Math.min(r,l),0),Math.max(r,l),(e=>{let t=!0;return(0,E.rangeEach)(Math.max(Math.min(i,a),0),Math.max(i,a),(o=>{const s=this.getCellMeta(e,o);return d=s.type,h?t=h===d:h=d,t})),c=t?d:"mixed",t})),c},this.removeCellMeta=function(e,t,o){const[s,n]=[this.toPhysicalRow(e),this.toPhysicalColumn(t)];let r=X.getCellMetaKeyValue(s,n,o);!1!==V.runHooks("beforeRemoveCellMeta",e,t,o,r)&&(X.removeCellMeta(s,n,o),V.runHooks("afterRemoveCellMeta",e,t,o,r)),r=null},this.spliceCellsMeta=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;for(var o=arguments.length,s=new Array(o>2?o-2:0),n=2;n<o;n++)s[n-2]=arguments[n];if(s.length>0&&!Array.isArray(s[0]))throw new Error("The 3rd argument (cellMetaRows) has to be passed as an array of cell meta objects array.");t>0&&X.removeRow(this.toPhysicalRow(e),t),s.length>0&&(0,u.arrayEach)(s.reverse(),(t=>{X.createRow(this.toPhysicalRow(e)),(0,u.arrayEach)(t,((t,o)=>this.setCellMetaObject(e,o,t)))})),V.render()},this.setCellMetaObject=function(e,t,o){"object"==typeof o&&(0,d.objectEach)(o,((o,s)=>{this.setCellMeta(e,t,s,o)}))},this.setCellMeta=function(e,t,o,s){if(!1===V.runHooks("beforeSetCellMeta",e,t,o,s))return;let n=e,r=t;e<this.countRows()&&(n=this.toPhysicalRow(e)),t<this.countCols()&&(r=this.toPhysicalColumn(t)),X.setCellMeta(n,r,o,s),V.runHooks("afterSetCellMeta",e,t,o,s)},this.getCellsMeta=function(){return X.getCellsMeta()},this.getCellMeta=function(e,t){let o=this.toPhysicalRow(e),s=this.toPhysicalColumn(t);return null===o&&(o=e),null===s&&(s=t),X.getCellMeta(o,s,{visualRow:e,visualColumn:t})},this.getCellMetaAtRow=function(e){return X.getCellsMetaAtRow(e)},this.isColumnModificationAllowed=function(){return!("object"===V.dataType||q.columns)},this.getCellRenderer=function(e,t){const o="number"==typeof e?V.getCellMeta(e,t).renderer:e.renderer;return"string"==typeof o?(0,p.getRenderer)(o):(0,i.isUndefined)(o)?(0,p.getRenderer)("text"):o},this.getCellEditor=function(e,t){const o="number"==typeof e?V.getCellMeta(e,t).editor:e.editor;return"string"==typeof o?(0,m.getEditor)(o):(0,i.isUndefined)(o)?(0,m.getEditor)("text"):o},this.getCellValidator=function(e,t){const o="number"==typeof e?V.getCellMeta(e,t).validator:e.validator;return"string"==typeof o?(0,C.getValidator)(o):o},this.validateCells=function(e){this._validateCells(e)},this.validateRows=function(e,t){if(!Array.isArray(e))throw new Error("validateRows parameter `rows` must be an array");this._validateCells(t,e)},this.validateColumns=function(e,t){if(!Array.isArray(e))throw new Error("validateColumns parameter `columns` must be an array");this._validateCells(t,void 0,e)},this._validateCells=function(e,t,o){const s=new se;e&&(s.onQueueEmpty=e);let n=V.countRows()-1;for(;n>=0;){if(void 0!==t&&-1===t.indexOf(n)){n-=1;continue}let e=V.countCols()-1;for(;e>=0;)void 0===o||-1!==o.indexOf(e)?(s.addValidatorToQueue(),V.validateCell(V.getDataAtCell(n,e),V.getCellMeta(n,e),(e=>{if("boolean"!=typeof e)throw new Error("Validation error: result is not boolean");!1===e&&(s.valid=!1),s.removeValidatorFormQueue()}),"validateCells"),e-=1):e-=1;n-=1}s.checkIfQueueIsEmpty()},this.getRowHeader=function(e){let t=q.rowHeaders,o=e;return void 0!==o&&(o=V.runHooks("modifyRowHeader",o)),void 0===o?(t=[],(0,E.rangeEach)(V.countRows()-1,(e=>{t.push(V.getRowHeader(e))}))):Array.isArray(t)&&void 0!==t[o]?t=t[o]:(0,r.isFunction)(t)?t=t(o):t&&"string"!=typeof t&&"number"!=typeof t&&(t=o+1),t},this.hasRowHeaders=function(){return!!q.rowHeaders},this.hasColHeaders=function(){if(void 0!==q.colHeaders&&null!==q.colHeaders)return!!q.colHeaders;for(let e=0,t=V.countCols();e<t;e++)if(V.getColHeader(e))return!0;return!1},this.getColHeader=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;const o=V.runHooks("modifyColHeader",e);if(void 0===o){const e=[],t=V.countCols();for(let o=0;o<t;o++)e.push(V.getColHeader(o));return e}let s=q.colHeaders;const n=V.toPhysicalColumn(o),i=function(e){const t=[],o=V.countCols();let s=0;for(;s<o;s++)(0,r.isFunction)(q.columns)&&q.columns(s)&&t.push(s);return t[e]}(n);return!1===q.colHeaders?s=null:q.columns&&(0,r.isFunction)(q.columns)&&q.columns(i)&&q.columns(i).title?s=q.columns(i).title:q.columns&&q.columns[n]&&q.columns[n].title?s=q.columns[n].title:Array.isArray(q.colHeaders)&&void 0!==q.colHeaders[n]?s=q.colHeaders[n]:(0,r.isFunction)(q.colHeaders)?s=q.colHeaders(n):q.colHeaders&&"string"!=typeof q.colHeaders&&"number"!=typeof q.colHeaders&&(s=(0,S.spreadsheetColumnLabel)(o)),s=V.runHooks("modifyColumnHeaderValue",s,e,t),s},this._getColWidthFromSettings=function(e){let t;if(e>=0){t=V.getCellMeta(0,e).width}if(void 0!==t&&t!==q.width||(t=q.colWidths),null!=t){switch(typeof t){case"object":t=t[e];break;case"function":t=t(e)}"string"==typeof t&&(t=parseInt(t,10))}return t},this.getColWidth=function(e){let t=V._getColWidthFromSettings(e);return t=V.runHooks("modifyColWidth",t,e),void 0===t&&(t=b.ViewportColumnsCalculator.DEFAULT_WIDTH),t},this._getRowHeightFromSettings=function(e){let t=q.rowHeights;if(null!=t){switch(typeof t){case"object":t=t[e];break;case"function":t=t(e)}"string"==typeof t&&(t=parseInt(t,10))}return t},this.getRowHeight=function(e){let t=V._getRowHeightFromSettings(e);return t=V.runHooks("modifyRowHeight",t,e),t},this.countSourceRows=function(){return U.countRows()},this.countSourceCols=function(){return U.countFirstRowKeys()},this.countRows=function(){return B.getLength()},this.countCols=function(){const e=q.maxCols,t=this.columnIndexMapper.getNotTrimmedIndexesLength();return Math.min(e,t)},this.countRenderedRows=function(){return V.view._wt.drawn?V.view._wt.wtTable.getRenderedRowsCount():-1},this.countVisibleRows=function(){return V.view._wt.drawn?V.view._wt.wtTable.getVisibleRowsCount():-1},this.countRenderedCols=function(){return V.view._wt.drawn?V.view._wt.wtTable.getRenderedColumnsCount():-1},this.countVisibleCols=function(){return V.view._wt.drawn?V.view._wt.wtTable.getVisibleColumnsCount():-1},this.countRowHeaders=function(){return this.view.getRowHeadersCount()},this.countColHeaders=function(){return this.view.getColumnHeadersCount()},this.countEmptyRows=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=0;return(0,E.rangeEachReverse)(V.countRows()-1,(o=>{if(V.isEmptyRow(o))t+=1;else if(!0===e)return!1})),t},this.countEmptyCols=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=0;return(0,E.rangeEachReverse)(V.countCols()-1,(o=>{if(V.isEmptyCol(o))t+=1;else if(!0===e)return!1})),t},this.isEmptyRow=function(e){return q.isEmptyRow.call(V,e)},this.isEmptyCol=function(e){return q.isEmptyCol.call(V,e)},this.selectCell=function(e,t,o,s){let n=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];return!(0,i.isUndefined)(e)&&!(0,i.isUndefined)(t)&&this.selectCells([[e,t,o,s]],n,r)},this.selectCells=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[[]],t=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];!1===(!(arguments.length>1&&void 0!==arguments[1])||arguments[1])&&(F=!0);const o=Z.selectCells(e);return o&&t&&V.listen(),F=!1,o},this.selectColumns=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,o=arguments.length>2?arguments[2]:void 0;return Z.selectColumns(e,t,o)},this.selectRows=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,o=arguments.length>2?arguments[2]:void 0;return Z.selectRows(e,t,o)},this.deselectCell=function(){Z.deselect()},this.selectAll=function(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,o=arguments.length>2?arguments[2]:void 0;F=!0,Z.selectAll(e,t,o),F=!1};const he=(e,t)=>e.getNearestNotHiddenIndex(t,1,!0);this.scrollViewportTo=function(){let e,t,o,s,{row:n,col:r,verticalSnap:i,horizontalSnap:l,considerHiddenIndexes:a}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};void 0!==i&&(e="top"===i,t=!e),void 0!==l&&(o="start"===l,s=!o);let h=n,d=r;if(void 0===a||a){const e=Number.isInteger(n)&&n>=0,t=Number.isInteger(r)&&r>=0,o=e?he(this.rowIndexMapper,n):void 0,s=t?he(this.columnIndexMapper,r):void 0;if(null===o||null===s)return!1;h=e?V.rowIndexMapper.getRenderableFromVisualIndex(o):n,d=t?V.columnIndexMapper.getRenderableFromVisualIndex(s):r}const c=Number.isInteger(h),u=Number.isInteger(d);return c&&h>=0&&u&&d>=0?V.view.scrollViewport(V._createCellCoords(h,d),e,s,t,o):c&&h>=0&&(u&&d<0||!u)?V.view.scrollViewportVertically(h,e,t):!!(u&&d>=0&&(c&&h<0||!c))&&V.view.scrollViewportHorizontally(d,s,o)},this.scrollToFocusedCell=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>{};if(!this.selection.isSelected())return;this.addHookOnce("afterScroll",e);const{highlight:t}=this.getSelectedRangeLast();this.scrollViewportTo(t.toObject())?this.view.render():(this.removeHook("afterScroll",e),this._registerImmediate((()=>e())))},this.destroy=function(){if(V._clearTimeouts(),V._clearImmediates(),V.view&&V.view.destroy(),U&&U.destroy(),U=null,this.getShortcutManager().destroy(),X.clearCache(),L.delete(this.guid),(0,_.isRootInstance)(V)){const e=this.rootDocument.querySelector(".hot-display-license-info");e&&e.parentNode.removeChild(e)}(0,n.empty)(V.rootElement),W.destroy(),j&&j.destroy(),V.batchExecution((()=>{V.rowIndexMapper.unregisterAll(),V.columnIndexMapper.unregisterAll(),J.getItems().forEach((e=>{let[,t]=e;t.destroy()})),J.clear(),V.runHooks("afterDestroy")}),!0),T.default.getSingleton().destroy(V),(0,d.objectEach)(V,((e,t,o)=>{var s;(0,r.isFunction)(e)?o[t]=(s=t,()=>{throw new Error(`The "${s}" method cannot be called because this Handsontable instance has been destroyed`)}):"guid"!==t&&(o[t]=null)})),V.isDestroyed=!0,B&&B.destroy(),B=null,Y=null,Z=null,j=null,V=null},this.getActiveEditor=function(){return j.getActiveEditor()},this.getPlugin=function(e){const t=(0,w.toUpperCaseFirst)(e);return"UndoRedo"===t?this.undoRedo:J.getItem(t)},this.getPluginName=function(e){return e===this.undoRedo?this.undoRedo.constructor.PLUGIN_KEY:J.getId(e)},this.getInstance=function(){return V},this.addHook=function(e,t){T.default.getSingleton().add(e,t,V)},this.hasHook=function(e){return T.default.getSingleton().has(e,V)||T.default.getSingleton().has(e)},this.addHookOnce=function(e,t){T.default.getSingleton().once(e,t,V)},this.removeHook=function(e,t){T.default.getSingleton().remove(e,t,V)},this.runHooks=function(e,t,o,s,n,r,i){return T.default.getSingleton().run(V,e,t,o,s,n,r,i)},this.getTranslatedPhrase=function(e,t){return(0,M.getTranslatedPhrase)(q.language,e,t)},this.toHTML=()=>(0,g.instanceToHTML)(this),this.toTableElement=()=>{const e=this.rootDocument.createElement("div");return e.insertAdjacentHTML("afterbegin",(0,g.instanceToHTML)(this)),e.firstElementChild},this.timeouts=[],this._registerTimeout=function(e){let t=e;"function"==typeof t&&(t=setTimeout(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0)),this.timeouts.push(t)},this._clearTimeouts=function(){(0,u.arrayEach)(this.timeouts,(e=>{clearTimeout(e)}))},this.immediates=[],this._registerImmediate=function(e){this.immediates.push(setImmediate(e))},this._clearImmediates=function(){(0,u.arrayEach)(this.immediates,(e=>{clearImmediate(e)}))},this._refreshBorders=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];j.destroyEditor(e),V.view.render(),t&&Z.isSelected()&&j.prepareEditor()},this._getEditorManager=function(){return j},this.isRtl=function(){return"rtl"===V.rootWindow.getComputedStyle(V.rootElement).direction},this.isLtr=function(){return!V.isRtl()},this.getDirectionFactor=function(){return V.isLtr()?1:-1};const de=(0,H.createShortcutManager)({handleEvent:()=>V.isListening(),beforeKeyDown:e=>this.runHooks("beforeKeyDown",e),afterKeyDown:e=>{this.isDestroyed||V.runHooks("afterDocumentKeyDown",e)},ownerWindow:this.rootWindow});this.addHook("beforeOnCellMouseDown",(e=>{!1===e.ctrlKey&&!1===e.metaKey&&de.releasePressedKeys()})),this.getShortcutManager=function(){return de},this.getFocusManager=function(){return G},(0,f.getPluginsNames)().forEach((e=>{const t=(0,f.getPlugin)(e);J.addItem(e,new t(this))})),(0,x.registerAllShortcutContexts)(V),de.setActiveContextName("grid"),T.default.getSingleton().run(V,"construct")},o(63517),o(91683),o(97552);var n=o(83302),r=o(85015),i=o(93315),l=o(37595),a=s(o(6116)),h=s(o(75244)),d=o(22232),c=o(51400),u=o(50095),g=o(52870),f=o(52036),p=o(7462),m=o(83605),C=o(80239),w=o(18609),E=o(68145),y=s(o(54833)),v=s(o(43951)),S=o(65320),R=o(33165),_=o(45433),b=o(21280),T=s(o(56307)),M=o(22489),O=o(8222),I=o(69167),A=o(3177),N=o(41808),P=o(42386),H=o(47152),x=o(29282);let D=null;const L=new Map;new Set},89055:(e,t,o)=>{"use strict";t.__esModule=!0,t.installFocusDetector=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=e.rootElement,s=r(e),n=r(e);return s.addEventListener("focus",(()=>null==t?void 0:t.onFocusFromTop())),n.addEventListener("focus",(()=>null==t?void 0:t.onFocusFromBottom())),o.firstChild.before(s),o.lastChild.after(n),{activate(){e._registerTimeout((()=>{s.tabIndex=0,n.tabIndex=0}),10)},deactivate(){e._registerTimeout((()=>{s.tabIndex=-1,n.tabIndex=-1}),10)}}};var s=o(83302),n=o(5386);function r(e){const t=e.rootDocument.createElement("input");return t.type="text",t.classList.add("htFocusCatcher"),e.getSettings().ariaTags&&(0,s.setAttribute)(t,[(0,n.A11Y_PRESENTATION)()]),t}},58954:(e,t,o)=>{"use strict";t.__esModule=!0,t.installFocusCatcher=function(e){let t;const{activate:o,deactivate:l}=(0,n.installFocusDetector)(e,{onFocusFromTop(){var o;const s=null!==(o=t)&&void 0!==o?o:r(e);s&&(e.runHooks("modifyFocusOnTabNavigation","from_above",s),e.selectCell(s.row,s.col)),e.listen()},onFocusFromBottom(){var o;const s=null!==(o=t)&&void 0!==o?o:i(e);s&&(e.runHooks("modifyFocusOnTabNavigation","from_below",s),e.selectCell(s.row,s.col)),e.listen()}}),a={wrapped:!1,flipped:!1};e.addHook("afterListen",(()=>l())),e.addHook("afterUnlisten",(()=>o())),e.addHook("afterSelection",(()=>{var o;t=null===(o=e.getSelectedRangeLast())||void 0===o?void 0:o.highlight})),e.addHook("beforeRowWrap",((e,t,o)=>{a.wrapped=!0,a.flipped=o})),e.getShortcutManager().getContext("grid").addShortcut({keys:[["Tab"],["Shift","Tab"]],callback:o=>{const{disableTabNavigation:s,autoWrapRow:n}=e.getSettings();if(s||!e.selection.isSelected()||n&&a.wrapped&&a.flipped||!n&&a.wrapped)return n&&a.wrapped&&a.flipped&&(t=o.shiftKey?r(e):i(e)),a.wrapped=!1,a.flipped=!1,e.deselectCell(),e.unlisten(),!1;o.preventDefault()},runOnlyIf:()=>!e.getSettings().minSpareCols,preventDefault:!1,stopPropagation:!1,position:"after",relativeToGroup:s.GRID_GROUP,group:"focusCatcher"})};var s=o(29282),n=o(89055);function r(e){const{rowIndexMapper:t,columnIndexMapper:o}=e,{navigableHeaders:s}=e.getSettings();let n=s&&e.countColHeaders()>0?-e.countColHeaders():0,r=s&&e.countRowHeaders()>0?-e.countRowHeaders():0;return 0===n&&(n=t.getVisualFromRenderableIndex(n)),0===r&&(r=o.getVisualFromRenderableIndex(r)),null===n||null===r?null:e._createCellCoords(n,r)}function i(e){var t,o;const{rowIndexMapper:s,columnIndexMapper:n}=e,{navigableHeaders:r}=e.getSettings();let i=s.getRenderableIndexesLength()-1,l=n.getRenderableIndexesLength()-1;if(i<0){if(!r||0===e.countColHeaders())return null;i=-1}if(l<0){if(!r||0===e.countColHeaders())return null;l=-1}return e._createCellCoords(null!==(t=s.getVisualFromRenderableIndex(i))&&void 0!==t?t:i,null!==(o=n.getVisualFromRenderableIndex(l))&&void 0!==o?o:l)}},41808:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(58954);Object.keys(s).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===s[e]||(t[e]=s[e]))}))},85631:(e,t,o)=>{"use strict";t.__esModule=!0,o(91683),o(63517);var s=o(29270),n=o(65320),r=o(22232),i=o(50095),l=o(68145),a=o(93315);class h{static get DESTINATION_RENDERER(){return 1}static get DESTINATION_CLIPBOARD_GENERATOR(){return 2}constructor(e,t,o){this.instance=e,this.metaManager=o,this.tableMeta=o.getTableMeta(),this.dataSource=t,this.duckSchema=this.createDuckSchema(),this.colToPropCache=void 0,this.propToColCache=void 0,this.createMap()}createMap(){const e=this.getSchema();if(void 0===e)throw new Error("trying to create `columns` definition but you didn't provide `schema` nor `data`");const t=this.tableMeta.columns;let o;if(this.colToPropCache=[],this.propToColCache=new Map,t){let s=0,n=0,i=!1;if("function"==typeof t){const t=(0,r.deepObjectSize)(e);s=t>0?t:this.countFirstRowKeys(),i=!0}else{const e=this.tableMeta.maxCols;s=Math.min(e,t.length)}for(o=0;o<s;o++){const e=i?t(o):t[o];if((0,r.isObject)(e)){if(void 0!==e.data){const t=i?n:o;this.colToPropCache[t]=e.data,this.propToColCache.set(e.data,t)}n+=1}}}else this.recursiveDuckColumns(e)}countFirstRowKeys(){return(0,n.countFirstRowKeys)(this.dataSource)}recursiveDuckColumns(e,t,o){let s,n=t,i=o;return void 0===n&&(n=0,i=""),"object"!=typeof e||Array.isArray(e)||(0,r.objectEach)(e,((e,t)=>{null===e?(s=i+t,this.colToPropCache.push(s),this.propToColCache.set(s,n),n+=1):n=this.recursiveDuckColumns(e,n,`${t}.`)})),n}colToProp(e){if(!1===Number.isInteger(e))return e;const t=this.instance.toPhysicalColumn(e);return null===t?e:this.colToPropCache&&(0,a.isDefined)(this.colToPropCache[t])?this.colToPropCache[t]:t}propToCol(e){const t=this.propToColCache.get(e);if((0,a.isDefined)(t))return this.instance.toVisualColumn(t);const o=this.instance.toVisualColumn(e);return null===o?e:o}getSchema(){const e=this.tableMeta.dataSchema;return e?"function"==typeof e?e():e:this.duckSchema}createDuckSchema(){return this.dataSource&&this.dataSource[0]?(0,r.duckSchema)(this.dataSource[0]):{}}refreshDuckSchema(){this.duckSchema=this.createDuckSchema()}createRow(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,{source:o,mode:s="above"}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const n=this.instance.countSourceRows();let i=n,a=0,h=e;("number"!=typeof h||h>=n)&&(h=n),h<this.instance.countRows()&&(i=this.instance.toPhysicalRow(h));if(!1===this.instance.runHooks("beforeCreateRow",h,t,o)||null===i)return{delta:0};const d=this.tableMeta.maxRows,c=this.getSchema().length,u=[];for(;a<t&&n+a<d;){let e=null;"array"===this.instance.dataType?this.tableMeta.dataSchema?e=(0,r.deepClone)(this.getSchema()):(e=[],(0,l.rangeEach)(c-1,(()=>e.push(null)))):"function"===this.instance.dataType?e=this.tableMeta.dataSchema(h+a):(e={},(0,r.deepExtend)(e,this.getSchema())),u.push(e),a+=1}this.instance.rowIndexMapper.insertIndexes(h,a),"below"===s&&(i=Math.min(i+1,n)),this.spliceData(i,0,u);const g=this.instance.toVisualRow(i);return this.instance.countSourceRows()===u.length&&this.instance.columnIndexMapper.initToLength(this.instance.getInitialColumnCount()),a>0&&(null==e?this.metaManager.createRow(null,a):"auto"!==o&&this.metaManager.createRow(i,t)),this.instance.runHooks("afterCreateRow",g,a,o),this.instance.forceFullRender=!0,{delta:a,startPhysicalIndex:i}}createCol(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,{source:o,mode:s="start"}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!this.instance.isColumnModificationAllowed())throw new Error("Cannot create new column. When data source in an object, you can only have as much columns as defined in first data row, data schema or in the 'columns' setting.If you want to be able to add new columns, you have to use array datasource.");const n=this.dataSource,r=this.tableMeta.maxCols,i=this.instance.countSourceCols();let l=e;("number"!=typeof l||l>=i)&&(l=i);if(!1===this.instance.runHooks("beforeCreateCol",l,t,o))return{delta:0};let a=i;l<this.instance.countCols()&&(a=this.instance.toPhysicalColumn(l));const h=this.instance.countSourceRows();let d=this.instance.countCols(),c=0,u=a;"end"===s&&(u=Math.min(u+1,i));const g=u;for(;c<t&&d<r;){if("number"!=typeof l||l>=d)if(h>0)for(let e=0;e<h;e+=1)void 0===n[e]&&(n[e]=[]),n[e].push(null);else n.push([null]);else for(let e=0;e<h;e++)n[e].splice(u,0,null);c+=1,u+=1,d+=1}this.instance.columnIndexMapper.insertIndexes(l,c),c>0&&(null==e?this.metaManager.createColumn(null,c):"auto"!==o&&this.metaManager.createColumn(g,t));const f=this.instance.toVisualColumn(g);return this.instance.runHooks("afterCreateCol",f,c,o),this.instance.forceFullRender=!0,this.refreshDuckSchema(),{delta:c,startPhysicalIndex:g}}removeRow(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,o=arguments.length>2?arguments[2]:void 0,s=Number.isInteger(e)?e:-t;const n=this.visualRowsToPhysical(s,t),r=this.instance.countSourceRows();s=(r+s)%r;if(!1===this.instance.runHooks("beforeRemoveRow",s,n.length,n,o))return!1;const i=n.length;if(this.filterData(s,i,n),s<this.instance.countRows()){this.instance.rowIndexMapper.removeIndexes(n);const e=(0,a.isDefined)(this.tableMeta.columns)||(0,a.isDefined)(this.tableMeta.dataSchema);0===this.instance.rowIndexMapper.getNotTrimmedIndexesLength()&&!1===e&&this.instance.columnIndexMapper.setIndexesSequence([])}return n.slice(0).sort(((e,t)=>t-e)).forEach((e=>{this.metaManager.removeRow(e,1)})),this.instance.runHooks("afterRemoveRow",s,i,n,o),this.instance.forceFullRender=!0,!0}removeCol(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,o=arguments.length>2?arguments[2]:void 0;if("object"===this.instance.dataType||this.tableMeta.columns)throw new Error("cannot remove column with object data source or columns option specified");let s="number"!=typeof e?-t:e;s=(this.instance.countCols()+s)%this.instance.countCols();const n=this.visualColumnsToPhysical(s,t),r=n.slice(0).sort(((e,t)=>t-e));if(!1===this.instance.runHooks("beforeRemoveCol",s,t,n,o))return!1;let i=!0;const l=r.length,a=this.dataSource;for(let e=0;e<l;e++)i&&n[0]!==n[e]-e&&(i=!1);if(i)for(let e=0,o=this.instance.countSourceRows();e<o;e++)a[e].splice(n[0],t),0===e&&this.metaManager.removeColumn(n[0],t);else for(let e=0,t=this.instance.countSourceRows();e<t;e++)for(let t=0;t<l;t++)a[e].splice(r[t],1),0===e&&this.metaManager.removeColumn(r[t],1);return s<this.instance.countCols()&&(this.instance.columnIndexMapper.removeIndexes(n),0===this.instance.columnIndexMapper.getNotTrimmedIndexesLength()&&this.instance.rowIndexMapper.setIndexesSequence([])),this.instance.runHooks("afterRemoveCol",s,t,n,o),this.instance.forceFullRender=!0,this.refreshDuckSchema(),!0}spliceCol(e,t,o){const s=this.instance.getDataAtCol(e),n=s.slice(t,t+o),r=s.slice(t+o);for(var l=arguments.length,a=new Array(l>3?l-3:0),h=3;h<l;h++)a[h-3]=arguments[h];(0,i.extendArray)(a,r);let d=0;for(;d<o;)a.push(null),d+=1;return(0,i.to2dArray)(a),this.instance.populateFromArray(t,e,a,null,null,"spliceCol"),n}spliceRow(e,t,o){const s=this.instance.getSourceDataAtRow(e),n=s.slice(t,t+o),r=s.slice(t+o);for(var l=arguments.length,a=new Array(l>3?l-3:0),h=3;h<l;h++)a[h-3]=arguments[h];(0,i.extendArray)(a,r);let d=0;for(;d<o;)a.push(null),d+=1;return this.instance.populateFromArray(e,t,[a],null,null,"spliceRow"),n}spliceData(e,t,o){if(!1!==this.instance.runHooks("beforeDataSplice",e,t,o)){const t=[...this.dataSource.slice(0,e),...o,...this.dataSource.slice(e)];this.dataSource.length=0,t.forEach((e=>this.dataSource.push(e)))}}filterData(e,t,o){let s=this.instance.runHooks("filterData",e,t,o);!1===Array.isArray(s)&&(s=this.dataSource.filter(((e,t)=>-1===o.indexOf(t)))),this.dataSource.length=0,Array.prototype.push.apply(this.dataSource,s)}get(e,t){const o=this.instance.toPhysicalRow(e);let s=this.dataSource[o];const n=this.instance.runHooks("modifyRowData",o);s=isNaN(n)?n:s;let i=null;if(s&&s.hasOwnProperty&&(0,r.hasOwnProperty)(s,t))i=s[t];else if("string"==typeof t&&t.indexOf(".")>-1){const e=t.split(".");let o=s;if(!o)return null;for(let t=0,s=e.length;t<s;t++)if(o=o[e[t]],void 0===o)return null;i=o}else"function"==typeof t&&(i=t(this.dataSource.slice(o,o+1)[0]));if(this.instance.hasHook("modifyData")){const e=(0,r.createObjectPropListener)(i);this.instance.runHooks("modifyData",o,this.propToCol(t),e,"get"),e.isTouched()&&(i=e.value)}return i}getCopyable(e,t){return this.instance.getCellMeta(e,this.propToCol(t)).copyable?this.get(e,t):""}set(e,t,o){const s=this.instance.toPhysicalRow(e);let n=o,i=this.dataSource[s];const l=this.instance.runHooks("modifyRowData",s);if(i=isNaN(l)?l:i,this.instance.hasHook("modifyData")){const e=(0,r.createObjectPropListener)(n);this.instance.runHooks("modifyData",s,this.propToCol(t),e,"set"),e.isTouched()&&(n=e.value)}if(i&&i.hasOwnProperty&&(0,r.hasOwnProperty)(i,t))i[t]=n;else if("string"==typeof t&&t.indexOf(".")>-1){const e=t.split(".");let o,s=i,r=0;for(r=0,o=e.length-1;r<o;r++)void 0===s[e[r]]&&(s[e[r]]={}),s=s[e[r]];s[e[r]]=n}else"function"==typeof t?t(this.dataSource.slice(s,s+1)[0],n):i[t]=n}visualRowsToPhysical(e,t){const o=this.instance.countSourceRows(),s=[];let n,r=(o+e)%o,i=t;for(;r<o&&i;)n=this.instance.toPhysicalRow(r),s.push(n),i-=1,r+=1;return s}visualColumnsToPhysical(e,t){const o=this.instance.countCols(),s=[];let n=(o+e)%o,r=t;for(;n<o&&r;){const e=this.instance.toPhysicalColumn(n);s.push(e),r-=1,n+=1}return s}clear(){for(let e=0;e<this.instance.countSourceRows();e++)for(let t=0;t<this.instance.countCols();t++)this.set(e,this.colToProp(t),"")}getLength(){const e=this.tableMeta.maxRows;let t;t=e<0||0===e?0:e||1/0;const o=this.instance.rowIndexMapper.getNotTrimmedIndexesLength();return Math.min(o,t)}getAll(){const e={row:0,col:0},t={row:Math.max(this.instance.countRows()-1,0),col:Math.max(this.instance.countCols()-1,0)};return e.row-t.row!=0||this.instance.countSourceRows()?this.getRange(e,t,h.DESTINATION_RENDERER):[]}countCachedColumns(){return this.colToPropCache.length}getRange(e,t,o){const s=[];let n,r,i;const l=this.tableMeta.maxRows,a=this.tableMeta.maxCols;if(0===l||0===a)return[];const d=o===h.DESTINATION_CLIPBOARD_GENERATOR?this.getCopyable:this.get,c=Math.min(Math.max(l-1,0),Math.max(e.row,t.row)),u=Math.min(Math.max(a-1,0),Math.max(e.col,t.col));for(n=Math.min(e.row,t.row);n<=c;n++){i=[];const o=n>=0?this.instance.toPhysicalRow(n):n;for(r=Math.min(e.col,t.col);r<=u&&null!==o;r++)i.push(d.call(this,n,this.colToProp(r)));null!==o&&s.push(i)}return s}getText(e,t){return(0,s.stringify)(this.getRange(e,t,h.DESTINATION_RENDERER))}getCopyableText(e,t){return(0,s.stringify)(this.getRange(e,t,h.DESTINATION_CLIPBOARD_GENERATOR))}destroy(){this.instance=null,this.metaManager=null,this.dataSource=null,this.duckSchema=null,this.colToPropCache.length=0,this.propToColCache.clear(),this.propToColCache=void 0}}t.default=h},43951:(e,t,o)=>{"use strict";t.__esModule=!0,o(63517);var s=o(22232),n=o(65320),r=o(50095),i=o(68145),l=o(85015);t.default=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.hot=e,this.data=t,this.dataType="array",this.colToProp=()=>{},this.propToCol=()=>{}}modifyRowData(e){let t;return this.hot.hasHook("modifyRowData")&&(t=this.hot.runHooks("modifyRowData",e)),void 0===t||Number.isInteger(t)?this.data[e]:t}getData(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.data&&0!==this.data.length?this.getByRange(null,null,e):this.data}setData(e){this.data=e}getAtColumn(e){const t=[];return(0,r.arrayEach)(this.data,((o,s)=>{const n=this.getAtCell(s,e);t.push(n)})),t}getAtRow(e,t,o){let n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const r=void 0===t&&void 0===o;let a=null,h=null;if(a=this.modifyRowData(e),Array.isArray(a))h=[],r?a.forEach(((t,o)=>{h[o]=this.getAtPhysicalCell(e,o,a)})):(0,i.rangeEach)(t,o,(o=>{h[o-t]=this.getAtPhysicalCell(e,o,a)}));else if((0,s.isObject)(a)||(0,l.isFunction)(a))if(h=n?[]:{},!r||n){const r=0,l=this.countFirstRowKeys()-1;(0,i.rangeEach)(r,l,(i=>{const d=this.colToProp(i);if(i>=(t||r)&&i<=(o||l)&&!Number.isInteger(d)){const t=this.getAtPhysicalCell(e,d,a);n?h.push(t):(0,s.setProperty)(h,d,t)}}))}else(0,s.objectEach)(a,((t,o)=>{(0,s.setProperty)(h,o,this.getAtPhysicalCell(e,o,a))}));return h}setAtCell(e,t,o){if(!(e>=this.countRows()||t>=this.countFirstRowKeys())){if(this.hot.hasHook("modifySourceData")){const n=(0,s.createObjectPropListener)(o);this.hot.runHooks("modifySourceData",e,t,n,"set"),n.isTouched()&&(o=n.value)}Number.isInteger(t)?this.data[e][t]=o:(0,s.setProperty)(this.data[e],t,o)}}getAtPhysicalCell(e,t,o){let n=null;if(o&&(n="string"==typeof t?(0,s.getProperty)(o,t):"function"==typeof t?t(o):o[t]),this.hot.hasHook("modifySourceData")){const o=(0,s.createObjectPropListener)(n);this.hot.runHooks("modifySourceData",e,t,o,"get"),o.isTouched()&&(n=o.value)}return n}getAtCell(e,t){const o=this.modifyRowData(e);return this.getAtPhysicalCell(e,this.colToProp(t),o)}getByRange(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2],s=!1,n=null,r=null,l=null,a=null;null===e||null===t?(s=!0,n=0,l=this.countRows()-1):(n=Math.min(e.row,t.row),r=Math.min(e.col,t.col),l=Math.max(e.row,t.row),a=Math.max(e.col,t.col));const h=[];return(0,i.rangeEach)(n,l,(e=>{h.push(s?this.getAtRow(e,void 0,void 0,o):this.getAtRow(e,r,a,o))})),h}countRows(){if(this.hot.hasHook("modifySourceLength")){const e=this.hot.runHooks("modifySourceLength");if(Number.isInteger(e))return e}return this.data.length}countFirstRowKeys(){return(0,n.countFirstRowKeys)(this.data)}destroy(){this.data=null,this.hot=null}}},3177:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=s(o(85631));t.DataMap=n.default;var r=s(o(10146));t.MetaManager=r.default;var i=s(o(87574));t.metaSchemaFactory=i.default;var l=o(73046);t.replaceData=l.replaceData;var a=o(24298);t.DynamicCellMetaMod=a.DynamicCellMetaMod;var h=o(63511);t.ExtendMetaPropertiesMod=h.ExtendMetaPropertiesMod},10146:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(91683);var n=s(o(23373)),r=s(o(34624)),i=s(o(22142)),l=s(o(7083)),a=s(o(65718)),h=o(22232);class d{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];this.hot=e,this.globalMeta=new n.default(e),this.tableMeta=new r.default(this.globalMeta),this.columnMeta=new i.default(this.globalMeta),this.cellMeta=new l.default(this.columnMeta),o.forEach((e=>new e(this))),this.globalMeta.updateMeta(t)}getGlobalMeta(){return this.globalMeta.getMeta()}updateGlobalMeta(e){this.globalMeta.updateMeta(e)}getTableMeta(){return this.tableMeta.getMeta()}updateTableMeta(e){this.tableMeta.updateMeta(e)}getColumnMeta(e){return this.columnMeta.getMeta(e)}updateColumnMeta(e,t){this.columnMeta.updateMeta(e,t)}getCellMeta(e,t,o){let{visualRow:s,visualColumn:n}=o;const r=this.cellMeta.getMeta(e,t);return r.visualRow=s,r.visualCol=n,r.row=e,r.col=t,this.runLocalHooks("afterGetCellMeta",r),r}getCellMetaKeyValue(e,t,o){if("string"!=typeof o)throw new Error("The passed cell meta object key is not a string");return this.cellMeta.getMeta(e,t,o)}setCellMeta(e,t,o,s){this.cellMeta.setMeta(e,t,o,s)}updateCellMeta(e,t,o){this.cellMeta.updateMeta(e,t,o)}removeCellMeta(e,t,o){this.cellMeta.removeMeta(e,t,o)}getCellsMeta(){return this.cellMeta.getMetas()}getCellsMetaAtRow(e){return this.cellMeta.getMetasAtRow(e)}createRow(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;this.cellMeta.createRow(e,t)}removeRow(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;this.cellMeta.removeRow(e,t)}createColumn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;this.cellMeta.createColumn(e,t),this.columnMeta.createColumn(e,t)}removeColumn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;this.cellMeta.removeColumn(e,t),this.columnMeta.removeColumn(e,t)}clearCellsCache(){this.cellMeta.clearCache()}clearCache(){this.cellMeta.clearCache(),this.columnMeta.clearCache()}}t.default=d,(0,h.mixin)(d,a.default)},32156:(e,t,o)=>{"use strict";t.__esModule=!0,o(63517);var s=o(50095),n=o(8972);class r{constructor(e){this.valueFactory=e,this.data=[],this.index=[],this.holes=new Set}obtain(e){(0,n.assert)((()=>(0,n.isUnsignedNumber)(e)),"Expecting an unsigned number.");const t=this._getStorageIndexByKey(e);let o;if(t>=0)o=this.data[t],void 0===o&&(o=this.valueFactory(e),this.data[t]=o);else if(o=this.valueFactory(e),this.holes.size>0){const t=this.holes.values().next().value;this.holes.delete(t),this.data[t]=o,this.index[e]=t}else this.data.push(o),this.index[e]=this.data.length-1;return o}insert(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;(0,n.assert)((()=>(0,n.isUnsignedNumber)(e)||(0,n.isNullish)(e)),"Expecting an unsigned number or null/undefined argument.");const o=[],s=this.data.length;for(let e=0;e<t;e++)o.push(s+e),this.data.push(void 0);const r=(0,n.isNullish)(e)?this.index.length:e;this.index=[...this.index.slice(0,r),...o,...this.index.slice(r)]}remove(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;(0,n.assert)((()=>(0,n.isUnsignedNumber)(e)||(0,n.isNullish)(e)),"Expecting an unsigned number or null/undefined argument.");const o=this.index.splice((0,n.isNullish)(e)?this.index.length-t:e,t);for(let e=0;e<o.length;e++){const t=o[e];"number"==typeof t&&this.holes.add(t)}}size(){return this.data.length-this.holes.size}values(){return(0,s.arrayFilter)(this.data,((e,t)=>!this.holes.has(t)))[Symbol.iterator]()}entries(){const e=[];for(let t=0;t<this.data.length;t++){const o=this._getKeyByStorageIndex(t);-1!==o&&e.push([o,this.data[t]])}let t=0;return{next:()=>{if(t<e.length){const o=e[t];return t+=1,{value:o,done:!1}}return{done:!0}}}}clear(){this.data=[],this.index=[],this.holes.clear()}_getStorageIndexByKey(e){return this.index.length>e?this.index[e]:-1}_getKeyByStorageIndex(e){return this.index.indexOf(e)}[Symbol.iterator](){return this.entries()}}t.default=r},7083:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(63517);var n=o(22232),r=o(8972),i=s(o(32156));t.default=class{constructor(e){this.columnMeta=e,this.metas=new i.default((()=>this._createRow()))}updateMeta(e,t,o){const s=this.getMeta(e,t);(0,n.extend)(s,o),(0,r.extendByMetaType)(s,o)}createRow(e,t){this.metas.insert(e,t)}createColumn(e,t){for(let o=0;o<this.metas.size();o++)this.metas.obtain(o).insert(e,t)}removeRow(e,t){this.metas.remove(e,t)}removeColumn(e,t){for(let o=0;o<this.metas.size();o++)this.metas.obtain(o).remove(e,t)}getMeta(e,t,o){const s=this.metas.obtain(e).obtain(t);return void 0===o?s:s[o]}setMeta(e,t,o,s){var n;const r=this.metas.obtain(e).obtain(t);null===(n=r._automaticallyAssignedMetaProps)||void 0===n||n.delete(o),r[o]=s}removeMeta(e,t,o){delete this.metas.obtain(e).obtain(t)[o]}getMetas(){const e=[],t=Array.from(this.metas.values());for(let o=0;o<t.length;o++)e.push(...t[o].values());return e}getMetasAtRow(e){(0,r.assert)((()=>(0,r.isUnsignedNumber)(e)),"Expecting an unsigned number.");const t=new Map(this.metas);return t.has(e)?Array.from(t.get(e).values()):[]}clearCache(){this.metas.clear()}_createRow(){return new i.default((e=>this._createMeta(e)))}_createMeta(e){return new(this.columnMeta.getMetaConstructor(e))}}},22142:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=o(22232),r=o(8972),i=s(o(32156));const l=["data","width"];t.default=class{constructor(e){this.globalMeta=e,this.metas=new i.default((()=>this._createMeta()))}updateMeta(e,t){const o=this.getMeta(e);(0,n.extend)(o,t),(0,r.extendByMetaType)(o,t)}createColumn(e,t){this.metas.insert(e,t)}removeColumn(e,t){this.metas.remove(e,t)}getMeta(e){return this.metas.obtain(e)}getMetaConstructor(e){return this.metas.obtain(e).constructor}clearCache(){this.metas.clear()}_createMeta(){return(0,r.columnFactory)(this.globalMeta.getMetaConstructor(),l).prototype}}},23373:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=o(22232),r=o(8972),i=s(o(87574));t.default=class{constructor(e){this.metaCtor=class{},this.meta=this.metaCtor.prototype,(0,n.extend)(this.meta,(0,i.default)()),this.meta.instance=e}getMetaConstructor(){return this.metaCtor}getMeta(){return this.meta}updateMeta(e){var t;(0,n.extend)(this.meta,e),(0,r.extendByMetaType)(this.meta,{...e,type:null!==(t=e.type)&&void 0!==t?t:this.meta.type},e)}}},34624:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(22232),n=o(8972);t.default=class{constructor(e){const t=e.getMetaConstructor();this.meta=new t}getMeta(){return this.meta}updateMeta(e){(0,s.extend)(this.meta,e),(0,n.extendByMetaType)(this.meta,e,e)}}},87574:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(93315),n=o(22232);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,dataSchema:void 0,dateFormat:"DD/MM/YYYY",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,height:void 0,hiddenColumns:void 0,hiddenRows:void 0,invalidCellClassName:"htInvalid",imeFastEdit:!1,isEmptyCol(e){let t,o,n;for(t=0,o=this.countRows();t<o;t++)if(n=this.getDataAtCell(t,e),!1===(0,s.isEmpty)(n))return!1;return!0},isEmptyRow(e){let t,o,r,i;for(t=0,o=this.countCols();t<o;t++)if(r=this.getDataAtCell(e,t),!1===(0,s.isEmpty)(r))return"object"==typeof r&&(i=this.getCellMeta(e,t),(0,n.isObjectEqual)(this.getSchema()[i.prop],r));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,disableTabNavigation:!1,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:void 0,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,tabMoves:{row:0,col:1},title:void 0,trimDropdown:!0,trimRows:void 0,trimWhitespace:!0,type:"text",uncheckedTemplate:void 0,undo:void 0,validator:void 0,viewportColumnRenderingOffset:"auto",viewportRowRenderingOffset:"auto",visibleRows:10,width:void 0,wordWrap:!0})},24298:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=s(o(56307)),r=o(22232),i=o(85015);t.DynamicCellMetaMod=class{constructor(e){this.metaManager=e,this.metaSyncMemo=new Map,e.addLocalHook("afterGetCellMeta",(e=>this.extendCellMeta(e))),n.default.getSingleton().add("beforeRender",(e=>{e&&this.metaSyncMemo.clear()}),this.metaManager.hot)}extendCellMeta(e){var t;const{row:o,col:s}=e;if(null!==(t=this.metaSyncMemo.get(o))&&void 0!==t&&t.has(s))return;const{visualRow:n,visualCol:l}=e,a=this.metaManager.hot,h=a.colToProp(l);e.prop=h,a.runHooks("beforeGetCellMeta",n,l,e);const d=(0,r.hasOwnProperty)(e,"type")?e.type:null;let c=(0,i.isFunction)(e.cells)?e.cells(o,s,h):null;var u;d&&(c?c.type=null!==(u=c.type)&&void 0!==u?u:d:c={type:d});c&&this.metaManager.updateCellMeta(o,s,c),a.runHooks("afterGetCellMeta",n,l,e),this.metaSyncMemo.has(o)||this.metaSyncMemo.set(o,new Set),this.metaSyncMemo.get(o).add(s)}}},63511:(e,t,o)=>{"use strict";t.__esModule=!0,o(91683);t.ExtendMetaPropertiesMod=class{constructor(e){this.metaManager=e,this.usageTracker=new Set,this.propDescriptors=new Map([["ariaTags",{onChange(e,t,o){if(!o)throw new Error(`The \`${e}\` option can not be updated after the Handsontable instance was initialized.`)}}],["fixedColumnsLeft",{target:"fixedColumnsStart",onChange(e){if(this.metaManager.hot.isRtl()&&"fixedColumnsLeft"===e)throw new Error("The `fixedColumnsLeft` is not supported for RTL. Please use option `fixedColumnsStart`.");if(this.usageTracker.has("fixedColumnsLeft")&&this.usageTracker.has("fixedColumnsStart"))throw new Error("The `fixedColumnsLeft` and `fixedColumnsStart` should not be used together. Please use only the option `fixedColumnsStart`.")}}],["layoutDirection",{onChange(e,t,o){if(!o)throw new Error(`The \`${e}\` option can not be updated after the Handsontable is initialized.`)}}]]),this.extendMetaProps()}extendMetaProps(){this.propDescriptors.forEach(((e,t)=>{const{target:o,onChange:s=(()=>{})}=e,n="string"==typeof o,r=n?o:t,i=`_${r}`;this.metaManager.globalMeta.meta[i]=this.metaManager.globalMeta.meta[r],this.installPropWatcher(t,i,s),n&&this.installPropWatcher(o,i,s)}))}installPropWatcher(e,t,o){const s=this;Object.defineProperty(this.metaManager.globalMeta.meta,e,{get(){return this[t]},set(n){const r=!s.usageTracker.has(e);s.usageTracker.add(e),o.call(s,e,n,r),this[t]=n},enumerable:!0,configurable:!0})}}},8972:(e,t,o)=>{"use strict";t.__esModule=!0,t.assert=function(e,t){if(!e())throw new Error(`Assertion failed: ${t}`)},t.columnFactory=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];function o(){}(0,s.inherit)(o,e);for(let e=0;e<t.length;e++)o.prototype[t[e]]=void 0;return o},t.extendByMetaType=function(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e;const r="string"==typeof t.type?(0,n.getCellType)(t.type):t.type;e._automaticallyAssignedMetaProps&&(0,s.objectEach)(t,((t,o)=>{e._automaticallyAssignedMetaProps.delete(o)}));if(!(0,s.isObject)(r))return;o!==e||e._automaticallyAssignedMetaProps||(e._automaticallyAssignedMetaProps=new Set);const i={};(0,s.objectEach)(r,((t,n)=>{var r;(function(e,t){var o;if("CELL_TYPE"===e)return!1;return(null===(o=t._automaticallyAssignedMetaProps)||void 0===o?void 0:o.has(e))||!(0,s.hasOwnProperty)(t,e)})(n,o)&&(i[n]=t,null===(r=e._automaticallyAssignedMetaProps)||void 0===r||r.add(n))})),(0,s.extend)(e,i)},t.isNullish=function(e){return null==e},t.isUnsignedNumber=function(e){return Number.isInteger(e)&&e>=0},o(91683);var s=o(22232),n=o(65324)},73046:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,t.replaceData=function(e,t,o,s){const{hotInstance:d,dataMap:c,dataSource:u,internalSource:g,source:f,metaManager:p,firstRun:m}=s,C=(0,n.toUpperCaseFirst)(g),w=d.getSettings();Array.isArray(w.dataSchema)?d.dataType="array":(0,r.isFunction)(w.dataSchema)?d.dataType="function":d.dataType="object";c&&c.destroy();e=d.runHooks(`before${C}`,e,m,f);const E=new i.default(d,e,p);if(t(E),"object"==typeof e&&null!==e)e.push&&e.splice||(e=[e]);else{if(null!==e)throw new Error(`${g} only accepts array of objects or array of arrays (${typeof e} given)`);{const t=E.getSchema();let o;e=[];let s=0,n=0;for(s=0,n=w.startRows;s<n;s++)if("object"!==d.dataType&&"function"!==d.dataType||!w.dataSchema)if("array"===d.dataType)o=(0,l.deepClone)(t[0]),e.push(o);else{o=[];for(let e=0,t=w.startCols;e<t;e++)o.push(null);e.push(o)}else o=(0,l.deepClone)(t),e.push(o)}}Array.isArray(e[0])&&(d.dataType="array");w.data=e,E.dataSource=e,u.data=e,u.dataType=d.dataType,u.colToProp=E.colToProp.bind(E),u.propToCol=E.propToCol.bind(E),u.countCachedColumns=E.countCachedColumns.bind(E),o(E),d.runHooks(`after${C}`,e,m,f),m||(d.runHooks("afterChange",null,g),d.render());d.getSettings().ariaTags&&(0,a.setAttribute)(d.rootElement,[(0,h.A11Y_ROWCOUNT)(d.countRows()),(0,h.A11Y_COLCOUNT)(d.countCols())])},o(63517),o(91683);var n=o(18609),r=o(85015),i=s(o(85631)),l=o(22232),a=o(83302),h=o(5386)},6116:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=o(80151),r=o(24449),i=o(83605),l=s(o(75244)),a=o(93315);const h=t.SHORTCUTS_GROUP_NAVIGATION="editorManager.navigation";class d{constructor(e,t,o){this.instance=e,this.tableMeta=t,this.selection=o,this.eventManager=new l.default(e),this.destroyed=!1,this.lock=!1,this.activeEditor=void 0,this.cellProperties=void 0,this.instance.addHook("afterDocumentKeyDown",(e=>this.onAfterDocumentKeyDown(e))),this.eventManager.addEventListener(this.instance.rootDocument.documentElement,"compositionstart",(e=>{!this.destroyed&&this.instance.isListening()&&this.openEditor("",e)})),this.instance.view._wt.update("onCellDblClick",((e,t,o)=>this.onCellDblClick(e,t,o)))}lockEditor(){this.lock=!0}unlockEditor(){this.lock=!1}destroyEditor(e){this.lock||this.closeEditor(e)}getActiveEditor(){return this.activeEditor}prepareEditor(){if(this.lock)return;if(this.activeEditor&&this.activeEditor.isWaiting())return void this.closeEditor(!1,!1,(e=>{e&&this.prepareEditor()}));const{highlight:e}=this.instance.getSelectedRangeLast();if(e.isHeader())return;const{row:t,col:o}=e,s=this.instance.runHooks("modifyGetCellCoords",t,o);let n=t,r=o;if(Array.isArray(s)&&([n,r]=s),this.cellProperties=this.instance.getCellMeta(n,r),!this.isCellEditable())return void this.clearActiveEditor();const l=this.instance.getCell(t,o,!0);if(l){const e=this.instance.getCellEditor(this.cellProperties),s=this.instance.colToProp(r),a=this.instance.getSourceDataAtCell(this.instance.toPhysicalRow(n),r);this.activeEditor=(0,i.getEditorInstance)(e,this.instance),this.activeEditor.prepare(t,o,s,l,a,this.cellProperties)}}isEditorOpened(){return this.activeEditor&&this.activeEditor.isOpened()}openEditor(e,t){let o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.isCellEditable()?(this.activeEditor||(this.instance.scrollToFocusedCell(),this.prepareEditor()),this.activeEditor&&(o&&this.activeEditor.enableFullEditMode(),this.activeEditor.beginEditing(e,t))):this.clearActiveEditor()}closeEditor(e,t,o){this.activeEditor?this.activeEditor.finishEditing(e,t,o):o&&o(!1)}closeEditorAndSaveChanges(e){this.closeEditor(!1,e)}closeEditorAndRestoreOriginalValue(e){this.closeEditor(!0,e)}clearActiveEditor(){this.activeEditor=void 0}isCellEditable(){const e=this.instance.getSelectedRangeLast();if(!e)return!1;const t=this.instance.getCellEditor(this.cellProperties),{row:o,col:s}=e.highlight,{rowIndexMapper:n,columnIndexMapper:r}=this.instance,i=n.isHidden(this.instance.toPhysicalRow(o))||r.isHidden(this.instance.toPhysicalColumn(s));return!(this.cellProperties.readOnly||!t||i)}moveSelectionAfterEnter(e){const t="function"==typeof this.tableMeta.enterMoves?this.tableMeta.enterMoves(event):this.tableMeta.enterMoves;e?this.selection.transformStart(-t.row,-t.col):this.selection.transformStart(t.row,t.col,!0)}onAfterDocumentKeyDown(e){const t=this.instance.getSelectedRangeLast();if(!this.instance.isListening()||!t||t.highlight.isHeader()||(0,r.isImmediatePropagationStopped)(e))return;const{keyCode:o}=e,s=(e.ctrlKey||e.metaKey)&&!e.altKey;if((!this.activeEditor||this.activeEditor&&!this.activeEditor.isWaiting())&&!((0,n.isFunctionKey)(o)||(0,n.isCtrlMetaKey)(o)||s||this.isEditorOpened())){const t=this.instance.getShortcutManager().getContext("editor"),o={runOnlyIf:()=>(0,a.isDefined)(this.instance.getSelected()),group:h};t.addShortcuts([{keys:[["ArrowUp"]],callback:()=>{this.instance.selection.transformStart(-1,0)}},{keys:[["ArrowDown"]],callback:()=>{this.instance.selection.transformStart(1,0)}},{keys:[["ArrowLeft"]],callback:()=>{this.instance.selection.transformStart(0,-1*this.instance.getDirectionFactor())}},{keys:[["ArrowRight"]],callback:()=>{this.instance.selection.transformStart(0,this.instance.getDirectionFactor())}}],o),this.openEditor("",e)}}onCellDblClick(e,t,o){"TD"===o.nodeName&&this.openEditor(null,e,!0)}destroy(){this.destroyed=!0,this.eventManager.destroy()}}const c=new WeakMap;d.getInstance=function(e,t,o){let s=c.get(e);return s||(s=new d(e,t,o),c.set(e,s)),s};t.default=d},87857:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(63517);var n=s(o(93231)),r=o(93273),i=o(50095),l=o(83302),a=o(93315),h=o(18609),d=o(80151),c=o(50695),u=o(5386);const g=new WeakMap,f=t.EDITOR_TYPE="autocomplete";class p extends r.HandsontableEditor{static get EDITOR_TYPE(){return f}constructor(e){super(e),(0,n.default)(this,"sortByRelevance",(function(e,t,o){const s=[],n=[],r=e.length;let i,l,d,c,u=t.length;if(0===r){for(d=0;d<u;d++)n.push(d);return n}for(d=0;d<u;d++){if(l=(0,h.stripTags)((0,a.stringify)(t[d])),o)c=l.indexOf(e);else{const t=this.cellProperties.locale;c=l.toLocaleLowerCase(t).indexOf(e.toLocaleLowerCase(t))}-1!==c&&(i=l.length-c-r,s.push({baseIndex:d,index:c,charsLeft:i,value:l}))}for(s.sort(((e,t)=>{if(-1===t.index)return-1;if(-1===e.index)return 1;if(e.index<t.index)return-1;if(t.index<e.index)return 1;if(e.index===t.index){if(e.charsLeft<t.charsLeft)return-1;if(e.charsLeft>t.charsLeft)return 1}return 0})),d=0,u=s.length;d<u;d++)n.push(s[d].baseIndex);return n})),this.query=null,this.strippedChoices=[],this.rawChoices=[],g.set(this,{skipOne:!1,isMacOS:this.hot.rootWindow.navigator.platform.indexOf("Mac")>-1,idPrefix:e.guid.slice(0,9)})}getValue(){const e=this.rawChoices.find((e=>this.stripValueIfNeeded(e)===this.TEXTAREA.value));return(0,a.isDefined)(e)?e:this.TEXTAREA.value}createElements(){super.createElements(),(0,l.addClass)(this.htContainer,"autocompleteEditor"),(0,l.addClass)(this.htContainer,-1===this.hot.rootWindow.navigator.platform.indexOf("Mac")?"":"htMacScroll"),this.hot.getSettings().ariaTags&&(0,l.setAttribute)(this.TEXTAREA,[(0,u.A11Y_TEXT)(),(0,u.A11Y_COMBOBOX)(),(0,u.A11Y_HASPOPUP)("listbox"),(0,u.A11Y_AUTOCOMPLETE)()])}prepare(e,t,o,s,n,r){const i=g.get(this);super.prepare(e,t,o,s,n,r),this.hot.getSettings().ariaTags&&(0,l.setAttribute)(this.TEXTAREA,[(0,u.A11Y_EXPANDED)("false"),(0,u.A11Y_CONTROLS)(`${i.idPrefix}-listbox-${e}-${t}`)])}open(){const e=g.get(this);super.open();const t=void 0===this.cellProperties.trimDropdown||this.cellProperties.trimDropdown,o=this.hot.getSettings().ariaTags,s=Array.isArray(this.cellProperties.source)?this.cellProperties.source:null,n=null==s?void 0:s.length,{row:r,col:i}=this;this.showEditableElement(),this.focus();let h=(0,l.getScrollbarWidth)();0===h&&e.isMacOS&&(h+=15),this.addHook("beforeKeyDown",(e=>this.onBeforeKeyDown(e))),this.htEditor.updateSettings({colWidths:t?[(0,l.outerWidth)(this.TEXTAREA)-2]:void 0,width:t?(0,l.outerWidth)(this.TEXTAREA)+h:void 0,autoColumnSize:!0,renderer:(e,t,r,i,h,d,g)=>{(0,c.textRenderer)(e,t,r,i,h,d,g);const{filteringCaseSensitive:f,allowHtml:p,locale:m}=this.cellProperties,C=this.query;let w,E,y=(0,a.stringify)(d);y&&!p&&(w=!0===f?y.indexOf(C):y.toLocaleLowerCase(m).indexOf(C.toLocaleLowerCase(m)),-1!==w&&(E=y.substr(w,C.length),y=y.replace(E,`<strong>${E}</strong>`))),o&&(0,l.setAttribute)(t,[(0,u.A11Y_OPTION)(),...s?[(0,u.A11Y_SETSIZE)(n)]:[],...s?[(0,u.A11Y_POSINSET)(s.indexOf(d)+1)]:[],["id",`${this.htEditor.rootElement.id}_${r}-${i}`]]),t.innerHTML=y},afterSelection:(e,t)=>{if(o){const o=this.htEditor.getCell(e,t,!0);(0,l.setAttribute)(o,[(0,u.A11Y_SELECTED)()]),(0,l.setAttribute)(this.TEXTAREA,...(0,u.A11Y_ACTIVEDESCENDANT)(o.id))}}}),o&&((0,l.setAttribute)(this.htEditor.view._wt.wtOverlays.wtTable.TABLE,...(0,u.A11Y_PRESENTATION)()),(0,l.setAttribute)(this.htEditor.rootElement,[(0,u.A11Y_LISTBOX)(),(0,u.A11Y_LIVE)("polite"),(0,u.A11Y_RELEVANT)("text"),["id",`${e.idPrefix}-listbox-${r}-${i}`]]),(0,l.setAttribute)(this.TEXTAREA,...(0,u.A11Y_EXPANDED)("true"))),e.skipOne&&(e.skipOne=!1),this.hot._registerTimeout((()=>{this.queryChoices(this.TEXTAREA.value)}))}close(){this.removeHooksByKey("beforeKeyDown"),super.close(),this.hot.getSettings().ariaTags&&(0,l.setAttribute)(this.TEXTAREA,[(0,u.A11Y_EXPANDED)("false")])}discardEditor(e){super.discardEditor(e),this.hot.view.render()}queryChoices(e){const t=this.cellProperties.source;this.query=e,"function"==typeof t?t.call(this.cellProperties,e,(e=>{this.rawChoices=e,this.updateChoicesList(this.stripValuesIfNeeded(e))})):Array.isArray(t)?(this.rawChoices=t,this.updateChoicesList(this.stripValuesIfNeeded(t))):this.updateChoicesList([])}updateChoicesList(e){const t=(0,l.getCaretPosition)(this.TEXTAREA),o=(0,l.getSelectionEndPosition)(this.TEXTAREA),s=this.cellProperties.sortByRelevance,n=this.cellProperties.filter;let r=null,a=null,h=e;s&&(r=this.sortByRelevance(this.stripValueIfNeeded(this.getValue()),h,this.cellProperties.filteringCaseSensitive));const d=Array.isArray(r)?r.length:0;if(!1===n)d&&(a=r[0]);else{const e=[];for(let t=0,o=h.length;t<o&&!(s&&d<=t);t++)d?e.push(h[r[t]]):e.push(h[t]);a=0,h=e}this.strippedChoices=h,this.htEditor.loadData((0,i.pivot)([h])),0===h.length?this.htEditor.rootElement.style.display="none":(this.htEditor.rootElement.style.display="",this.updateDropdownHeight(),this.flipDropdownIfNeeded(),!0===this.cellProperties.strict&&this.highlightBestMatchingChoice(a)),this.hot.listen(),(0,l.setCaretPosition)(this.TEXTAREA,t,t===o?void 0:o)}flipDropdownIfNeeded(){const e=(0,l.getTrimmingContainer)(this.hot.view._wt.wtTable.TABLE),t=e===this.hot.rootWindow,o=this.cellProperties.preventOverflow;if(t||!t&&(o||"horizontal"===o))return!1;const s=(0,l.offset)(this.TEXTAREA),n=(0,l.outerHeight)(this.TEXTAREA),r=this.getDropdownHeight(),i=e.scrollTop,a=(0,l.outerHeight)(this.hot.view._wt.wtTable.THEAD),h=(0,l.offset)(e),d=s.top-h.top-a+i,c=e.scrollHeight-d-a-n,u=r>c&&d>c;return u?this.flipDropdown(r):this.unflipDropdown(),this.limitDropdownIfNeeded(u?d:c,r),u}limitDropdownIfNeeded(e,t){if(t>e){let o=0,s=0,n=0,r=null;do{n=this.htEditor.getRowHeight(s)||this.htEditor.view._wt.getSetting("defaultRowHeight"),o+=n,s+=1}while(o<e);r=o-n,this.htEditor.flipped&&(this.htEditor.rootElement.style.top=parseInt(this.htEditor.rootElement.style.top,10)+t-r+"px"),this.setDropdownHeight(o-n)}}flipDropdown(e){const t=this.htEditor.rootElement.style;t.position="absolute",t.top=-e+"px",this.htEditor.flipped=!0}unflipDropdown(){const e=this.htEditor.rootElement.style;e.position="absolute",e.top="",this.htEditor.flipped=void 0}updateDropdownHeight(){const e=this.htEditor.getColWidth(0)+(0,l.getScrollbarWidth)(this.hot.rootDocument)+2,t=this.cellProperties.trimDropdown;this.htEditor.updateSettings({height:this.getDropdownHeight(),width:t?void 0:e}),this.htEditor.view._wt.wtTable.alignOverlaysWithTrimmingContainer()}setDropdownHeight(e){this.htEditor.updateSettings({height:e})}highlightBestMatchingChoice(e){"number"==typeof e?this.htEditor.selectCell(e,0,void 0,void 0,void 0,!1):this.htEditor.deselectCell()}getDropdownHeight(){const e=this.htEditor.getRowHeight(0)||23,t=this.cellProperties.visibleRows;return this.strippedChoices.length>=t?t*e:this.strippedChoices.length*e+8}stripValueIfNeeded(e){return this.stripValuesIfNeeded([e])[0]}stripValuesIfNeeded(e){const{allowHtml:t}=this.cellProperties,o=(0,i.arrayMap)(e,(e=>(0,a.stringify)(e)));return(0,i.arrayMap)(o,(e=>t?e:(0,h.stripTags)(e)))}allowKeyEventPropagation(e){const t=this.htEditor.getSelectedRangeLast(),o=t?t.from.row:-1;let s=!1;return e===d.KEY_CODES.ARROW_DOWN&&o>0&&o<this.htEditor.countRows()-1&&(s=!0),e===d.KEY_CODES.ARROW_UP&&o>-1&&(s=!0),s}onBeforeKeyDown(e){const t=g.get(this);if(t.skipOne=!1,(0,d.isPrintableChar)(e.keyCode)||e.keyCode===d.KEY_CODES.BACKSPACE||e.keyCode===d.KEY_CODES.DELETE||e.keyCode===d.KEY_CODES.INSERT){let o=10;if(e.keyCode===d.KEY_CODES.C&&(e.ctrlKey||e.metaKey))return;this.isOpened()||(o+=10),this.htEditor&&this.hot._registerTimeout((()=>{this.queryChoices(this.TEXTAREA.value),t.skipOne=!0}),o)}}}t.AutocompleteEditor=p},25815:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(87857);t.EDITOR_TYPE=s.EDITOR_TYPE,t.AutocompleteEditor=s.AutocompleteEditor},97296:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(91683);var n=o(93315),r=o(22232),i=o(6116),l=s(o(4748)),a=o(83302);const h=t.EDITOR_TYPE="base",d=t.EDITOR_STATE=Object.freeze({VIRGIN:"STATE_VIRGIN",EDITING:"STATE_EDITING",WAITING:"STATE_WAITING",FINISHED:"STATE_FINISHED"}),c=t.SHORTCUTS_GROUP_EDITOR="baseEditor";class u{static get EDITOR_TYPE(){return h}constructor(e){this.hot=e,this.instance=e,this.state=d.VIRGIN,this._opened=!1,this._fullEditMode=!1,this._closeCallback=null,this.TD=null,this.row=null,this.col=null,this.prop=null,this.originalValue=null,this.cellProperties=null,this.init()}_fireCallbacks(e){this._closeCallback&&(this._closeCallback(e),this._closeCallback=null)}init(){}getValue(){throw Error("Editor getValue() method unimplemented")}setValue(){throw Error("Editor setValue() method unimplemented")}open(){throw Error("Editor open() method unimplemented")}close(){throw Error("Editor close() method unimplemented")}prepare(e,t,o,s,n,r){this.TD=s,this.row=e,this.col=t,this.prop=o,this.originalValue=n,this.cellProperties=r,this.state=d.VIRGIN}extend(){return class extends this.constructor{}}saveValue(e,t){let o,s,r,i;if(t){const e=this.hot.getSelectedLast();o=Math.max(Math.min(e[0],e[2]),0),s=Math.max(Math.min(e[1],e[3]),0),r=Math.max(e[0],e[2]),i=Math.max(e[1],e[3])}else[o,s,r,i]=[this.row,this.col,null,null];const l=this.hot.runHooks("modifyGetCellCoords",o,s);Array.isArray(l)&&([o,s]=l);const a=this.hot.getShortcutManager().getContext("editor"),h={runOnlyIf:()=>(0,n.isDefined)(this.hot.getSelected()),group:c};this.isInFullEditMode()&&a.addShortcuts([{keys:[["ArrowUp"]],callback:()=>{this.hot.selection.transformStart(-1,0)}},{keys:[["ArrowDown"]],callback:()=>{this.hot.selection.transformStart(1,0)}},{keys:[["ArrowLeft"]],callback:()=>{this.hot.selection.transformStart(0,-1*this.hot.getDirectionFactor())}},{keys:[["ArrowRight"]],callback:()=>{this.hot.selection.transformStart(0,this.hot.getDirectionFactor())}}],h),this.hot.populateFromArray(o,s,e,r,i,"edit")}beginEditing(e,t){if(this.state!==d.VIRGIN)return;const o=this.hot,s=o.rowIndexMapper.getRenderableFromVisualIndex(this.row),r=o.columnIndexMapper.getRenderableFromVisualIndex(this.col);if(o.view.scrollViewport(o._createCellCoords(s,r)),this.state=d.EDITING,this.isInFullEditMode()){const t="string"==typeof e?e:(0,n.stringify)(this.originalValue);this.setValue(t)}this.open(t),this._opened=!0,this.focus(),o.view.render(),o.runHooks("afterBeginEditing",this.row,this.col)}finishEditing(e,t,o){let s;if(o){const e=this._closeCallback;this._closeCallback=t=>{e&&e(t),o(t),this.hot.view.render()}}if(this.isWaiting())return;const n=this.hot.getShortcutManager().getContext("editor");if(n.removeShortcutsByGroup(c),n.removeShortcutsByGroup(i.SHORTCUTS_GROUP_NAVIGATION),this.state!==d.VIRGIN){if(this.state===d.EDITING){if(e)return this.cancelChanges(),void this.hot.view.render();const o=this.getValue();s=this.cellProperties.trimWhitespace?[["string"==typeof o?String.prototype.trim.call(o||""):o]]:[[o]],this.state=d.WAITING,this.saveValue(s,t),this.hot.getCellValidator(this.cellProperties)?this.hot.addHookOnce("postAfterValidate",(e=>{this.state=d.FINISHED,this.discardEditor(e)})):(this.state=d.FINISHED,this.discardEditor(!0))}}else this.hot._registerTimeout((()=>{this._fireCallbacks(!0)}))}cancelChanges(){this.state=d.FINISHED,this.discardEditor()}discardEditor(e){if(this.state===d.FINISHED)if(!1===e&&!0!==this.cellProperties.allowInvalid)this.hot.selectCell(this.row,this.col),this.focus(),this.state=d.EDITING,this._fireCallbacks(!1);else{this.close(),this._opened=!1,this._fullEditMode=!1,this.state=d.VIRGIN,this._fireCallbacks(!0);this.hot.getShortcutManager().setActiveContextName("grid")}}enableFullEditMode(){this._fullEditMode=!0}isInFullEditMode(){return this._fullEditMode}isOpened(){return this._opened}isWaiting(){return this.state===d.WAITING}getEditedCellRect(){var e;const t=this.getEditedCell();if(!t)return;const{wtOverlays:o,wtViewport:s}=this.hot.view._wt,n=this.hot.rootWindow,r=(0,a.offset)(t),i=(0,a.outerWidth)(t),l=(0,a.offset)(this.hot.rootElement),h=(0,a.outerWidth)(this.hot.rootElement),d=o.topOverlay.holder,c=o.inlineStartOverlay.holder,u=d!==n?d.scrollTop:0,g=c!==n?c.scrollLeft:0,f=n.innerWidth-l.left-h,{wtTable:p}=null!==(e=o.getParentOverlay(t))&&void 0!==e?e:this.hot.view._wt,m=p.name,C=["master","inline_start"].includes(m)?u:0,w=["master","top","bottom"].includes(m)?g:0,E=r.top===l.top?0:1;let y=r.top-l.top-E-C,v=0;v=this.hot.isRtl()?n.innerWidth-r.left-i-f-1+w:r.left-l.left-1-w,["top","top_inline_start_corner"].includes(m)&&(y+=o.topOverlay.getOverlayOffset()),["inline_start","top_inline_start_corner"].includes(m)&&(v+=Math.abs(o.inlineStartOverlay.getOverlayOffset()));const S=this.hot.hasColHeaders(),R=this.hot.rowIndexMapper.getRenderableFromVisualIndex(this.row),_=this.hot.columnIndexMapper.getRenderableFromVisualIndex(this.col),b=this.hot.rowIndexMapper.getRenderableIndexesLength()-this.hot.view._wt.getSetting("fixedRowsBottom");(S&&R<=0||R===b)&&(y+=1),_<=0&&(v+=1);const T=s.rowsRenderCalculator.startPosition,M=s.columnsRenderCalculator.startPosition,O=Math.abs(o.inlineStartOverlay.getScrollPosition()),I=o.topOverlay.getScrollPosition(),A=(0,a.getScrollbarWidth)(this.hot.rootDocument);let N=t.offsetTop;if(["inline_start","master"].includes(m)&&(N+=T-I),["bottom","bottom_inline_start_corner"].includes(m)){const{wtViewport:e,wtTable:t}=o.bottomOverlay.clone;N+=e.getWorkspaceHeight()-t.getHeight()-A}let P=t.offsetLeft;this.hot.isRtl()?(P=P>=0?p.getWidth()-t.offsetLeft:Math.abs(P),P+=M-O-i):["top","master","bottom"].includes(m)&&(P+=M-O);const H=(0,a.getComputedStyle)(this.TD,this.hot.rootWindow),x=this.hot.isRtl()?"borderRightWidth":"borderLeftWidth",D=parseInt(H[x],10)>0?0:1,L=parseInt(H.borderTopWidth,10)>0?0:1,k=(0,a.outerWidth)(t)+D,F=(0,a.outerHeight)(t)+L,V=(0,a.hasVerticalScrollbar)(d)?A:0,W=(0,a.hasHorizontalScrollbar)(c)?A:0,B=this.hot.view.maximumVisibleElementWidth(P)-V+D;return{top:y,start:v,height:F,maxHeight:Math.max(this.hot.view.maximumVisibleElementHeight(N)-W+L,23),width:k,maxWidth:B}}getEditedCellsLayerClass(){switch(this.checkEditorSection()){case"inline-start":return"ht_clone_left ht_clone_inline_start";case"bottom":return"ht_clone_bottom";case"bottom-inline-start-corner":return"ht_clone_bottom_left_corner ht_clone_bottom_inline_start_corner";case"top":return"ht_clone_top";case"top-inline-start-corner":return"ht_clone_top_left_corner ht_clone_top_inline_start_corner";default:return"ht_clone_master"}}getEditedCell(){return this.hot.getCell(this.row,this.col,!0)}checkEditorSection(){const e=this.hot.countRows();let t="";return this.row<this.hot.getSettings().fixedRowsTop?t=this.col<this.hot.getSettings().fixedColumnsStart?"top-inline-start-corner":"top":this.hot.getSettings().fixedRowsBottom&&this.row>=e-this.hot.getSettings().fixedRowsBottom?t=this.col<this.hot.getSettings().fixedColumnsStart?"bottom-inline-start-corner":"bottom":this.col<this.hot.getSettings().fixedColumnsStart&&(t="inline-start"),t}}t.BaseEditor=u,(0,r.mixin)(u,l.default)},48253:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(97296);t.EDITOR_STATE=s.EDITOR_STATE,t.EDITOR_TYPE=s.EDITOR_TYPE,t.BaseEditor=s.BaseEditor},99935:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(48253),n=o(83302);const r=t.EDITOR_TYPE="checkbox";class i extends s.BaseEditor{static get EDITOR_TYPE(){return r}beginEditing(e,t){if(t&&"mouseup"===t.type){const e=this.TD.querySelector('input[type="checkbox"]');(0,n.hasClass)(e,"htBadValue")||e.click()}}finishEditing(){}init(){}open(){}close(){}getValue(){}setValue(){}focus(){}}t.CheckboxEditor=i},63729:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(99935);t.EDITOR_TYPE=s.EDITOR_TYPE,t.CheckboxEditor=s.CheckboxEditor},23330:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(91683);var n=s(o(33034)),r=s(o(32134)),i=o(5071),l=s(o(75244)),a=o(83302),h=o(5386),d=o(22232),c=o(80151);o(2964);const u=t.EDITOR_TYPE="date",g="dateEditor";class f extends i.TextEditor{static get EDITOR_TYPE(){return u}constructor(e){super(e),this.defaultDateFormat="DD/MM/YYYY",this.isCellEdited=!1,this.parentDestroyed=!1,this.$datePicker=null}init(){if("function"!=typeof n.default)throw new Error("You need to include moment.js to your project.");if("function"!=typeof r.default)throw new Error("You need to include Pikaday to your project.");super.init(),this.hot.addHook("afterDestroy",(()=>{this.parentDestroyed=!0,this.destroyElements()}))}createElements(){super.createElements(),this.datePicker=this.hot.rootDocument.createElement("DIV"),this.datePickerStyle=this.datePicker.style,this.datePickerStyle.position="absolute",this.datePickerStyle.top=0,this.datePickerStyle.left=0,this.datePickerStyle.zIndex=9999,this.datePicker.setAttribute("dir",this.hot.isRtl()?"rtl":"ltr"),(0,a.addClass)(this.datePicker,"htDatepickerHolder"),this.hot.rootDocument.body.appendChild(this.datePicker);const e=new l.default(this);e.addEventListener(this.datePicker,"mousedown",(e=>{(0,a.hasClass)(e.target,"pika-day")&&this.hideDatepicker(),e.stopPropagation()})),e.addEventListener(this.TEXTAREA,"keydown",(e=>{["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(e.code)&&e.preventDefault()}))}destroyElements(){const e=this.datePicker.parentNode;this.$datePicker&&this.$datePicker.destroy(),e&&e.removeChild(this.datePicker)}prepare(e,t,o,s,n,r){super.prepare(e,t,o,s,n,r)}open(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;const t=this.hot.getShortcutManager().getContext("editor");super.open(),this.showDatepicker(e),this.hot.getSettings().ariaTags&&(0,a.setAttribute)(this.TD,[(0,h.A11Y_EXPANDED)("true")]),t.addShortcut({keys:[["Enter"]],callback:e=>{e.stopPropagation()},group:g})}close(){var e;this._opened=!1,null!==(e=this.$datePicker)&&void 0!==e&&e.destroy&&this.$datePicker.destroy(),this.hot._registerTimeout((()=>{this.hot._refreshBorders()})),this.TD&&this.hot.getSettings().ariaTags&&(0,a.setAttribute)(this.TD,[(0,h.A11Y_EXPANDED)("false")]);this.hot.getShortcutManager().getContext("editor").removeShortcutsByGroup(g),super.close()}finishEditing(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e){const e=this.originalValue;void 0!==e&&this.setValue(e)}super.finishEditing(e,t)}showDatepicker(e){const t=this.TD.getBoundingClientRect(),o=this.cellProperties.dateFormat||this.defaultDateFormat,s=this.hot.view.isMouseDown(),i=!!e&&(0,c.isFunctionKey)(e.keyCode);let l;this.datePicker.style.display="block",this.$datePicker=new r.default(this.getDatePickerConfig()),this.$datePicker._onInputFocus=function(){},this.datePickerStyle.top=`${this.hot.rootWindow.pageYOffset+t.top+(0,a.outerHeight)(this.TD)}px`;let h=this.hot.rootWindow.pageXOffset;h=this.hot.isRtl()?t.right-(0,a.outerWidth)(this.datePicker):t.left,this.datePickerStyle.left=`${h}px`,this.originalValue?(l=this.originalValue,(0,n.default)(l,o,!0).isValid()&&this.$datePicker.setMoment((0,n.default)(l,o),!0),this.getValue()!==this.originalValue&&this.setValue(this.originalValue),i||s||this.setValue("")):this.cellProperties.defaultDate?(l=this.cellProperties.defaultDate,(0,n.default)(l,o,!0).isValid()&&this.$datePicker.setMoment((0,n.default)(l,o),!0),i||s||this.setValue("")):this.$datePicker.gotoToday()}hideDatepicker(){this.datePickerStyle.display="none",this.$datePicker.hide()}getDatePickerConfig(){const e=this.TEXTAREA,t={};this.cellProperties&&this.cellProperties.datePickerConfig&&(0,d.deepExtend)(t,this.cellProperties.datePickerConfig);const o=t.onSelect,s=t.onClose;return t.field=e,t.trigger=e,t.container=this.datePicker,t.bound=!1,t.format=t.format||this.defaultDateFormat,t.reposition=t.reposition||!1,t.isRTL=!1,t.onSelect=e=>{let t=e;isNaN(t.getTime())||(t=(0,n.default)(t).format(this.cellProperties.dateFormat||this.defaultDateFormat)),this.setValue(t),o&&o()},t.onClose=()=>{this.parentDestroyed||this.finishEditing(!1),s&&s()},t}}t.DateEditor=f},58437:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(23330);t.EDITOR_TYPE=s.EDITOR_TYPE,t.DateEditor=s.DateEditor},14733:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=o(25815),r=s(o(56307));const i=t.EDITOR_TYPE="dropdown";class l extends n.AutocompleteEditor{static get EDITOR_TYPE(){return i}prepare(e,t,o,s,n,r){super.prepare(e,t,o,s,n,r),this.cellProperties.filter=!1,this.cellProperties.strict=!0}}t.DropdownEditor=l,r.default.getSingleton().add("beforeValidate",(function(e,t,o){const s=this.getCellMeta(t,this.propToCol(o));s.editor===l&&void 0===s.strict&&(s.filter=!1,s.strict=!0)}))},9535:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(14733);t.EDITOR_TYPE=s.EDITOR_TYPE,t.DropdownEditor=s.DropdownEditor},95567:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(5071),n=o(83302),r=o(24449),i=o(22232),l=o(6116),a=o(5386);const h="handsontableEditor",d=t.EDITOR_TYPE="handsontable";class c extends s.TextEditor{static get EDITOR_TYPE(){return d}open(){super.open(),this.htEditor&&this.htEditor.destroy(),"none"===this.htContainer.style.display&&(this.htContainer.style.display=""),this.htEditor=new this.hot.constructor(this.htContainer,this.htOptions),this.htEditor.init(),this.htEditor.rootElement.style.display="",this.cellProperties.strict?this.htEditor.selectCell(0,0):this.htEditor.deselectCell(),(0,n.setCaretPosition)(this.TEXTAREA,0,this.TEXTAREA.value.length),this.refreshDimensions(),this.hot.getSettings().ariaTags&&(0,n.setAttribute)(this.TD,[(0,a.A11Y_EXPANDED)("true")])}close(){this.htEditor&&(this.htEditor.rootElement.style.display="none"),this.removeHooksByKey("beforeKeyDown"),super.close(),this.hot.getSettings().ariaTags&&(0,n.setAttribute)(this.TD,[(0,a.A11Y_EXPANDED)("false")])}prepare(e,t,o,s,n,r){super.prepare(e,t,o,s,n,r);const l=this,a={startRows:0,startCols:0,minRows:0,minCols:0,className:"listbox",copyPaste:!1,autoColumnSize:!1,autoRowSize:!1,readOnly:!0,fillHandle:!1,autoWrapCol:!1,autoWrapRow:!1,ariaTags:!1,afterOnCellMouseDown(e,t){const o=this.getSourceData(t.row,t.col);void 0!==o&&l.setValue(o),l.instance.destroyEditor()},preventWheel:!0,layoutDirection:this.hot.isRtl()?"rtl":"ltr"};this.cellProperties.handsontable&&(0,i.extend)(a,r.handsontable),this.htOptions=a}beginEditing(e,t){const o=this.hot.getSettings().onBeginEditing;o&&!1===o()||super.beginEditing(e,t)}createElements(){super.createElements();const e=this.hot.rootDocument.createElement("DIV");e.className="handsontableEditor",this.TEXTAREA_PARENT.appendChild(e),this.htContainer=e,this.assignHooks()}finishEditing(e,t,o){if(this.htEditor&&this.htEditor.isListening()&&this.hot.listen(),this.htEditor&&this.htEditor.getSelectedLast()){const e=this.htEditor.getValue();void 0!==e&&this.setValue(e)}super.finishEditing(e,t,o)}assignHooks(){this.hot.addHook("afterDestroy",(()=>{this.htEditor&&this.htEditor.destroy()}))}registerShortcuts(){const e=this.hot.getShortcutManager().getContext("editor");super.registerShortcuts();const t={group:h,relativeToGroup:l.SHORTCUTS_GROUP_NAVIGATION,position:"before"},o=(e,t)=>{const o=this.htEditor;if(void 0!==e&&(e<0||o.flipped&&e>o.countRows()-1?o.deselectCell():o.selectCell(e,0),o.getData().length))return t.preventDefault(),(0,r.stopImmediatePropagation)(t),this.hot.listen(),this.TEXTAREA.focus(),!1};e.addShortcuts([{keys:[["ArrowUp"]],callback:e=>{const t=this.htEditor;let s,n;return!t.getSelectedLast()&&t.flipped?s=t.countRows()-1:t.getSelectedLast()&&(t.flipped?(n=t.getSelectedLast()[0],s=Math.max(0,n-1)):(n=t.getSelectedLast()[0],s=n-1)),o(s,e)},preventDefault:!1},{keys:[["ArrowDown"]],callback:e=>{const t=this.htEditor;let s,n;if(t.getSelectedLast()||t.flipped){if(t.getSelectedLast())if(t.flipped)s=t.getSelectedLast()[0]+1;else if(!t.flipped){const e=t.countRows()-1;n=t.getSelectedLast()[0],s=Math.min(e,n+1)}}else s=0;return o(s,e)},preventDefault:!1}],t)}unregisterShortcuts(){super.unregisterShortcuts();this.hot.getShortcutManager().getContext("editor").removeShortcutsByGroup(h)}}t.HandsontableEditor=c},93273:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(95567);t.EDITOR_TYPE=s.EDITOR_TYPE,t.HandsontableEditor=s.HandsontableEditor},74465:(e,t,o)=>{"use strict";t.__esModule=!0,t.registerAllEditors=function(){(0,f.registerEditor)(n.BaseEditor),(0,f.registerEditor)(s.AutocompleteEditor),(0,f.registerEditor)(r.CheckboxEditor),(0,f.registerEditor)(i.DateEditor),(0,f.registerEditor)(l.DropdownEditor),(0,f.registerEditor)(a.HandsontableEditor),(0,f.registerEditor)(h.NumericEditor),(0,f.registerEditor)(d.PasswordEditor),(0,f.registerEditor)(c.SelectEditor),(0,f.registerEditor)(u.TextEditor),(0,f.registerEditor)(g.TimeEditor)};var s=o(25815);t.AutocompleteEditor=s.AutocompleteEditor,t.AUTOCOMPLETE_EDITOR=s.EDITOR_TYPE;var n=o(48253);t.BaseEditor=n.BaseEditor,t.BASE_EDITOR=n.EDITOR_TYPE;var r=o(63729);t.CheckboxEditor=r.CheckboxEditor,t.CHECKBOX_EDITOR=r.EDITOR_TYPE;var i=o(58437);t.DateEditor=i.DateEditor,t.DATE_EDITOR=i.EDITOR_TYPE;var l=o(9535);t.DropdownEditor=l.DropdownEditor,t.DROPDOWN_EDITOR=l.EDITOR_TYPE;var a=o(93273);t.HandsontableEditor=a.HandsontableEditor,t.HANDSONTABLE_EDITOR=a.EDITOR_TYPE;var h=o(97130);t.NumericEditor=h.NumericEditor,t.NUMERIC_EDITOR=h.EDITOR_TYPE;var d=o(63630);t.PasswordEditor=d.PasswordEditor,t.PASSWORD_EDITOR=d.EDITOR_TYPE;var c=o(93333);t.SelectEditor=c.SelectEditor,t.SELECT_EDITOR=c.EDITOR_TYPE;var u=o(5071);t.TextEditor=u.TextEditor,t.TEXT_EDITOR=u.EDITOR_TYPE;var g=o(65930);t.TimeEditor=g.TimeEditor,t.TIME_EDITOR=g.EDITOR_TYPE;var f=o(83605);t.registerEditor=f.registerEditor,t.RegisteredEditor=f.RegisteredEditor,t._getEditorInstance=f._getEditorInstance,t.getEditor=f.getEditor,t.getEditorInstance=f.getEditorInstance,t.getRegisteredEditorNames=f.getRegisteredEditorNames,t.getRegisteredEditors=f.getRegisteredEditors,t.hasEditor=f.hasEditor},97130:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(47427);t.EDITOR_TYPE=s.EDITOR_TYPE,t.NumericEditor=s.NumericEditor},47427:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(5071);const n=t.EDITOR_TYPE="numeric";class r extends s.TextEditor{static get EDITOR_TYPE(){return n}}t.NumericEditor=r},63630:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(35356);t.EDITOR_TYPE=s.EDITOR_TYPE,t.PasswordEditor=s.PasswordEditor},35356:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(5071),n=o(83302);const r=t.EDITOR_TYPE="password";class i extends s.TextEditor{static get EDITOR_TYPE(){return r}createElements(){super.createElements(),this.TEXTAREA=this.hot.rootDocument.createElement("input"),this.TEXTAREA.setAttribute("type","password"),this.TEXTAREA.setAttribute("data-hot-input",""),this.TEXTAREA.className="handsontableInput",this.textareaStyle=this.TEXTAREA.style,this.textareaStyle.width=0,this.textareaStyle.height=0,(0,n.empty)(this.TEXTAREA_PARENT),this.TEXTAREA_PARENT.appendChild(this.TEXTAREA)}}t.PasswordEditor=i},83605:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,t.RegisteredEditor=u,t.getEditorInstance=t._getEditorInstance=function(e,t){let o;if("function"==typeof e)i.get(e)||g(null,e),o=i.get(e);else{if("string"!=typeof e)throw Error('Only strings and functions can be passed as "editor" parameter');o=a(e)}if(!o)throw Error(`No editor registered under name "${e}"`);return o.getInstance(t)},t.getEditor=function(e){if("function"==typeof e)return e;if(!h(e))throw Error(`No registered editor found under "${e}" name`);return a(e).getConstructor()},t.registerEditor=g,o(91683);var n=s(o(56307)),r=s(o(63800));const i=new WeakMap,{register:l,getItem:a,hasItem:h,getNames:d,getValues:c}=(0,r.default)("editors");function u(e){const t={},o=e;this.getConstructor=function(){return e},this.getInstance=function(e){return e.guid in t||(t[e.guid]=new o(e)),t[e.guid]},n.default.getSingleton().add("afterDestroy",(function(){t[this.guid]=null}))}function g(e,t){e&&"string"!=typeof e&&(e=(t=e).EDITOR_TYPE);const o=new u(t);"string"==typeof e&&l(e,o),i.set(t,o)}t.getRegisteredEditors=c,t.getRegisteredEditorNames=d,t.hasEditor=h},93333:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(82854);t.EDITOR_TYPE=s.EDITOR_TYPE,t.SelectEditor=s.SelectEditor},82854:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(48253),n=o(83302),r=o(22232);const i="ht_editor_visible",l="selectEditor",a=t.EDITOR_TYPE="select";class h extends s.BaseEditor{static get EDITOR_TYPE(){return a}init(){this.select=this.hot.rootDocument.createElement("SELECT"),(0,n.addClass)(this.select,"htSelectEditor"),this.select.style.display="none",this.hot.rootElement.appendChild(this.select),this.registerHooks()}getValue(){return this.select.value}setValue(e){this.select.value=e}open(){this._opened=!0,this.refreshDimensions(),this.select.style.display="";this.hot.getShortcutManager().setActiveContextName("editor"),this.registerShortcuts()}close(){this._opened=!1,this.select.style.display="none",(0,n.hasClass)(this.select,i)&&(0,n.removeClass)(this.select,i),this.unregisterShortcuts(),this.clearHooks()}focus(){this.select.focus()}registerHooks(){this.addHook("afterScrollHorizontally",(()=>this.refreshDimensions())),this.addHook("afterScrollVertically",(()=>this.refreshDimensions())),this.addHook("afterColumnResize",(()=>this.refreshDimensions())),this.addHook("afterRowResize",(()=>this.refreshDimensions()))}prepare(e,t,o,s,i,l){super.prepare(e,t,o,s,i,l);const a=this.cellProperties.selectOptions;let h;h="function"==typeof a?this.prepareOptions(a(this.row,this.col,this.prop)):this.prepareOptions(a),(0,n.empty)(this.select),(0,r.objectEach)(h,((e,t)=>{const o=this.hot.rootDocument.createElement("OPTION");o.value=t,(0,n.fastInnerHTML)(o,e),this.select.appendChild(o)}))}prepareOptions(e){let t={};if(Array.isArray(e))for(let o=0,s=e.length;o<s;o++)t[e[o]]=e[o];else"object"==typeof e&&(t=e);return t}refreshValue(){const e=this.hot.getSourceDataAtCell(this.row,this.prop);this.originalValue=e,this.setValue(e),this.refreshDimensions()}refreshDimensions(){if(this.state!==s.EDITOR_STATE.EDITING)return;if(this.TD=this.getEditedCell(),!this.TD)return void this.close();const{top:e,start:t,width:o,height:r}=this.getEditedCellRect(),l=this.select.style;l.height=`${r}px`,l.width=`${o}px`,l.top=`${e}px`,l[this.hot.isRtl()?"right":"left"]=`${t}px`,l.margin="0px",(0,n.addClass)(this.select,i)}registerShortcuts(){const e=this.hot.getShortcutManager().getContext("editor"),t={group:l};!1!==this.isInFullEditMode()&&e.addShortcuts([{keys:[["ArrowUp"]],callback:()=>{const e=this.select.selectedIndex-1;e>=0&&(this.select[e].selected=!0)}},{keys:[["ArrowDown"]],callback:()=>{const e=this.select.selectedIndex+1;e<=this.select.length-1&&(this.select[e].selected=!0)}}],t)}unregisterShortcuts(){this.hot.getShortcutManager().getContext("editor").removeShortcutsByGroup(l)}}t.SelectEditor=h},67547:(e,t,o)=>{"use strict";t.__esModule=!0,t.updateCaretPosition=function(e,t){const o=(0,s.getCaretPosition)(t),n=t.value.split("\n");let r=o,i=0;for(let t=0;t<n.length;t++){const s=n[t];0!==t&&(i+=n[t-1].length+1);const l=i+s.length;if("home"===e?r=i:"end"===e&&(r=l),o<=l)break}(0,s.setCaretPosition)(t,r)};var s=o(83302)},5071:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(48917);t.EDITOR_TYPE=s.EDITOR_TYPE,t.TextEditor=s.TextEditor},48917:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=o(48253),r=s(o(75244)),i=o(37595),l=o(83302),a=o(68145),h=o(80151),d=o(95881),c=o(93315),u=o(6116),g=o(97296),f=o(67547),p=o(5386);const m="ht_editor_hidden",C="textEditor",w=t.EDITOR_TYPE="text";class E extends n.BaseEditor{static get EDITOR_TYPE(){return w}constructor(e){super(e),this.eventManager=new r.default(this),this.autoResize=(0,d.autoResize)(),this.TEXTAREA=void 0,this.textareaStyle=void 0,this.TEXTAREA_PARENT=void 0,this.textareaParentStyle=void 0,this.layerClass=void 0,this.createElements(),this.bindEvents(),this.hot.addHookOnce("afterDestroy",(()=>this.destroy()))}getValue(){return this.TEXTAREA.value}setValue(e){this.TEXTAREA.value=e}open(){this.refreshDimensions(),this.showEditableElement();this.hot.getShortcutManager().setActiveContextName("editor"),this.addHook("afterDocumentKeyDown",(e=>this.onAfterDocumentKeyDown(e))),this.registerShortcuts()}close(){this.autoResize.unObserve(),(0,l.isThisHotChild)(this.hot.rootDocument.activeElement,this.hot.rootElement)&&this.hot.listen(),this.hideEditableElement(),this.unregisterShortcuts(),this.removeHooksByKey("afterDocumentKeyDown")}prepare(e,t,o,s,r,i){const l=this.state;if(super.prepare(e,t,o,s,r,i),!i.readOnly){this.refreshDimensions(!0);const{allowInvalid:e}=i;e&&(this.TEXTAREA.value=""),l!==n.EDITOR_STATE.FINISHED&&this.hideEditableElement()}}beginEditing(e,t){this.state===n.EDITOR_STATE.VIRGIN&&(this.TEXTAREA.value="",super.beginEditing(e,t))}focus(){this.TEXTAREA.select(),(0,l.setCaretPosition)(this.TEXTAREA,this.TEXTAREA.value.length)}createElements(){const{rootDocument:e}=this.hot;this.TEXTAREA=e.createElement("TEXTAREA"),(0,l.setAttribute)(this.TEXTAREA,[["data-hot-input",""],(0,p.A11Y_TABINDEX)(-1)]),this.hot.getSettings().ariaTags&&(0,l.setAttribute)(this.TEXTAREA,[(0,p.A11Y_HIDDEN)()]),(0,l.addClass)(this.TEXTAREA,"handsontableInput"),this.textareaStyle=this.TEXTAREA.style,this.textareaStyle.width=0,this.textareaStyle.height=0,this.textareaStyle.overflowY="visible",this.TEXTAREA_PARENT=e.createElement("DIV"),(0,l.addClass)(this.TEXTAREA_PARENT,"handsontableInputHolder"),(0,l.hasClass)(this.TEXTAREA_PARENT,this.layerClass)&&(0,l.removeClass)(this.TEXTAREA_PARENT,this.layerClass),(0,l.addClass)(this.TEXTAREA_PARENT,m),this.textareaParentStyle=this.TEXTAREA_PARENT.style,this.TEXTAREA_PARENT.appendChild(this.TEXTAREA),this.hot.rootElement.appendChild(this.TEXTAREA_PARENT)}hideEditableElement(){(0,i.isEdge)()&&(this.textareaStyle.textIndent="-99999px"),this.textareaStyle.overflowY="visible",this.textareaParentStyle.opacity="0",this.textareaParentStyle.height="1px",(0,l.removeClass)(this.TEXTAREA_PARENT,this.layerClass),(0,l.addClass)(this.TEXTAREA_PARENT,m)}showEditableElement(){this.textareaParentStyle.height="",this.textareaParentStyle.overflow="",this.textareaParentStyle.position="",this.textareaParentStyle[this.hot.isRtl()?"left":"right"]="auto",this.textareaParentStyle.opacity="1",this.textareaStyle.textIndent="",this.textareaStyle.overflowY="hidden";const e=this.TEXTAREA_PARENT.childNodes;let t=!1;(0,a.rangeEach)(e.length-1,(o=>{const s=e[o];if((0,l.hasClass)(s,"handsontableEditor"))return t=!0,!1})),(0,l.hasClass)(this.TEXTAREA_PARENT,m)&&(0,l.removeClass)(this.TEXTAREA_PARENT,m),t?(this.layerClass="ht_editor_visible",(0,l.addClass)(this.TEXTAREA_PARENT,this.layerClass)):(this.layerClass=this.getEditedCellsLayerClass(),(0,l.addClass)(this.TEXTAREA_PARENT,this.layerClass))}refreshValue(){const e=this.hot.toPhysicalRow(this.row),t=this.hot.getSourceDataAtCell(e,this.col);this.originalValue=t,this.setValue(t),this.refreshDimensions()}refreshDimensions(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.state!==n.EDITOR_STATE.EDITING&&!e)return;if(this.TD=this.getEditedCell(),!this.TD)return void(e||this.close());const{top:t,start:o,width:s,maxWidth:r,height:i,maxHeight:a}=this.getEditedCellRect();this.textareaParentStyle.top=`${t}px`,this.textareaParentStyle[this.hot.isRtl()?"right":"left"]=`${o}px`,this.showEditableElement();const h=(0,l.getComputedStyle)(this.TD,this.hot.rootWindow);this.TEXTAREA.style.fontSize=h.fontSize,this.TEXTAREA.style.fontFamily=h.fontFamily,this.TEXTAREA.style.backgroundColor=this.TD.style.backgroundColor;const d=(0,l.getComputedStyle)(this.TEXTAREA),c=parseInt(d.paddingLeft,10)+parseInt(d.paddingRight,10),u=parseInt(d.paddingTop,10)+parseInt(d.paddingBottom,10),g=s-c,f=i-u,p=r-c,m=a-u;this.autoResize.init(this.TEXTAREA,{minWidth:Math.min(g,p),minHeight:Math.min(f,m),maxWidth:p,maxHeight:m},!0)}bindEvents(){(0,i.isIOS)()&&this.eventManager.addEventListener(this.TEXTAREA,"focusout",(()=>this.finishEditing(!1))),this.addHook("afterScrollHorizontally",(()=>this.refreshDimensions())),this.addHook("afterScrollVertically",(()=>this.refreshDimensions())),this.addHook("afterColumnResize",(()=>{this.refreshDimensions(),this.state===n.EDITOR_STATE.EDITING&&this.focus()})),this.addHook("afterRowResize",(()=>{this.refreshDimensions(),this.state===n.EDITOR_STATE.EDITING&&this.focus()}))}allowKeyEventPropagation(){}destroy(){this.eventManager.destroy(),this.clearHooks()}registerShortcuts(){const e=this.hot.getShortcutManager().getContext("editor"),t={runOnlyIf:()=>(0,c.isDefined)(this.hot.getSelected()),group:C},o=()=>{this.hot.rootDocument.execCommand("insertText",!1,"\n")};e.addShortcuts([{keys:[["Tab"]],callback:e=>{const t=this.hot.getSettings(),o="function"==typeof t.tabMoves?t.tabMoves(e):t.tabMoves;this.hot.selection.transformStart(o.row,o.col,!0)}},{keys:[["Shift","Tab"]],callback:e=>{const t=this.hot.getSettings(),o="function"==typeof t.tabMoves?t.tabMoves(e):t.tabMoves;this.hot.selection.transformStart(-o.row,-o.col)}},{keys:[["Control","Enter"]],callback:()=>(o(),!1),runOnlyIf:e=>!this.hot.selection.isMultiple()&&!e.altKey},{keys:[["Meta","Enter"]],callback:()=>(o(),!1),runOnlyIf:()=>!this.hot.selection.isMultiple()},{keys:[["Alt","Enter"]],callback:()=>(o(),!1)},{keys:[["PageUp"]],callback:()=>{this.hot.selection.transformStart(-this.hot.countVisibleRows(),0)}},{keys:[["PageDown"]],callback:()=>{this.hot.selection.transformStart(this.hot.countVisibleRows(),0)}},{keys:[["Home"]],callback:(e,t)=>{let[o]=t;(0,f.updateCaretPosition)(o,this.TEXTAREA)}},{keys:[["End"]],callback:(e,t)=>{let[o]=t;(0,f.updateCaretPosition)(o,this.TEXTAREA)}},{keys:[["Control/Meta","Z"]],preventDefault:!1,callback:()=>{this.hot._registerTimeout((()=>{this.autoResize.resize()}),10)}},{keys:[["Control/Meta","Shift","Z"]],preventDefault:!1,callback:()=>{this.hot._registerTimeout((()=>{this.autoResize.resize()}),10)}}],t)}unregisterShortcuts(){const e=this.hot.getShortcutManager().getContext("editor");e.removeShortcutsByGroup(u.SHORTCUTS_GROUP_NAVIGATION),e.removeShortcutsByGroup(C),e.removeShortcutsByGroup(g.SHORTCUTS_GROUP_EDITOR)}onAfterDocumentKeyDown(e){-1===[h.KEY_CODES.ARROW_UP,h.KEY_CODES.ARROW_RIGHT,h.KEY_CODES.ARROW_DOWN,h.KEY_CODES.ARROW_LEFT].indexOf(e.keyCode)&&this.autoResize.resize(String.fromCharCode(e.keyCode))}}t.TextEditor=E},65930:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(45952);t.EDITOR_TYPE=s.EDITOR_TYPE,t.TimeEditor=s.TimeEditor},45952:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(5071);const n=t.EDITOR_TYPE="time";class r extends s.TextEditor{static get EDITOR_TYPE(){return n}prepare(e,t,o,s,n,r){super.prepare(e,t,o,s,n,r),this.TEXTAREA.dir="ltr"}}t.TimeEditor=r},75244:(e,t,o)=>{"use strict";t.__esModule=!0,t.getListenersCounter=function(){return n},o(63517);var s=o(24449);let n=0;t.default=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.context=e||this,this.context.eventListeners||(this.context.eventListeners=[])}addEventListener(e,t,o){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];function i(e){o.call(this,function(e){const t=e.stopImmediatePropagation;return e.stopImmediatePropagation=function(){t.apply(this),(0,s.stopImmediatePropagation)(this)},e}(e))}return this.context.eventListeners.push({element:e,event:t,callback:o,callbackProxy:i,options:r,eventManager:this}),e.addEventListener(t,i,r),n+=1,()=>{this.removeEventListener(e,t,o)}}removeEventListener(e,t,o){let s,r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=this.context.eventListeners.length;for(;i;)if(i-=1,s=this.context.eventListeners[i],s.event===t&&s.element===e){if(o&&o!==s.callback)continue;if(r&&s.eventManager!==this)continue;this.context.eventListeners.splice(i,1),s.element.removeEventListener(s.event,s.callbackProxy,s.options),n-=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 o=this.context.eventListeners[t];e&&o.eventManager!==this||(this.context.eventListeners.splice(t,1),o.element.removeEventListener(o.event,o.callbackProxy,o.options),n-=1)}}clear(){this.clearEvents()}destroy(){this.clearEvents(),this.context=null}destroyWithOwnEventsOnly(){this.clearEvents(!0),this.context=null}fireEvent(e,t){let o=e.document,s=e;o||(o=e.ownerDocument?e.ownerDocument:e,s=o.defaultView);const n={bubbles:!0,cancelable:"mousemove"!==t,view:s,detail:0,screenX:0,screenY:0,clientX:1,clientY:1,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:void 0};let r;o.createEvent?(r=o.createEvent("MouseEvents"),r.initMouseEvent(t,n.bubbles,n.cancelable,n.view,n.detail,n.screenX,n.screenY,n.clientX,n.clientY,n.ctrlKey,n.altKey,n.shiftKey,n.metaKey,n.button,n.relatedTarget||o.body.parentNode)):r=o.createEventObject(),e.dispatchEvent?e.dispatchEvent(r):e.fireEvent(`on${t}`,r)}}},51400:(e,t,o)=>{"use strict";o(91683);var s=o(73203);t.__esModule=!0;var n=s(o(42538)),r=s(o(48427)),i=o(69173),l=o(83302);function a(e,t){d(e,t),t.add(e)}function h(e,t,o){d(e,t),t.set(e,o)}function d(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function c(e,t,o){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return o}const u=Object.freeze({CELL:"cell",MIXED:"mixed"});var g=new WeakMap,f=new WeakMap,p=new WeakMap,m=new WeakMap,C=new WeakSet,w=new WeakSet,E=new WeakSet,y=new WeakSet;function v(){return(0,n.default)(this,g).getSelectedRangeLast().highlight}function S(){const e=c(this,C,v).call(this);return(0,n.default)(this,g).getCell(e.row,e.col,!0)}function R(){const e=c(this,w,S).call(this),{activeElement:t}=(0,n.default)(this,g).rootDocument;t&&(0,l.isOutsideInput)(t)&&t.blur(),this.focusOnHighlightedCell(e),this.getFocusMode()===u.MIXED&&"TD"===e.nodeName&&(0,n.default)(this,g).addHookOnce("afterSelectionEnd",(()=>{this.refocusToEditorTextarea()}))}function _(e){e.imeFastEdit&&this.getFocusMode()!==u.MIXED?this.setFocusMode(u.MIXED):e.imeFastEdit||this.getFocusMode()===u.CELL||this.setFocusMode(u.CELL)}t.FocusManager=class{constructor(e){var t=this;a(this,y),a(this,E),a(this,w),a(this,C),h(this,g,{writable:!0,value:void 0}),h(this,f,{writable:!0,value:void 0}),h(this,p,{writable:!0,value:50}),h(this,m,{writable:!0,value:null});const o=e.getSettings();(0,r.default)(this,g,e),(0,r.default)(this,f,o.imeFastEdit?u.MIXED:u.CELL),(0,n.default)(this,g).addHook("afterUpdateSettings",(function(){for(var e=arguments.length,o=new Array(e),s=0;s<e;s++)o[s]=arguments[s];return c(t,y,_).call(t,...o)})),(0,n.default)(this,g).addHook("afterSelection",(function(){for(var e=arguments.length,o=new Array(e),s=0;s<e;s++)o[s]=arguments[s];return c(t,E,R).call(t,...o)}))}getFocusMode(){return(0,n.default)(this,f)}setFocusMode(e){Object.values(u).includes(e)?(0,r.default)(this,f,e):(0,i.warn)(`"${e}" is not a valid focus mode.`)}getRefocusDelay(){return(0,n.default)(this,p)}setRefocusDelay(e){(0,r.default)(this,p,e)}setRefocusElementGetter(e){(0,r.default)(this,m,e)}getRefocusElement(){return"function"==typeof(0,n.default)(this,m)?(0,n.default)(this,m).call(this):null===(e=(0,n.default)(this,g).getActiveEditor())||void 0===e?void 0:e.TEXTAREA;var e}focusOnHighlightedCell(e){var t;const o=c(this,C,v).call(this),s=e||c(this,w,S).call(this);let r=(0,n.default)(this,g).runHooks("modifyFocusedElement",o.row,o.col,s);r instanceof HTMLElement||(r=s),!r||null!==(t=(0,n.default)(this,g).getActiveEditor())&&void 0!==t&&t.isOpened()||r.focus({preventScroll:!0})}refocusToEditorTextarea(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:(0,n.default)(this,p);const t=this.getRefocusElement();(0,n.default)(this,g).getSettings().imeFastEdit&&t&&(0,n.default)(this,g)._registerTimeout((()=>{t.select()}),e)}}},5386:(e,t)=>{"use strict";t.__esModule=!0;t.A11Y_TABINDEX=e=>["tabindex",e];t.A11Y_TREEGRID=()=>["role","treegrid"];t.A11Y_PRESENTATION=()=>["role","presentation"];t.A11Y_GRIDCELL=()=>["role","gridcell"];t.A11Y_ROWHEADER=()=>["role","rowheader"];t.A11Y_COLUMNHEADER=()=>["role","columnheader"];t.A11Y_ROW=()=>["role","row"];t.A11Y_MENU=()=>["role","menu"];t.A11Y_MENU_ITEM=()=>["role","menuitem"];t.A11Y_COMBOBOX=()=>["role","combobox"];t.A11Y_LISTBOX=()=>["role","listbox"];t.A11Y_OPTION=()=>["role","option"];t.A11Y_CHECKBOX=()=>["role","checkbox"];t.A11Y_SCOPE_COL=()=>["scope","col"];t.A11Y_SCOPE_ROW=()=>["scope","row"];t.A11Y_TEXT=()=>["type","text"];t.A11Y_LABEL=e=>["aria-label",e];t.A11Y_DESCRIPTION=e=>["aria-description",e];t.A11Y_HIDDEN=()=>["aria-hidden","true"];t.A11Y_DISABLED=()=>["aria-disabled","true"];t.A11Y_MULTISELECTABLE=()=>["aria-multiselectable","true"];t.A11Y_HASPOPUP=e=>["aria-haspopup",e];t.A11Y_ROWCOUNT=e=>["aria-rowcount",e];t.A11Y_COLCOUNT=e=>["aria-colcount",e];t.A11Y_ROWINDEX=e=>["aria-rowindex",e];t.A11Y_COLINDEX=e=>["aria-colindex",e];t.A11Y_EXPANDED=e=>["aria-expanded",e];t.A11Y_SORT=e=>["aria-sort",e];t.A11Y_READONLY=()=>["aria-readonly","true"];t.A11Y_INVALID=()=>["aria-invalid","true"];t.A11Y_CHECKED=e=>["aria-checked",e];t.A11Y_SELECTED=()=>["aria-selected","true"];t.A11Y_AUTOCOMPLETE=()=>["aria-autocomplete","list"];t.A11Y_CONTROLS=e=>["aria-controls",e];t.A11Y_ACTIVEDESCENDANT=e=>["aria-activedescendant",e];t.A11Y_LIVE=e=>["aria-live",e];t.A11Y_RELEVANT=e=>["aria-relevant",e];t.A11Y_SETSIZE=e=>["aria-setsize",e];t.A11Y_POSINSET=e=>["aria-posinset",e]},50095:(e,t,o)=>{"use strict";function s(e,t,o,s){let n=-1,r=e,i=o;Array.isArray(e)||(r=Array.from(e));const l=r.length;for(s&&l&&(n+=1,i=r[n]),n+=1;n<l;)i=t(i,r[n],n,r),n+=1;return i}function n(e,t){let o=0,s=e;Array.isArray(e)||(s=Array.from(e));const n=s.length;for(;o<n&&!1!==t(s[o],o,s);)o+=1;return e}function r(e){return s(e,((e,t)=>e+t),0)}t.__esModule=!0,t.arrayAvg=function(e){if(!e.length)return 0;return r(e)/e.length},t.arrayEach=n,t.arrayFilter=function(e,t){let o=0,s=e;Array.isArray(e)||(s=Array.from(e));const n=s.length,r=[];let i=-1;for(;o<n;){const e=s[o];t(e,o,s)&&(i+=1,r[i]=e),o+=1}return r},t.arrayFlatten=function e(t){return s(t,((t,o)=>t.concat(Array.isArray(o)?e(o):o)),[])},t.arrayMap=function(e,t){let o=0,s=e;Array.isArray(e)||(s=Array.from(e));const n=s.length,r=[];let i=-1;for(;o<n;){const e=s[o];i+=1,r[i]=t(e,o,s),o+=1}return r},t.arrayMax=function(e){return s(e,((e,t)=>e>t?e:t),Array.isArray(e)?e[0]:void 0)},t.arrayMin=function(e){return s(e,((e,t)=>e<t?e:t),Array.isArray(e)?e[0]:void 0)},t.arrayReduce=s,t.arraySum=r,t.arrayUnique=function(e){const t=[];return n(e,(e=>{-1===t.indexOf(e)&&t.push(e)})),t},t.extendArray=function(e,t){const o=t.length;let s=0;for(;s<o;)e.push(t[s]),s+=1},t.getDifferenceOfArrays=function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];const[s,...r]=[...t];let i=s;return n(r,(e=>{i=i.filter((t=>!e.includes(t)))})),i},t.getIntersectionOfArrays=function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];const[s,...r]=[...t];let i=s;return n(r,(e=>{i=i.filter((t=>e.includes(t)))})),i},t.getUnionOfArrays=function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];const[s,...r]=[...t],i=new Set(s);return n(r,(e=>{n(e,(e=>{i.has(e)||i.add(e)}))})),Array.from(i)},t.pivot=function(e){const t=[];if(!e||0===e.length||!e[0]||0===e[0].length)return t;const o=e.length,s=e[0].length;for(let n=0;n<o;n++)for(let o=0;o<s;o++)t[o]||(t[o]=[]),t[o][n]=e[n][o];return t},t.stringToArray=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:" ";return e.split(t)},t.to2dArray=function(e){const t=e.length;let o=0;for(;o<t;)e[o]=[e[o]],o+=1},o(63517)},37595:(e,t,o)=>{"use strict";t.__esModule=!0,t.isChrome=function(){return r.chrome.value},t.isChromeWebKit=function(){return r.chromeWebKit.value},t.isEdge=function(){return r.edge.value},t.isEdgeWebKit=function(){return r.edgeWebKit.value},t.isFirefox=function(){return r.firefox.value},t.isFirefoxWebKit=function(){return r.firefoxWebKit.value},t.isIOS=function(){return i.ios.value},t.isIpadOS=function(){let{maxTouchPoints:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:navigator;return e>2&&i.mac.value},t.isLinuxOS=function(){return i.linux.value},t.isMacOS=function(){return i.mac.value},t.isMobileBrowser=function(){return r.mobile.value},t.isSafari=function(){return r.safari.value},t.isWindowsOS=function(){return i.win.value},t.setBrowserMeta=l,t.setPlatformMeta=a;var s=o(22232);const n=e=>{const t={value:!1,test:(o,s)=>{t.value=e(o,s)}};return t},r={chrome:n(((e,t)=>/Chrome/.test(e)&&/Google/.test(t))),chromeWebKit:n((e=>/CriOS/.test(e))),edge:n((e=>/Edge/.test(e))),edgeWebKit:n((e=>/EdgiOS/.test(e))),firefox:n((e=>/Firefox/.test(e))),firefoxWebKit:n((e=>/FxiOS/.test(e))),mobile:n((e=>/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(e))),safari:n(((e,t)=>/Safari/.test(e)&&/Apple Computer/.test(t)))},i={mac:n((e=>/^Mac/.test(e))),win:n((e=>/^Win/.test(e))),linux:n((e=>/^Linux/.test(e))),ios:n((e=>/iPhone|iPad|iPod/i.test(e)))};function l(){let{userAgent:e=navigator.userAgent,vendor:t=navigator.vendor}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,s.objectEach)(r,(o=>{let{test:s}=o;s(e,t)}))}function a(){let{platform:e=navigator.platform}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,s.objectEach)(i,(t=>{let{test:o}=t;o(e)}))}l(),a()},69173:(e,t,o)=>{"use strict";t.__esModule=!0,t.error=function(){(0,s.isDefined)(console)&&console.error(...arguments)},t.info=function(){(0,s.isDefined)(console)&&console.info(...arguments)},t.log=function(){(0,s.isDefined)(console)&&console.log(...arguments)},t.warn=function(){(0,s.isDefined)(console)&&console.warn(...arguments)};var s=o(93315)},65320:(e,t,o)=>{"use strict";t.__esModule=!0,t.countFirstRowKeys=function(e){let t=0;Array.isArray(e)&&(e[0]&&Array.isArray(e[0])?t=e[0].length:e[0]&&(0,s.isObject)(e[0])&&(t=(0,s.deepObjectSize)(e[0])));return t},t.createEmptySpreadsheetData=function(e,t){const o=[];let s;for(let n=0;n<e;n++){s=[];for(let e=0;e<t;e++)s.push("");o.push(s)}return o},t.createSpreadsheetData=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;const o=[];let s,n;for(s=0;s<e;s++){const e=[];for(n=0;n<t;n++)e.push(i(n)+(s+1));o.push(e)}return o},t.createSpreadsheetObjectData=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;const o=[];let s,n;for(s=0;s<e;s++){const e={};for(n=0;n<t;n++)e[`prop${n}`]=i(n)+(s+1);o.push(e)}return o},t.dataRowToChangesArray=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=e;const s=[];Array.isArray(e)&&Array.isArray(e[0])||(o=[e]);return o.forEach(((e,o)=>{Array.isArray(e)?e.forEach(((e,n)=>{s.push([o+t,n,e])})):Object.keys(e).forEach((n=>{s.push([o+t,n,e[n]])}))})),s},t.isArrayOfArrays=function(e){return!!(Array.isArray(e)&&e.length&&e.every((e=>Array.isArray(e))))},t.isArrayOfObjects=function(e){return!!(Array.isArray(e)&&e.length&&e.every((e=>"object"==typeof e&&!Array.isArray(e)&&null!==e)))},t.spreadsheetColumnIndex=function(e){let t=0;if(e)for(let o=0,s=e.length-1;o<e.length;o+=1,s-=1)t+=r**s*(n.indexOf(e[o])+1);return t-=1,t},t.spreadsheetColumnLabel=i,o(63517);var s=o(22232);const n="ABCDEFGHIJKLMNOPQRSTUVWXYZ",r=n.length;function i(e){let t,o=e+1,s="";for(;o>0;)t=(o-1)%r,s=String.fromCharCode(65+t)+s,o=parseInt((o-t)/r,10);return s}},48150:(e,t)=>{"use strict";t.__esModule=!0,t.getNormalizedDate=function(e){const t=new Date(e);if(!isNaN(new Date(`${e}T00:00`).getDate()))return new Date(t.getTime()+6e4*t.getTimezoneOffset());return t}},83302:(e,t,o)=>{"use strict";t.__esModule=!0,t.addClass=h,t.addEvent=function(e,t,o){e.addEventListener(t,o,!1)},t.appendElement=function(e,t){let{tagName:o,className:s,attributes:n}=t;const r=e.ownerDocument.createElement(o);s&&h(r,s);n&&n.length&&c(r,n);return e.appendChild(r),r},t.clearTextSelection=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window;e.getSelection&&(e.getSelection().empty?e.getSelection().empty():e.getSelection().removeAllRanges&&e.getSelection().removeAllRanges())},t.closest=i,t.closestDown=function(e,t,o){const s=[];let n=e;for(;n&&(n=i(n,t,o),n&&(!o||o.contains(n)));)s.push(n),n=n.host&&n.nodeType===Node.DOCUMENT_FRAGMENT_NODE?n.host:n.parentNode;const r=s.length;return r?s[r-1]:null},t.empty=u,t.fastInnerHTML=function(e,t){let o=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];g.test(t)?e.innerHTML=o?(0,s.sanitize)(t):t:f(e,t)},t.fastInnerText=f,t.getCaretPosition=function(e){if(e.selectionStart)return e.selectionStart;return 0},t.getComputedStyle=C,t.getCssTransform=function(e){let t;if(e.style.transform&&""!==(t=e.style.transform))return["transform",t];return-1},t.getFrameElement=r,t.getParent=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=-1,s=null,n=e;for(;null!==n;){if(o===t){s=n;break}n.host&&n.nodeType===Node.DOCUMENT_FRAGMENT_NODE?n=n.host:(o+=1,n=n.parentNode)}return s},t.getParentWindow=function(e){return r(e)&&e.parent},t.getScrollLeft=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window;if(e===t)return m(t);return e.scrollLeft},t.getScrollTop=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window;if(e===t)return p(t);return e.scrollTop},t.getScrollableElement=function(e){let t=e.ownerDocument,o=t?t.defaultView:void 0;t||(t=e.document?e.document:e,o=t.defaultView);const s=["auto","scroll"];let n=e.parentNode;for(;n&&n.style&&t.body!==n;){let{overflow:e,overflowX:t,overflowY:r}=n.style;if([e,t,r].includes("scroll"))return n;if(({overflow:e,overflowX:t,overflowY:r}=o.getComputedStyle(n)),s.includes(e)||s.includes(t)||s.includes(r))return n;if(n.clientHeight<=n.scrollHeight+1&&(s.includes(r)||s.includes(e)))return n;if(n.clientWidth<=n.scrollWidth+1&&(s.includes(t)||s.includes(e)))return n;n=n.parentNode}return o},t.getScrollbarWidth=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document;void 0===w&&(w=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document;const t=e.createElement("div");t.style.height="200px",t.style.width="100%";const o=e.createElement("div");o.style.boxSizing="content-box",o.style.height="150px",o.style.left="0px",o.style.overflow="hidden",o.style.position="absolute",o.style.top="0px",o.style.width="200px",o.style.visibility="hidden",o.appendChild(t),(e.body||e.documentElement).appendChild(o);const s=t.offsetWidth;o.style.overflow="scroll";let n=t.offsetWidth;s===n&&(n=o.clientWidth);return(e.body||e.documentElement).removeChild(o),s-n}(e));return w},t.getSelectionEndPosition=function(e){if(e.selectionEnd)return e.selectionEnd;return 0},t.getSelectionText=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window;const t=e.document;let o="";e.getSelection?o=e.getSelection().toString():t.selection&&"Control"!==t.selection.type&&(o=t.selection.createRange().text);return o},t.getStyle=function(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:window;if(!e)return;if(e===o)return"width"===t?`${o.innerWidth}px`:"height"===t?`${o.innerHeight}px`:void 0;const s=e.style[t];if(""!==s&&void 0!==s)return s;const n=C(e,o);if(""!==n[t]&&void 0!==n[t])return n[t]},t.getTrimmingContainer=function(e){const t=e.ownerDocument,o=t.defaultView;let s=e.parentNode;for(;s&&s.style&&t.body!==s;){if("visible"!==s.style.overflow&&""!==s.style.overflow)return s;const e=C(s,o),t=["scroll","hidden","auto"],n=e.getPropertyValue("overflow"),r=e.getPropertyValue("overflow-y"),i=e.getPropertyValue("overflow-x");if(t.includes(n)||t.includes(r)||t.includes(i))return s;s=s.parentNode}return o},t.getWindowScrollLeft=m,t.getWindowScrollTop=p,t.hasAccessToParentWindow=function(e){return!!Object.getPrototypeOf(e.parent)},t.hasClass=function(e,t){if(void 0===e.classList||"string"!=typeof t||""===t)return!1;return e.classList.contains(t)},t.hasHorizontalScrollbar=function(e){return e.offsetHeight!==e.clientHeight},t.hasVerticalScrollbar=function(e){return e.offsetWidth!==e.clientWidth},t.index=function(e){let t=0,o=e;if(o.previousSibling)for(;o=o.previousSibling;)t+=1;return t},t.innerHeight=function(e){return e.clientHeight||e.innerHeight},t.innerWidth=function(e){return e.clientWidth||e.innerWidth},t.isChildOf=function(e,t){let o=e.parentNode,s=[];"string"==typeof t?s=e.defaultView?Array.prototype.slice.call(e.querySelectorAll(t),0):Array.prototype.slice.call(e.ownerDocument.querySelectorAll(t),0):s.push(t);for(;null!==o;){if(s.indexOf(o)>-1)return!0;o=o.parentNode}return!1},t.isDetached=function(e){return!e.parentNode},t.isInput=E,t.isOutsideInput=y,t.isThisHotChild=function(e,t){const o=e.closest(".handsontable");return!!o&&(o.parentNode===t||o===t)},t.isVisible=function e(t){const o=t.ownerDocument.documentElement;let s=t;for(;s!==o;){if(null===s)return!1;if(s.nodeType===Node.DOCUMENT_FRAGMENT_NODE){if(s.host){if(s.host.impl)return e(s.host.impl);if(s.host)return e(s.host);throw new Error("Lost in Web Components world")}return!1}if("none"===C(s).display)return!1;s=s.parentNode}return!0},t.makeElementContentEditableAndSelectItsContent=v,t.matchesCSSRules=function(e,t){const{selectorText:o}=t;let s=!1;t.type===CSSRule.STYLE_RULE&&o&&(e.msMatchesSelector?s=e.msMatchesSelector(o):e.matches&&(s=e.matches(o)));return s},t.observeVisibilityChangeOnce=function(e,t){new IntersectionObserver(((o,s)=>{o.forEach((o=>{o.isIntersecting&&null!==e.offsetParent&&(t(),s.unobserve(e))}))}),{root:e.ownerDocument.body}).observe(e)},t.offset=function(e){const t=e.ownerDocument,o=t.defaultView,s=t.documentElement;let n,r,i,l=e;n=l.offsetLeft,r=l.offsetTop,i=l;for(;(l=l.offsetParent)&&l!==t.body&&"offsetLeft"in l;)n+=l.offsetLeft,r+=l.offsetTop,i=l;i&&"fixed"===i.style.position&&(n+=o.pageXOffset||s.scrollLeft,r+=o.pageYOffset||s.scrollTop);return{left:n,top:r}},t.outerHeight=function(e){return e.offsetHeight},t.outerWidth=function(e){return e.offsetWidth},t.overlayContainsElement=function(e,t,o){const s=o.parentElement.querySelector(`.ht_clone_${e}`);return s?s.contains(t):null},t.removeAttribute=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];"string"==typeof t?t=t.split(" "):t instanceof RegExp&&(t=[t]);const{regexFree:o,regexes:s}=a(t,!0);o.forEach((t=>{""!==t&&e.removeAttribute(t)})),s.forEach((t=>{e.getAttributeNames().forEach((o=>{t.test(o)&&e.removeAttribute(o)}))}))},t.removeClass=d,t.removeContentEditableFromElementAndDeselect=S,t.removeEvent=function(e,t,o){e.removeEventListener(t,o,!1)},t.removeTextNodes=function e(t){if(3===t.nodeType)t.parentNode.removeChild(t);else if(["TABLE","THEAD","TBODY","TFOOT","TR"].indexOf(t.nodeName)>-1){const o=t.childNodes;for(let t=o.length-1;t>=0;t--)e(o[t])}},t.resetCssTransform=function(e){e.style.transform&&""!==e.style.transform&&(e.style.transform="")},t.runWithSelectedContendEditableElement=function(e,t){let o=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];v(e,o),t(),S(e,o)},t.selectElementIfAllowed=function(e){y(e.ownerDocument.activeElement)||e.select()},t.setAttribute=c,t.setCaretPosition=function(e,t,o){void 0===o&&(o=t);if(e.setSelectionRange){e.focus();try{e.setSelectionRange(t,o)}catch(s){const n=e.parentNode,r=n.style.display;n.style.display="block",e.setSelectionRange(t,o),n.style.display=r}}},t.setOverlayPosition=function(e,t,o){e.style.transform=`translate3d(${t},${o},0)`},o(63517),o(91683);var s=o(18609),n=o(5386);function r(e){return Object.getPrototypeOf(e.parent)&&e.frameElement}function i(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=arguments.length>2?arguments[2]:void 0;const{ELEMENT_NODE:s,DOCUMENT_FRAGMENT_NODE:n}=Node;let r=e;for(;null!=r&&r!==o;){const{nodeType:e,nodeName:o}=r;if(e===s&&(t.includes(o)||t.includes(r)))return r;const{host:i}=r;r=i&&e===n?i:r.parentNode}return null}function l(e){return e&&e.length?e.filter((e=>!!e)):[]}function a(e,t){if(!e||!e.length)return t?{regexFree:[],regexes:[]}:[];const o=[],s=[];return s.push(...e.filter((e=>{const s=e instanceof RegExp;return s&&t&&o.push(e),!s}))),t?{regexFree:s,regexes:o}:s}function h(e,t){"string"==typeof t&&(t=t.split(" ")),(t=l(t)).length>0&&e.classList.add(...t)}function d(e,t){"string"==typeof t?t=t.split(" "):t instanceof RegExp&&(t=[t]);let{regexFree:o,regexes:s}=a(t,!0);o=l(o),o.length>0&&e.classList.remove(...o),s.forEach((t=>{e.classList.forEach((o=>{t.test(o)&&e.classList.remove(o)}))}))}function c(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=arguments.length>2?arguments[2]:void 0;Array.isArray(t)||(t=[[t,o]]),t.forEach((t=>{Array.isArray(t)&&""!==t[0]&&e.setAttribute(...t)}))}function u(e){let t;for(;t=e.lastChild;)e.removeChild(t)}const g=t.HTML_CHARACTERS=/(<(.*)>|&(.*);)/;function f(e,t){const o=e.firstChild;o&&3===o.nodeType&&null===o.nextSibling?o.textContent=t:(u(e),e.appendChild(e.ownerDocument.createTextNode(t)))}function p(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:window).scrollY}function m(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:window).scrollX}function C(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window;return e.currentStyle||t.getComputedStyle(e)}let w;function E(e){return e&&(["INPUT","SELECT","TEXTAREA"].indexOf(e.nodeName)>-1||"true"===e.contentEditable)}function y(e){return E(e)&&!1===e.hasAttribute("data-hot-input")}function v(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const s=e.ownerDocument,r=s.createRange(),i=s.defaultView.getSelection();c(e,"contenteditable",!0),o&&c(e,...(0,n.A11Y_HIDDEN)()),t&&h(e,"invisibleSelection"),r.selectNodeContents(e),i.removeAllRanges(),i.addRange(r)}function S(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const o=e.ownerDocument.defaultView.getSelection();e.hasAttribute("aria-hidden")&&e.removeAttribute("aria-hidden"),o.removeAllRanges(),t&&d(e,"invisibleSelection"),e.removeAttribute("contenteditable")}},24449:(e,t)=>{"use strict";t.__esModule=!0,t.isImmediatePropagationStopped=function(e){return!1===e.isImmediatePropagationEnabled},t.isLeftClick=function(e){return 0===e.button},t.isRightClick=function(e){return 2===e.button},t.offsetRelativeTo=function(e,t){const o={x:e.offsetX,y:e.offsetY};let s=e.target;if(!(t instanceof HTMLElement)||s!==t&&s.contains(t))return o;for(;s!==t;)o.x+=s.offsetLeft,o.y+=s.offsetTop,s=s.offsetParent;return o},t.stopImmediatePropagation=function(e){e.isImmediatePropagationEnabled=!1,e.cancelBubble=!0}},7374:(e,t)=>{"use strict";let o;t.__esModule=!0,t.cancelAnimationFrame=function(e){window.cancelAnimationFrame(e)},t.getComparisonFunction=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(o)return o;o="object"==typeof Intl?new Intl.Collator(e,t).compare:"function"==typeof String.prototype.localeCompare?(e,t)=>`${e}`.localeCompare(t):(e,t)=>e===t?0:e>t?-1:1;return o},t.isTouchSupported=function(){return"ontouchstart"in window},t.requestAnimationFrame=function(e){return window.requestAnimationFrame(e)}},85015:(e,t,o)=>{"use strict";t.__esModule=!0,t.curry=function(e){const t=e.length;return function o(s){return function(){for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];const l=s.concat(r);let a;return a=l.length>=t?e.apply(this,l):o(l),a}}([])},t.curryRight=function(e){const t=e.length;return function o(s){return function(){for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];const l=s.concat(r.reverse());let a;return a=l.length>=t?e.apply(this,l):o(l),a}}([])},t.debounce=function(e){let t,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:200,s=null;return function(){for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return s&&clearTimeout(s),s=setTimeout((()=>{t=e.apply(this,r)}),o),t}},t.fastCall=function(e,t,o,s,r,i,l,a){if((0,n.isDefined)(a))return e.call(t,o,s,r,i,l,a);if((0,n.isDefined)(l))return e.call(t,o,s,r,i,l);if((0,n.isDefined)(i))return e.call(t,o,s,r,i);if((0,n.isDefined)(r))return e.call(t,o,s,r);if((0,n.isDefined)(s))return e.call(t,o,s);if((0,n.isDefined)(o))return e.call(t,o);return e.call(t)},t.isFunction=function(e){return"function"==typeof e},t.partial=function(e){for(var t=arguments.length,o=new Array(t>1?t-1:0),s=1;s<t;s++)o[s-1]=arguments[s];return function(){for(var t=arguments.length,s=new Array(t),n=0;n<t;n++)s[n]=arguments[n];return e.apply(this,o.concat(s))}},t.pipe=function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];const[n,...r]=t;return function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return(0,s.arrayReduce)(r,((e,t)=>t(e)),n.apply(this,t))}},t.throttle=r,t.throttleAfterHits=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:200,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10;const s=r(e,t);let n=o;function i(){for(var t=arguments.length,o=new Array(t),r=0;r<t;r++)o[r]=arguments[r];return n?(n-=1,e.apply(this,o)):s.apply(this,o)}return i.clearHits=function(){n=o},i};var s=o(50095),n=o(93315);function r(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:200,o=0;const s={lastCallThrottled:!0};let n=null;return function(){for(var r=arguments.length,i=new Array(r),l=0;l<r;l++)i[l]=arguments[l];const a=Date.now();let h=!1;s.lastCallThrottled=!0,o||(o=a,h=!0);const d=t-(a-o);return h?(s.lastCallThrottled=!1,e.apply(this,i)):(n&&clearTimeout(n),n=setTimeout((()=>{s.lastCallThrottled=!1,e.apply(this,i),o=0,n=void 0}),d)),s}}},93315:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,t._injectProductInfo=function(e,t){const o=!l(e),s="string"==typeof e&&"non-commercial-and-evaluation"===e.toLowerCase(),r="14.0.0-next-e8f87aa-20231030";let i,E="invalid",y="invalid";const v=function(e){let t=[][a],o=t;if(e[a]!==u("Z"))return!1;for(let t="",s="B<H4P+".split(""),n=u(s.shift());n;n=u(s.shift()||"A"))--n<""[a]?o|=(d(`${d(h(t)+(h(c(e,Math.abs(n),2))+[]).padStart(2,"0"))}`)%97||2)>>1:t=c(e,n,n?1===s[a]?9:8:6);return o===t}(e=g(e||""));if(o||s||v)if(v){const t=(0,n.default)("08/11/2023","DD/MM/YYYY"),o=Math.floor(t.toDate().getTime()/864e5),s=f(e);i=(0,n.default)(864e5*(s+1),"x").format("MMMM DD, YYYY"),o>s?(E="expired",y="expired"):(E="valid",y="valid")}else s?(E="non_commercial",y="valid"):(E="invalid",y="invalid");else E="missing",y="missing";p()&&(E="valid",y="valid");if(!m&&"valid"!==E){C[E]({keyValidityDate:i,hotVersion:r})&&console["non_commercial"===E?"info":"warn"](C[E]({keyValidityDate:i,hotVersion:r})),m=!0}if("valid"!==y&&t.parentNode){if(w[y]({keyValidityDate:i,hotVersion:r})){const e=document.createElement("div");e.className="hot-display-license-info",e.innerHTML=w[y]({keyValidityDate:i,hotVersion:r}),t.parentNode.insertBefore(e,t.nextSibling)}}},t.isDefined=function(e){return void 0!==e},t.isEmpty=l,t.isRegExp=function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},t.isUndefined=i,t.stringify=function(e){let t;switch(typeof e){case"string":case"number":t=`${e}`;break;case"object":t=null===e?"":e.toString();break;case"undefined":t="";break;default:t=e.toString()}return t};var n=s(o(33034)),r=o(28236);function i(e){return void 0===e}function l(e){return null===e||""===e||i(e)}const a="length",h=e=>parseInt(e,16),d=e=>parseInt(e,10),c=(e,t,o)=>e.substr(t,o),u=e=>e.codePointAt(0)-65,g=e=>`${e}`.replace(/\-/g,""),f=e=>h(c(g(e),h("12"),u("F")))/(h(c(g(e),u("B"),~~![][a]))||9),p=()=>"undefined"!=typeof location&&/^([a-z0-9\-]+\.)?\x68\x61\x6E\x64\x73\x6F\x6E\x74\x61\x62\x6C\x65\x2E\x63\x6F\x6D$/i.test(location.host);let m=!1;const C={invalid:()=>r.toSingleLine`
|
32
|
+
the number of rendered rows by specifying the table height and/or turning off the "renderAllRows" option.`)),this.table.isAriaEnabled()&&(0,a.setAttribute)(this.rootNode,[(0,h.A11Y_PRESENTATION)()]),this.orderView.setSize(e).setOffset(this.table.renderedRowToSource(0)).start();for(let s=0;s<e;s++){this.orderView.render();const e=this.orderView.getCurrentNode(),n=this.table.renderedRowToSource(s);var t,o;if(this.table.isAriaEnabled())(0,a.setAttribute)(e,[(0,h.A11Y_ROW)(),(0,h.A11Y_ROWINDEX)(n+(null!==(t=null===(o=this.table.rowUtils)||void 0===o||null===(o=o.dataAccessObject)||void 0===o?void 0:o.columnHeaders.length)&&void 0!==t?t:0)+1)])}this.orderView.end()}}t.default=c},46538:(e,t)=>{"use strict";t.__esModule=!0;t.default=class{constructor(e){let{cellRenderer:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.rootNode=e,this.rootDocument=this.rootNode.ownerDocument,this.rowHeaders=null,this.columnHeaders=null,this.colGroup=null,this.rows=null,this.cells=null,this.rowFilter=null,this.columnFilter=null,this.rowUtils=null,this.columnUtils=null,this.rowsToRender=0,this.columnsToRender=0,this.rowHeaderFunctions=[],this.rowHeadersCount=0,this.columnHeaderFunctions=[],this.columnHeadersCount=0,this.cellRenderer=t}setAxisUtils(e,t){this.rowUtils=e,this.columnUtils=t}setViewportSize(e,t){this.rowsToRender=e,this.columnsToRender=t}setFilters(e,t){this.rowFilter=e,this.columnFilter=t}setHeaderContentRenderers(e,t){this.rowHeaderFunctions=e,this.rowHeadersCount=e.length,this.columnHeaderFunctions=t,this.columnHeadersCount=t.length}setRenderers(){let{rowHeaders:e,columnHeaders:t,colGroup:o,rows:s,cells:n}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.setTable(this),t.setTable(this),o.setTable(this),s.setTable(this),n.setTable(this),this.rowHeaders=e,this.columnHeaders=t,this.colGroup=o,this.rows=s,this.cells=n}renderedRowToSource(e){return this.rowFilter.renderedToSource(e)}renderedColumnToSource(e){return this.columnFilter.renderedToSource(e)}isAriaEnabled(){return this.rowUtils.wtSettings.getSetting("ariaTags")}render(){this.colGroup.adjust(),this.columnHeaders.adjust(),this.rows.adjust(),this.rowHeaders.adjust(),this.columnHeaders.render(),this.rows.render(),this.rowHeaders.render(),this.cells.render(),this.columnUtils.calculateWidths(),this.colGroup.render();const{rowsToRender:e,rows:t}=this;for(let o=0;o<e;o++){const e=t.getRenderedNode(o);if(e.firstChild){const t=this.renderedRowToSource(o),s=this.rowUtils.getHeight(t);e.firstChild.style.height=s?s-1+"px":""}}}}},52188:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=s(o(93231)),r=o(83302);t.default=class{constructor(e){(0,n.default)(this,"dataAccessObject",void 0),(0,n.default)(this,"lastScrolledColumnPos",-1),(0,n.default)(this,"lastScrolledRowPos",-1),this.dataAccessObject=e}scrollViewport(e,t,o,s,n){const r=this.scrollViewportHorizontally(e.col,o,n),i=this.scrollViewportVertically(e.row,t,s);return r||i}scrollViewportHorizontally(e,t,o){const{drawn:s,totalColumns:n}=this.dataAccessObject;if(!s||!Number.isInteger(e)||e<0||e>n)return!1;const r=this.getFirstVisibleColumn(),i=this.getLastVisibleColumn(),l=void 0===t&&void 0===o,{fixedColumnsStart:a,inlineStartOverlay:h}=this.dataAccessObject;if(l&&e<a)return!1;let d=!1;return e=this.dataAccessObject.wtSettings.getSetting("onBeforeViewportScrollHorizontally",e),-1===r?d=h.scrollTo(e,l?e>this.lastScrolledColumnPos:t):(l&&(e<r||e>i)||!l)&&(d=h.scrollTo(e,l?e>i:t)),d&&(this.lastScrolledColumnPos=e),d}scrollViewportVertically(e,t,o){const{drawn:s,totalRows:n}=this.dataAccessObject;if(!s||!Number.isInteger(e)||e<0||e>n)return!1;const r=this.getFirstVisibleRow(),i=this.getLastVisibleRow(),l=void 0===t&&void 0===o,{fixedRowsBottom:a,fixedRowsTop:h,topOverlay:d}=this.dataAccessObject;if(l&&(e<h||e>n-a-1))return!1;let c=!1;return e=this.dataAccessObject.wtSettings.getSetting("onBeforeViewportScrollVertically",e),-1===r?c=d.scrollTo(e,l?e>this.lastScrolledRowPos:o):(l&&(e<r||e>i)||!l)&&(c=d.scrollTo(e,l?e>i:o)),c&&(this.lastScrolledRowPos=e),c}getFirstVisibleRow(){const{topOverlay:e,wtTable:t,wtViewport:o,totalRows:s,fixedRowsTop:n,rootWindow:i}=this.dataAccessObject;let l=t.getFirstVisibleRow();if(e.mainTableScrollableElement===i){const a=(0,r.offset)(t.wtRootElement),h=(0,r.innerHeight)(t.hider),d=(0,r.innerHeight)(i),c=(0,r.getScrollTop)(i,i);if(a.top+h-d<=c){let t=o.getColumnHeaderHeight();t+=e.sumCellSizes(0,n);for(let o=s;o>0;o--)if(t+=e.sumCellSizes(o-1,o),a.top+h-t<=c){l=o;break}}}return l}getLastVisibleRow(){const{topOverlay:e,wtTable:t,wtViewport:o,totalRows:s,rootWindow:n}=this.dataAccessObject;let i=t.getLastVisibleRow();if(e.mainTableScrollableElement===n){const l=(0,r.offset)(t.wtRootElement),a=(0,r.getScrollTop)(n,n);if(l.top>a){const t=(0,r.innerHeight)(n);let h=o.getColumnHeaderHeight();for(let o=1;o<=s;o++)if(h+=e.sumCellSizes(o-1,o),l.top+h-a>=t){i=o-2;break}}}return i}getFirstVisibleColumn(){const{inlineStartOverlay:e,wtTable:t,wtViewport:o,totalColumns:s,rootWindow:n}=this.dataAccessObject;let i=t.getFirstVisibleColumn();if(e.mainTableScrollableElement===n){const l=(0,r.offset)(t.wtRootElement),a=(0,r.innerWidth)(t.hider),h=(0,r.innerWidth)(n),d=Math.abs((0,r.getScrollLeft)(n,n));if(l.left+a-h<=d){let t=o.getRowHeaderWidth();for(let o=s;o>0;o--)if(t+=e.sumCellSizes(o-1,o),l.left+a-t<=d){i=o;break}}}return i}getLastVisibleColumn(){const{wtSettings:e,inlineStartOverlay:t,wtTable:o,wtViewport:s,totalColumns:n,rootWindow:i}=this.dataAccessObject;let l=o.getLastVisibleColumn();if(t.mainTableScrollableElement===i){let a=null;if(e.getSetting("rtlMode")){const e=o.TABLE.getBoundingClientRect(),t=this.dataAccessObject.rootWindow.document.documentElement.offsetWidth;a=Math.abs(e.right-t)}else{a=(0,r.offset)(o.wtRootElement).left}const h=Math.abs((0,r.getScrollLeft)(i,i));if(a>h){const e=(0,r.innerWidth)(i);let o=s.getRowHeaderWidth();for(let s=1;s<=n;s++)if(o+=t.sumCellSizes(s-1,s),a+o-h>=e){l=s-2;break}}}return l}}},67175:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(83302),n=o(24449),r=o(22232),i=o(37595),l=o(97132);t.default=class{constructor(e,t){t&&(this.eventManager=e.eventManager,this.instance=e,this.wot=e,this.settings=t,this.mouseDown=!1,this.main=null,this.top=null,this.bottom=null,this.start=null,this.end=null,this.topStyle=null,this.bottomStyle=null,this.startStyle=null,this.endStyle=null,this.cornerDefaultStyle=l.CORNER_DEFAULT_STYLE,this.cornerCenterPointOffset=-parseInt(this.cornerDefaultStyle.width,10)/2,this.corner=null,this.cornerStyle=null,this.createBorders(t),this.registerListeners())}registerListeners(){const e=this.wot.rootDocument.body;this.eventManager.addEventListener(e,"mousedown",(()=>this.onMouseDown())),this.eventManager.addEventListener(e,"mouseup",(()=>this.onMouseUp()));for(let e=0,t=this.main.childNodes.length;e<t;e++){const t=this.main.childNodes[e];this.eventManager.addEventListener(t,"mouseenter",(t=>this.onMouseEnter(t,this.main.childNodes[e])))}}onMouseDown(){this.mouseDown=!0}onMouseUp(){this.mouseDown=!1}onMouseEnter(e,t){if(!this.mouseDown||!this.wot.getSetting("hideBorderOnMouseDownOver"))return;e.preventDefault(),(0,n.stopImmediatePropagation)(e);const o=this,s=this.wot.rootDocument.body,r=t.getBoundingClientRect();t.style.display="none",this.eventManager.addEventListener(s,"mousemove",(function e(n){var i;((i=n).clientY<Math.floor(r.top)||i.clientY>Math.ceil(r.top+r.height)||i.clientX<Math.floor(r.left)||i.clientX>Math.ceil(r.left+r.width))&&(o.eventManager.removeEventListener(s,"mousemove",e),t.style.display="block")}))}createBorders(e){const{rootDocument:t}=this.wot;this.main=t.createElement("div");const o=["top","start","bottom","end","corner"];let s=this.main.style;s.position="absolute",s.top=0,s.left=0;for(let n=0;n<5;n++){const r=o[n],i=t.createElement("div");i.className=`wtBorder ${this.settings.className||""}`,this.settings[r]&&this.settings[r].hide&&(i.className+=" hidden"),s=i.style,s.backgroundColor=this.settings[r]&&this.settings[r].color?this.settings[r].color:e.border.color,s.height=this.settings[r]&&this.settings[r].width?`${this.settings[r].width}px`:`${e.border.width}px`,s.width=this.settings[r]&&this.settings[r].width?`${this.settings[r].width}px`:`${e.border.width}px`,this.main.appendChild(i)}this.top=this.main.childNodes[0],this.start=this.main.childNodes[1],this.bottom=this.main.childNodes[2],this.end=this.main.childNodes[3],this.topStyle=this.top.style,this.startStyle=this.start.style,this.bottomStyle=this.bottom.style,this.endStyle=this.end.style,this.corner=this.main.childNodes[4],this.corner.className+=" corner",this.cornerStyle=this.corner.style,this.cornerStyle.width=this.cornerDefaultStyle.width,this.cornerStyle.height=this.cornerDefaultStyle.height,this.cornerStyle.border=[this.cornerDefaultStyle.borderWidth,this.cornerDefaultStyle.borderStyle,this.cornerDefaultStyle.borderColor].join(" "),(0,i.isMobileBrowser)()&&this.createMultipleSelectorHandles(),this.disappear();const{wtTable:n}=this.wot;let r=n.bordersHolder;r||(r=t.createElement("div"),r.className="htBorders",n.bordersHolder=r,n.spreader.appendChild(r)),r.appendChild(this.main)}createMultipleSelectorHandles(){const{rootDocument:e}=this.wot;this.selectionHandles={top:e.createElement("DIV"),topHitArea:e.createElement("DIV"),bottom:e.createElement("DIV"),bottomHitArea:e.createElement("DIV")};this.selectionHandles.top.className="topSelectionHandle topLeftSelectionHandle",this.selectionHandles.topHitArea.className="topSelectionHandle-HitArea topLeftSelectionHandle-HitArea",this.selectionHandles.bottom.className="bottomSelectionHandle bottomRightSelectionHandle",this.selectionHandles.bottomHitArea.className="bottomSelectionHandle-HitArea bottomRightSelectionHandle-HitArea",this.selectionHandles.styles={top:this.selectionHandles.top.style,topHitArea:this.selectionHandles.topHitArea.style,bottom:this.selectionHandles.bottom.style,bottomHitArea:this.selectionHandles.bottomHitArea.style};const t={position:"absolute",height:"40px",width:"40px","border-radius":`${parseInt(40/1.5,10)}px`};(0,r.objectEach)(t,((e,t)=>{this.selectionHandles.styles.bottomHitArea[t]=e,this.selectionHandles.styles.topHitArea[t]=e}));const o={position:"absolute",height:"10px",width:"10px","border-radius":`${parseInt(10/1.5,10)}px`,background:"#F5F5FF",border:"1px solid #4285c8"};(0,r.objectEach)(o,((e,t)=>{this.selectionHandles.styles.bottom[t]=e,this.selectionHandles.styles.top[t]=e})),this.main.appendChild(this.selectionHandles.top),this.main.appendChild(this.selectionHandles.bottom),this.main.appendChild(this.selectionHandles.topHitArea),this.main.appendChild(this.selectionHandles.bottomHitArea)}isPartRange(e,t){const o=this.wot.selectionManager.getAreaSelection();return!(!o.cellRange||e===o.cellRange.to.row&&t===o.cellRange.to.col)}updateMultipleSelectionHandlesPosition(e,t,o,s,n,r){const i=this.wot.wtSettings.getSetting("rtlMode")?"right":"left",{top:l,topHitArea:a,bottom:h,bottomHitArea:d}=this.selectionHandles.styles,c=parseInt(l.borderWidth,10),u=parseInt(l.width,10),g=parseInt(a.width,10),f=this.wot.wtTable.getWidth(),p=this.wot.wtTable.getHeight();l.top=`${parseInt(o-u-1,10)}px`,l[i]=`${parseInt(s-u-1,10)}px`,a.top=`${parseInt(o-g/4*3,10)}px`,a[i]=`${parseInt(s-g/4*3,10)}px`;const m=Math.min(parseInt(s+n,10),f-u-2*c),C=Math.min(parseInt(s+n-g/4,10),f-g-2*c);h[i]=`${m}px`,d[i]=`${C}px`;const w=Math.min(parseInt(o+r,10),p-u-2*c),E=Math.min(parseInt(o+r-g/4,10),p-g-2*c);h.top=`${w}px`,d.top=`${E}px`,this.settings.border.cornerVisible&&this.settings.border.cornerVisible()?(l.display="block",a.display="block",this.isPartRange(e,t)?(h.display="none",d.display="none"):(h.display="block",d.display="block")):(l.display="none",h.display="none",a.display="none",d.display="none"),e===this.wot.wtSettings.getSetting("fixedRowsTop")||t===this.wot.wtSettings.getSetting("fixedColumnsStart")?(l.zIndex="9999",a.zIndex="9999"):(l.zIndex="",a.zIndex="")}appear(e){if(this.disabled)return;const{wtTable:t,rootDocument:o,rootWindow:n}=this.wot;let r,l,a,h,d,c;const u=t.getRenderedRowsCount();for(let o=0;o<u;o+=1){const s=t.rowFilter.renderedToSource(o);if(s>=e[0]&&s<=e[2]){r=s,d=e[0];break}}for(let o=u-1;o>=0;o-=1){const s=t.rowFilter.renderedToSource(o);if(s>=e[0]&&s<=e[2]){l=s;break}}const g=t.getRenderedColumnsCount();for(let o=0;o<g;o+=1){const s=t.columnFilter.renderedToSource(o);if(s>=e[1]&&s<=e[3]){a=s,c=e[1];break}}for(let o=g-1;o>=0;o-=1){const s=t.columnFilter.renderedToSource(o);if(s>=e[1]&&s<=e[3]){h=s;break}}if(void 0===r||void 0===a)return void this.disappear();let f=t.getCell(this.wot.createCellCoords(r,a));const p=r!==l||a!==h,m=p?t.getCell(this.wot.createCellCoords(l,h)):f,C=(0,s.offset)(f),w=p?(0,s.offset)(m):C,E=(0,s.offset)(t.TABLE),y=(0,s.outerWidth)(t.TABLE),v=C.top,S=C.left,R=this.wot.wtSettings.getSetting("rtlMode");let _=0,b=0;if(R){const e=(0,s.outerWidth)(f),t=n.innerWidth-E.left-y;b=S+e-w.left,_=n.innerWidth-S-e-t-1}else b=w.left+(0,s.outerWidth)(m)-S,_=S-E.left-1;if(this.isEntireColumnSelected(r,l)){const e=this.getDimensionsFromHeader("columns",a,h,d,E);let t=null;e&&([t,_,b]=e),t&&(f=t)}let T=v-E.top-1,M=w.top+(0,s.outerHeight)(m)-v;if(this.isEntireRowSelected(a,h)){const e=this.getDimensionsFromHeader("rows",r,l,c,E);let t=null;e&&([t,T,M]=e),t&&(f=t)}const O=(0,s.getComputedStyle)(f,n);parseInt(O.borderTopWidth,10)>0&&(T+=1,M=M>0?M-1:0),parseInt(O[R?"borderRightWidth":"borderLeftWidth"],10)>0&&(_+=1,b=b>0?b-1:0);const I=R?"right":"left";this.topStyle.top=`${T}px`,this.topStyle[I]=`${_}px`,this.topStyle.width=`${b}px`,this.topStyle.display="block",this.startStyle.top=`${T}px`,this.startStyle[I]=`${_}px`,this.startStyle.height=`${M}px`,this.startStyle.display="block";const A=Math.floor(this.settings.border.width/2);this.bottomStyle.top=T+M-A+"px",this.bottomStyle[I]=`${_}px`,this.bottomStyle.width=`${b}px`,this.bottomStyle.display="block",this.endStyle.top=`${T}px`,this.endStyle[I]=_+b-A+"px",this.endStyle.height=`${M+1}px`,this.endStyle.display="block";let N=this.settings.border.cornerVisible;N="function"==typeof N?N(this.settings.layerLevel):N;const P=this.wot.getSetting("onModifyGetCellCoords",l,h);let[H,x]=[l,h];if(P&&Array.isArray(P)&&([,,H,x]=P),(0,i.isMobileBrowser)()||!N||this.isPartRange(H,x))this.cornerStyle.display="none";else{this.cornerStyle.top=T+M+this.cornerCenterPointOffset-1+"px",this.cornerStyle[I]=_+b+this.cornerCenterPointOffset-1+"px",this.cornerStyle.borderRightWidth=this.cornerDefaultStyle.borderWidth,this.cornerStyle.width=this.cornerDefaultStyle.width,this.cornerStyle.display="none";let e=(0,s.getTrimmingContainer)(t.TABLE);const r=e===n;r&&(e=o.documentElement);const i=parseInt(this.cornerDefaultStyle.width,10)/2,a=parseInt(this.cornerDefaultStyle.height,10)/2;if(h===this.wot.getSetting("totalColumns")-1){const t=r?m.getBoundingClientRect().left:m.offsetLeft;let o=!1,n=0;R?(n=t-parseInt(this.cornerDefaultStyle.width,10)/2,o=n<0):(n=t+(0,s.outerWidth)(m)+parseInt(this.cornerDefaultStyle.width,10)/2,o=n>=(0,s.innerWidth)(e)),o&&(this.cornerStyle[I]=`${Math.floor(_+b+this.cornerCenterPointOffset-i)}px`,this.cornerStyle[R?"borderLeftWidth":"borderRightWidth"]=0)}if(l===this.wot.getSetting("totalRows")-1){(r?m.getBoundingClientRect().top:m.offsetTop)+(0,s.outerHeight)(m)+parseInt(this.cornerDefaultStyle.height,10)/2>=(0,s.innerHeight)(e)&&(this.cornerStyle.top=`${Math.floor(T+M+this.cornerCenterPointOffset-a)}px`,this.cornerStyle.borderBottomWidth=0)}this.cornerStyle.display="block"}(0,i.isMobileBrowser)()&&this.updateMultipleSelectionHandlesPosition(l,h,T,_,b,M)}isEntireColumnSelected(e,t){return e===this.wot.wtTable.getFirstRenderedRow()&&t===this.wot.wtTable.getLastRenderedRow()}isEntireRowSelected(e,t){return e===this.wot.wtTable.getFirstRenderedColumn()&&t===this.wot.wtTable.getLastRenderedColumn()}getDimensionsFromHeader(e,t,o,n,r){const{wtTable:i}=this.wot,l=i.wtRootElement.parentNode;let a=null,h=null,d=null,c=null,u=null,g=null,f=null,p=null;switch(e){case"rows":a=function(){return i.getRowHeader(...arguments)},h=function(){return(0,s.outerHeight)(...arguments)},d="ht__selection--rows",g="top";break;case"columns":a=function(){return i.getColumnHeader(...arguments)},h=function(){return(0,s.outerWidth)(...arguments)},d="ht__selection--columns",g="left"}if(l.classList.contains(d)){const e=this.wot.getSetting("columnHeaders").length;if(f=a(t,e-n),p=a(o,e-n),!f||!p)return!1;const i=(0,s.offset)(f),l=(0,s.offset)(p);return f&&p&&(c=i[g]-r[g]-1,u=l[g]+h(p)-i[g]),[f,c,u]}return!1}changeBorderStyle(e,t){const o=this[e].style,n=t[e];!n||n.hide?(0,s.addClass)(this[e],"hidden"):((0,s.hasClass)(this[e],"hidden")&&(0,s.removeClass)(this[e],"hidden"),o.backgroundColor=n.color,"top"!==e&&"bottom"!==e||(o.height=`${n.width}px`),"start"!==e&&"end"!==e||(o.width=`${n.width}px`))}changeBorderToDefaultStyle(e){const t=1,o="#000",s=this[e].style;s.backgroundColor=o,s.width=`${t}px`,s.height=`${t}px`}toggleHiddenClass(e,t){this.changeBorderToDefaultStyle(e),t?(0,s.addClass)(this[e],"hidden"):(0,s.removeClass)(this[e],"hidden")}disappear(){this.topStyle.display="none",this.bottomStyle.display="none",this.startStyle.display="none",this.endStyle.display="none",this.cornerStyle.display="none",(0,i.isMobileBrowser)()&&(this.selectionHandles.styles.top.display="none",this.selectionHandles.styles.topHitArea.display="none",this.selectionHandles.styles.bottom.display="none",this.selectionHandles.styles.bottomHitArea.display="none")}destroy(){this.eventManager.destroyWithOwnEventsOnly(),this.main.parentNode.removeChild(this.main)}}},97132:(e,t)=>{"use strict";t.__esModule=!0;t.CORNER_DEFAULT_STYLE=Object.freeze({width:"6px",height:"6px",borderWidth:"1px",borderStyle:"solid",borderColor:"#FFF"})},23009:(e,t)=>{"use strict";t.__esModule=!0;t.ACTIVE_HEADER_TYPE="active-header",t.HEADER_TYPE="header",t.AREA_TYPE="area",t.FOCUS_TYPE="focus",t.FILL_TYPE="fill",t.ROW_TYPE="row",t.COLUMN_TYPE="column",t.CUSTOM_SELECTION_TYPE="custom-selection"},88361:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n={SelectionManager:!0,Selection:!0},r=s(o(33468));t.Selection=r.default;var i=o(23009);Object.keys(i).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===i[e]||(t[e]=i[e]))}));var l=o(97132);Object.keys(l).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===l[e]||(t[e]=l[e]))}));var a=o(86143);t.SelectionManager=a.SelectionManager},86143:(e,t,o)=>{"use strict";o(91683);var s=o(73203);t.__esModule=!0,o(9815);var n=s(o(42538)),r=s(o(48427)),i=o(83302),l=o(7161),a=s(o(67175));function h(e,t,o){d(e,t),t.set(e,o)}function d(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}var c=new WeakMap,u=new WeakMap,g=new WeakMap,f=new WeakMap,p=new WeakMap,m=new WeakMap,C=new WeakSet;function w(){const e=(0,n.default)(this,f).get((0,n.default)(this,c)),t=(0,n.default)(this,c).wtSettings.getSetting("onBeforeRemoveCellClassNames");if(Array.isArray(t))for(let o=0;o<t.length;o++)e.add(t[o]);e.forEach((e=>{var t,o;const s=(0,n.default)(this,c).wtTable.TABLE.querySelectorAll(`.${e}`);let r=[];Array.isArray(null===(t=(0,n.default)(this,u).options)||void 0===t?void 0:t.cellAttributes)&&(r=(0,n.default)(this,u).options.cellAttributes.map((e=>e[0]))),Array.isArray(null===(o=(0,n.default)(this,u).options)||void 0===o?void 0:o.headerAttributes)&&(r=[...r,...(0,n.default)(this,u).options.headerAttributes.map((e=>e[0]))]);for(let t=0,o=s.length;t<o;t++)(0,i.removeClass)(s[t],e),(0,i.removeAttribute)(s[t],r)})),e.clear()}t.SelectionManager=class{constructor(e){var t,o;d(t=this,o=C),o.add(t),h(this,c,{writable:!0,value:void 0}),h(this,u,{writable:!0,value:void 0}),h(this,g,{writable:!0,value:new l.SelectionScanner}),h(this,f,{writable:!0,value:new WeakMap}),h(this,p,{writable:!0,value:new WeakSet}),h(this,m,{writable:!0,value:new Map}),(0,r.default)(this,u,e)}setActiveOverlay(e){return(0,r.default)(this,c,e),(0,n.default)(this,g).setActiveOverlay((0,n.default)(this,c)),(0,n.default)(this,f).has((0,n.default)(this,c))||(0,n.default)(this,f).set((0,n.default)(this,c),new Set),this}getFocusSelection(){return null!==(0,n.default)(this,u)?(0,n.default)(this,u).getFocus():null}getAreaSelection(){return null!==(0,n.default)(this,u)?(0,n.default)(this,u).createLayeredArea():null}getBorderInstance(e){if(!e.settings.border)return null;if((0,n.default)(this,m).has(e)){const t=(0,n.default)(this,m).get(e);if(t.has((0,n.default)(this,c)))return t.get((0,n.default)(this,c));const o=new a.default((0,n.default)(this,c),e.settings);return t.set((0,n.default)(this,c),o),o}const t=new a.default((0,n.default)(this,c),e.settings);return(0,n.default)(this,m).set(e,new Map([[(0,n.default)(this,c),t]])),t}getBorderInstances(e){var t,o;return Array.from(null!==(t=null===(o=(0,n.default)(this,m).get(e))||void 0===o?void 0:o.values())&&void 0!==t?t:[])}destroyBorders(e){(0,n.default)(this,m).get(e).forEach((e=>e.destroy())),(0,n.default)(this,m).delete(e)}render(e){if(null===(0,n.default)(this,u))return;e&&function(e,t,o){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return o}(this,C,w).call(this);const t=Array.from((0,n.default)(this,u)),o=new Map;for(let e=0;e<t.length;e++){const s=t[e],{className:r,createLayers:i,selectionType:l}=s.settings;(0,n.default)(this,p).has(s)||((0,n.default)(this,p).add(s),s.addLocalHook("destroy",(()=>this.destroyBorders(s))));const a=this.getBorderInstance(s);if(s.isEmpty()){null==a||a.disappear();continue}if(r){(0,n.default)(this,g).setActiveSelection(s).scan().forEach((e=>{if(o.has(e)){const t=o.get(e);t.has(r)&&!0===i?t.set(r,t.get(r)+1):t.set(r,1)}else o.set(e,new Map([[r,1]]))}))}const h=s.getCorners();(0,n.default)(this,c).getSetting("onBeforeDrawBorders",h,l),null==a||a.appear(h)}o.forEach(((e,t)=>{var o,s;const r=Array.from(e).map((e=>{let[t,o]=e;return 1===o?t:[t,...Array.from({length:o-1},((e,o)=>`${t}-${o+1}`))]})).flat();r.forEach((e=>(0,n.default)(this,f).get((0,n.default)(this,c)).add(e))),(0,i.addClass)(t,r),"TD"===t.nodeName&&Array.isArray(null===(o=(0,n.default)(this,u).options)||void 0===o?void 0:o.cellAttributes)?(0,i.setAttribute)(t,(0,n.default)(this,u).options.cellAttributes):"TH"===t.nodeName&&Array.isArray(null===(s=(0,n.default)(this,u).options)||void 0===s?void 0:s.headerAttributes)&&(0,i.setAttribute)(t,(0,n.default)(this,u).options.headerAttributes)}))}}},7161:(e,t,o)=>{"use strict";o(91683);var s=o(73203);t.__esModule=!0;var n=s(o(42538)),r=s(o(48427)),i=o(83302);function l(e,t,o){a(e,t),t.set(e,o)}function a(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function h(e,t,o){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return o}var d=new WeakMap,c=new WeakMap,u=new WeakSet;function g(e){const{wtTable:t}=(0,n.default)(this,c),o=t.getRenderedRowsCount(),s=t.getRenderedColumnsCount();for(let n=0;n<o;n+=1){const o=t.rowFilter.renderedToSource(n);for(let n=0;n<s;n+=1)e(o,t.columnFilter.renderedToSource(n))}}t.SelectionScanner=class{constructor(){var e,t;a(e=this,t=u),t.add(e),l(this,d,{writable:!0,value:void 0}),l(this,c,{writable:!0,value:void 0})}setActiveOverlay(e){return(0,r.default)(this,c,e),this}setActiveSelection(e){return(0,r.default)(this,d,e),this}scan(){const e=(0,n.default)(this,d).settings.selectionType,t=new Set;return"active-header"===e?(this.scanColumnsInHeadersRange((e=>t.add(e))),this.scanRowsInHeadersRange((e=>t.add(e)))):"area"===e?this.scanCellsRange((e=>t.add(e))):"focus"===e?(this.scanColumnsInHeadersRange((e=>t.add(e))),this.scanRowsInHeadersRange((e=>t.add(e))),this.scanCellsRange((e=>t.add(e)))):"fill"===e?this.scanCellsRange((e=>t.add(e))):"header"===e?(this.scanColumnsInHeadersRange((e=>t.add(e))),this.scanRowsInHeadersRange((e=>t.add(e)))):"row"===e?(this.scanRowsInHeadersRange((e=>t.add(e))),this.scanRowsInCellsRange((e=>t.add(e)))):"column"===e&&(this.scanColumnsInHeadersRange((e=>t.add(e))),this.scanColumnsInCellsRange((e=>t.add(e)))),t}scanColumnsInHeadersRange(e){const[t,o,s,r]=(0,n.default)(this,d).getCorners(),{wtTable:i}=(0,n.default)(this,c),l=i.getRenderedColumnsCount(),a=i.getColumnHeadersCount();let h=0;for(let u=-i.getRowHeadersCount();u<l;u++){const l=i.columnFilter.renderedToSource(u);if(!(l<o||l>r)){for(let u=-a;u<0;u++){if(u<t||u>s)continue;const g=u+a;let f=i.getColumnHeader(l,g);const p=(0,n.default)(this,c).getSetting("onBeforeHighlightingColumnHeader",l,g,{selectionType:(0,n.default)(this,d).settings.selectionType,columnCursor:h,selectionWidth:r-o+1});null!==p&&(p!==l&&(f=i.getColumnHeader(p,g)),e(f))}h+=1}}}scanRowsInHeadersRange(e){const[t,o,s,r]=(0,n.default)(this,d).getCorners(),{wtTable:i}=(0,n.default)(this,c),l=i.getRenderedRowsCount(),a=i.getRowHeadersCount();let h=0;for(let u=-i.getColumnHeadersCount();u<l;u++){const l=i.rowFilter.renderedToSource(u);if(!(l<t||l>s)){for(let u=-a;u<0;u++){if(u<o||u>r)continue;const g=u+a;let f=i.getRowHeader(l,g);const p=(0,n.default)(this,c).getSetting("onBeforeHighlightingRowHeader",l,g,{selectionType:(0,n.default)(this,d).settings.selectionType,rowCursor:h,selectionHeight:s-t+1});null!==p&&(p!==l&&(f=i.getRowHeader(p,g)),e(f))}h+=1}}}scanCellsRange(e){const[t,o,s,r]=(0,n.default)(this,d).getCorners(),{wtTable:l}=(0,n.default)(this,c);h(this,u,g).call(this,((a,h)=>{if(a>=t&&a<=s&&h>=o&&h<=r){const t=l.getCell((0,n.default)(this,c).createCellCoords(a,h)),o=(0,n.default)(this,c).getSetting("onAfterDrawSelection",a,h,(0,n.default)(this,d).settings.layerLevel);"string"==typeof o&&(0,i.addClass)(t,o),e(t)}}))}scanRowsInCellsRange(e){const[t,,o]=(0,n.default)(this,d).getCorners(),{wtTable:s}=(0,n.default)(this,c);h(this,u,g).call(this,((r,i)=>{if(r>=t&&r<=o){const t=s.getCell((0,n.default)(this,c).createCellCoords(r,i));e(t)}}))}scanColumnsInCellsRange(e){const[,t,,o]=(0,n.default)(this,d).getCorners(),{wtTable:s}=(0,n.default)(this,c);h(this,u,g).call(this,((r,i)=>{if(i>=t&&i<=o){const t=s.getCell((0,n.default)(this,c).createCellCoords(r,i));e(t)}}))}}},33468:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=o(22232),r=s(o(65718));class i{constructor(e,t){this.settings=e,this.cellRange=t||null}isEmpty(){return null===this.cellRange}add(e){return this.isEmpty()?this.cellRange=this.settings.createCellRange(e):this.cellRange.expand(e),this}replace(e,t){if(!this.isEmpty()){if(this.cellRange.from.isEqual(e))return this.cellRange.from=t,!0;if(this.cellRange.to.isEqual(e))return this.cellRange.to=t,!0}return!1}clear(){return this.cellRange=null,this}getCorners(){const e=this.cellRange.getOuterTopStartCorner(),t=this.cellRange.getOuterBottomEndCorner();return[e.row,e.col,t.row,t.col]}destroy(){this.runLocalHooks("destroy")}}(0,n.mixin)(i,r.default);t.default=i},64057:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(91683);var n=s(o(93231)),r=o(83302),i=o(22232);t.default=class{constructor(e){(0,n.default)(this,"settings",{}),(0,n.default)(this,"defaults",Object.freeze(this.getDefaults())),(0,i.objectEach)(this.defaults,((t,o)=>{if(void 0!==e[o])this.settings[o]=e[o];else{if(void 0===t)throw new Error(`A required setting "${o}" was not provided`);this.settings[o]=t}}))}getDefaults(){return{facade:void 0,table:void 0,isDataViewInstance:!0,externalRowCalculator:!1,stretchH:"none",currentRowClassName:null,currentColumnClassName:null,preventOverflow:()=>!1,preventWheel:!1,data:void 0,freezeOverlays:!1,fixedColumnsStart:0,fixedRowsTop:0,fixedRowsBottom:0,shouldRenderInlineStartOverlay:()=>this.getSetting("fixedColumnsStart")>0||this.getSetting("rowHeaders").length>0,shouldRenderTopOverlay:()=>this.getSetting("fixedRowsTop")>0||this.getSetting("columnHeaders").length>0,shouldRenderBottomOverlay:()=>this.getSetting("fixedRowsBottom")>0,minSpareRows:0,rowHeaders:()=>[],columnHeaders:()=>[],totalRows:void 0,totalColumns:void 0,cellRenderer:(e,t,o)=>{const s=this.getSetting("data",e,t);(0,r.fastInnerText)(o,null==s?"":s)},columnWidth(){},rowHeight(){},defaultRowHeight:23,defaultColumnWidth:50,selections:null,hideBorderOnMouseDownOver:!1,viewportRowCalculatorOverride:null,viewportColumnCalculatorOverride:null,onCellMouseDown:null,onCellContextMenu:null,onCellMouseOver:null,onCellMouseOut:null,onCellMouseUp:null,onCellDblClick:null,onCellCornerMouseDown:null,onCellCornerDblClick:null,beforeDraw:null,onDraw:null,onBeforeRemoveCellClassNames:null,onAfterDrawSelection:null,onBeforeDrawBorders:null,onBeforeViewportScrollHorizontally:e=>e,onBeforeViewportScrollVertically:e=>e,onScrollHorizontally:null,onScrollVertically:null,onBeforeTouchScroll:null,onAfterMomentumScroll:null,onBeforeStretchingColumnWidth:e=>e,onModifyRowHeaderWidth:null,onModifyGetCellCoords:null,onBeforeHighlightingRowHeader:e=>e,onBeforeHighlightingColumnHeader:e=>e,onWindowResize:null,onContainerElementResize:null,renderAllRows:!1,groups:!1,rowHeaderWidth:null,columnHeaderHeight:null,headerClassName:null,rtlMode:!1,ariaTags:!0}}update(e,t){return void 0===t?(0,i.objectEach)(e,((e,t)=>{this.settings[t]=e})):this.settings[e]=t,this}getSetting(e,t,o,s,n){return"function"==typeof this.settings[e]?this.settings[e](t,o,s,n):void 0!==t&&Array.isArray(this.settings[e])?this.settings[e][t]:this.settings[e]}getSettingPure(e){return this.settings[e]}has(e){return!!this.settings[e]}}},45460:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(91683),o(63517);var n=s(o(93231)),r=o(83302),i=o(85015),l=s(o(65946)),a=s(o(22350)),h=o(96649),d=s(o(35863)),c=s(o(72772)),u=o(89381),g=o(5386);t.default=class{constructor(e,t,o,s,i){(0,n.default)(this,"wtSettings",null),(0,n.default)(this,"domBindings",void 0),(0,n.default)(this,"TBODY",null),(0,n.default)(this,"THEAD",null),(0,n.default)(this,"COLGROUP",null),(0,n.default)(this,"hasTableHeight",!0),(0,n.default)(this,"hasTableWidth",!0),(0,n.default)(this,"isTableVisible",!1),(0,n.default)(this,"tableOffset",0),(0,n.default)(this,"holderOffset",0),this.domBindings=o,this.isMaster="master"===i,this.name=i,this.dataAccessObject=e,this.facadeGetter=t,this.wtSettings=s,this.instance=this.dataAccessObject.wot,this.wot=this.dataAccessObject.wot,this.TABLE=o.rootTable,(0,r.removeTextNodes)(this.TABLE),this.spreader=this.createSpreader(this.TABLE),this.hider=this.createHider(this.spreader),this.holder=this.createHolder(this.hider),this.wtRootElement=this.holder.parentNode,this.isMaster&&this.alignOverlaysWithTrimmingContainer(),this.fixTableDomTree(),this.rowFilter=null,this.columnFilter=null,this.correctHeaderWidth=!1;const l=this.wtSettings.getSettingPure("rowHeaderWidth");this.wtSettings.update("rowHeaderWidth",(()=>this._modifyRowHeaderWidth(l))),this.rowUtils=new c.default(this.dataAccessObject,this.wtSettings),this.columnUtils=new d.default(this.dataAccessObject,this.wtSettings),this.tableRenderer=new h.Renderer({TABLE:this.TABLE,THEAD:this.THEAD,COLGROUP:this.COLGROUP,TBODY:this.TBODY,rowUtils:this.rowUtils,columnUtils:this.columnUtils,cellRenderer:this.wtSettings.getSettingPure("cellRenderer")})}is(e){return this.name===e}fixTableDomTree(){const e=this.domBindings.rootDocument;this.TBODY=this.TABLE.querySelector("tbody"),this.TBODY||(this.TBODY=e.createElement("tbody"),this.TABLE.appendChild(this.TBODY)),this.THEAD=this.TABLE.querySelector("thead"),this.THEAD||(this.THEAD=e.createElement("thead"),this.TABLE.insertBefore(this.THEAD,this.TBODY)),this.COLGROUP=this.TABLE.querySelector("colgroup"),this.COLGROUP||(this.COLGROUP=e.createElement("colgroup"),this.TABLE.insertBefore(this.COLGROUP,this.THEAD))}createSpreader(e){const t=e.parentNode;let o;return t&&t.nodeType===Node.ELEMENT_NODE&&(0,r.hasClass)(t,"wtHolder")||(o=this.domBindings.rootDocument.createElement("div"),o.className="wtSpreader",t&&t.insertBefore(o,e),o.appendChild(e)),o.style.position="relative",this.wtSettings.getSetting("ariaTags")&&(0,r.setAttribute)(o,[(0,g.A11Y_PRESENTATION)()]),o}createHider(e){const t=e.parentNode;let o;return t&&t.nodeType===Node.ELEMENT_NODE&&(0,r.hasClass)(t,"wtHolder")||(o=this.domBindings.rootDocument.createElement("div"),o.className="wtHider",t&&t.insertBefore(o,e),o.appendChild(e)),this.wtSettings.getSetting("ariaTags")&&(0,r.setAttribute)(o,[(0,g.A11Y_PRESENTATION)()]),o}createHolder(e){const t=e.parentNode;let o;return t&&t.nodeType===Node.ELEMENT_NODE&&(0,r.hasClass)(t,"wtHolder")||(o=this.domBindings.rootDocument.createElement("div"),o.style.position="relative",o.className="wtHolder",t&&t.insertBefore(o,e),this.isMaster&&(o.parentNode.className+="ht_master handsontable",o.parentNode.setAttribute("dir",this.wtSettings.getSettingPure("rtlMode")?"rtl":"ltr"),this.wtSettings.getSetting("ariaTags")&&(0,r.setAttribute)(o.parentNode,[(0,g.A11Y_PRESENTATION)()])),o.appendChild(e)),this.wtSettings.getSetting("ariaTags")&&(0,r.setAttribute)(o,[(0,g.A11Y_PRESENTATION)()]),o}draw(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const{wtSettings:t}=this,{wtOverlays:o,wtViewport:s}=this.dataAccessObject,n=t.getSetting("totalRows"),i=t.getSetting("totalColumns"),h=t.getSetting("rowHeaders"),d=h.length,c=t.getSetting("columnHeaders"),g=c.length;let f=!1,p=e;if(this.isMaster&&(this.holderOffset=(0,r.offset)(this.holder),p=s.createRenderCalculators(p),d&&!t.getSetting("fixedColumnsStart"))){const e=o.inlineStartOverlay.getScrollPosition(),t=this.correctHeaderWidth;this.correctHeaderWidth=0!==e,t!==this.correctHeaderWidth&&(p=!1)}if(this.isMaster&&(f=o.updateStateOfRendering()),p)this.isMaster&&s.createVisibleCalculators(),o&&o.refresh(!0);else{this.isMaster?this.tableOffset=(0,r.offset)(this.TABLE):this.tableOffset=this.dataAccessObject.parentTableOffset;const e=n>0?this.getFirstRenderedRow():0,t=i>0?this.getFirstRenderedColumn():0;this.rowFilter=new a.default(e,n,g),this.columnFilter=new l.default(t,i,d);let o=!0;if(this.isMaster){this.alignOverlaysWithTrimmingContainer();const e={};this.wtSettings.getSetting("beforeDraw",!0,e),o=!0!==e.skipRender}if(o){let e;if(this.tableRenderer.setHeaderContentRenderers(h,c),(this.is(u.CLONE_BOTTOM)||this.is(u.CLONE_BOTTOM_INLINE_START_CORNER))&&this.tableRenderer.setHeaderContentRenderers(h,[]),this.resetOversizedRows(),this.tableRenderer.setViewportSize(this.getRenderedRowsCount(),this.getRenderedColumnsCount()).setFilters(this.rowFilter,this.columnFilter).render(),this.isMaster&&(e=this.dataAccessObject.workspaceWidth,this.dataAccessObject.wtViewport.containerWidth=null,this.markOversizedColumnHeaders()),this.adjustColumnHeaderHeights(),(this.isMaster||this.is(u.CLONE_BOTTOM))&&this.markOversizedRows(),this.isMaster){this.dataAccessObject.wtViewport.createVisibleCalculators(),this.dataAccessObject.wtOverlays.refresh(!1),this.dataAccessObject.wtOverlays.applyToDOM();const t=(0,r.outerWidth)(this.hider),o=(0,r.outerWidth)(this.TABLE);0!==t&&o!==t&&(this.columnUtils.calculateWidths(),this.tableRenderer.renderer.colGroup.render()),e!==this.dataAccessObject.wtViewport.getWorkspaceWidth()&&(this.dataAccessObject.wtViewport.containerWidth=null,this.columnUtils.calculateWidths(),this.tableRenderer.renderer.colGroup.render()),this.wtSettings.getSetting("onDraw",!0)}else this.is(u.CLONE_BOTTOM)&&this.dataAccessObject.cloneSource.wtOverlays.adjustElementsSize()}}let m=!1;return this.isMaster&&(m=o.topOverlay.resetFixedPosition(),o.bottomOverlay.clone&&(m=o.bottomOverlay.resetFixedPosition()||m),m=o.inlineStartOverlay.resetFixedPosition()||m,o.topInlineStartCornerOverlay&&o.topInlineStartCornerOverlay.resetFixedPosition(),o.bottomInlineStartCornerOverlay&&o.bottomInlineStartCornerOverlay.clone&&o.bottomInlineStartCornerOverlay.resetFixedPosition()),m?(o.refreshAll(),o.adjustElementsSize()):this.dataAccessObject.selectionManager.setActiveOverlay(this.facadeGetter()).render(p),f&&o.syncScrollWithMaster(),this.dataAccessObject.drawn=!0,this}markIfOversizedColumnHeader(e){const t=this.columnFilter.renderedToSource(e);let o=this.wtSettings.getSetting("columnHeaders").length;const s=this.wtSettings.getSetting("defaultRowHeight");let n,i,l;const a=this.wtSettings.getSetting("columnHeaderHeight")||[];for(;o;)o-=1,n=this.getColumnHeaderHeight(o),i=this.getColumnHeader(t,o),i&&(l=(0,r.innerHeight)(i),(!n&&s<l||n<l)&&(this.dataAccessObject.wtViewport.oversizedColumnHeaders[o]=l),Array.isArray(a)?null!==a[o]&&void 0!==a[o]&&(this.dataAccessObject.wtViewport.oversizedColumnHeaders[o]=a[o]):isNaN(a)||(this.dataAccessObject.wtViewport.oversizedColumnHeaders[o]=a),this.dataAccessObject.wtViewport.oversizedColumnHeaders[o]<(a[o]||a)&&(this.dataAccessObject.wtViewport.oversizedColumnHeaders[o]=a[o]||a))}adjustColumnHeaderHeights(){const{wtSettings:e}=this,t=this.THEAD.childNodes,o=this.dataAccessObject.wtViewport.oversizedColumnHeaders;for(let s=0,n=e.getSetting("columnHeaders").length;s<n;s++)if(o[s]){if(!t[s]||0===t[s].childNodes.length)return;t[s].childNodes[0].style.height=`${o[s]}px`}}resetOversizedRows(){const{wtSettings:e}=this,{wtViewport:t}=this.dataAccessObject;if((this.isMaster||this.is(u.CLONE_BOTTOM))&&!e.getSetting("externalRowCalculator")){const e=this.getRenderedRowsCount();for(let o=0;o<e;o++){const e=this.rowFilter.renderedToSource(o);t.oversizedRows&&t.oversizedRows[e]&&(t.oversizedRows[e]=void 0)}}}getCell(e){let t=e.row,o=e.col;const s=this.wtSettings.getSetting("onModifyGetCellCoords",t,o);if(s&&Array.isArray(s)&&([t,o]=s),this.isRowBeforeRenderedRows(t))return-1;if(this.isRowAfterRenderedRows(t))return-2;if(this.isColumnBeforeRenderedColumns(o))return-3;if(this.isColumnAfterRenderedColumns(o))return-4;const n=this.getRow(t);if(!n&&t>=0)throw new Error("TR was expected to be rendered but is not");const r=n.childNodes[this.columnFilter.sourceColumnToVisibleRowHeadedColumn(o)];if(!r&&o>=0)throw new Error("TD or TH was expected to be rendered but is not");return r}getRow(e){let t=null,o=null;var s,n;e<0?(t=null===(s=this.rowFilter)||void 0===s?void 0:s.sourceRowToVisibleColHeadedRow(e),o=this.THEAD):(t=null===(n=this.rowFilter)||void 0===n?void 0:n.sourceToRendered(e),o=this.TBODY);return void 0!==t&&void 0!==o&&(!(o.childNodes.length<t+1)&&o.childNodes[t])}getColumnHeader(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const o=this.THEAD.childNodes[t];return null==o?void 0:o.childNodes[this.columnFilter.sourceColumnToVisibleRowHeadedColumn(e)]}getColumnHeaders(e){const t=[],o=this.columnFilter.sourceColumnToVisibleRowHeadedColumn(e);return this.THEAD.childNodes.forEach((e=>{const s=e.childNodes[o];s&&t.push(s)})),t}getRowHeader(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(t>=this.wtSettings.getSetting("rowHeaders").length)return;const o=this.rowFilter.sourceToRendered(e),s=o<0?this.rowFilter.sourceRowToVisibleColHeadedRow(e):o,n=(o<0?this.THEAD:this.TBODY).childNodes[s];return null==n?void 0:n.childNodes[t]}getRowHeaders(e){const t=[],o=this.wtSettings.getSetting("rowHeaders").length;for(let s=0;s<o;s++){const o=this.TBODY.childNodes[this.rowFilter.sourceToRendered(e)],n=null==o?void 0:o.childNodes[s];n&&t.push(n)}return t}getCoords(e){let t=e;if("TD"!==t.nodeName&&"TH"!==t.nodeName&&(t=(0,r.closest)(t,["TD","TH"])),null===t)return null;const o=t.parentNode,s=o.parentNode;let n=(0,r.index)(o),i=t.cellIndex;if((0,r.overlayContainsElement)(u.CLONE_TOP_INLINE_START_CORNER,t,this.wtRootElement)||(0,r.overlayContainsElement)(u.CLONE_TOP,t,this.wtRootElement))"THEAD"===s.nodeName&&(n-=s.childNodes.length);else if((0,r.overlayContainsElement)(u.CLONE_BOTTOM_INLINE_START_CORNER,t,this.wtRootElement)||(0,r.overlayContainsElement)(u.CLONE_BOTTOM,t,this.wtRootElement)){n=this.wtSettings.getSetting("totalRows")-s.childNodes.length+n}else n=s===this.THEAD?this.rowFilter.visibleColHeadedRowToSourceRow(n):this.rowFilter.renderedToSource(n);return i=(0,r.overlayContainsElement)(u.CLONE_TOP_INLINE_START_CORNER,t,this.wtRootElement)||(0,r.overlayContainsElement)(u.CLONE_INLINE_START,t,this.wtRootElement)||(0,r.overlayContainsElement)(u.CLONE_BOTTOM_INLINE_START_CORNER,t,this.wtRootElement)?this.columnFilter.offsettedTH(i):this.columnFilter.visibleRowHeadedColumnToSourceColumn(i),this.wot.createCellCoords(n,i)}markOversizedRows(){if(this.wtSettings.getSetting("externalRowCalculator"))return;let e=this.TBODY.childNodes.length;let t,o,s,n,i;if(e*this.wtSettings.getSetting("defaultRowHeight")!==(0,r.innerHeight)(this.TBODY)-1||this.wtSettings.getSetting("fixedRowsBottom"))for(;e;)e-=1,s=this.rowFilter.renderedToSource(e),t=this.getRowHeight(s),n=this.getTrForRow(s),i=n.querySelector("th"),o=i?(0,r.innerHeight)(i):(0,r.innerHeight)(n)-1,(!t&&this.wtSettings.getSetting("defaultRowHeight")<o||t<o)&&(o+=1,this.dataAccessObject.wtViewport.oversizedRows[s]=o)}getTrForRow(e){return this.TBODY.childNodes[this.rowFilter.sourceToRendered(e)]}isColumnHeaderRendered(e){if(e>=0)return!1;const t=this.wtSettings.getSetting("rowHeaders").length;return Math.abs(e)<=t}isRowHeaderRendered(e){if(e>=0)return!1;const t=this.wtSettings.getSetting("columnHeaders").length;return Math.abs(e)<=t}isRowBeforeRenderedRows(e){const t=this.getFirstRenderedRow();return e<0&&t<=0?!this.isRowHeaderRendered(e):e<t}isRowAfterRenderedRows(e){return e>this.getLastRenderedRow()}isColumnBeforeRenderedColumns(e){const t=this.getFirstRenderedColumn();return e<0&&t<=0?!this.isColumnHeaderRendered(e):e<t}isColumnAfterRenderedColumns(e){return this.columnFilter&&e>this.getLastRenderedColumn()}isColumnAfterViewport(e){return this.columnFilter&&e>this.getLastVisibleColumn()}isRowAfterViewport(e){return this.rowFilter&&e>this.getLastVisibleRow()}isColumnBeforeViewport(e){return this.columnFilter&&this.columnFilter.sourceToRendered(e)<0&&e>=0}isLastRowFullyVisible(){return this.getLastVisibleRow()===this.getLastRenderedRow()}isLastColumnFullyVisible(){return this.getLastVisibleColumn()===this.getLastRenderedColumn()}allRowsInViewport(){return this.wtSettings.getSetting("totalRows")===this.getVisibleRowsCount()}allColumnsInViewport(){return this.wtSettings.getSetting("totalColumns")===this.getVisibleColumnsCount()}getRowHeight(e){return this.rowUtils.getHeight(e)}getColumnHeaderHeight(e){return this.columnUtils.getHeaderHeight(e)}getColumnWidth(e){return this.columnUtils.getWidth(e)}getStretchedColumnWidth(e){return this.columnUtils.getStretchedColumnWidth(e)}hasDefinedSize(){return this.hasTableHeight&&this.hasTableWidth}getWidth(){return(0,r.outerWidth)(this.TABLE)}getHeight(){return(0,r.outerHeight)(this.TABLE)}getTotalWidth(){const e=(0,r.outerWidth)(this.hider);return 0!==e?e:this.getWidth()}getTotalHeight(){const e=(0,r.outerHeight)(this.hider);return 0!==e?e:this.getHeight()}isVisible(){return(0,r.isVisible)(this.TABLE)}_modifyRowHeaderWidth(e){let t=(0,i.isFunction)(e)?e():null;return Array.isArray(t)?(t=[...t],t[t.length-1]=this._correctRowHeaderWidth(t[t.length-1])):t=this._correctRowHeaderWidth(t),t}_correctRowHeaderWidth(e){let t=e;return"number"!=typeof e&&(t=this.wtSettings.getSetting("defaultColumnWidth")),this.correctHeaderWidth&&(t+=1),t}}},86363:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=s(o(45460)),r=s(o(6271)),i=s(o(92117)),l=o(22232),a=o(89381);class h extends n.default{constructor(e,t,o,s){super(e,t,o,s,a.CLONE_BOTTOM)}}(0,l.mixin)(h,r.default),(0,l.mixin)(h,i.default);t.default=h},58654:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=s(o(45460)),r=s(o(6271)),i=s(o(6214)),l=o(22232),a=o(89381);class h extends n.default{constructor(e,t,o,s){super(e,t,o,s,a.CLONE_BOTTOM_INLINE_START_CORNER)}}(0,l.mixin)(h,r.default),(0,l.mixin)(h,i.default);t.default=h},32173:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=s(o(45460)),r=s(o(37610)),i=s(o(6214)),l=o(22232),a=o(89381);class h extends n.default{constructor(e,t,o,s){super(e,t,o,s,a.CLONE_INLINE_START)}}(0,l.mixin)(h,r.default),(0,l.mixin)(h,i.default);t.default=h},94915:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=o(83302),r=s(o(45460)),i=s(o(37610)),l=s(o(92117)),a=o(22232);class h extends r.default{constructor(e,t,o,s){super(e,t,o,s,"master")}alignOverlaysWithTrimmingContainer(){const e=(0,n.getTrimmingContainer)(this.wtRootElement),{rootWindow:t}=this.domBindings;if(e===t){this.wtSettings.getSetting("preventOverflow")||(this.holder.style.overflow="visible",this.wtRootElement.style.overflow="visible")}else{const o=e.parentElement,s=(0,n.getStyle)(e,"height",t),r=(0,n.getStyle)(e,"overflow",t),i=this.holder.style,{scrollWidth:l,scrollHeight:a}=e;let h=e.offsetWidth,d=e.offsetHeight;if(o&&["auto","hidden","scroll"].includes(r)){const s=e.cloneNode(!1);s.style.overflow="auto",s.style.position="absolute",e.nextElementSibling?o.insertBefore(s,e.nextElementSibling):o.appendChild(s);const r=parseInt((0,n.getComputedStyle)(s,t).height,10);o.removeChild(s),0===r&&(d=0)}d=Math.min(d,a),i.height="auto"===s?"auto":`${d}px`,h=Math.min(h,l),i.width=`${h}px`,i.overflow="",this.hasTableHeight="auto"===i.height||d>0,this.hasTableWidth=h>0}this.isTableVisible=(0,n.isVisible)(this.TABLE)}markOversizedColumnHeaders(){const{wtSettings:e}=this,{wtViewport:t}=this.dataAccessObject,o="master",s=e.getSetting("columnHeaders").length;if(s&&!t.hasOversizedColumnHeadersMarked[o]){const n=e.getSetting("rowHeaders").length,r=this.getRenderedColumnsCount();for(let e=0;e<s;e++)for(let e=-1*n;e<r;e++)this.markIfOversizedColumnHeader(e);t.hasOversizedColumnHeadersMarked[o]=!0}}}(0,a.mixin)(h,i.default),(0,a.mixin)(h,l.default);t.default=h},92117:(e,t,o)=>{"use strict";t.__esModule=!0;const s={getFirstRenderedColumn(){const e=this.dataAccessObject.startColumnRendered;return null===e?-1:e},getFirstVisibleColumn(){const e=this.dataAccessObject.startColumnVisible;return null===e?-1:e},getLastRenderedColumn(){const e=this.dataAccessObject.endColumnRendered;return null===e?-1:e},getLastVisibleColumn(){const e=this.dataAccessObject.endColumnVisible;return null===e?-1:e},getRenderedColumnsCount(){return this.dataAccessObject.countColumnsRendered},getVisibleColumnsCount(){return this.dataAccessObject.countColumnsVisible},getRowHeadersCount(){return this.dataAccessObject.rowHeaders.length}};(0,o(22232).defineGetter)(s,"MIXIN_NAME","calculatedColumns",{writable:!1,enumerable:!1});t.default=s},37610:(e,t,o)=>{"use strict";t.__esModule=!0;const s={getFirstRenderedRow(){const e=this.dataAccessObject.startRowRendered;return null===e?-1:e},getFirstVisibleRow(){const e=this.dataAccessObject.startRowVisible;return null===e?-1:e},getLastRenderedRow(){const e=this.dataAccessObject.endRowRendered;return null===e?-1:e},getLastVisibleRow(){const e=this.dataAccessObject.endRowVisible;return null===e?-1:e},getRenderedRowsCount(){return this.dataAccessObject.countRowsRendered},getVisibleRowsCount(){return this.dataAccessObject.countRowsVisible},getColumnHeadersCount(){return this.dataAccessObject.columnHeaders.length}};(0,o(22232).defineGetter)(s,"MIXIN_NAME","calculatedRows",{writable:!1,enumerable:!1});t.default=s},6214:(e,t,o)=>{"use strict";t.__esModule=!0;const s={getFirstRenderedColumn(){return 0===this.wtSettings.getSetting("totalColumns")?-1:0},getFirstVisibleColumn(){return this.getFirstRenderedColumn()},getLastRenderedColumn(){return this.getRenderedColumnsCount()-1},getLastVisibleColumn(){return this.getLastRenderedColumn()},getRenderedColumnsCount(){const e=this.wtSettings.getSetting("totalColumns");return Math.min(this.wtSettings.getSetting("fixedColumnsStart"),e)},getVisibleColumnsCount(){return this.getRenderedColumnsCount()},getRowHeadersCount(){return this.dataAccessObject.rowHeaders.length}};(0,o(22232).defineGetter)(s,"MIXIN_NAME","stickyColumnsStart",{writable:!1,enumerable:!1});t.default=s},6271:(e,t,o)=>{"use strict";t.__esModule=!0;const s={getFirstRenderedRow(){const e=this.wtSettings.getSetting("totalRows"),t=this.wtSettings.getSetting("fixedRowsBottom"),o=e-t;return 0===e||0===t?-1:o<0?0:o},getFirstVisibleRow(){return this.getFirstRenderedRow()},getLastRenderedRow(){return this.wtSettings.getSetting("totalRows")-1},getLastVisibleRow(){return this.getLastRenderedRow()},getRenderedRowsCount(){const e=this.wtSettings.getSetting("totalRows");return Math.min(this.wtSettings.getSetting("fixedRowsBottom"),e)},getVisibleRowsCount(){return this.getRenderedRowsCount()},getColumnHeadersCount:()=>0};(0,o(22232).defineGetter)(s,"MIXIN_NAME","stickyRowsBottom",{writable:!1,enumerable:!1});t.default=s},15491:(e,t,o)=>{"use strict";t.__esModule=!0;const s={getFirstRenderedRow(){return 0===this.wtSettings.getSetting("totalRows")?-1:0},getFirstVisibleRow(){return this.getFirstRenderedRow()},getLastRenderedRow(){return this.getRenderedRowsCount()-1},getLastVisibleRow(){return this.getLastRenderedRow()},getRenderedRowsCount(){const e=this.wtSettings.getSetting("totalRows");return Math.min(this.wtSettings.getSetting("fixedRowsTop"),e)},getVisibleRowsCount(){return this.getRenderedRowsCount()},getColumnHeadersCount(){return this.dataAccessObject.columnHeaders.length}};(0,o(22232).defineGetter)(s,"MIXIN_NAME","stickyRowsTop",{writable:!1,enumerable:!1});t.default=s},85043:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=s(o(45460)),r=s(o(15491)),i=s(o(92117)),l=o(22232),a=o(89381);class h extends n.default{constructor(e,t,o,s){super(e,t,o,s,a.CLONE_TOP)}}(0,l.mixin)(h,r.default),(0,l.mixin)(h,i.default);t.default=h},56754:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=s(o(45460)),r=s(o(15491)),i=s(o(6214)),l=o(22232),a=o(89381);class h extends n.default{constructor(e,t,o,s){super(e,t,o,s,a.CLONE_TOP_INLINE_START_CORNER)}}(0,l.mixin)(h,r.default),(0,l.mixin)(h,i.default);t.default=h},35863:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(83302);t.default=class{constructor(e,t){this.dataAccessObject=e,this.wtSettings=t,this.headerWidths=new Map}getWidth(e){return this.wtSettings.getSetting("columnWidth",e)||this.wtSettings.getSetting("defaultColumnWidth")}getStretchedColumnWidth(e){const t=this.dataAccessObject.wtViewport.columnsRenderCalculator;let o=this.getWidth(e);if(t){const s=t.getStretchedColumnWidth(e,o);s&&(o=s)}return o}getHeaderHeight(e){let t=this.wtSettings.getSetting("defaultRowHeight");const o=this.dataAccessObject.wtViewport.oversizedColumnHeaders[e];return void 0!==o&&(t=t?Math.max(t,o):o),t}getHeaderWidth(e){return this.headerWidths.get(this.dataAccessObject.wtTable.columnFilter.sourceToRendered(e))}calculateWidths(){const{wtSettings:e}=this,{wtTable:t,wtViewport:o,cloneSource:n}=this.dataAccessObject,r=n?n.wtTable.holder:t.holder,i=r.offsetHeight<r.scrollHeight?(0,s.getScrollbarWidth)():0;let l=e.getSetting("rowHeaderWidth");if(o.columnsRenderCalculator.refreshStretching(o.getViewportWidth()-i),l=e.getSetting("onModifyRowHeaderWidth",l),null!=l){const t=e.getSetting("rowHeaders").length,o=e.getSetting("defaultColumnWidth");for(let e=0;e<t;e++){let t=Array.isArray(l)?l[e]:l;t=null==t?o:t,this.headerWidths.set(e,t)}}}}},94191:(e,t)=>{"use strict";t.__esModule=!0;t.default=class{constructor(e){this.nodeType=e.toUpperCase()}setRootDocument(e){this.rootDocument=e}obtain(){return this.rootDocument.createElement(this.nodeType)}}},81787:(e,t)=>{"use strict";t.__esModule=!0;t.WORKING_SPACE_ALL=0,t.WORKING_SPACE_TOP=1,t.WORKING_SPACE_BOTTOM=2},1909:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=s(o(55407));t.OrderView=n.default;var r=s(o(52025));t.SharedOrderView=r.default},52025:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=s(o(55407));class r extends n.default{prependView(e){return this.sizeSet.prepend(e.sizeSet),e.sizeSet.append(this.sizeSet),this}appendView(e){return this.sizeSet.append(e.sizeSet),e.sizeSet.prepend(this.sizeSet),this}}t.default=r},55407:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(63517);var n=o(81787),r=s(o(96747));t.default=class{constructor(e,t,o){this.rootNode=e,this.nodesPool=t,this.sizeSet=new r.default,this.childNodeType=o.toUpperCase(),this.visualIndex=0,this.collectedNodes=[]}setSize(e){return this.sizeSet.setSize(e),this}setOffset(e){return this.sizeSet.setOffset(e),this}isSharedViewSet(){return this.sizeSet.isShared()}getNode(e){return e<this.collectedNodes.length?this.collectedNodes[e]:null}getCurrentNode(){const e=this.collectedNodes.length;return e>0?this.collectedNodes[e-1]:null}getRenderedChildCount(){const{rootNode:e,sizeSet:t}=this;let o=0;if(this.isSharedViewSet()){let s=e.firstElementChild;for(;s;){if(s.tagName===this.childNodeType)o+=1;else if(t.isPlaceOn(n.WORKING_SPACE_TOP))break;s=s.nextElementSibling}}else o=e.childElementCount;return o}start(){this.collectedNodes.length=0,this.visualIndex=0;const{rootNode:e,sizeSet:t}=this,o=this.isSharedViewSet(),{nextSize:s}=t.getViewSize();let r=this.getRenderedChildCount();for(;r<s;){const s=this.nodesPool();!o||o&&t.isPlaceOn(n.WORKING_SPACE_BOTTOM)?e.appendChild(s):e.insertBefore(s,e.firstChild),r+=1}const i=o&&t.isPlaceOn(n.WORKING_SPACE_TOP);for(;r>s;)e.removeChild(i?e.firstChild:e.lastChild),r-=1}render(){const{rootNode:e,sizeSet:t}=this;let o=this.visualIndex;this.isSharedViewSet()&&t.isPlaceOn(n.WORKING_SPACE_BOTTOM)&&(o+=t.sharedSize.nextSize);let s=e.childNodes[o];if(s.tagName!==this.childNodeType){const t=this.nodesPool();e.replaceChild(t,s),s=t}this.collectedNodes.push(s),this.visualIndex+=1}end(){}}},79193:(e,t)=>{"use strict";t.__esModule=!0;t.default=class{constructor(){this.currentSize=0,this.nextSize=0,this.currentOffset=0,this.nextOffset=0}setSize(e){this.currentSize=this.nextSize,this.nextSize=e}setOffset(e){this.currentOffset=this.nextOffset,this.nextOffset=e}}},96747:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=s(o(79193)),r=o(81787);t.default=class{constructor(){this.size=new n.default,this.workingSpace=r.WORKING_SPACE_ALL,this.sharedSize=null}setSize(e){this.size.setSize(e)}setOffset(e){this.size.setOffset(e)}getViewSize(){return this.size}isShared(){return this.sharedSize instanceof n.default}isPlaceOn(e){return this.workingSpace===e}append(e){this.workingSpace=r.WORKING_SPACE_TOP,e.workingSpace=r.WORKING_SPACE_BOTTOM,this.sharedSize=e.getViewSize()}prepend(e){this.workingSpace=r.WORKING_SPACE_BOTTOM,e.workingSpace=r.WORKING_SPACE_TOP,this.sharedSize=e.getViewSize()}}},72772:(e,t)=>{"use strict";t.__esModule=!0;t.default=class{constructor(e,t){this.dataAccessObject=e,this.wtSettings=t}getHeight(e){let t=this.wtSettings.getSetting("rowHeight",e);const o=this.dataAccessObject.wtViewport.oversizedRows[e];return void 0!==o&&(t=void 0===t?o:Math.max(t,o)),t}}},57293:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(83302),n=o(22232),r=o(46003);t.default=class{constructor(e,t,o,s,n){this.dataAccessObject=e,this.wot=e.wot,this.instance=this.wot,this.domBindings=t,this.wtSettings=o,this.wtTable=n,this.oversizedRows=[],this.oversizedColumnHeaders=[],this.hasOversizedColumnHeadersMarked={},this.clientHeight=0,this.containerWidth=NaN,this.rowHeaderWidth=NaN,this.rowsVisibleCalculator=null,this.columnsVisibleCalculator=null,this.eventManager=s,this.eventManager.addEventListener(this.domBindings.rootWindow,"resize",(()=>{this.clientHeight=this.getWorkspaceHeight()}))}getWorkspaceHeight(){const e=this.domBindings.rootDocument,t=this.dataAccessObject.topOverlayTrimmingContainer;let o=0;if(t===this.domBindings.rootWindow)o=e.documentElement.clientHeight;else{o=(0,s.outerHeight)(t)>0&&t.clientHeight>0?t.clientHeight:1/0}return o}getWorkspaceWidth(){const{wtSettings:e}=this,{rootDocument:t,rootWindow:o}=this.domBindings,n=this.dataAccessObject.inlineStartOverlayTrimmingContainer,r=t.documentElement.offsetWidth,i=e.getSetting("totalColumns"),l=e.getSetting("preventOverflow"),a=e.getSetting("rtlMode"),h=this.wtTable.TABLE.getBoundingClientRect(),d=r-(a?h.right-r:h.left);let c,u;if(l)return(0,s.outerWidth)(this.wtTable.wtRootElement);if(c=e.getSetting("freezeOverlays")?Math.min(d,r):Math.min(this.getContainerFillWidth(),d,r),n===o&&i>0&&this.sumColumnWidths(0,i-1)>c)return t.documentElement.clientWidth;if(n!==o&&(u=(0,s.getStyle)(this.dataAccessObject.inlineStartOverlayTrimmingContainer,"overflow",o),"scroll"===u||"hidden"===u||"auto"===u))return Math.max(c,n.clientWidth);const g=e.getSetting("stretchH");return"none"!==g&&g?c:Math.max(c,(0,s.outerWidth)(this.wtTable.TABLE))}hasVerticalScroll(){return this.wtTable.hider.offsetHeight>this.getWorkspaceHeight()}hasHorizontalScroll(){return this.wtTable.hider.offsetWidth>this.getWorkspaceWidth()}sumColumnWidths(e,t){let o=0,s=e;for(;s<t;)o+=this.wtTable.getColumnWidth(s),s+=1;return o}getContainerFillWidth(){if(this.containerWidth)return this.containerWidth;const e=this.wtTable.holder,t=this.domBindings.rootDocument.createElement("div");t.style.width="100%",t.style.height="1px",e.appendChild(t);const o=t.offsetWidth;return this.containerWidth=o,e.removeChild(t),o}getWorkspaceOffset(){return(0,s.offset)(this.wtTable.TABLE)}getColumnHeaderHeight(){return this.wtSettings.getSetting("columnHeaders").length?isNaN(this.columnHeaderHeight)&&(this.columnHeaderHeight=(0,s.outerHeight)(this.wtTable.THEAD)):this.columnHeaderHeight=0,this.columnHeaderHeight}getViewportHeight(){let e=this.getWorkspaceHeight();if(e===1/0)return e;const t=this.getColumnHeaderHeight();return t>0&&(e-=t),e}getRowHeaderWidth(){const e=this.wtSettings.getSetting("rowHeaderWidth"),t=this.wtSettings.getSetting("rowHeaders");if(e){this.rowHeaderWidth=0;for(let o=0,s=t.length;o<s;o++)this.rowHeaderWidth+=e[o]||e}if(isNaN(this.rowHeaderWidth))if(t.length){let e=this.wtTable.TABLE.querySelector("TH");this.rowHeaderWidth=0;for(let o=0,n=t.length;o<n;o++)e?(this.rowHeaderWidth+=(0,s.outerWidth)(e),e=e.nextSibling):this.rowHeaderWidth+=50}else this.rowHeaderWidth=0;return this.rowHeaderWidth=this.wtSettings.getSetting("onModifyRowHeaderWidth",this.rowHeaderWidth)||this.rowHeaderWidth,this.rowHeaderWidth}getViewportWidth(){const e=this.getWorkspaceWidth();if(e===1/0)return e;const t=this.getRowHeaderWidth();return t>0?e-t:e}createRowsCalculator(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:r.RENDER_TYPE;const{wtSettings:t,wtTable:o}=this;let n,i,l;this.rowHeaderWidth=NaN,n=t.getSetting("renderAllRows")&&e===r.RENDER_TYPE?1/0:this.getViewportHeight();let a=this.dataAccessObject.topScrollPosition-this.dataAccessObject.topParentOffset;const h=t.getSetting("fixedRowsTop"),d=t.getSetting("fixedRowsBottom"),c=t.getSetting("totalRows");return h&&a>=0&&(l=this.dataAccessObject.topOverlay.sumCellSizes(0,h),a+=l,n-=l),d&&this.dataAccessObject.bottomOverlay.clone&&(l=this.dataAccessObject.bottomOverlay.sumCellSizes(c-d,c),n-=l),i=o.holder.clientHeight===o.holder.offsetHeight?0:(0,s.getScrollbarWidth)(this.domBindings.rootDocument),new r.ViewportRowsCalculator({viewportSize:n,scrollOffset:a,totalItems:t.getSetting("totalRows"),itemSizeFn:e=>o.getRowHeight(e),overrideFn:t.getSettingPure("viewportRowCalculatorOverride"),calculationType:e,scrollbarHeight:i})}createColumnsCalculator(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:r.RENDER_TYPE;const{wtSettings:t,wtTable:o}=this;let n=this.getViewportWidth(),i=Math.abs(this.dataAccessObject.inlineStartScrollPosition)-this.dataAccessObject.inlineStartParentOffset;this.columnHeaderHeight=NaN;const l=t.getSetting("fixedColumnsStart");if(l&&i>=0){const e=this.dataAccessObject.inlineStartOverlay.sumCellSizes(0,l);i+=e,n-=e}return o.holder.clientWidth!==o.holder.offsetWidth&&(n-=(0,s.getScrollbarWidth)(this.domBindings.rootDocument)),new r.ViewportColumnsCalculator({viewportSize:n,scrollOffset:i,totalItems:t.getSetting("totalColumns"),itemSizeFn:e=>o.getColumnWidth(e),overrideFn:t.getSettingPure("viewportColumnCalculatorOverride"),calculationType:e,stretchMode:t.getSetting("stretchH"),stretchingItemWidthFn:(e,o)=>t.getSetting("onBeforeStretchingColumnWidth",e,o),inlineStartOffset:this.dataAccessObject.inlineStartParentOffset})}createRenderCalculators(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(e){const t=this.createRowsCalculator(r.FULLY_VISIBLE_TYPE),o=this.createColumnsCalculator(r.FULLY_VISIBLE_TYPE);this.areAllProposedVisibleRowsAlreadyRendered(t)&&this.areAllProposedVisibleColumnsAlreadyRendered(o)||(e=!1)}return e||(this.rowsRenderCalculator=this.createRowsCalculator(r.RENDER_TYPE),this.columnsRenderCalculator=this.createColumnsCalculator(r.RENDER_TYPE)),this.rowsVisibleCalculator=null,this.columnsVisibleCalculator=null,e}createVisibleCalculators(){this.rowsVisibleCalculator=this.createRowsCalculator(r.FULLY_VISIBLE_TYPE),this.columnsVisibleCalculator=this.createColumnsCalculator(r.FULLY_VISIBLE_TYPE)}areAllProposedVisibleRowsAlreadyRendered(e){if(!this.rowsVisibleCalculator)return!1;const{startRow:t,endRow:o,isVisibleInTrimmingContainer:s}=e;if(null===t&&null===o)return!s;const{startRow:n,endRow:r}=this.rowsRenderCalculator;return!(t<n||t===n&&t>0)&&!(o>r||o===r&&o<this.wtSettings.getSetting("totalRows")-1)}areAllProposedVisibleColumnsAlreadyRendered(e){if(!this.columnsVisibleCalculator)return!1;const{startColumn:t,endColumn:o,isVisibleInTrimmingContainer:s}=e;if(null===t&&null===o)return!s;const{startColumn:n,endColumn:r}=this.columnsRenderCalculator;return!(t<n||t===n&&t>0)&&!(o>r||o===r&&o<this.wtSettings.getSetting("totalColumns")-1)}resetHasOversizedColumnHeadersMarked(){(0,n.objectEach)(this.hasOversizedColumnHeadersMarked,((e,t,o)=>{o[t]=void 0}))}}},73596:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(16247),o(25671),o(97796),o(36662);var n=s(o(78900)),r=o(45433),i=o(3177),l=s(o(56307)),a=o(22489),h=o(65324),d=o(57924),c=o(48253),u=o(21280);function g(e,t){const o=new n.default(e,t||{},r.rootInstanceSymbol);return o.init(),o}t.CellCoords=u.CellCoords,t.CellRange=u.CellRange,(0,h.registerCellType)(d.TextCellType),g.editors={BaseEditor:c.BaseEditor},g.Core=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new n.default(e,t,r.rootInstanceSymbol)},g.DefaultSettings=(0,i.metaSchemaFactory)(),g.hooks=l.default.getSingleton(),g.CellCoords=u.CellCoords,g.CellRange=u.CellRange,g.packageName="handsontable",g.buildDate="30/10/2023 14:44:38",g.version="14.0.0-next-5fd908e-20231030",g.languages={dictionaryKeys:a.dictionaryKeys,getLanguageDictionary:a.getLanguageDictionary,getLanguagesDictionaries:a.getLanguagesDictionaries,registerLanguageDictionary:a.registerLanguageDictionary,getTranslatedPhrase:a.getTranslatedPhrase};t.default=g},78380:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(25815),n=o(16124),r=o(67156);const i=t.CELL_TYPE="autocomplete";t.AutocompleteCellType={CELL_TYPE:i,editor:s.AutocompleteEditor,renderer:n.autocompleteRenderer,validator:r.autocompleteValidator}},83954:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(78380);t.AutocompleteCellType=s.AutocompleteCellType,t.CELL_TYPE=s.CELL_TYPE},30749:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(63729),n=o(8877);const r=t.CELL_TYPE="checkbox";t.CheckboxCellType={CELL_TYPE:r,editor:s.CheckboxEditor,renderer:n.checkboxRenderer}},42855:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(30749);t.CELL_TYPE=s.CELL_TYPE,t.CheckboxCellType=s.CheckboxCellType},24259:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(58437),n=o(56522),r=o(82951);const i=t.CELL_TYPE="date";t.DateCellType={CELL_TYPE:i,editor:s.DateEditor,renderer:n.dateRenderer,validator:r.dateValidator}},56844:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(24259);t.CELL_TYPE=s.CELL_TYPE,t.DateCellType=s.DateCellType},72061:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(9535),n=o(16124),r=o(67156);const i=t.CELL_TYPE="dropdown";t.DropdownCellType={CELL_TYPE:i,editor:s.DropdownEditor,renderer:n.autocompleteRenderer,validator:r.autocompleteValidator}},65867:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(72061);t.CELL_TYPE=s.CELL_TYPE,t.DropdownCellType=s.DropdownCellType},85334:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(93273),n=o(67981);const r=t.CELL_TYPE="handsontable";t.HandsontableCellType={CELL_TYPE:r,editor:s.HandsontableEditor,renderer:n.handsontableRenderer}},243:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(85334);t.CELL_TYPE=s.CELL_TYPE,t.HandsontableCellType=s.HandsontableCellType},74319:(e,t,o)=>{"use strict";t.__esModule=!0,t.registerAllCellTypes=function(){(0,g.registerCellType)(s.AutocompleteCellType),(0,g.registerCellType)(n.CheckboxCellType),(0,g.registerCellType)(r.DateCellType),(0,g.registerCellType)(i.DropdownCellType),(0,g.registerCellType)(l.HandsontableCellType),(0,g.registerCellType)(a.NumericCellType),(0,g.registerCellType)(h.PasswordCellType),(0,g.registerCellType)(d.SelectCellType),(0,g.registerCellType)(c.TextCellType),(0,g.registerCellType)(u.TimeCellType)};var s=o(83954);t.AutocompleteCellType=s.AutocompleteCellType,t.AUTOCOMPLETE_TYPE=s.CELL_TYPE;var n=o(42855);t.CheckboxCellType=n.CheckboxCellType,t.CHECKBOX_TYPE=n.CELL_TYPE;var r=o(56844);t.DateCellType=r.DateCellType,t.DATE_TYPE=r.CELL_TYPE;var i=o(65867);t.DropdownCellType=i.DropdownCellType,t.DROPDOWN_TYPE=i.CELL_TYPE;var l=o(243);t.HandsontableCellType=l.HandsontableCellType,t.HANDSONTABLE_TYPE=l.CELL_TYPE;var a=o(68683);t.NumericCellType=a.NumericCellType,t.NUMERIC_TYPE=a.CELL_TYPE;var h=o(81762);t.PasswordCellType=h.PasswordCellType,t.PASSWORD_TYPE=h.CELL_TYPE;var d=o(12256);t.SelectCellType=d.SelectCellType,t.SELECT_TYPE=d.CELL_TYPE;var c=o(57924);t.TextCellType=c.TextCellType,t.TEXT_TYPE=c.CELL_TYPE;var u=o(8228);t.TimeCellType=u.TimeCellType,t.TIME_TYPE=u.CELL_TYPE;var g=o(65324);t.registerCellType=g.registerCellType,t.getCellType=g.getCellType,t.getRegisteredCellTypeNames=g.getRegisteredCellTypeNames,t.getRegisteredCellTypes=g.getRegisteredCellTypes,t.hasCellType=g.hasCellType},68683:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(79486);t.CELL_TYPE=s.CELL_TYPE,t.NumericCellType=s.NumericCellType},79486:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(97130),n=o(78416),r=o(71);const i=t.CELL_TYPE="numeric";t.NumericCellType={CELL_TYPE:i,editor:s.NumericEditor,renderer:n.numericRenderer,validator:r.numericValidator,dataType:"number"}},81762:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(40229);t.CELL_TYPE=s.CELL_TYPE,t.PasswordCellType=s.PasswordCellType},40229:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(63630),n=o(76978);const r=t.CELL_TYPE="password";t.PasswordCellType={CELL_TYPE:r,editor:s.PasswordEditor,renderer:n.passwordRenderer,copyable:!1}},65324:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,t.getCellType=function(e){if(!d(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:o,renderer:s,validator:n}=t;o&&(0,r.registerEditor)(e,o);s&&(0,i.registerRenderer)(e,s);n&&(0,l.registerValidator)(e,n);a(e,t)},o(91683);var n=s(o(63800)),r=o(83605),i=o(7462),l=o(80239);const{register:a,getItem:h,hasItem:d,getNames:c,getValues:u}=(0,n.default)("cellTypes");t.getRegisteredCellTypes=u,t.getRegisteredCellTypeNames=c,t.hasCellType=d},12256:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(2145);t.CELL_TYPE=s.CELL_TYPE,t.SelectCellType=s.SelectCellType},2145:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(93333),n=o(73619);const r=t.CELL_TYPE="select";t.SelectCellType={CELL_TYPE:r,editor:s.SelectEditor,renderer:n.selectRenderer}},57924:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(80617);t.CELL_TYPE=s.CELL_TYPE,t.TextCellType=s.TextCellType},80617:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(5071),n=o(50695);const r=t.CELL_TYPE="text";t.TextCellType={CELL_TYPE:r,editor:s.TextEditor,renderer:n.textRenderer}},8228:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(90214);t.CELL_TYPE=s.CELL_TYPE,t.TimeCellType=s.TimeCellType},90214:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(65930),n=o(43853),r=o(85342);const i=t.CELL_TYPE="time";t.TimeCellType={CELL_TYPE:i,editor:s.TimeEditor,renderer:n.timeRenderer,validator:r.timeValidator}},78900:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,t.default=function(e,t){var o,s=this;let k=arguments.length>2&&void 0!==arguments[2]&&arguments[2],F=!1,V=this;const W=new h.default(V);let B,U,Y,j,G,z=!0;(0,_.hasValidParameter)(k)&&(0,_.registerAsRootInstance)(this);this.rootElement=e,this.rootDocument=e.ownerDocument,this.rootWindow=this.rootDocument.defaultView,this.isDestroyed=!1,this.renderSuspendedCounter=0,this.executionSuspendedCounter=0;const $=null!==(o=null==t?void 0:t.layoutDirection)&&void 0!==o?o:"inherit",K=["rtl","ltr"].includes($)?$:this.rootWindow.getComputedStyle(this.rootElement).direction;this.rootElement.setAttribute("dir",K),this.isRtl=function(){return"rtl"===K},this.isLtr=function(){return!V.isRtl()},this.getDirectionFactor=function(){return V.isLtr()?1:-1},t.language=(0,M.getValidLanguageCode)(t.language);const X=new A.MetaManager(V,t,[A.DynamicCellMetaMod,A.ExtendMetaPropertiesMod]),q=X.getTableMeta(),Q=X.getGlobalMeta(),J=(0,P.createUniqueMap)();this.container=this.rootDocument.createElement("div"),this.renderCall=!1,e.insertBefore(this.container,e.firstChild),(0,_.isRootInstance)(this)&&(0,i._injectProductInfo)(t.licenseKey,e);this.guid=`ht_${(0,w.randomString)()}`,L.set(this.guid,this),this.columnIndexMapper=new R.IndexMapper,this.rowIndexMapper=new R.IndexMapper,this.columnIndexMapper.addLocalHook("indexesSequenceChange",(e=>{V.runHooks("afterColumnSequenceChange",e)})),this.rowIndexMapper.addLocalHook("indexesSequenceChange",(e=>{V.runHooks("afterRowSequenceChange",e)})),U=new v.default(V),this.rootElement.id&&"ht_"!==this.rootElement.id.substring(0,3)||(this.rootElement.id=this.guid);let Z=new I.Selection(q,{rowIndexMapper:V.rowIndexMapper,columnIndexMapper:V.columnIndexMapper,countCols:()=>V.countCols(),countRows:()=>V.countRows(),propToCol:e=>B.propToCol(e),isEditorOpened:()=>!!V.getActiveEditor()&&V.getActiveEditor().isOpened(),countRenderableColumns:()=>this.view.countRenderableColumns(),countRenderableRows:()=>this.view.countRenderableRows(),countRowHeaders:()=>this.countRowHeaders(),countColHeaders:()=>this.countColHeaders(),getShortcutManager:()=>V.getShortcutManager(),createCellCoords:(e,t)=>V._createCellCoords(e,t),createCellRange:(e,t,o)=>V._createCellRange(e,t,o),visualToRenderableCoords:e=>{const{row:t,col:o}=e;return V._createCellCoords(t>=0?V.rowIndexMapper.getRenderableFromVisualIndex(t):t,o>=0?V.columnIndexMapper.getRenderableFromVisualIndex(o):o)},renderableToVisualCoords:e=>{const{row:t,col:o}=e;return V._createCellCoords(t>=0?V.rowIndexMapper.getVisualFromRenderableIndex(t):t,o>=0?V.columnIndexMapper.getVisualFromRenderableIndex(o):o)},isDisabledCellSelection:(e,t)=>V.getCellMeta(e,t).disableVisualSelection});this.selection=Z;const ee=e=>{let{hiddenIndexesChanged:t}=e;t&&this.selection.refresh()};function te(e){const t=(0,O.normalizeLanguageCode)(e);(0,M.hasLanguageDictionary)(t)?(V.runHooks("beforeLanguageChange",t),Q.language=t,V.runHooks("afterLanguageChange",t)):(0,O.warnUserAboutLanguageRegistration)(e)}function oe(e,t){const o="className"===e?V.rootElement:V.table;if(z)(0,n.addClass)(o,t);else{let s=[],r=[];Q[e]&&(s=Array.isArray(Q[e])?Q[e]:(0,u.stringToArray)(Q[e])),t&&(r=Array.isArray(t)?t:(0,u.stringToArray)(t));const i=(0,u.getDifferenceOfArrays)(s,r),l=(0,u.getDifferenceOfArrays)(r,s);i.length&&(0,n.removeClass)(o,i),l.length&&(0,n.addClass)(o,l)}Q[e]=t}function se(){let e=!1;return{validatorsInQueue:0,valid:!0,addValidatorToQueue(){this.validatorsInQueue+=1,e=!1},removeValidatorFormQueue(){this.validatorsInQueue=this.validatorsInQueue-1<0?0:this.validatorsInQueue-1,this.checkIfQueueIsEmpty()},onQueueEmpty(){},checkIfQueueIsEmpty(){0===this.validatorsInQueue&&!1===e&&(e=!0,this.onQueueEmpty(this.valid))}}}function ne(e){const t=e.replace(",",".");return!1===isNaN(parseFloat(t))?parseFloat(t):e}function re(e,t,o){if(!e.length)return;const s=V.getActiveEditor(),r=new se;let i=!0;r.onQueueEmpty=e=>{s&&i&&s.cancelChanges(),o(e)};for(let o=e.length-1;o>=0;o--){const[s,l,,a]=e[o],h=B.propToCol(l),d=V.getCellMeta(s,h);"numeric"===d.type&&"string"==typeof a&&(0,E.isNumericLike)(a)&&(e[o][3]=ne(a)),V.getCellValidator(d)&&(r.addValidatorToQueue(),V.validateCell(e[o][3],d,function(t,o){return function(s){if("boolean"!=typeof s)throw new Error("Validation error: result is not boolean");if(!1===s&&!1===o.allowInvalid){i=!1,e.splice(t,1),o.valid=!0;const s=V.getCell(o.visualRow,o.visualCol);null!==s&&(0,n.removeClass)(s,q.invalidCellClassName)}r.removeValidatorFormQueue()}}(o,d),t))}r.checkIfQueueIsEmpty()}function ie(e,t){let o=e.length-1;if(o<0)return;for(;o>=0;o--){let s=!1;if(null!==e[o]){if(null!==e[o][2]&&void 0!==e[o][2]||null!==e[o][3]&&void 0!==e[o][3]){if(q.allowInsertRow)for(;e[o][0]>V.countRows()-1;){const{delta:e}=B.createRow(void 0,void 0,{source:t});if(0===e){s=!0;break}}if("array"===V.dataType&&(!q.columns||0===q.columns.length)&&q.allowInsertColumn)for(;B.propToCol(e[o][1])>V.countCols()-1;){const{delta:e}=B.createCol(void 0,void 0,{source:t});if(0===e){s=!0;break}}s||B.set(e[o][0],e[o][1],e[o][3])}}else e.splice(o,1)}V.forceFullRender=!0,Y.adjustRowsAndCols(),V.runHooks("beforeChangeRender",e,t),j.lockEditor(),V._refreshBorders(null),j.unlockEditor(),V.view.adjustElementsSize(),V.runHooks("afterChange",e,t||"edit");const s=V.getActiveEditor();s&&(0,i.isDefined)(s.refreshValue)&&s.refreshValue()}function le(e,t,o){return Array.isArray(e)?e:[[e,t,o]]}function ae(e,t){const o=V.getActiveEditor(),s=V.runHooks("beforeChange",e,t||"edit"),n=e.filter((e=>null!==e));return!1===s||0===n.length?(o&&o.cancelChanges(),[]):n}this.columnIndexMapper.addLocalHook("cacheUpdated",ee),this.rowIndexMapper.addLocalHook("cacheUpdated",ee),this.selection.addLocalHook("afterSetRangeEnd",(e=>{const t=(0,d.createObjectPropListener)(!1),o=this.selection.getSelectedRange(),{from:s,to:r}=o.current(),i=o.size()-1;this.runHooks("afterSelection",s.row,s.col,r.row,r.col,t,i),this.runHooks("afterSelectionByProp",s.row,V.colToProp(s.col),r.row,V.colToProp(r.col),t,i);let l=!0;F&&(l=!1),t.isTouched()&&(l=!t.value);const a=this.selection.selectedRange.current(),h=this.selection.isSelectedByAnyHeader(),c=this.selection.isSelectedByRowHeader(),u=this.selection.isSelectedByColumnHeader();if(!1!==l)if(h)c?this.scrollViewportTo({row:e.row}):u&&this.scrollViewportTo({col:e.col});else if(a&&!this.selection.isMultiple()){const{row:e,col:t}=a.from;e<0&&t>=0?this.scrollViewportTo({col:t}):t<0&&e>=0?this.scrollViewportTo({row:e}):this.scrollViewportTo({row:e,col:t})}else this.scrollViewportTo(e.toObject());c&&u?(0,n.addClass)(this.rootElement,["ht__selection--rows","ht__selection--columns"]):c?((0,n.removeClass)(this.rootElement,"ht__selection--columns"),(0,n.addClass)(this.rootElement,"ht__selection--rows")):u?((0,n.removeClass)(this.rootElement,"ht__selection--rows"),(0,n.addClass)(this.rootElement,"ht__selection--columns")):(0,n.removeClass)(this.rootElement,["ht__selection--rows","ht__selection--columns"]),this._refreshBorders(null)})),this.selection.addLocalHook("afterSelectionFinished",(e=>{const t=e.length-1,{from:o,to:s}=e[t];this.runHooks("afterSelectionEnd",o.row,o.col,s.row,s.col,t),this.runHooks("afterSelectionEndByProp",o.row,V.colToProp(o.col),s.row,V.colToProp(s.col),t)})),this.selection.addLocalHook("afterIsMultipleSelection",(e=>{const t=this.runHooks("afterIsMultipleSelection",e.value);e.value&&(e.value=t)})),this.selection.addLocalHook("afterDeselect",(()=>{j.destroyEditor(),this._refreshBorders(),(0,n.removeClass)(this.rootElement,["ht__selection--rows","ht__selection--columns"]),this.runHooks("afterDeselect")})),this.selection.addLocalHook("beforeHighlightSet",(()=>this.runHooks("beforeSelectionHighlightSet"))).addLocalHook("beforeSetRangeStart",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return s.runHooks("beforeSetRangeStart",...t)})).addLocalHook("beforeSetRangeStartOnly",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return s.runHooks("beforeSetRangeStartOnly",...t)})).addLocalHook("beforeSetRangeEnd",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return s.runHooks("beforeSetRangeEnd",...t)})).addLocalHook("beforeSelectColumns",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return s.runHooks("beforeSelectColumns",...t)})).addLocalHook("afterSelectColumns",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return s.runHooks("afterSelectColumns",...t)})).addLocalHook("beforeSelectRows",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return s.runHooks("beforeSelectRows",...t)})).addLocalHook("afterSelectRows",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return s.runHooks("afterSelectRows",...t)})).addLocalHook("beforeModifyTransformStart",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return s.runHooks("modifyTransformStart",...t)})).addLocalHook("afterModifyTransformStart",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return s.runHooks("afterModifyTransformStart",...t)})).addLocalHook("beforeModifyTransformEnd",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return s.runHooks("modifyTransformEnd",...t)})).addLocalHook("afterModifyTransformEnd",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return s.runHooks("afterModifyTransformEnd",...t)})).addLocalHook("beforeRowWrap",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return s.runHooks("beforeRowWrap",...t)})).addLocalHook("beforeColumnWrap",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return s.runHooks("beforeColumnWrap",...t)})).addLocalHook("insertRowRequire",(e=>this.alter("insert_row_above",e,1,"auto"))).addLocalHook("insertColRequire",(e=>this.alter("insert_col_start",e,1,"auto"))),Y={alter(e,t){var o,s;let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3?arguments[3]:void 0,l=arguments.length>4?arguments[4]:void 0;const a=e=>{if(0===e.length)return[];const t=[...e];t.sort(((e,t)=>{let[o]=e,[s]=t;return o===s?0:o>s?1:-1}));return(0,u.arrayReduce)(t,((e,t)=>{let[o,s]=t;const n=e[e.length-1],[r,i]=n,l=r+i;if(o<=l){const e=Math.max(s-(l-o),0);n[1]+=e}else e.push([o,s]);return e}),[t[0]])};switch(e){case"insert_row_below":case"insert_row_above":const l=V.countSourceRows();if(q.maxRows===l)return;const h="insert_row_below"===e?"below":"above";t=null!==(o=t)&&void 0!==o?o:"below"===h?l:0;const{delta:d,startPhysicalIndex:c}=B.createRow(t,n,{source:r,mode:h});if(d){const e=Z.selectedRange.current(),t=null==e?void 0:e.from,o=null==t?void 0:t.row,s=V.toVisualRow(c);if(Z.isSelectedByCorner())Z.selectAll(!0,!0,{disableHeadersHighlight:!0});else if((0,i.isDefined)(o)&&o>=s){const{row:s,col:n}=e.to;let r=t.col;Z.isSelectedByRowHeader()&&(r=-1),Z.getSelectedRange().pop(),Z.setRangeStartOnly(V._createCellCoords(o+d,r),!0),Z.setRangeEnd(V._createCellCoords(s+d,n))}else V._refreshBorders()}break;case"insert_col_start":case"insert_col_end":const g="insert_col_end"===e?"end":"start";t=null!==(s=t)&&void 0!==s?s:"end"===g?V.countSourceCols():0;const{delta:f,startPhysicalIndex:p}=B.createCol(t,n,{source:r,mode:g});if(f){if(Array.isArray(q.colHeaders)){const e=[V.toVisualColumn(p),0];e.length+=f,Array.prototype.splice.apply(q.colHeaders,e)}const e=Z.selectedRange.current(),t=null==e?void 0:e.from,o=null==t?void 0:t.col,s=V.toVisualColumn(p);if(Z.isSelectedByCorner())Z.selectAll(!0,!0,{disableHeadersHighlight:!0});else if((0,i.isDefined)(o)&&o>=s){const{row:s,col:n}=e.to;let r=t.row;Z.isSelectedByColumnHeader()&&(r=-1),Z.getSelectedRange().pop(),Z.setRangeStartOnly(V._createCellCoords(r,o+f),!0),Z.setRangeEnd(V._createCellCoords(s,n+f))}else V._refreshBorders()}break;case"remove_row":const m=e=>{let t=0;(0,u.arrayEach)(e,(e=>{let[o,s]=e;const n=(0,i.isEmpty)(o)?V.countRows()-1:Math.max(o-t,0);Number.isInteger(o)&&(o=Math.max(o-t,0));if(!B.removeRow(o,s,r))return;const l=V.countRows(),a=q.fixedRowsTop;a>=n+1&&(q.fixedRowsTop-=Math.min(s,a-n));const h=q.fixedRowsBottom;h&&n>=l-h&&(q.fixedRowsBottom-=Math.min(s,h)),t+=s}))};Array.isArray(t)?m(a(t)):m([[t,n]]),Y.adjustRowsAndCols(),V._refreshBorders();break;case"remove_col":const C=e=>{let t=0;(0,u.arrayEach)(e,(e=>{let[o,s]=e;const n=(0,i.isEmpty)(o)?V.countCols()-1:Math.max(o-t,0);let l=V.toPhysicalColumn(n);Number.isInteger(o)&&(o=Math.max(o-t,0));if(!B.removeCol(o,s,r))return;const a=q.fixedColumnsStart;a>=n+1&&(q.fixedColumnsStart-=Math.min(s,a-n)),Array.isArray(q.colHeaders)&&(void 0===l&&(l=-1),q.colHeaders.splice(l,s)),t+=s}))};Array.isArray(t)?C(a(t)):C([[t,n]]),Y.adjustRowsAndCols(),V._refreshBorders();break;default:throw new Error(`There is no such action "${e}"`)}l||Y.adjustRowsAndCols()},adjustRowsAndCols(){const e=q.minRows,t=q.minSpareRows,o=q.minCols,s=q.minSpareCols;if(0===V.countRows()&&0===V.countCols()&&Z.deselect(),e){const t=V.countRows();t<e&&B.createRow(t,e-t,{source:"auto"})}if(t){const e=V.countEmptyRows(!0);if(e<t){const o=t-e,s=Math.min(o,q.maxRows-V.countSourceRows());B.createRow(V.countRows(),s,{source:"auto"})}}{let e;(o||s)&&(e=V.countEmptyCols(!0));let t=V.countCols();if(o&&!q.columns&&t<o){const s=o-t;e+=s,B.createCol(t,s,{source:"auto"})}if(s&&!q.columns&&"array"===V.dataType&&e<s){t=V.countCols();const o=s-e,n=Math.min(o,q.maxCols-t);B.createCol(t,n,{source:"auto"})}}if(Z.isSelected()){const e=V.countRows(),t=V.countCols();(0,u.arrayEach)(Z.selectedRange,(o=>{let s=!1,n=o.from.row,r=o.from.col,i=o.to.row,l=o.to.col;n>e-1?(n=e-1,s=!0,i>n&&(i=n)):i>e-1&&(i=e-1,s=!0,n>i&&(n=i)),r>t-1?(r=t-1,s=!0,l>r&&(l=r)):l>t-1&&(l=t-1,s=!0,r>l&&(r=l)),s&&V.selectCell(n,r,i,l)}))}V.view&&V.view.adjustElementsSize()},populateFromArray(e,t,o,s,n){let r,i,l,a;const h=[],c={},g=[],f=e.row,p=e.col;if(i=t.length,0===i)return!1;let m=0,C=0;switch((0,d.isObject)(o)&&(m=o.col-p+1,C=o.row-f+1),n){case"shift_down":const n=(0,u.pivot)(t),w=n.length,E=Math.max(w,m),y=V.getData().slice(f),v=(0,u.pivot)(y).slice(p,p+E);for(l=0;l<E;l+=1)if(l<w){for(r=0,i=n[l].length;r<C-i;r+=1)n[l].push(n[l][r%i]);l<v.length?g.push(n[l].concat(v[l])):g.push(n[l].concat(new Array(y.length).fill(null)))}else g.push(n[l%w].concat(v[l]));V.populateFromArray(f,p,(0,u.pivot)(g));break;case"shift_right":const S=t.length,R=Math.max(S,C),_=V.getData().slice(f).map((e=>e.slice(p)));for(r=0;r<R;r+=1)if(r<S){for(l=0,a=t[r].length;l<m-a;l+=1)t[r].push(t[r][l%a]);if(r<_.length)for(let e=0;e<_[r].length;e+=1)t[r].push(_[r][e]);else t[r].push(...new Array(_[0].length).fill(null))}else t.push(t[r%i].slice(0,R).concat(_[r]));V.populateFromArray(f,p,t);break;default:c.row=e.row,c.col=e.col;let b,T=0,M=0,O=!0;const I=function(e){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const s=t[e%t.length];return null!==o?s[o%s.length]:s},A=t.length,N=o?o.row-e.row+1:0;for(i=o?N:Math.max(A,N),r=0;r<i&&!(o&&c.row>o.row&&N>A||!q.allowInsertRow&&c.row>V.countRows()-1||c.row>=q.maxRows);r++){const t=r-T,n=I(t).length,u=o?o.col-e.col+1:0;if(a=o?u:Math.max(n,u),c.col=e.col,b=V.getCellMeta(c.row,c.col),"CopyPaste.paste"!==s&&"Autofill.fill"!==s||!b.skipRowOnPaste){for(M=0,l=0;l<a&&!(o&&c.col>o.col&&u>n||!q.allowInsertColumn&&c.col>V.countCols()-1||c.col>=q.maxCols);l++){if(b=V.getCellMeta(c.row,c.col),("CopyPaste.paste"===s||"Autofill.fill"===s)&&b.skipColumnOnPaste){M+=1,c.col+=1,a+=1;continue}if(b.readOnly&&"UndoRedo.undo"!==s){c.col+=1;continue}let e=I(t,l-M),o=V.getDataAtCell(c.row,c.col);if(null!==e&&"object"==typeof e)if(Array.isArray(e)&&null===o&&(o=[]),null===o||"object"!=typeof o)O=!1;else{const t=(0,d.duckSchema)(Array.isArray(o)?o:o[0]||o),s=(0,d.duckSchema)(Array.isArray(e)?e:e[0]||e);(0,d.isObjectEqual)(t,s)||Array.isArray(t)&&Array.isArray(s)?e=(0,d.deepClone)(e):O=!1}else null!==o&&"object"==typeof o&&(O=!1);O&&h.push([c.row,c.col,e]),O=!0,c.col+=1}c.row+=1}else T+=1,c.row+=1,i+=1}V.setDataAtCell(h,null,null,s||"populateFromArray")}}},this.init=function(){U.setData(q.data),V.runHooks("beforeInit"),((0,l.isMobileBrowser)()||(0,l.isIpadOS)())&&(0,n.addClass)(V.rootElement,"mobile"),this.updateSettings(q,!0),this.view=new y.default(this),j=a.default.getInstance(V,q,Z),G=new c.FocusManager(V),(0,_.isRootInstance)(this)&&(0,N.installFocusCatcher)(V),V.runHooks("init"),this.forceFullRender=!0,this.view.render(),z&&null===V.rootElement.offsetParent&&(0,n.observeVisibilityChangeOnce)(V.rootElement,(()=>{V.view._wt.wtOverlays.updateLastSpreaderSize(),V.render(),V.view.adjustElementsSize()})),"object"==typeof z&&(V.runHooks("afterChange",z[0],z[1]),z=!1),V.runHooks("afterInit")},this._createCellCoords=function(e,t){return V.view._wt.createCellCoords(e,t)},this._createCellRange=function(e,t,o){return V.view._wt.createCellRange(e,t,o)},this.validateCell=function(e,t,o,s){let n=V.getCellValidator(t);function l(e){if(!(!(arguments.length>1&&void 0!==arguments[1])||arguments[1])||!0===t.hidden)return void o(e);const s=t.visualCol,n=t.visualRow,r=V.getCell(n,s,!0);if(r&&"TH"!==r.nodeName){const e=V.rowIndexMapper.getRenderableFromVisualIndex(n),t=V.columnIndexMapper.getRenderableFromVisualIndex(s);V.view._wt.getSetting("cellRenderer",e,t,r)}o(e)}var a;(0,i.isRegExp)(n)&&(a=n,n=function(e,t){t(a.test(e))}),(0,r.isFunction)(n)?(e=V.runHooks("beforeValidate",e,t.visualRow,t.prop,s),V._registerImmediate((()=>{n.call(t,e,(o=>{V&&(o=V.runHooks("afterValidate",o,e,t.visualRow,t.prop,s),t.valid=o,l(o),V.runHooks("postAfterValidate",o,e,t.visualRow,t.prop,s))}))}))):V._registerImmediate((()=>{t.valid=!0,l(t.valid,!1)}))},this.setDataAtCell=function(e,t,o,s){const n=le(e,t,o),r=[];let i,l,a,h=s;for(i=0,l=n.length;i<l;i++){if("object"!=typeof n[i])throw new Error("Method `setDataAtCell` accepts row number or changes array of arrays as its first parameter");if("number"!=typeof n[i][1])throw new Error("Method `setDataAtCell` accepts row and column number as its parameters. If you want to use object property name, use method `setDataAtRowProp`");a=n[i][1]>=this.countCols()?n[i][1]:B.colToProp(n[i][1]),r.push([n[i][0],a,U.getAtCell(this.toPhysicalRow(n[i][0]),n[i][1]),n[i][2]])}h||"object"!=typeof e||(h=t);const d=ae(r,s);V.runHooks("afterSetDataAtCell",d,h),re(d,h,(()=>{ie(d,h)}))},this.setDataAtRowProp=function(e,t,o,s){const n=le(e,t,o),r=[];let i,l,a=s;for(i=0,l=n.length;i<l;i++)r.push([n[i][0],n[i][1],U.getAtCell(this.toPhysicalRow(n[i][0]),n[i][1]),n[i][2]]);a||"object"!=typeof e||(a=t);const h=ae(r,s);V.runHooks("afterSetDataAtRowProp",h,a),re(h,a,(()=>{ie(h,a)}))},this.listen=function(){V&&!V.isListening()&&(L.forEach((e=>{V!==e&&e.unlisten()})),D=V.guid,V.runHooks("afterListen"))},this.unlisten=function(){this.isListening()&&(D=null,V.runHooks("afterUnlisten"))},this.isListening=function(){return D===V.guid},this.destroyEditor=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];V._refreshBorders(e,t)},this.populateFromArray=function(e,t,o,s,n,r,i){if("object"!=typeof o||"object"!=typeof o[0])throw new Error("populateFromArray parameter `input` must be an array of arrays");const l="number"==typeof s?V._createCellCoords(s,n):null;return Y.populateFromArray(V._createCellCoords(e,t),o,l,r,i)},this.spliceCol=function(e,t,o){for(var s=arguments.length,n=new Array(s>3?s-3:0),r=3;r<s;r++)n[r-3]=arguments[r];return B.spliceCol(e,t,o,...n)},this.spliceRow=function(e,t,o){for(var s=arguments.length,n=new Array(s>3?s-3:0),r=3;r<s;r++)n[r-3]=arguments[r];return B.spliceRow(e,t,o,...n)},this.getSelected=function(){if(Z.isSelected())return(0,u.arrayMap)(Z.getSelectedRange(),(e=>{let{from:t,to:o}=e;return[t.row,t.col,o.row,o.col]}))},this.getSelectedLast=function(){const e=this.getSelected();let t;return e&&e.length>0&&(t=e[e.length-1]),t},this.getSelectedRange=function(){if(Z.isSelected())return Array.from(Z.getSelectedRange())},this.getSelectedRangeLast=function(){const e=this.getSelectedRange();let t;return e&&e.length>0&&(t=e[e.length-1]),t},this.emptySelectedCells=function(e){if(!Z.isSelected()||0===this.countRows()||0===this.countCols())return;const t=[];(0,u.arrayEach)(Z.getSelectedRange(),(e=>{if(e.isSingleHeader())return;const o=e.getTopStartCorner(),s=e.getBottomEndCorner();(0,E.rangeEach)(o.row,s.row,(e=>{(0,E.rangeEach)(o.col,s.col,(o=>{this.getCellMeta(e,o).readOnly||t.push([e,o,null])}))}))})),t.length>0&&this.setDataAtCell(t,e)},this.isRenderSuspended=function(){return this.renderSuspendedCounter>0},this.suspendRender=function(){this.renderSuspendedCounter+=1},this.resumeRender=function(){const e=this.renderSuspendedCounter-1;this.renderSuspendedCounter=Math.max(e,0),this.isRenderSuspended()||e!==this.renderSuspendedCounter||(this.renderCall?this.render():this._refreshBorders(null))},this.render=function(){this.view&&(this.renderCall=!0,this.forceFullRender=!0,this.isRenderSuspended()||(j.lockEditor(),this._refreshBorders(null),j.unlockEditor()))},this.batchRender=function(e){this.suspendRender();const t=e();return this.resumeRender(),t},this.isExecutionSuspended=function(){return this.executionSuspendedCounter>0},this.suspendExecution=function(){this.executionSuspendedCounter+=1,this.columnIndexMapper.suspendOperations(),this.rowIndexMapper.suspendOperations()},this.resumeExecution=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=this.executionSuspendedCounter-1;this.executionSuspendedCounter=Math.max(t,0),(!this.isExecutionSuspended()&&t===this.executionSuspendedCounter||e)&&(this.columnIndexMapper.resumeOperations(),this.rowIndexMapper.resumeOperations())},this.batchExecution=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.suspendExecution();const o=e();return this.resumeExecution(t),o},this.batch=function(e){this.suspendRender(),this.suspendExecution();const t=e();return this.resumeExecution(),this.resumeRender(),t},this.refreshDimensions=function(){if(!V.view)return;const{width:e,height:t}=V.view.getLastSize(),{width:o,height:s}=V.rootElement.getBoundingClientRect(),n=o!==e||s!==t;!1===V.runHooks("beforeRefreshDimensions",{width:e,height:t},{width:o,height:s},n)||((n||V.view._wt.wtOverlays.scrollableElement===V.rootWindow)&&(V.view.setLastSize(o,s),V.render()),V.runHooks("afterRefreshDimensions",{width:e,height:t},{width:o,height:s},n))},this.updateData=function(e,t){(0,A.replaceData)(e,(e=>{B=e}),(e=>{B=e,V.columnIndexMapper.fitToLength(this.getInitialColumnCount()),V.rowIndexMapper.fitToLength(this.countSourceRows()),Y.adjustRowsAndCols()}),{hotInstance:V,dataMap:B,dataSource:U,internalSource:"updateData",source:t,metaManager:X,firstRun:z})},this.loadData=function(e,t){(0,A.replaceData)(e,(e=>{B=e}),(()=>{X.clearCellsCache(),V.initIndexMappers(),Y.adjustRowsAndCols(),z&&(z=[null,"loadData"])}),{hotInstance:V,dataMap:B,dataSource:U,internalSource:"loadData",source:t,metaManager:X,firstRun:z})},this.getInitialColumnCount=function(){const e=q.columns;let t=0;if(Array.isArray(e))t=e.length;else if((0,r.isFunction)(e))if("array"===V.dataType){const o=this.countSourceCols();for(let s=0;s<o;s+=1)e(s)&&(t+=1)}else"object"!==V.dataType&&"function"!==V.dataType||(t=B.colToPropCache.length);else if((0,i.isDefined)(q.dataSchema)){const e=B.getSchema();t=Array.isArray(e)?e.length:(0,d.deepObjectSize)(e)}else t=this.countSourceCols();return t},this.initIndexMappers=function(){this.columnIndexMapper.initToLength(this.getInitialColumnCount()),this.rowIndexMapper.initToLength(this.countSourceRows())},this.getData=function(e,t,o,s){return(0,i.isUndefined)(e)?B.getAll():B.getRange(V._createCellCoords(e,t),V._createCellCoords(o,s),B.DESTINATION_RENDERER)},this.getCopyableText=function(e,t,o,s){return B.getCopyableText(V._createCellCoords(e,t),V._createCellCoords(o,s))},this.getCopyableData=function(e,t){return B.getCopyable(e,B.colToProp(t))},this.getSchema=function(){return B.getSchema()},this.updateSettings=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const o=(z?V.loadData:V.updateData).bind(this);let s,n,l=!1;if((0,i.isDefined)(e.rows))throw new Error('The "rows" setting is no longer supported. Do you mean startRows, minRows or maxRows?');if((0,i.isDefined)(e.cols))throw new Error('The "cols" setting is no longer supported. Do you mean startCols, minCols or maxCols?');if((0,i.isDefined)(e.ganttChart))throw new Error('Since 8.0.0 the "ganttChart" setting is no longer supported.');for(s in e)"data"===s||("language"===s?te(e.language):"className"===s?oe("className",e.className):"tableClassName"===s&&V.table?(oe("tableClassName",e.tableClassName),V.view._wt.wtOverlays.syncOverlayTableClassNames()):T.default.getSingleton().isRegistered(s)||T.default.getSingleton().isDeprecated(s)?((0,r.isFunction)(e[s])||Array.isArray(e[s]))&&(e[s].initialHook=!0,V.addHook(s,e[s])):!t&&(0,d.hasOwnProperty)(e,s)&&(Q[s]=e[s]));void 0===e.data&&void 0===q.data?o(null,"updateSettings"):void 0!==e.data?o(e.data,"updateSettings"):void 0!==e.columns&&(B.createMap(),V.initIndexMappers());const a=V.countCols(),h=q.columns;if(h&&(0,r.isFunction)(h)&&(l=!0),void 0===e.cell&&void 0===e.cells&&void 0===e.columns||X.clearCache(),a>0)for(s=0,n=0;s<a;s++){if(h){const e=l?h(s):h[n];e&&X.updateColumnMeta(n,e)}n+=1}(0,i.isDefined)(e.cell)&&(0,d.objectEach)(e.cell,(e=>{V.setCellMetaObject(e.row,e.col,e)})),V.runHooks("afterCellMetaReset");let c=V.rootElement.style.height;""!==c&&(c=parseInt(V.rootElement.style.height,10));let u=e.height;if((0,r.isFunction)(u)&&(u=u()),t){V.rootElement.getAttribute("style")&&V.rootElement.setAttribute("data-initialstyle",V.rootElement.getAttribute("style"))}if(null===u){const e=V.rootElement.getAttribute("data-initialstyle");e&&(e.indexOf("height")>-1||e.indexOf("overflow")>-1)?V.rootElement.setAttribute("style",e):(V.rootElement.style.height="",V.rootElement.style.overflow="")}else void 0!==u&&(V.rootElement.style.height=isNaN(u)?`${u}`:`${u}px`,V.rootElement.style.overflow="hidden");if(void 0!==e.width){let t=e.width;(0,r.isFunction)(t)&&(t=t()),V.rootElement.style.width=isNaN(t)?`${t}`:`${t}px`}t||(V.view&&(V.view._wt.wtViewport.resetHasOversizedColumnHeadersMarked(),V.view._wt.exportSettingsAsClassNames()),V.runHooks("afterUpdateSettings",e)),Y.adjustRowsAndCols(),V.view&&!z&&(V.forceFullRender=!0,j.lockEditor(),V._refreshBorders(null),V.view._wt.wtOverlays.adjustElementsSize(),j.unlockEditor()),t||!V.view||""!==c&&""!==u&&void 0!==u||c===u||V.view._wt.wtOverlays.updateMainScrollableElements()},this.getValue=function(){const e=V.getSelectedLast();if(q.getValue){if((0,r.isFunction)(q.getValue))return q.getValue.call(V);if(e)return V.getData()[e[0][0]][q.getValue]}else if(e)return V.getDataAtCell(e[0],e[1])},this.getSettings=function(){return q},this.clear=function(){this.selectAll(),this.emptySelectedCells()},this.alter=function(e,t,o,s,n){Y.alter(e,t,o,s,n)},this.getCell=function(e,t){let o=arguments.length>2&&void 0!==arguments[2]&&arguments[2],s=t,n=e;if(t>=0){if(this.columnIndexMapper.isHidden(this.toPhysicalColumn(t)))return null;s=this.columnIndexMapper.getRenderableFromVisualIndex(t)}if(e>=0){if(this.rowIndexMapper.isHidden(this.toPhysicalRow(e)))return null;n=this.rowIndexMapper.getRenderableFromVisualIndex(e)}return null===n||null===s?null:V.view.getCellAtCoords(V._createCellCoords(n,s),o)},this.getCoords=function(e){const t=this.view._wt.wtTable.getCoords(e);if(null===t)return null;const{row:o,col:s}=t;let n=o,r=s;return o>=0&&(n=this.rowIndexMapper.getVisualFromRenderableIndex(o)),s>=0&&(r=this.columnIndexMapper.getVisualFromRenderableIndex(s)),V._createCellCoords(n,r)},this.colToProp=function(e){return B.colToProp(e)},this.propToCol=function(e){return B.propToCol(e)},this.toVisualRow=e=>this.rowIndexMapper.getVisualFromPhysicalIndex(e),this.toVisualColumn=e=>this.columnIndexMapper.getVisualFromPhysicalIndex(e),this.toPhysicalRow=e=>this.rowIndexMapper.getPhysicalFromVisualIndex(e),this.toPhysicalColumn=e=>this.columnIndexMapper.getPhysicalFromVisualIndex(e),this.getDataAtCell=function(e,t){return B.get(e,B.colToProp(t))},this.getDataAtRowProp=function(e,t){return B.get(e,t)},this.getDataAtCol=function(e){const t=[],o=B.getRange(V._createCellCoords(0,e),V._createCellCoords(q.data.length-1,e),B.DESTINATION_RENDERER);for(let e=0;e<o.length;e+=1)for(let s=0;s<o[e].length;s+=1)t.push(o[e][s]);return t},this.getDataAtProp=function(e){const t=[],o=B.getRange(V._createCellCoords(0,B.propToCol(e)),V._createCellCoords(q.data.length-1,B.propToCol(e)),B.DESTINATION_RENDERER);for(let e=0;e<o.length;e+=1)for(let s=0;s<o[e].length;s+=1)t.push(o[e][s]);return t},this.getSourceData=function(e,t,o,s){let n;return n=void 0===e?U.getData():U.getByRange(V._createCellCoords(e,t),V._createCellCoords(o,s)),n},this.getSourceDataArray=function(e,t,o,s){let n;return n=void 0===e?U.getData(!0):U.getByRange(V._createCellCoords(e,t),V._createCellCoords(o,s),!0),n},this.getSourceDataAtCol=function(e){return U.getAtColumn(e)},this.setSourceDataAtCell=function(e,t,o,s){const n=le(e,t,o),r=this.hasHook("afterSetSourceDataAtCell"),l=[];r&&(0,u.arrayEach)(n,(e=>{let[t,o,s]=e;l.push([t,o,U.getAtCell(t,o),s])})),(0,u.arrayEach)(n,(e=>{let[t,o,s]=e;U.setAtCell(t,o,s)})),r&&this.runHooks("afterSetSourceDataAtCell",l,s),this.render();const a=V.getActiveEditor();a&&(0,i.isDefined)(a.refreshValue)&&a.refreshValue()},this.getSourceDataAtRow=function(e){return U.getAtRow(e)},this.getSourceDataAtCell=function(e,t){return U.getAtCell(e,t)},this.getDataAtRow=function(e){return B.getRange(V._createCellCoords(e,0),V._createCellCoords(e,this.countCols()-1),B.DESTINATION_RENDERER)[0]||[]},this.getDataType=function(e,t,o,s){const n=void 0===e?[0,0,this.countRows(),this.countCols()]:[e,t,o,s],[r,i]=n;let[,,l,a]=n,h=null,d=null;void 0===l&&(l=r),void 0===a&&(a=i);let c="mixed";return(0,E.rangeEach)(Math.max(Math.min(r,l),0),Math.max(r,l),(e=>{let t=!0;return(0,E.rangeEach)(Math.max(Math.min(i,a),0),Math.max(i,a),(o=>{const s=this.getCellMeta(e,o);return d=s.type,h?t=h===d:h=d,t})),c=t?d:"mixed",t})),c},this.removeCellMeta=function(e,t,o){const[s,n]=[this.toPhysicalRow(e),this.toPhysicalColumn(t)];let r=X.getCellMetaKeyValue(s,n,o);!1!==V.runHooks("beforeRemoveCellMeta",e,t,o,r)&&(X.removeCellMeta(s,n,o),V.runHooks("afterRemoveCellMeta",e,t,o,r)),r=null},this.spliceCellsMeta=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;for(var o=arguments.length,s=new Array(o>2?o-2:0),n=2;n<o;n++)s[n-2]=arguments[n];if(s.length>0&&!Array.isArray(s[0]))throw new Error("The 3rd argument (cellMetaRows) has to be passed as an array of cell meta objects array.");t>0&&X.removeRow(this.toPhysicalRow(e),t),s.length>0&&(0,u.arrayEach)(s.reverse(),(t=>{X.createRow(this.toPhysicalRow(e)),(0,u.arrayEach)(t,((t,o)=>this.setCellMetaObject(e,o,t)))})),V.render()},this.setCellMetaObject=function(e,t,o){"object"==typeof o&&(0,d.objectEach)(o,((o,s)=>{this.setCellMeta(e,t,s,o)}))},this.setCellMeta=function(e,t,o,s){if(!1===V.runHooks("beforeSetCellMeta",e,t,o,s))return;let n=e,r=t;e<this.countRows()&&(n=this.toPhysicalRow(e)),t<this.countCols()&&(r=this.toPhysicalColumn(t)),X.setCellMeta(n,r,o,s),V.runHooks("afterSetCellMeta",e,t,o,s)},this.getCellsMeta=function(){return X.getCellsMeta()},this.getCellMeta=function(e,t){let o=this.toPhysicalRow(e),s=this.toPhysicalColumn(t);return null===o&&(o=e),null===s&&(s=t),X.getCellMeta(o,s,{visualRow:e,visualColumn:t})},this.getCellMetaAtRow=function(e){return X.getCellsMetaAtRow(e)},this.isColumnModificationAllowed=function(){return!("object"===V.dataType||q.columns)},this.getCellRenderer=function(e,t){const o="number"==typeof e?V.getCellMeta(e,t).renderer:e.renderer;return"string"==typeof o?(0,p.getRenderer)(o):(0,i.isUndefined)(o)?(0,p.getRenderer)("text"):o},this.getCellEditor=function(e,t){const o="number"==typeof e?V.getCellMeta(e,t).editor:e.editor;return"string"==typeof o?(0,m.getEditor)(o):(0,i.isUndefined)(o)?(0,m.getEditor)("text"):o},this.getCellValidator=function(e,t){const o="number"==typeof e?V.getCellMeta(e,t).validator:e.validator;return"string"==typeof o?(0,C.getValidator)(o):o},this.validateCells=function(e){this._validateCells(e)},this.validateRows=function(e,t){if(!Array.isArray(e))throw new Error("validateRows parameter `rows` must be an array");this._validateCells(t,e)},this.validateColumns=function(e,t){if(!Array.isArray(e))throw new Error("validateColumns parameter `columns` must be an array");this._validateCells(t,void 0,e)},this._validateCells=function(e,t,o){const s=new se;e&&(s.onQueueEmpty=e);let n=V.countRows()-1;for(;n>=0;){if(void 0!==t&&-1===t.indexOf(n)){n-=1;continue}let e=V.countCols()-1;for(;e>=0;)void 0===o||-1!==o.indexOf(e)?(s.addValidatorToQueue(),V.validateCell(V.getDataAtCell(n,e),V.getCellMeta(n,e),(e=>{if("boolean"!=typeof e)throw new Error("Validation error: result is not boolean");!1===e&&(s.valid=!1),s.removeValidatorFormQueue()}),"validateCells"),e-=1):e-=1;n-=1}s.checkIfQueueIsEmpty()},this.getRowHeader=function(e){let t=q.rowHeaders,o=e;return void 0!==o&&(o=V.runHooks("modifyRowHeader",o)),void 0===o?(t=[],(0,E.rangeEach)(V.countRows()-1,(e=>{t.push(V.getRowHeader(e))}))):Array.isArray(t)&&void 0!==t[o]?t=t[o]:(0,r.isFunction)(t)?t=t(o):t&&"string"!=typeof t&&"number"!=typeof t&&(t=o+1),t},this.hasRowHeaders=function(){return!!q.rowHeaders},this.hasColHeaders=function(){if(void 0!==q.colHeaders&&null!==q.colHeaders)return!!q.colHeaders;for(let e=0,t=V.countCols();e<t;e++)if(V.getColHeader(e))return!0;return!1},this.getColHeader=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;const o=V.runHooks("modifyColHeader",e);if(void 0===o){const e=[],t=V.countCols();for(let o=0;o<t;o++)e.push(V.getColHeader(o));return e}let s=q.colHeaders;const n=V.toPhysicalColumn(o),i=function(e){const t=[],o=V.countCols();let s=0;for(;s<o;s++)(0,r.isFunction)(q.columns)&&q.columns(s)&&t.push(s);return t[e]}(n);return!1===q.colHeaders?s=null:q.columns&&(0,r.isFunction)(q.columns)&&q.columns(i)&&q.columns(i).title?s=q.columns(i).title:q.columns&&q.columns[n]&&q.columns[n].title?s=q.columns[n].title:Array.isArray(q.colHeaders)&&void 0!==q.colHeaders[n]?s=q.colHeaders[n]:(0,r.isFunction)(q.colHeaders)?s=q.colHeaders(n):q.colHeaders&&"string"!=typeof q.colHeaders&&"number"!=typeof q.colHeaders&&(s=(0,S.spreadsheetColumnLabel)(o)),s=V.runHooks("modifyColumnHeaderValue",s,e,t),s},this._getColWidthFromSettings=function(e){let t;if(e>=0){t=V.getCellMeta(0,e).width}if(void 0!==t&&t!==q.width||(t=q.colWidths),null!=t){switch(typeof t){case"object":t=t[e];break;case"function":t=t(e)}"string"==typeof t&&(t=parseInt(t,10))}return t},this.getColWidth=function(e){let t=V._getColWidthFromSettings(e);return t=V.runHooks("modifyColWidth",t,e),void 0===t&&(t=b.ViewportColumnsCalculator.DEFAULT_WIDTH),t},this._getRowHeightFromSettings=function(e){let t=q.rowHeights;if(null!=t){switch(typeof t){case"object":t=t[e];break;case"function":t=t(e)}"string"==typeof t&&(t=parseInt(t,10))}return t},this.getRowHeight=function(e){let t=V._getRowHeightFromSettings(e);return t=V.runHooks("modifyRowHeight",t,e),t},this.countSourceRows=function(){return U.countRows()},this.countSourceCols=function(){return U.countFirstRowKeys()},this.countRows=function(){return B.getLength()},this.countCols=function(){const e=q.maxCols,t=this.columnIndexMapper.getNotTrimmedIndexesLength();return Math.min(e,t)},this.countRenderedRows=function(){return V.view._wt.drawn?V.view._wt.wtTable.getRenderedRowsCount():-1},this.countVisibleRows=function(){return V.view._wt.drawn?V.view._wt.wtTable.getVisibleRowsCount():-1},this.countRenderedCols=function(){return V.view._wt.drawn?V.view._wt.wtTable.getRenderedColumnsCount():-1},this.countVisibleCols=function(){return V.view._wt.drawn?V.view._wt.wtTable.getVisibleColumnsCount():-1},this.countRowHeaders=function(){return this.view.getRowHeadersCount()},this.countColHeaders=function(){return this.view.getColumnHeadersCount()},this.countEmptyRows=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=0;return(0,E.rangeEachReverse)(V.countRows()-1,(o=>{if(V.isEmptyRow(o))t+=1;else if(!0===e)return!1})),t},this.countEmptyCols=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=0;return(0,E.rangeEachReverse)(V.countCols()-1,(o=>{if(V.isEmptyCol(o))t+=1;else if(!0===e)return!1})),t},this.isEmptyRow=function(e){return q.isEmptyRow.call(V,e)},this.isEmptyCol=function(e){return q.isEmptyCol.call(V,e)},this.selectCell=function(e,t,o,s){let n=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];return!(0,i.isUndefined)(e)&&!(0,i.isUndefined)(t)&&this.selectCells([[e,t,o,s]],n,r)},this.selectCells=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[[]],t=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];!1===(!(arguments.length>1&&void 0!==arguments[1])||arguments[1])&&(F=!0);const o=Z.selectCells(e);return o&&t&&V.listen(),F=!1,o},this.selectColumns=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,o=arguments.length>2?arguments[2]:void 0;return Z.selectColumns(e,t,o)},this.selectRows=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,o=arguments.length>2?arguments[2]:void 0;return Z.selectRows(e,t,o)},this.deselectCell=function(){Z.deselect()},this.selectAll=function(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,o=arguments.length>2?arguments[2]:void 0;F=!0,Z.selectAll(e,t,o),F=!1};const he=(e,t)=>e.getNearestNotHiddenIndex(t,1,!0);this.scrollViewportTo=function(){let e,t,o,s,{row:n,col:r,verticalSnap:i,horizontalSnap:l,considerHiddenIndexes:a}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};void 0!==i&&(e="top"===i,t=!e),void 0!==l&&(o="start"===l,s=!o);let h=n,d=r;if(void 0===a||a){const e=Number.isInteger(n)&&n>=0,t=Number.isInteger(r)&&r>=0,o=e?he(this.rowIndexMapper,n):void 0,s=t?he(this.columnIndexMapper,r):void 0;if(null===o||null===s)return!1;h=e?V.rowIndexMapper.getRenderableFromVisualIndex(o):n,d=t?V.columnIndexMapper.getRenderableFromVisualIndex(s):r}const c=Number.isInteger(h),u=Number.isInteger(d);return c&&h>=0&&u&&d>=0?V.view.scrollViewport(V._createCellCoords(h,d),e,s,t,o):c&&h>=0&&(u&&d<0||!u)?V.view.scrollViewportVertically(h,e,t):!!(u&&d>=0&&(c&&h<0||!c))&&V.view.scrollViewportHorizontally(d,s,o)},this.scrollToFocusedCell=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>{};if(!this.selection.isSelected())return;this.addHookOnce("afterScroll",e);const{highlight:t}=this.getSelectedRangeLast();this.scrollViewportTo(t.toObject())?this.view.render():(this.removeHook("afterScroll",e),this._registerImmediate((()=>e())))},this.destroy=function(){if(V._clearTimeouts(),V._clearImmediates(),V.view&&V.view.destroy(),U&&U.destroy(),U=null,this.getShortcutManager().destroy(),X.clearCache(),L.delete(this.guid),(0,_.isRootInstance)(V)){const e=this.rootDocument.querySelector(".hot-display-license-info");e&&e.parentNode.removeChild(e)}(0,n.empty)(V.rootElement),W.destroy(),j&&j.destroy(),V.batchExecution((()=>{V.rowIndexMapper.unregisterAll(),V.columnIndexMapper.unregisterAll(),J.getItems().forEach((e=>{let[,t]=e;t.destroy()})),J.clear(),V.runHooks("afterDestroy")}),!0),T.default.getSingleton().destroy(V),(0,d.objectEach)(V,((e,t,o)=>{var s;(0,r.isFunction)(e)?o[t]=(s=t,()=>{throw new Error(`The "${s}" method cannot be called because this Handsontable instance has been destroyed`)}):"guid"!==t&&(o[t]=null)})),V.isDestroyed=!0,B&&B.destroy(),B=null,Y=null,Z=null,j=null,V=null},this.getActiveEditor=function(){return j.getActiveEditor()},this.getPlugin=function(e){const t=(0,w.toUpperCaseFirst)(e);return"UndoRedo"===t?this.undoRedo:J.getItem(t)},this.getPluginName=function(e){return e===this.undoRedo?this.undoRedo.constructor.PLUGIN_KEY:J.getId(e)},this.getInstance=function(){return V},this.addHook=function(e,t){T.default.getSingleton().add(e,t,V)},this.hasHook=function(e){return T.default.getSingleton().has(e,V)||T.default.getSingleton().has(e)},this.addHookOnce=function(e,t){T.default.getSingleton().once(e,t,V)},this.removeHook=function(e,t){T.default.getSingleton().remove(e,t,V)},this.runHooks=function(e,t,o,s,n,r,i){return T.default.getSingleton().run(V,e,t,o,s,n,r,i)},this.getTranslatedPhrase=function(e,t){return(0,M.getTranslatedPhrase)(q.language,e,t)},this.toHTML=()=>(0,g.instanceToHTML)(this),this.toTableElement=()=>{const e=this.rootDocument.createElement("div");return e.insertAdjacentHTML("afterbegin",(0,g.instanceToHTML)(this)),e.firstElementChild},this.timeouts=[],this._registerTimeout=function(e){let t=e;"function"==typeof t&&(t=setTimeout(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0)),this.timeouts.push(t)},this._clearTimeouts=function(){(0,u.arrayEach)(this.timeouts,(e=>{clearTimeout(e)}))},this.immediates=[],this._registerImmediate=function(e){this.immediates.push(setImmediate(e))},this._clearImmediates=function(){(0,u.arrayEach)(this.immediates,(e=>{clearImmediate(e)}))},this._refreshBorders=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];j.destroyEditor(e),V.view.render(),t&&Z.isSelected()&&j.prepareEditor()},this._getEditorManager=function(){return j},this.isRtl=function(){return"rtl"===V.rootWindow.getComputedStyle(V.rootElement).direction},this.isLtr=function(){return!V.isRtl()},this.getDirectionFactor=function(){return V.isLtr()?1:-1};const de=(0,H.createShortcutManager)({handleEvent:()=>V.isListening(),beforeKeyDown:e=>this.runHooks("beforeKeyDown",e),afterKeyDown:e=>{this.isDestroyed||V.runHooks("afterDocumentKeyDown",e)},ownerWindow:this.rootWindow});this.addHook("beforeOnCellMouseDown",(e=>{!1===e.ctrlKey&&!1===e.metaKey&&de.releasePressedKeys()})),this.getShortcutManager=function(){return de},this.getFocusManager=function(){return G},(0,f.getPluginsNames)().forEach((e=>{const t=(0,f.getPlugin)(e);J.addItem(e,new t(this))})),(0,x.registerAllShortcutContexts)(V),de.setActiveContextName("grid"),T.default.getSingleton().run(V,"construct")},o(63517),o(91683),o(97552);var n=o(83302),r=o(85015),i=o(93315),l=o(37595),a=s(o(6116)),h=s(o(75244)),d=o(22232),c=o(51400),u=o(50095),g=o(52870),f=o(52036),p=o(7462),m=o(83605),C=o(80239),w=o(18609),E=o(68145),y=s(o(54833)),v=s(o(43951)),S=o(65320),R=o(33165),_=o(45433),b=o(21280),T=s(o(56307)),M=o(22489),O=o(8222),I=o(69167),A=o(3177),N=o(41808),P=o(42386),H=o(47152),x=o(29282);let D=null;const L=new Map;new Set},89055:(e,t,o)=>{"use strict";t.__esModule=!0,t.installFocusDetector=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=e.rootElement,s=r(e),n=r(e);return s.addEventListener("focus",(()=>null==t?void 0:t.onFocusFromTop())),n.addEventListener("focus",(()=>null==t?void 0:t.onFocusFromBottom())),o.firstChild.before(s),o.lastChild.after(n),{activate(){e._registerTimeout((()=>{s.tabIndex=0,n.tabIndex=0}),10)},deactivate(){e._registerTimeout((()=>{s.tabIndex=-1,n.tabIndex=-1}),10)}}};var s=o(83302),n=o(5386);function r(e){const t=e.rootDocument.createElement("input");return t.type="text",t.classList.add("htFocusCatcher"),e.getSettings().ariaTags&&(0,s.setAttribute)(t,[(0,n.A11Y_PRESENTATION)()]),t}},58954:(e,t,o)=>{"use strict";t.__esModule=!0,t.installFocusCatcher=function(e){let t;const{activate:o,deactivate:l}=(0,n.installFocusDetector)(e,{onFocusFromTop(){var o;const s=null!==(o=t)&&void 0!==o?o:r(e);s&&(e.runHooks("modifyFocusOnTabNavigation","from_above",s),e.selectCell(s.row,s.col)),e.listen()},onFocusFromBottom(){var o;const s=null!==(o=t)&&void 0!==o?o:i(e);s&&(e.runHooks("modifyFocusOnTabNavigation","from_below",s),e.selectCell(s.row,s.col)),e.listen()}}),a={wrapped:!1,flipped:!1};e.addHook("afterListen",(()=>l())),e.addHook("afterUnlisten",(()=>o())),e.addHook("afterSelection",(()=>{var o;t=null===(o=e.getSelectedRangeLast())||void 0===o?void 0:o.highlight})),e.addHook("beforeRowWrap",((e,t,o)=>{a.wrapped=!0,a.flipped=o})),e.getShortcutManager().getContext("grid").addShortcut({keys:[["Tab"],["Shift","Tab"]],callback:o=>{const{disableTabNavigation:s,autoWrapRow:n}=e.getSettings();if(s||!e.selection.isSelected()||n&&a.wrapped&&a.flipped||!n&&a.wrapped)return n&&a.wrapped&&a.flipped&&(t=o.shiftKey?r(e):i(e)),a.wrapped=!1,a.flipped=!1,e.deselectCell(),e.unlisten(),!1;o.preventDefault()},runOnlyIf:()=>!e.getSettings().minSpareCols,preventDefault:!1,stopPropagation:!1,position:"after",relativeToGroup:s.GRID_GROUP,group:"focusCatcher"})};var s=o(29282),n=o(89055);function r(e){const{rowIndexMapper:t,columnIndexMapper:o}=e,{navigableHeaders:s}=e.getSettings();let n=s&&e.countColHeaders()>0?-e.countColHeaders():0,r=s&&e.countRowHeaders()>0?-e.countRowHeaders():0;return 0===n&&(n=t.getVisualFromRenderableIndex(n)),0===r&&(r=o.getVisualFromRenderableIndex(r)),null===n||null===r?null:e._createCellCoords(n,r)}function i(e){var t,o;const{rowIndexMapper:s,columnIndexMapper:n}=e,{navigableHeaders:r}=e.getSettings();let i=s.getRenderableIndexesLength()-1,l=n.getRenderableIndexesLength()-1;if(i<0){if(!r||0===e.countColHeaders())return null;i=-1}if(l<0){if(!r||0===e.countColHeaders())return null;l=-1}return e._createCellCoords(null!==(t=s.getVisualFromRenderableIndex(i))&&void 0!==t?t:i,null!==(o=n.getVisualFromRenderableIndex(l))&&void 0!==o?o:l)}},41808:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(58954);Object.keys(s).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===s[e]||(t[e]=s[e]))}))},85631:(e,t,o)=>{"use strict";t.__esModule=!0,o(91683),o(63517);var s=o(29270),n=o(65320),r=o(22232),i=o(50095),l=o(68145),a=o(93315);class h{static get DESTINATION_RENDERER(){return 1}static get DESTINATION_CLIPBOARD_GENERATOR(){return 2}constructor(e,t,o){this.instance=e,this.metaManager=o,this.tableMeta=o.getTableMeta(),this.dataSource=t,this.duckSchema=this.createDuckSchema(),this.colToPropCache=void 0,this.propToColCache=void 0,this.createMap()}createMap(){const e=this.getSchema();if(void 0===e)throw new Error("trying to create `columns` definition but you didn't provide `schema` nor `data`");const t=this.tableMeta.columns;let o;if(this.colToPropCache=[],this.propToColCache=new Map,t){let s=0,n=0,i=!1;if("function"==typeof t){const t=(0,r.deepObjectSize)(e);s=t>0?t:this.countFirstRowKeys(),i=!0}else{const e=this.tableMeta.maxCols;s=Math.min(e,t.length)}for(o=0;o<s;o++){const e=i?t(o):t[o];if((0,r.isObject)(e)){if(void 0!==e.data){const t=i?n:o;this.colToPropCache[t]=e.data,this.propToColCache.set(e.data,t)}n+=1}}}else this.recursiveDuckColumns(e)}countFirstRowKeys(){return(0,n.countFirstRowKeys)(this.dataSource)}recursiveDuckColumns(e,t,o){let s,n=t,i=o;return void 0===n&&(n=0,i=""),"object"!=typeof e||Array.isArray(e)||(0,r.objectEach)(e,((e,t)=>{null===e?(s=i+t,this.colToPropCache.push(s),this.propToColCache.set(s,n),n+=1):n=this.recursiveDuckColumns(e,n,`${t}.`)})),n}colToProp(e){if(!1===Number.isInteger(e))return e;const t=this.instance.toPhysicalColumn(e);return null===t?e:this.colToPropCache&&(0,a.isDefined)(this.colToPropCache[t])?this.colToPropCache[t]:t}propToCol(e){const t=this.propToColCache.get(e);if((0,a.isDefined)(t))return this.instance.toVisualColumn(t);const o=this.instance.toVisualColumn(e);return null===o?e:o}getSchema(){const e=this.tableMeta.dataSchema;return e?"function"==typeof e?e():e:this.duckSchema}createDuckSchema(){return this.dataSource&&this.dataSource[0]?(0,r.duckSchema)(this.dataSource[0]):{}}refreshDuckSchema(){this.duckSchema=this.createDuckSchema()}createRow(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,{source:o,mode:s="above"}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const n=this.instance.countSourceRows();let i=n,a=0,h=e;("number"!=typeof h||h>=n)&&(h=n),h<this.instance.countRows()&&(i=this.instance.toPhysicalRow(h));if(!1===this.instance.runHooks("beforeCreateRow",h,t,o)||null===i)return{delta:0};const d=this.tableMeta.maxRows,c=this.getSchema().length,u=[];for(;a<t&&n+a<d;){let e=null;"array"===this.instance.dataType?this.tableMeta.dataSchema?e=(0,r.deepClone)(this.getSchema()):(e=[],(0,l.rangeEach)(c-1,(()=>e.push(null)))):"function"===this.instance.dataType?e=this.tableMeta.dataSchema(h+a):(e={},(0,r.deepExtend)(e,this.getSchema())),u.push(e),a+=1}this.instance.rowIndexMapper.insertIndexes(h,a),"below"===s&&(i=Math.min(i+1,n)),this.spliceData(i,0,u);const g=this.instance.toVisualRow(i);return this.instance.countSourceRows()===u.length&&this.instance.columnIndexMapper.initToLength(this.instance.getInitialColumnCount()),a>0&&(null==e?this.metaManager.createRow(null,a):"auto"!==o&&this.metaManager.createRow(i,t)),this.instance.runHooks("afterCreateRow",g,a,o),this.instance.forceFullRender=!0,{delta:a,startPhysicalIndex:i}}createCol(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,{source:o,mode:s="start"}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!this.instance.isColumnModificationAllowed())throw new Error("Cannot create new column. When data source in an object, you can only have as much columns as defined in first data row, data schema or in the 'columns' setting.If you want to be able to add new columns, you have to use array datasource.");const n=this.dataSource,r=this.tableMeta.maxCols,i=this.instance.countSourceCols();let l=e;("number"!=typeof l||l>=i)&&(l=i);if(!1===this.instance.runHooks("beforeCreateCol",l,t,o))return{delta:0};let a=i;l<this.instance.countCols()&&(a=this.instance.toPhysicalColumn(l));const h=this.instance.countSourceRows();let d=this.instance.countCols(),c=0,u=a;"end"===s&&(u=Math.min(u+1,i));const g=u;for(;c<t&&d<r;){if("number"!=typeof l||l>=d)if(h>0)for(let e=0;e<h;e+=1)void 0===n[e]&&(n[e]=[]),n[e].push(null);else n.push([null]);else for(let e=0;e<h;e++)n[e].splice(u,0,null);c+=1,u+=1,d+=1}this.instance.columnIndexMapper.insertIndexes(l,c),c>0&&(null==e?this.metaManager.createColumn(null,c):"auto"!==o&&this.metaManager.createColumn(g,t));const f=this.instance.toVisualColumn(g);return this.instance.runHooks("afterCreateCol",f,c,o),this.instance.forceFullRender=!0,this.refreshDuckSchema(),{delta:c,startPhysicalIndex:g}}removeRow(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,o=arguments.length>2?arguments[2]:void 0,s=Number.isInteger(e)?e:-t;const n=this.visualRowsToPhysical(s,t),r=this.instance.countSourceRows();s=(r+s)%r;if(!1===this.instance.runHooks("beforeRemoveRow",s,n.length,n,o))return!1;const i=n.length;if(this.filterData(s,i,n),s<this.instance.countRows()){this.instance.rowIndexMapper.removeIndexes(n);const e=(0,a.isDefined)(this.tableMeta.columns)||(0,a.isDefined)(this.tableMeta.dataSchema);0===this.instance.rowIndexMapper.getNotTrimmedIndexesLength()&&!1===e&&this.instance.columnIndexMapper.setIndexesSequence([])}return n.slice(0).sort(((e,t)=>t-e)).forEach((e=>{this.metaManager.removeRow(e,1)})),this.instance.runHooks("afterRemoveRow",s,i,n,o),this.instance.forceFullRender=!0,!0}removeCol(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,o=arguments.length>2?arguments[2]:void 0;if("object"===this.instance.dataType||this.tableMeta.columns)throw new Error("cannot remove column with object data source or columns option specified");let s="number"!=typeof e?-t:e;s=(this.instance.countCols()+s)%this.instance.countCols();const n=this.visualColumnsToPhysical(s,t),r=n.slice(0).sort(((e,t)=>t-e));if(!1===this.instance.runHooks("beforeRemoveCol",s,t,n,o))return!1;let i=!0;const l=r.length,a=this.dataSource;for(let e=0;e<l;e++)i&&n[0]!==n[e]-e&&(i=!1);if(i)for(let e=0,o=this.instance.countSourceRows();e<o;e++)a[e].splice(n[0],t),0===e&&this.metaManager.removeColumn(n[0],t);else for(let e=0,t=this.instance.countSourceRows();e<t;e++)for(let t=0;t<l;t++)a[e].splice(r[t],1),0===e&&this.metaManager.removeColumn(r[t],1);return s<this.instance.countCols()&&(this.instance.columnIndexMapper.removeIndexes(n),0===this.instance.columnIndexMapper.getNotTrimmedIndexesLength()&&this.instance.rowIndexMapper.setIndexesSequence([])),this.instance.runHooks("afterRemoveCol",s,t,n,o),this.instance.forceFullRender=!0,this.refreshDuckSchema(),!0}spliceCol(e,t,o){const s=this.instance.getDataAtCol(e),n=s.slice(t,t+o),r=s.slice(t+o);for(var l=arguments.length,a=new Array(l>3?l-3:0),h=3;h<l;h++)a[h-3]=arguments[h];(0,i.extendArray)(a,r);let d=0;for(;d<o;)a.push(null),d+=1;return(0,i.to2dArray)(a),this.instance.populateFromArray(t,e,a,null,null,"spliceCol"),n}spliceRow(e,t,o){const s=this.instance.getSourceDataAtRow(e),n=s.slice(t,t+o),r=s.slice(t+o);for(var l=arguments.length,a=new Array(l>3?l-3:0),h=3;h<l;h++)a[h-3]=arguments[h];(0,i.extendArray)(a,r);let d=0;for(;d<o;)a.push(null),d+=1;return this.instance.populateFromArray(e,t,[a],null,null,"spliceRow"),n}spliceData(e,t,o){if(!1!==this.instance.runHooks("beforeDataSplice",e,t,o)){const t=[...this.dataSource.slice(0,e),...o,...this.dataSource.slice(e)];this.dataSource.length=0,t.forEach((e=>this.dataSource.push(e)))}}filterData(e,t,o){let s=this.instance.runHooks("filterData",e,t,o);!1===Array.isArray(s)&&(s=this.dataSource.filter(((e,t)=>-1===o.indexOf(t)))),this.dataSource.length=0,Array.prototype.push.apply(this.dataSource,s)}get(e,t){const o=this.instance.toPhysicalRow(e);let s=this.dataSource[o];const n=this.instance.runHooks("modifyRowData",o);s=isNaN(n)?n:s;let i=null;if(s&&s.hasOwnProperty&&(0,r.hasOwnProperty)(s,t))i=s[t];else if("string"==typeof t&&t.indexOf(".")>-1){const e=t.split(".");let o=s;if(!o)return null;for(let t=0,s=e.length;t<s;t++)if(o=o[e[t]],void 0===o)return null;i=o}else"function"==typeof t&&(i=t(this.dataSource.slice(o,o+1)[0]));if(this.instance.hasHook("modifyData")){const e=(0,r.createObjectPropListener)(i);this.instance.runHooks("modifyData",o,this.propToCol(t),e,"get"),e.isTouched()&&(i=e.value)}return i}getCopyable(e,t){return this.instance.getCellMeta(e,this.propToCol(t)).copyable?this.get(e,t):""}set(e,t,o){const s=this.instance.toPhysicalRow(e);let n=o,i=this.dataSource[s];const l=this.instance.runHooks("modifyRowData",s);if(i=isNaN(l)?l:i,this.instance.hasHook("modifyData")){const e=(0,r.createObjectPropListener)(n);this.instance.runHooks("modifyData",s,this.propToCol(t),e,"set"),e.isTouched()&&(n=e.value)}if(i&&i.hasOwnProperty&&(0,r.hasOwnProperty)(i,t))i[t]=n;else if("string"==typeof t&&t.indexOf(".")>-1){const e=t.split(".");let o,s=i,r=0;for(r=0,o=e.length-1;r<o;r++)void 0===s[e[r]]&&(s[e[r]]={}),s=s[e[r]];s[e[r]]=n}else"function"==typeof t?t(this.dataSource.slice(s,s+1)[0],n):i[t]=n}visualRowsToPhysical(e,t){const o=this.instance.countSourceRows(),s=[];let n,r=(o+e)%o,i=t;for(;r<o&&i;)n=this.instance.toPhysicalRow(r),s.push(n),i-=1,r+=1;return s}visualColumnsToPhysical(e,t){const o=this.instance.countCols(),s=[];let n=(o+e)%o,r=t;for(;n<o&&r;){const e=this.instance.toPhysicalColumn(n);s.push(e),r-=1,n+=1}return s}clear(){for(let e=0;e<this.instance.countSourceRows();e++)for(let t=0;t<this.instance.countCols();t++)this.set(e,this.colToProp(t),"")}getLength(){const e=this.tableMeta.maxRows;let t;t=e<0||0===e?0:e||1/0;const o=this.instance.rowIndexMapper.getNotTrimmedIndexesLength();return Math.min(o,t)}getAll(){const e={row:0,col:0},t={row:Math.max(this.instance.countRows()-1,0),col:Math.max(this.instance.countCols()-1,0)};return e.row-t.row!=0||this.instance.countSourceRows()?this.getRange(e,t,h.DESTINATION_RENDERER):[]}countCachedColumns(){return this.colToPropCache.length}getRange(e,t,o){const s=[];let n,r,i;const l=this.tableMeta.maxRows,a=this.tableMeta.maxCols;if(0===l||0===a)return[];const d=o===h.DESTINATION_CLIPBOARD_GENERATOR?this.getCopyable:this.get,c=Math.min(Math.max(l-1,0),Math.max(e.row,t.row)),u=Math.min(Math.max(a-1,0),Math.max(e.col,t.col));for(n=Math.min(e.row,t.row);n<=c;n++){i=[];const o=n>=0?this.instance.toPhysicalRow(n):n;for(r=Math.min(e.col,t.col);r<=u&&null!==o;r++)i.push(d.call(this,n,this.colToProp(r)));null!==o&&s.push(i)}return s}getText(e,t){return(0,s.stringify)(this.getRange(e,t,h.DESTINATION_RENDERER))}getCopyableText(e,t){return(0,s.stringify)(this.getRange(e,t,h.DESTINATION_CLIPBOARD_GENERATOR))}destroy(){this.instance=null,this.metaManager=null,this.dataSource=null,this.duckSchema=null,this.colToPropCache.length=0,this.propToColCache.clear(),this.propToColCache=void 0}}t.default=h},43951:(e,t,o)=>{"use strict";t.__esModule=!0,o(63517);var s=o(22232),n=o(65320),r=o(50095),i=o(68145),l=o(85015);t.default=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.hot=e,this.data=t,this.dataType="array",this.colToProp=()=>{},this.propToCol=()=>{}}modifyRowData(e){let t;return this.hot.hasHook("modifyRowData")&&(t=this.hot.runHooks("modifyRowData",e)),void 0===t||Number.isInteger(t)?this.data[e]:t}getData(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.data&&0!==this.data.length?this.getByRange(null,null,e):this.data}setData(e){this.data=e}getAtColumn(e){const t=[];return(0,r.arrayEach)(this.data,((o,s)=>{const n=this.getAtCell(s,e);t.push(n)})),t}getAtRow(e,t,o){let n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const r=void 0===t&&void 0===o;let a=null,h=null;if(a=this.modifyRowData(e),Array.isArray(a))h=[],r?a.forEach(((t,o)=>{h[o]=this.getAtPhysicalCell(e,o,a)})):(0,i.rangeEach)(t,o,(o=>{h[o-t]=this.getAtPhysicalCell(e,o,a)}));else if((0,s.isObject)(a)||(0,l.isFunction)(a))if(h=n?[]:{},!r||n){const r=0,l=this.countFirstRowKeys()-1;(0,i.rangeEach)(r,l,(i=>{const d=this.colToProp(i);if(i>=(t||r)&&i<=(o||l)&&!Number.isInteger(d)){const t=this.getAtPhysicalCell(e,d,a);n?h.push(t):(0,s.setProperty)(h,d,t)}}))}else(0,s.objectEach)(a,((t,o)=>{(0,s.setProperty)(h,o,this.getAtPhysicalCell(e,o,a))}));return h}setAtCell(e,t,o){if(!(e>=this.countRows()||t>=this.countFirstRowKeys())){if(this.hot.hasHook("modifySourceData")){const n=(0,s.createObjectPropListener)(o);this.hot.runHooks("modifySourceData",e,t,n,"set"),n.isTouched()&&(o=n.value)}Number.isInteger(t)?this.data[e][t]=o:(0,s.setProperty)(this.data[e],t,o)}}getAtPhysicalCell(e,t,o){let n=null;if(o&&(n="string"==typeof t?(0,s.getProperty)(o,t):"function"==typeof t?t(o):o[t]),this.hot.hasHook("modifySourceData")){const o=(0,s.createObjectPropListener)(n);this.hot.runHooks("modifySourceData",e,t,o,"get"),o.isTouched()&&(n=o.value)}return n}getAtCell(e,t){const o=this.modifyRowData(e);return this.getAtPhysicalCell(e,this.colToProp(t),o)}getByRange(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2],s=!1,n=null,r=null,l=null,a=null;null===e||null===t?(s=!0,n=0,l=this.countRows()-1):(n=Math.min(e.row,t.row),r=Math.min(e.col,t.col),l=Math.max(e.row,t.row),a=Math.max(e.col,t.col));const h=[];return(0,i.rangeEach)(n,l,(e=>{h.push(s?this.getAtRow(e,void 0,void 0,o):this.getAtRow(e,r,a,o))})),h}countRows(){if(this.hot.hasHook("modifySourceLength")){const e=this.hot.runHooks("modifySourceLength");if(Number.isInteger(e))return e}return this.data.length}countFirstRowKeys(){return(0,n.countFirstRowKeys)(this.data)}destroy(){this.data=null,this.hot=null}}},3177:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=s(o(85631));t.DataMap=n.default;var r=s(o(10146));t.MetaManager=r.default;var i=s(o(87574));t.metaSchemaFactory=i.default;var l=o(73046);t.replaceData=l.replaceData;var a=o(24298);t.DynamicCellMetaMod=a.DynamicCellMetaMod;var h=o(63511);t.ExtendMetaPropertiesMod=h.ExtendMetaPropertiesMod},10146:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(91683);var n=s(o(23373)),r=s(o(34624)),i=s(o(22142)),l=s(o(7083)),a=s(o(65718)),h=o(22232);class d{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];this.hot=e,this.globalMeta=new n.default(e),this.tableMeta=new r.default(this.globalMeta),this.columnMeta=new i.default(this.globalMeta),this.cellMeta=new l.default(this.columnMeta),o.forEach((e=>new e(this))),this.globalMeta.updateMeta(t)}getGlobalMeta(){return this.globalMeta.getMeta()}updateGlobalMeta(e){this.globalMeta.updateMeta(e)}getTableMeta(){return this.tableMeta.getMeta()}updateTableMeta(e){this.tableMeta.updateMeta(e)}getColumnMeta(e){return this.columnMeta.getMeta(e)}updateColumnMeta(e,t){this.columnMeta.updateMeta(e,t)}getCellMeta(e,t,o){let{visualRow:s,visualColumn:n}=o;const r=this.cellMeta.getMeta(e,t);return r.visualRow=s,r.visualCol=n,r.row=e,r.col=t,this.runLocalHooks("afterGetCellMeta",r),r}getCellMetaKeyValue(e,t,o){if("string"!=typeof o)throw new Error("The passed cell meta object key is not a string");return this.cellMeta.getMeta(e,t,o)}setCellMeta(e,t,o,s){this.cellMeta.setMeta(e,t,o,s)}updateCellMeta(e,t,o){this.cellMeta.updateMeta(e,t,o)}removeCellMeta(e,t,o){this.cellMeta.removeMeta(e,t,o)}getCellsMeta(){return this.cellMeta.getMetas()}getCellsMetaAtRow(e){return this.cellMeta.getMetasAtRow(e)}createRow(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;this.cellMeta.createRow(e,t)}removeRow(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;this.cellMeta.removeRow(e,t)}createColumn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;this.cellMeta.createColumn(e,t),this.columnMeta.createColumn(e,t)}removeColumn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;this.cellMeta.removeColumn(e,t),this.columnMeta.removeColumn(e,t)}clearCellsCache(){this.cellMeta.clearCache()}clearCache(){this.cellMeta.clearCache(),this.columnMeta.clearCache()}}t.default=d,(0,h.mixin)(d,a.default)},32156:(e,t,o)=>{"use strict";t.__esModule=!0,o(63517);var s=o(50095),n=o(8972);class r{constructor(e){this.valueFactory=e,this.data=[],this.index=[],this.holes=new Set}obtain(e){(0,n.assert)((()=>(0,n.isUnsignedNumber)(e)),"Expecting an unsigned number.");const t=this._getStorageIndexByKey(e);let o;if(t>=0)o=this.data[t],void 0===o&&(o=this.valueFactory(e),this.data[t]=o);else if(o=this.valueFactory(e),this.holes.size>0){const t=this.holes.values().next().value;this.holes.delete(t),this.data[t]=o,this.index[e]=t}else this.data.push(o),this.index[e]=this.data.length-1;return o}insert(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;(0,n.assert)((()=>(0,n.isUnsignedNumber)(e)||(0,n.isNullish)(e)),"Expecting an unsigned number or null/undefined argument.");const o=[],s=this.data.length;for(let e=0;e<t;e++)o.push(s+e),this.data.push(void 0);const r=(0,n.isNullish)(e)?this.index.length:e;this.index=[...this.index.slice(0,r),...o,...this.index.slice(r)]}remove(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;(0,n.assert)((()=>(0,n.isUnsignedNumber)(e)||(0,n.isNullish)(e)),"Expecting an unsigned number or null/undefined argument.");const o=this.index.splice((0,n.isNullish)(e)?this.index.length-t:e,t);for(let e=0;e<o.length;e++){const t=o[e];"number"==typeof t&&this.holes.add(t)}}size(){return this.data.length-this.holes.size}values(){return(0,s.arrayFilter)(this.data,((e,t)=>!this.holes.has(t)))[Symbol.iterator]()}entries(){const e=[];for(let t=0;t<this.data.length;t++){const o=this._getKeyByStorageIndex(t);-1!==o&&e.push([o,this.data[t]])}let t=0;return{next:()=>{if(t<e.length){const o=e[t];return t+=1,{value:o,done:!1}}return{done:!0}}}}clear(){this.data=[],this.index=[],this.holes.clear()}_getStorageIndexByKey(e){return this.index.length>e?this.index[e]:-1}_getKeyByStorageIndex(e){return this.index.indexOf(e)}[Symbol.iterator](){return this.entries()}}t.default=r},7083:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(63517);var n=o(22232),r=o(8972),i=s(o(32156));t.default=class{constructor(e){this.columnMeta=e,this.metas=new i.default((()=>this._createRow()))}updateMeta(e,t,o){const s=this.getMeta(e,t);(0,n.extend)(s,o),(0,r.extendByMetaType)(s,o)}createRow(e,t){this.metas.insert(e,t)}createColumn(e,t){for(let o=0;o<this.metas.size();o++)this.metas.obtain(o).insert(e,t)}removeRow(e,t){this.metas.remove(e,t)}removeColumn(e,t){for(let o=0;o<this.metas.size();o++)this.metas.obtain(o).remove(e,t)}getMeta(e,t,o){const s=this.metas.obtain(e).obtain(t);return void 0===o?s:s[o]}setMeta(e,t,o,s){var n;const r=this.metas.obtain(e).obtain(t);null===(n=r._automaticallyAssignedMetaProps)||void 0===n||n.delete(o),r[o]=s}removeMeta(e,t,o){delete this.metas.obtain(e).obtain(t)[o]}getMetas(){const e=[],t=Array.from(this.metas.values());for(let o=0;o<t.length;o++)e.push(...t[o].values());return e}getMetasAtRow(e){(0,r.assert)((()=>(0,r.isUnsignedNumber)(e)),"Expecting an unsigned number.");const t=new Map(this.metas);return t.has(e)?Array.from(t.get(e).values()):[]}clearCache(){this.metas.clear()}_createRow(){return new i.default((e=>this._createMeta(e)))}_createMeta(e){return new(this.columnMeta.getMetaConstructor(e))}}},22142:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=o(22232),r=o(8972),i=s(o(32156));const l=["data","width"];t.default=class{constructor(e){this.globalMeta=e,this.metas=new i.default((()=>this._createMeta()))}updateMeta(e,t){const o=this.getMeta(e);(0,n.extend)(o,t),(0,r.extendByMetaType)(o,t)}createColumn(e,t){this.metas.insert(e,t)}removeColumn(e,t){this.metas.remove(e,t)}getMeta(e){return this.metas.obtain(e)}getMetaConstructor(e){return this.metas.obtain(e).constructor}clearCache(){this.metas.clear()}_createMeta(){return(0,r.columnFactory)(this.globalMeta.getMetaConstructor(),l).prototype}}},23373:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=o(22232),r=o(8972),i=s(o(87574));t.default=class{constructor(e){this.metaCtor=class{},this.meta=this.metaCtor.prototype,(0,n.extend)(this.meta,(0,i.default)()),this.meta.instance=e}getMetaConstructor(){return this.metaCtor}getMeta(){return this.meta}updateMeta(e){var t;(0,n.extend)(this.meta,e),(0,r.extendByMetaType)(this.meta,{...e,type:null!==(t=e.type)&&void 0!==t?t:this.meta.type},e)}}},34624:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(22232),n=o(8972);t.default=class{constructor(e){const t=e.getMetaConstructor();this.meta=new t}getMeta(){return this.meta}updateMeta(e){(0,s.extend)(this.meta,e),(0,n.extendByMetaType)(this.meta,e,e)}}},87574:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(93315),n=o(22232);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,dataSchema:void 0,dateFormat:"DD/MM/YYYY",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,height:void 0,hiddenColumns:void 0,hiddenRows:void 0,invalidCellClassName:"htInvalid",imeFastEdit:!1,isEmptyCol(e){let t,o,n;for(t=0,o=this.countRows();t<o;t++)if(n=this.getDataAtCell(t,e),!1===(0,s.isEmpty)(n))return!1;return!0},isEmptyRow(e){let t,o,r,i;for(t=0,o=this.countCols();t<o;t++)if(r=this.getDataAtCell(e,t),!1===(0,s.isEmpty)(r))return"object"==typeof r&&(i=this.getCellMeta(e,t),(0,n.isObjectEqual)(this.getSchema()[i.prop],r));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,disableTabNavigation:!1,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:void 0,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,tabMoves:{row:0,col:1},title:void 0,trimDropdown:!0,trimRows:void 0,trimWhitespace:!0,type:"text",uncheckedTemplate:void 0,undo:void 0,validator:void 0,viewportColumnRenderingOffset:"auto",viewportRowRenderingOffset:"auto",visibleRows:10,width:void 0,wordWrap:!0})},24298:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=s(o(56307)),r=o(22232),i=o(85015);t.DynamicCellMetaMod=class{constructor(e){this.metaManager=e,this.metaSyncMemo=new Map,e.addLocalHook("afterGetCellMeta",(e=>this.extendCellMeta(e))),n.default.getSingleton().add("beforeRender",(e=>{e&&this.metaSyncMemo.clear()}),this.metaManager.hot)}extendCellMeta(e){var t;const{row:o,col:s}=e;if(null!==(t=this.metaSyncMemo.get(o))&&void 0!==t&&t.has(s))return;const{visualRow:n,visualCol:l}=e,a=this.metaManager.hot,h=a.colToProp(l);e.prop=h,a.runHooks("beforeGetCellMeta",n,l,e);const d=(0,r.hasOwnProperty)(e,"type")?e.type:null;let c=(0,i.isFunction)(e.cells)?e.cells(o,s,h):null;var u;d&&(c?c.type=null!==(u=c.type)&&void 0!==u?u:d:c={type:d});c&&this.metaManager.updateCellMeta(o,s,c),a.runHooks("afterGetCellMeta",n,l,e),this.metaSyncMemo.has(o)||this.metaSyncMemo.set(o,new Set),this.metaSyncMemo.get(o).add(s)}}},63511:(e,t,o)=>{"use strict";t.__esModule=!0,o(91683);t.ExtendMetaPropertiesMod=class{constructor(e){this.metaManager=e,this.usageTracker=new Set,this.propDescriptors=new Map([["ariaTags",{onChange(e,t,o){if(!o)throw new Error(`The \`${e}\` option can not be updated after the Handsontable instance was initialized.`)}}],["fixedColumnsLeft",{target:"fixedColumnsStart",onChange(e){if(this.metaManager.hot.isRtl()&&"fixedColumnsLeft"===e)throw new Error("The `fixedColumnsLeft` is not supported for RTL. Please use option `fixedColumnsStart`.");if(this.usageTracker.has("fixedColumnsLeft")&&this.usageTracker.has("fixedColumnsStart"))throw new Error("The `fixedColumnsLeft` and `fixedColumnsStart` should not be used together. Please use only the option `fixedColumnsStart`.")}}],["layoutDirection",{onChange(e,t,o){if(!o)throw new Error(`The \`${e}\` option can not be updated after the Handsontable is initialized.`)}}]]),this.extendMetaProps()}extendMetaProps(){this.propDescriptors.forEach(((e,t)=>{const{target:o,onChange:s=(()=>{})}=e,n="string"==typeof o,r=n?o:t,i=`_${r}`;this.metaManager.globalMeta.meta[i]=this.metaManager.globalMeta.meta[r],this.installPropWatcher(t,i,s),n&&this.installPropWatcher(o,i,s)}))}installPropWatcher(e,t,o){const s=this;Object.defineProperty(this.metaManager.globalMeta.meta,e,{get(){return this[t]},set(n){const r=!s.usageTracker.has(e);s.usageTracker.add(e),o.call(s,e,n,r),this[t]=n},enumerable:!0,configurable:!0})}}},8972:(e,t,o)=>{"use strict";t.__esModule=!0,t.assert=function(e,t){if(!e())throw new Error(`Assertion failed: ${t}`)},t.columnFactory=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];function o(){}(0,s.inherit)(o,e);for(let e=0;e<t.length;e++)o.prototype[t[e]]=void 0;return o},t.extendByMetaType=function(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e;const r="string"==typeof t.type?(0,n.getCellType)(t.type):t.type;e._automaticallyAssignedMetaProps&&(0,s.objectEach)(t,((t,o)=>{e._automaticallyAssignedMetaProps.delete(o)}));if(!(0,s.isObject)(r))return;o!==e||e._automaticallyAssignedMetaProps||(e._automaticallyAssignedMetaProps=new Set);const i={};(0,s.objectEach)(r,((t,n)=>{var r;(function(e,t){var o;if("CELL_TYPE"===e)return!1;return(null===(o=t._automaticallyAssignedMetaProps)||void 0===o?void 0:o.has(e))||!(0,s.hasOwnProperty)(t,e)})(n,o)&&(i[n]=t,null===(r=e._automaticallyAssignedMetaProps)||void 0===r||r.add(n))})),(0,s.extend)(e,i)},t.isNullish=function(e){return null==e},t.isUnsignedNumber=function(e){return Number.isInteger(e)&&e>=0},o(91683);var s=o(22232),n=o(65324)},73046:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,t.replaceData=function(e,t,o,s){const{hotInstance:d,dataMap:c,dataSource:u,internalSource:g,source:f,metaManager:p,firstRun:m}=s,C=(0,n.toUpperCaseFirst)(g),w=d.getSettings();Array.isArray(w.dataSchema)?d.dataType="array":(0,r.isFunction)(w.dataSchema)?d.dataType="function":d.dataType="object";c&&c.destroy();e=d.runHooks(`before${C}`,e,m,f);const E=new i.default(d,e,p);if(t(E),"object"==typeof e&&null!==e)e.push&&e.splice||(e=[e]);else{if(null!==e)throw new Error(`${g} only accepts array of objects or array of arrays (${typeof e} given)`);{const t=E.getSchema();let o;e=[];let s=0,n=0;for(s=0,n=w.startRows;s<n;s++)if("object"!==d.dataType&&"function"!==d.dataType||!w.dataSchema)if("array"===d.dataType)o=(0,l.deepClone)(t[0]),e.push(o);else{o=[];for(let e=0,t=w.startCols;e<t;e++)o.push(null);e.push(o)}else o=(0,l.deepClone)(t),e.push(o)}}Array.isArray(e[0])&&(d.dataType="array");w.data=e,E.dataSource=e,u.data=e,u.dataType=d.dataType,u.colToProp=E.colToProp.bind(E),u.propToCol=E.propToCol.bind(E),u.countCachedColumns=E.countCachedColumns.bind(E),o(E),d.runHooks(`after${C}`,e,m,f),m||(d.runHooks("afterChange",null,g),d.render());d.getSettings().ariaTags&&(0,a.setAttribute)(d.rootElement,[(0,h.A11Y_ROWCOUNT)(d.countRows()),(0,h.A11Y_COLCOUNT)(d.countCols())])},o(63517),o(91683);var n=o(18609),r=o(85015),i=s(o(85631)),l=o(22232),a=o(83302),h=o(5386)},6116:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=o(80151),r=o(24449),i=o(83605),l=s(o(75244)),a=o(93315);const h=t.SHORTCUTS_GROUP_NAVIGATION="editorManager.navigation";class d{constructor(e,t,o){this.instance=e,this.tableMeta=t,this.selection=o,this.eventManager=new l.default(e),this.destroyed=!1,this.lock=!1,this.activeEditor=void 0,this.cellProperties=void 0,this.instance.addHook("afterDocumentKeyDown",(e=>this.onAfterDocumentKeyDown(e))),this.eventManager.addEventListener(this.instance.rootDocument.documentElement,"compositionstart",(e=>{!this.destroyed&&this.instance.isListening()&&this.openEditor("",e)})),this.instance.view._wt.update("onCellDblClick",((e,t,o)=>this.onCellDblClick(e,t,o)))}lockEditor(){this.lock=!0}unlockEditor(){this.lock=!1}destroyEditor(e){this.lock||this.closeEditor(e)}getActiveEditor(){return this.activeEditor}prepareEditor(){if(this.lock)return;if(this.activeEditor&&this.activeEditor.isWaiting())return void this.closeEditor(!1,!1,(e=>{e&&this.prepareEditor()}));const{highlight:e}=this.instance.getSelectedRangeLast();if(e.isHeader())return;const{row:t,col:o}=e,s=this.instance.runHooks("modifyGetCellCoords",t,o);let n=t,r=o;if(Array.isArray(s)&&([n,r]=s),this.cellProperties=this.instance.getCellMeta(n,r),!this.isCellEditable())return void this.clearActiveEditor();const l=this.instance.getCell(t,o,!0);if(l){const e=this.instance.getCellEditor(this.cellProperties),s=this.instance.colToProp(r),a=this.instance.getSourceDataAtCell(this.instance.toPhysicalRow(n),r);this.activeEditor=(0,i.getEditorInstance)(e,this.instance),this.activeEditor.prepare(t,o,s,l,a,this.cellProperties)}}isEditorOpened(){return this.activeEditor&&this.activeEditor.isOpened()}openEditor(e,t){let o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.isCellEditable()?(this.activeEditor||(this.instance.scrollToFocusedCell(),this.prepareEditor()),this.activeEditor&&(o&&this.activeEditor.enableFullEditMode(),this.activeEditor.beginEditing(e,t))):this.clearActiveEditor()}closeEditor(e,t,o){this.activeEditor?this.activeEditor.finishEditing(e,t,o):o&&o(!1)}closeEditorAndSaveChanges(e){this.closeEditor(!1,e)}closeEditorAndRestoreOriginalValue(e){this.closeEditor(!0,e)}clearActiveEditor(){this.activeEditor=void 0}isCellEditable(){const e=this.instance.getSelectedRangeLast();if(!e)return!1;const t=this.instance.getCellEditor(this.cellProperties),{row:o,col:s}=e.highlight,{rowIndexMapper:n,columnIndexMapper:r}=this.instance,i=n.isHidden(this.instance.toPhysicalRow(o))||r.isHidden(this.instance.toPhysicalColumn(s));return!(this.cellProperties.readOnly||!t||i)}moveSelectionAfterEnter(e){const t="function"==typeof this.tableMeta.enterMoves?this.tableMeta.enterMoves(event):this.tableMeta.enterMoves;e?this.selection.transformStart(-t.row,-t.col):this.selection.transformStart(t.row,t.col,!0)}onAfterDocumentKeyDown(e){const t=this.instance.getSelectedRangeLast();if(!this.instance.isListening()||!t||t.highlight.isHeader()||(0,r.isImmediatePropagationStopped)(e))return;const{keyCode:o}=e,s=(e.ctrlKey||e.metaKey)&&!e.altKey;if((!this.activeEditor||this.activeEditor&&!this.activeEditor.isWaiting())&&!((0,n.isFunctionKey)(o)||(0,n.isCtrlMetaKey)(o)||s||this.isEditorOpened())){const t=this.instance.getShortcutManager().getContext("editor"),o={runOnlyIf:()=>(0,a.isDefined)(this.instance.getSelected()),group:h};t.addShortcuts([{keys:[["ArrowUp"]],callback:()=>{this.instance.selection.transformStart(-1,0)}},{keys:[["ArrowDown"]],callback:()=>{this.instance.selection.transformStart(1,0)}},{keys:[["ArrowLeft"]],callback:()=>{this.instance.selection.transformStart(0,-1*this.instance.getDirectionFactor())}},{keys:[["ArrowRight"]],callback:()=>{this.instance.selection.transformStart(0,this.instance.getDirectionFactor())}}],o),this.openEditor("",e)}}onCellDblClick(e,t,o){"TD"===o.nodeName&&this.openEditor(null,e,!0)}destroy(){this.destroyed=!0,this.eventManager.destroy()}}const c=new WeakMap;d.getInstance=function(e,t,o){let s=c.get(e);return s||(s=new d(e,t,o),c.set(e,s)),s};t.default=d},87857:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(63517);var n=s(o(93231)),r=o(93273),i=o(50095),l=o(83302),a=o(93315),h=o(18609),d=o(80151),c=o(50695),u=o(5386);const g=new WeakMap,f=t.EDITOR_TYPE="autocomplete";class p extends r.HandsontableEditor{static get EDITOR_TYPE(){return f}constructor(e){super(e),(0,n.default)(this,"sortByRelevance",(function(e,t,o){const s=[],n=[],r=e.length;let i,l,d,c,u=t.length;if(0===r){for(d=0;d<u;d++)n.push(d);return n}for(d=0;d<u;d++){if(l=(0,h.stripTags)((0,a.stringify)(t[d])),o)c=l.indexOf(e);else{const t=this.cellProperties.locale;c=l.toLocaleLowerCase(t).indexOf(e.toLocaleLowerCase(t))}-1!==c&&(i=l.length-c-r,s.push({baseIndex:d,index:c,charsLeft:i,value:l}))}for(s.sort(((e,t)=>{if(-1===t.index)return-1;if(-1===e.index)return 1;if(e.index<t.index)return-1;if(t.index<e.index)return 1;if(e.index===t.index){if(e.charsLeft<t.charsLeft)return-1;if(e.charsLeft>t.charsLeft)return 1}return 0})),d=0,u=s.length;d<u;d++)n.push(s[d].baseIndex);return n})),this.query=null,this.strippedChoices=[],this.rawChoices=[],g.set(this,{skipOne:!1,isMacOS:this.hot.rootWindow.navigator.platform.indexOf("Mac")>-1,idPrefix:e.guid.slice(0,9)})}getValue(){const e=this.rawChoices.find((e=>this.stripValueIfNeeded(e)===this.TEXTAREA.value));return(0,a.isDefined)(e)?e:this.TEXTAREA.value}createElements(){super.createElements(),(0,l.addClass)(this.htContainer,"autocompleteEditor"),(0,l.addClass)(this.htContainer,-1===this.hot.rootWindow.navigator.platform.indexOf("Mac")?"":"htMacScroll"),this.hot.getSettings().ariaTags&&(0,l.setAttribute)(this.TEXTAREA,[(0,u.A11Y_TEXT)(),(0,u.A11Y_COMBOBOX)(),(0,u.A11Y_HASPOPUP)("listbox"),(0,u.A11Y_AUTOCOMPLETE)()])}prepare(e,t,o,s,n,r){const i=g.get(this);super.prepare(e,t,o,s,n,r),this.hot.getSettings().ariaTags&&(0,l.setAttribute)(this.TEXTAREA,[(0,u.A11Y_EXPANDED)("false"),(0,u.A11Y_CONTROLS)(`${i.idPrefix}-listbox-${e}-${t}`)])}open(){const e=g.get(this);super.open();const t=void 0===this.cellProperties.trimDropdown||this.cellProperties.trimDropdown,o=this.hot.getSettings().ariaTags,s=Array.isArray(this.cellProperties.source)?this.cellProperties.source:null,n=null==s?void 0:s.length,{row:r,col:i}=this;this.showEditableElement(),this.focus();let h=(0,l.getScrollbarWidth)();0===h&&e.isMacOS&&(h+=15),this.addHook("beforeKeyDown",(e=>this.onBeforeKeyDown(e))),this.htEditor.updateSettings({colWidths:t?[(0,l.outerWidth)(this.TEXTAREA)-2]:void 0,width:t?(0,l.outerWidth)(this.TEXTAREA)+h:void 0,autoColumnSize:!0,renderer:(e,t,r,i,h,d,g)=>{(0,c.textRenderer)(e,t,r,i,h,d,g);const{filteringCaseSensitive:f,allowHtml:p,locale:m}=this.cellProperties,C=this.query;let w,E,y=(0,a.stringify)(d);y&&!p&&(w=!0===f?y.indexOf(C):y.toLocaleLowerCase(m).indexOf(C.toLocaleLowerCase(m)),-1!==w&&(E=y.substr(w,C.length),y=y.replace(E,`<strong>${E}</strong>`))),o&&(0,l.setAttribute)(t,[(0,u.A11Y_OPTION)(),...s?[(0,u.A11Y_SETSIZE)(n)]:[],...s?[(0,u.A11Y_POSINSET)(s.indexOf(d)+1)]:[],["id",`${this.htEditor.rootElement.id}_${r}-${i}`]]),t.innerHTML=y},afterSelection:(e,t)=>{if(o){const o=this.htEditor.getCell(e,t,!0);(0,l.setAttribute)(o,[(0,u.A11Y_SELECTED)()]),(0,l.setAttribute)(this.TEXTAREA,...(0,u.A11Y_ACTIVEDESCENDANT)(o.id))}}}),o&&((0,l.setAttribute)(this.htEditor.view._wt.wtOverlays.wtTable.TABLE,...(0,u.A11Y_PRESENTATION)()),(0,l.setAttribute)(this.htEditor.rootElement,[(0,u.A11Y_LISTBOX)(),(0,u.A11Y_LIVE)("polite"),(0,u.A11Y_RELEVANT)("text"),["id",`${e.idPrefix}-listbox-${r}-${i}`]]),(0,l.setAttribute)(this.TEXTAREA,...(0,u.A11Y_EXPANDED)("true"))),e.skipOne&&(e.skipOne=!1),this.hot._registerTimeout((()=>{this.queryChoices(this.TEXTAREA.value)}))}close(){this.removeHooksByKey("beforeKeyDown"),super.close(),this.hot.getSettings().ariaTags&&(0,l.setAttribute)(this.TEXTAREA,[(0,u.A11Y_EXPANDED)("false")])}discardEditor(e){super.discardEditor(e),this.hot.view.render()}queryChoices(e){const t=this.cellProperties.source;this.query=e,"function"==typeof t?t.call(this.cellProperties,e,(e=>{this.rawChoices=e,this.updateChoicesList(this.stripValuesIfNeeded(e))})):Array.isArray(t)?(this.rawChoices=t,this.updateChoicesList(this.stripValuesIfNeeded(t))):this.updateChoicesList([])}updateChoicesList(e){const t=(0,l.getCaretPosition)(this.TEXTAREA),o=(0,l.getSelectionEndPosition)(this.TEXTAREA),s=this.cellProperties.sortByRelevance,n=this.cellProperties.filter;let r=null,a=null,h=e;s&&(r=this.sortByRelevance(this.stripValueIfNeeded(this.getValue()),h,this.cellProperties.filteringCaseSensitive));const d=Array.isArray(r)?r.length:0;if(!1===n)d&&(a=r[0]);else{const e=[];for(let t=0,o=h.length;t<o&&!(s&&d<=t);t++)d?e.push(h[r[t]]):e.push(h[t]);a=0,h=e}this.strippedChoices=h,this.htEditor.loadData((0,i.pivot)([h])),0===h.length?this.htEditor.rootElement.style.display="none":(this.htEditor.rootElement.style.display="",this.updateDropdownHeight(),this.flipDropdownIfNeeded(),!0===this.cellProperties.strict&&this.highlightBestMatchingChoice(a)),this.hot.listen(),(0,l.setCaretPosition)(this.TEXTAREA,t,t===o?void 0:o)}flipDropdownIfNeeded(){const e=(0,l.getTrimmingContainer)(this.hot.view._wt.wtTable.TABLE),t=e===this.hot.rootWindow,o=this.cellProperties.preventOverflow;if(t||!t&&(o||"horizontal"===o))return!1;const s=(0,l.offset)(this.TEXTAREA),n=(0,l.outerHeight)(this.TEXTAREA),r=this.getDropdownHeight(),i=e.scrollTop,a=(0,l.outerHeight)(this.hot.view._wt.wtTable.THEAD),h=(0,l.offset)(e),d=s.top-h.top-a+i,c=e.scrollHeight-d-a-n,u=r>c&&d>c;return u?this.flipDropdown(r):this.unflipDropdown(),this.limitDropdownIfNeeded(u?d:c,r),u}limitDropdownIfNeeded(e,t){if(t>e){let o=0,s=0,n=0,r=null;do{n=this.htEditor.getRowHeight(s)||this.htEditor.view._wt.getSetting("defaultRowHeight"),o+=n,s+=1}while(o<e);r=o-n,this.htEditor.flipped&&(this.htEditor.rootElement.style.top=parseInt(this.htEditor.rootElement.style.top,10)+t-r+"px"),this.setDropdownHeight(o-n)}}flipDropdown(e){const t=this.htEditor.rootElement.style;t.position="absolute",t.top=-e+"px",this.htEditor.flipped=!0}unflipDropdown(){const e=this.htEditor.rootElement.style;e.position="absolute",e.top="",this.htEditor.flipped=void 0}updateDropdownHeight(){const e=this.htEditor.getColWidth(0)+(0,l.getScrollbarWidth)(this.hot.rootDocument)+2,t=this.cellProperties.trimDropdown;this.htEditor.updateSettings({height:this.getDropdownHeight(),width:t?void 0:e}),this.htEditor.view._wt.wtTable.alignOverlaysWithTrimmingContainer()}setDropdownHeight(e){this.htEditor.updateSettings({height:e})}highlightBestMatchingChoice(e){"number"==typeof e?this.htEditor.selectCell(e,0,void 0,void 0,void 0,!1):this.htEditor.deselectCell()}getDropdownHeight(){const e=this.htEditor.getRowHeight(0)||23,t=this.cellProperties.visibleRows;return this.strippedChoices.length>=t?t*e:this.strippedChoices.length*e+8}stripValueIfNeeded(e){return this.stripValuesIfNeeded([e])[0]}stripValuesIfNeeded(e){const{allowHtml:t}=this.cellProperties,o=(0,i.arrayMap)(e,(e=>(0,a.stringify)(e)));return(0,i.arrayMap)(o,(e=>t?e:(0,h.stripTags)(e)))}allowKeyEventPropagation(e){const t=this.htEditor.getSelectedRangeLast(),o=t?t.from.row:-1;let s=!1;return e===d.KEY_CODES.ARROW_DOWN&&o>0&&o<this.htEditor.countRows()-1&&(s=!0),e===d.KEY_CODES.ARROW_UP&&o>-1&&(s=!0),s}onBeforeKeyDown(e){const t=g.get(this);if(t.skipOne=!1,(0,d.isPrintableChar)(e.keyCode)||e.keyCode===d.KEY_CODES.BACKSPACE||e.keyCode===d.KEY_CODES.DELETE||e.keyCode===d.KEY_CODES.INSERT){let o=10;if(e.keyCode===d.KEY_CODES.C&&(e.ctrlKey||e.metaKey))return;this.isOpened()||(o+=10),this.htEditor&&this.hot._registerTimeout((()=>{this.queryChoices(this.TEXTAREA.value),t.skipOne=!0}),o)}}}t.AutocompleteEditor=p},25815:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(87857);t.EDITOR_TYPE=s.EDITOR_TYPE,t.AutocompleteEditor=s.AutocompleteEditor},97296:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(91683);var n=o(93315),r=o(22232),i=o(6116),l=s(o(4748)),a=o(83302);const h=t.EDITOR_TYPE="base",d=t.EDITOR_STATE=Object.freeze({VIRGIN:"STATE_VIRGIN",EDITING:"STATE_EDITING",WAITING:"STATE_WAITING",FINISHED:"STATE_FINISHED"}),c=t.SHORTCUTS_GROUP_EDITOR="baseEditor";class u{static get EDITOR_TYPE(){return h}constructor(e){this.hot=e,this.instance=e,this.state=d.VIRGIN,this._opened=!1,this._fullEditMode=!1,this._closeCallback=null,this.TD=null,this.row=null,this.col=null,this.prop=null,this.originalValue=null,this.cellProperties=null,this.init()}_fireCallbacks(e){this._closeCallback&&(this._closeCallback(e),this._closeCallback=null)}init(){}getValue(){throw Error("Editor getValue() method unimplemented")}setValue(){throw Error("Editor setValue() method unimplemented")}open(){throw Error("Editor open() method unimplemented")}close(){throw Error("Editor close() method unimplemented")}prepare(e,t,o,s,n,r){this.TD=s,this.row=e,this.col=t,this.prop=o,this.originalValue=n,this.cellProperties=r,this.state=d.VIRGIN}extend(){return class extends this.constructor{}}saveValue(e,t){let o,s,r,i;if(t){const e=this.hot.getSelectedLast();o=Math.max(Math.min(e[0],e[2]),0),s=Math.max(Math.min(e[1],e[3]),0),r=Math.max(e[0],e[2]),i=Math.max(e[1],e[3])}else[o,s,r,i]=[this.row,this.col,null,null];const l=this.hot.runHooks("modifyGetCellCoords",o,s);Array.isArray(l)&&([o,s]=l);const a=this.hot.getShortcutManager().getContext("editor"),h={runOnlyIf:()=>(0,n.isDefined)(this.hot.getSelected()),group:c};this.isInFullEditMode()&&a.addShortcuts([{keys:[["ArrowUp"]],callback:()=>{this.hot.selection.transformStart(-1,0)}},{keys:[["ArrowDown"]],callback:()=>{this.hot.selection.transformStart(1,0)}},{keys:[["ArrowLeft"]],callback:()=>{this.hot.selection.transformStart(0,-1*this.hot.getDirectionFactor())}},{keys:[["ArrowRight"]],callback:()=>{this.hot.selection.transformStart(0,this.hot.getDirectionFactor())}}],h),this.hot.populateFromArray(o,s,e,r,i,"edit")}beginEditing(e,t){if(this.state!==d.VIRGIN)return;const o=this.hot,s=o.rowIndexMapper.getRenderableFromVisualIndex(this.row),r=o.columnIndexMapper.getRenderableFromVisualIndex(this.col);if(o.view.scrollViewport(o._createCellCoords(s,r)),this.state=d.EDITING,this.isInFullEditMode()){const t="string"==typeof e?e:(0,n.stringify)(this.originalValue);this.setValue(t)}this.open(t),this._opened=!0,this.focus(),o.view.render(),o.runHooks("afterBeginEditing",this.row,this.col)}finishEditing(e,t,o){let s;if(o){const e=this._closeCallback;this._closeCallback=t=>{e&&e(t),o(t),this.hot.view.render()}}if(this.isWaiting())return;const n=this.hot.getShortcutManager().getContext("editor");if(n.removeShortcutsByGroup(c),n.removeShortcutsByGroup(i.SHORTCUTS_GROUP_NAVIGATION),this.state!==d.VIRGIN){if(this.state===d.EDITING){if(e)return this.cancelChanges(),void this.hot.view.render();const o=this.getValue();s=this.cellProperties.trimWhitespace?[["string"==typeof o?String.prototype.trim.call(o||""):o]]:[[o]],this.state=d.WAITING,this.saveValue(s,t),this.hot.getCellValidator(this.cellProperties)?this.hot.addHookOnce("postAfterValidate",(e=>{this.state=d.FINISHED,this.discardEditor(e)})):(this.state=d.FINISHED,this.discardEditor(!0))}}else this.hot._registerTimeout((()=>{this._fireCallbacks(!0)}))}cancelChanges(){this.state=d.FINISHED,this.discardEditor()}discardEditor(e){if(this.state===d.FINISHED)if(!1===e&&!0!==this.cellProperties.allowInvalid)this.hot.selectCell(this.row,this.col),this.focus(),this.state=d.EDITING,this._fireCallbacks(!1);else{this.close(),this._opened=!1,this._fullEditMode=!1,this.state=d.VIRGIN,this._fireCallbacks(!0);this.hot.getShortcutManager().setActiveContextName("grid")}}enableFullEditMode(){this._fullEditMode=!0}isInFullEditMode(){return this._fullEditMode}isOpened(){return this._opened}isWaiting(){return this.state===d.WAITING}getEditedCellRect(){var e;const t=this.getEditedCell();if(!t)return;const{wtOverlays:o,wtViewport:s}=this.hot.view._wt,n=this.hot.rootWindow,r=(0,a.offset)(t),i=(0,a.outerWidth)(t),l=(0,a.offset)(this.hot.rootElement),h=(0,a.outerWidth)(this.hot.rootElement),d=o.topOverlay.holder,c=o.inlineStartOverlay.holder,u=d!==n?d.scrollTop:0,g=c!==n?c.scrollLeft:0,f=n.innerWidth-l.left-h,{wtTable:p}=null!==(e=o.getParentOverlay(t))&&void 0!==e?e:this.hot.view._wt,m=p.name,C=["master","inline_start"].includes(m)?u:0,w=["master","top","bottom"].includes(m)?g:0,E=r.top===l.top?0:1;let y=r.top-l.top-E-C,v=0;v=this.hot.isRtl()?n.innerWidth-r.left-i-f-1+w:r.left-l.left-1-w,["top","top_inline_start_corner"].includes(m)&&(y+=o.topOverlay.getOverlayOffset()),["inline_start","top_inline_start_corner"].includes(m)&&(v+=Math.abs(o.inlineStartOverlay.getOverlayOffset()));const S=this.hot.hasColHeaders(),R=this.hot.rowIndexMapper.getRenderableFromVisualIndex(this.row),_=this.hot.columnIndexMapper.getRenderableFromVisualIndex(this.col),b=this.hot.rowIndexMapper.getRenderableIndexesLength()-this.hot.view._wt.getSetting("fixedRowsBottom");(S&&R<=0||R===b)&&(y+=1),_<=0&&(v+=1);const T=s.rowsRenderCalculator.startPosition,M=s.columnsRenderCalculator.startPosition,O=Math.abs(o.inlineStartOverlay.getScrollPosition()),I=o.topOverlay.getScrollPosition(),A=(0,a.getScrollbarWidth)(this.hot.rootDocument);let N=t.offsetTop;if(["inline_start","master"].includes(m)&&(N+=T-I),["bottom","bottom_inline_start_corner"].includes(m)){const{wtViewport:e,wtTable:t}=o.bottomOverlay.clone;N+=e.getWorkspaceHeight()-t.getHeight()-A}let P=t.offsetLeft;this.hot.isRtl()?(P=P>=0?p.getWidth()-t.offsetLeft:Math.abs(P),P+=M-O-i):["top","master","bottom"].includes(m)&&(P+=M-O);const H=(0,a.getComputedStyle)(this.TD,this.hot.rootWindow),x=this.hot.isRtl()?"borderRightWidth":"borderLeftWidth",D=parseInt(H[x],10)>0?0:1,L=parseInt(H.borderTopWidth,10)>0?0:1,k=(0,a.outerWidth)(t)+D,F=(0,a.outerHeight)(t)+L,V=(0,a.hasVerticalScrollbar)(d)?A:0,W=(0,a.hasHorizontalScrollbar)(c)?A:0,B=this.hot.view.maximumVisibleElementWidth(P)-V+D;return{top:y,start:v,height:F,maxHeight:Math.max(this.hot.view.maximumVisibleElementHeight(N)-W+L,23),width:k,maxWidth:B}}getEditedCellsLayerClass(){switch(this.checkEditorSection()){case"inline-start":return"ht_clone_left ht_clone_inline_start";case"bottom":return"ht_clone_bottom";case"bottom-inline-start-corner":return"ht_clone_bottom_left_corner ht_clone_bottom_inline_start_corner";case"top":return"ht_clone_top";case"top-inline-start-corner":return"ht_clone_top_left_corner ht_clone_top_inline_start_corner";default:return"ht_clone_master"}}getEditedCell(){return this.hot.getCell(this.row,this.col,!0)}checkEditorSection(){const e=this.hot.countRows();let t="";return this.row<this.hot.getSettings().fixedRowsTop?t=this.col<this.hot.getSettings().fixedColumnsStart?"top-inline-start-corner":"top":this.hot.getSettings().fixedRowsBottom&&this.row>=e-this.hot.getSettings().fixedRowsBottom?t=this.col<this.hot.getSettings().fixedColumnsStart?"bottom-inline-start-corner":"bottom":this.col<this.hot.getSettings().fixedColumnsStart&&(t="inline-start"),t}}t.BaseEditor=u,(0,r.mixin)(u,l.default)},48253:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(97296);t.EDITOR_STATE=s.EDITOR_STATE,t.EDITOR_TYPE=s.EDITOR_TYPE,t.BaseEditor=s.BaseEditor},99935:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(48253),n=o(83302);const r=t.EDITOR_TYPE="checkbox";class i extends s.BaseEditor{static get EDITOR_TYPE(){return r}beginEditing(e,t){if(t&&"mouseup"===t.type){const e=this.TD.querySelector('input[type="checkbox"]');(0,n.hasClass)(e,"htBadValue")||e.click()}}finishEditing(){}init(){}open(){}close(){}getValue(){}setValue(){}focus(){}}t.CheckboxEditor=i},63729:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(99935);t.EDITOR_TYPE=s.EDITOR_TYPE,t.CheckboxEditor=s.CheckboxEditor},23330:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(91683);var n=s(o(33034)),r=s(o(32134)),i=o(5071),l=s(o(75244)),a=o(83302),h=o(5386),d=o(22232),c=o(80151);o(2964);const u=t.EDITOR_TYPE="date",g="dateEditor";class f extends i.TextEditor{static get EDITOR_TYPE(){return u}constructor(e){super(e),this.defaultDateFormat="DD/MM/YYYY",this.isCellEdited=!1,this.parentDestroyed=!1,this.$datePicker=null}init(){if("function"!=typeof n.default)throw new Error("You need to include moment.js to your project.");if("function"!=typeof r.default)throw new Error("You need to include Pikaday to your project.");super.init(),this.hot.addHook("afterDestroy",(()=>{this.parentDestroyed=!0,this.destroyElements()}))}createElements(){super.createElements(),this.datePicker=this.hot.rootDocument.createElement("DIV"),this.datePickerStyle=this.datePicker.style,this.datePickerStyle.position="absolute",this.datePickerStyle.top=0,this.datePickerStyle.left=0,this.datePickerStyle.zIndex=9999,this.datePicker.setAttribute("dir",this.hot.isRtl()?"rtl":"ltr"),(0,a.addClass)(this.datePicker,"htDatepickerHolder"),this.hot.rootDocument.body.appendChild(this.datePicker);const e=new l.default(this);e.addEventListener(this.datePicker,"mousedown",(e=>{(0,a.hasClass)(e.target,"pika-day")&&this.hideDatepicker(),e.stopPropagation()})),e.addEventListener(this.TEXTAREA,"keydown",(e=>{["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(e.code)&&e.preventDefault()}))}destroyElements(){const e=this.datePicker.parentNode;this.$datePicker&&this.$datePicker.destroy(),e&&e.removeChild(this.datePicker)}prepare(e,t,o,s,n,r){super.prepare(e,t,o,s,n,r)}open(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;const t=this.hot.getShortcutManager().getContext("editor");super.open(),this.showDatepicker(e),this.hot.getSettings().ariaTags&&(0,a.setAttribute)(this.TD,[(0,h.A11Y_EXPANDED)("true")]),t.addShortcut({keys:[["Enter"]],callback:e=>{e.stopPropagation()},group:g})}close(){var e;this._opened=!1,null!==(e=this.$datePicker)&&void 0!==e&&e.destroy&&this.$datePicker.destroy(),this.hot._registerTimeout((()=>{this.hot._refreshBorders()})),this.TD&&this.hot.getSettings().ariaTags&&(0,a.setAttribute)(this.TD,[(0,h.A11Y_EXPANDED)("false")]);this.hot.getShortcutManager().getContext("editor").removeShortcutsByGroup(g),super.close()}finishEditing(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e){const e=this.originalValue;void 0!==e&&this.setValue(e)}super.finishEditing(e,t)}showDatepicker(e){const t=this.TD.getBoundingClientRect(),o=this.cellProperties.dateFormat||this.defaultDateFormat,s=this.hot.view.isMouseDown(),i=!!e&&(0,c.isFunctionKey)(e.keyCode);let l;this.datePicker.style.display="block",this.$datePicker=new r.default(this.getDatePickerConfig()),this.$datePicker._onInputFocus=function(){},this.datePickerStyle.top=`${this.hot.rootWindow.pageYOffset+t.top+(0,a.outerHeight)(this.TD)}px`;let h=this.hot.rootWindow.pageXOffset;h=this.hot.isRtl()?t.right-(0,a.outerWidth)(this.datePicker):t.left,this.datePickerStyle.left=`${h}px`,this.originalValue?(l=this.originalValue,(0,n.default)(l,o,!0).isValid()&&this.$datePicker.setMoment((0,n.default)(l,o),!0),this.getValue()!==this.originalValue&&this.setValue(this.originalValue),i||s||this.setValue("")):this.cellProperties.defaultDate?(l=this.cellProperties.defaultDate,(0,n.default)(l,o,!0).isValid()&&this.$datePicker.setMoment((0,n.default)(l,o),!0),i||s||this.setValue("")):this.$datePicker.gotoToday()}hideDatepicker(){this.datePickerStyle.display="none",this.$datePicker.hide()}getDatePickerConfig(){const e=this.TEXTAREA,t={};this.cellProperties&&this.cellProperties.datePickerConfig&&(0,d.deepExtend)(t,this.cellProperties.datePickerConfig);const o=t.onSelect,s=t.onClose;return t.field=e,t.trigger=e,t.container=this.datePicker,t.bound=!1,t.format=t.format||this.defaultDateFormat,t.reposition=t.reposition||!1,t.isRTL=!1,t.onSelect=e=>{let t=e;isNaN(t.getTime())||(t=(0,n.default)(t).format(this.cellProperties.dateFormat||this.defaultDateFormat)),this.setValue(t),o&&o()},t.onClose=()=>{this.parentDestroyed||this.finishEditing(!1),s&&s()},t}}t.DateEditor=f},58437:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(23330);t.EDITOR_TYPE=s.EDITOR_TYPE,t.DateEditor=s.DateEditor},14733:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=o(25815),r=s(o(56307));const i=t.EDITOR_TYPE="dropdown";class l extends n.AutocompleteEditor{static get EDITOR_TYPE(){return i}prepare(e,t,o,s,n,r){super.prepare(e,t,o,s,n,r),this.cellProperties.filter=!1,this.cellProperties.strict=!0}}t.DropdownEditor=l,r.default.getSingleton().add("beforeValidate",(function(e,t,o){const s=this.getCellMeta(t,this.propToCol(o));s.editor===l&&void 0===s.strict&&(s.filter=!1,s.strict=!0)}))},9535:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(14733);t.EDITOR_TYPE=s.EDITOR_TYPE,t.DropdownEditor=s.DropdownEditor},95567:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(5071),n=o(83302),r=o(24449),i=o(22232),l=o(6116),a=o(5386);const h="handsontableEditor",d=t.EDITOR_TYPE="handsontable";class c extends s.TextEditor{static get EDITOR_TYPE(){return d}open(){super.open(),this.htEditor&&this.htEditor.destroy(),"none"===this.htContainer.style.display&&(this.htContainer.style.display=""),this.htEditor=new this.hot.constructor(this.htContainer,this.htOptions),this.htEditor.init(),this.htEditor.rootElement.style.display="",this.cellProperties.strict?this.htEditor.selectCell(0,0):this.htEditor.deselectCell(),(0,n.setCaretPosition)(this.TEXTAREA,0,this.TEXTAREA.value.length),this.refreshDimensions(),this.hot.getSettings().ariaTags&&(0,n.setAttribute)(this.TD,[(0,a.A11Y_EXPANDED)("true")])}close(){this.htEditor&&(this.htEditor.rootElement.style.display="none"),this.removeHooksByKey("beforeKeyDown"),super.close(),this.hot.getSettings().ariaTags&&(0,n.setAttribute)(this.TD,[(0,a.A11Y_EXPANDED)("false")])}prepare(e,t,o,s,n,r){super.prepare(e,t,o,s,n,r);const l=this,a={startRows:0,startCols:0,minRows:0,minCols:0,className:"listbox",copyPaste:!1,autoColumnSize:!1,autoRowSize:!1,readOnly:!0,fillHandle:!1,autoWrapCol:!1,autoWrapRow:!1,ariaTags:!1,afterOnCellMouseDown(e,t){const o=this.getSourceData(t.row,t.col);void 0!==o&&l.setValue(o),l.instance.destroyEditor()},preventWheel:!0,layoutDirection:this.hot.isRtl()?"rtl":"ltr"};this.cellProperties.handsontable&&(0,i.extend)(a,r.handsontable),this.htOptions=a}beginEditing(e,t){const o=this.hot.getSettings().onBeginEditing;o&&!1===o()||super.beginEditing(e,t)}createElements(){super.createElements();const e=this.hot.rootDocument.createElement("DIV");e.className="handsontableEditor",this.TEXTAREA_PARENT.appendChild(e),this.htContainer=e,this.assignHooks()}finishEditing(e,t,o){if(this.htEditor&&this.htEditor.isListening()&&this.hot.listen(),this.htEditor&&this.htEditor.getSelectedLast()){const e=this.htEditor.getValue();void 0!==e&&this.setValue(e)}super.finishEditing(e,t,o)}assignHooks(){this.hot.addHook("afterDestroy",(()=>{this.htEditor&&this.htEditor.destroy()}))}registerShortcuts(){const e=this.hot.getShortcutManager().getContext("editor");super.registerShortcuts();const t={group:h,relativeToGroup:l.SHORTCUTS_GROUP_NAVIGATION,position:"before"},o=(e,t)=>{const o=this.htEditor;if(void 0!==e&&(e<0||o.flipped&&e>o.countRows()-1?o.deselectCell():o.selectCell(e,0),o.getData().length))return t.preventDefault(),(0,r.stopImmediatePropagation)(t),this.hot.listen(),this.TEXTAREA.focus(),!1};e.addShortcuts([{keys:[["ArrowUp"]],callback:e=>{const t=this.htEditor;let s,n;return!t.getSelectedLast()&&t.flipped?s=t.countRows()-1:t.getSelectedLast()&&(t.flipped?(n=t.getSelectedLast()[0],s=Math.max(0,n-1)):(n=t.getSelectedLast()[0],s=n-1)),o(s,e)},preventDefault:!1},{keys:[["ArrowDown"]],callback:e=>{const t=this.htEditor;let s,n;if(t.getSelectedLast()||t.flipped){if(t.getSelectedLast())if(t.flipped)s=t.getSelectedLast()[0]+1;else if(!t.flipped){const e=t.countRows()-1;n=t.getSelectedLast()[0],s=Math.min(e,n+1)}}else s=0;return o(s,e)},preventDefault:!1}],t)}unregisterShortcuts(){super.unregisterShortcuts();this.hot.getShortcutManager().getContext("editor").removeShortcutsByGroup(h)}}t.HandsontableEditor=c},93273:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(95567);t.EDITOR_TYPE=s.EDITOR_TYPE,t.HandsontableEditor=s.HandsontableEditor},74465:(e,t,o)=>{"use strict";t.__esModule=!0,t.registerAllEditors=function(){(0,f.registerEditor)(n.BaseEditor),(0,f.registerEditor)(s.AutocompleteEditor),(0,f.registerEditor)(r.CheckboxEditor),(0,f.registerEditor)(i.DateEditor),(0,f.registerEditor)(l.DropdownEditor),(0,f.registerEditor)(a.HandsontableEditor),(0,f.registerEditor)(h.NumericEditor),(0,f.registerEditor)(d.PasswordEditor),(0,f.registerEditor)(c.SelectEditor),(0,f.registerEditor)(u.TextEditor),(0,f.registerEditor)(g.TimeEditor)};var s=o(25815);t.AutocompleteEditor=s.AutocompleteEditor,t.AUTOCOMPLETE_EDITOR=s.EDITOR_TYPE;var n=o(48253);t.BaseEditor=n.BaseEditor,t.BASE_EDITOR=n.EDITOR_TYPE;var r=o(63729);t.CheckboxEditor=r.CheckboxEditor,t.CHECKBOX_EDITOR=r.EDITOR_TYPE;var i=o(58437);t.DateEditor=i.DateEditor,t.DATE_EDITOR=i.EDITOR_TYPE;var l=o(9535);t.DropdownEditor=l.DropdownEditor,t.DROPDOWN_EDITOR=l.EDITOR_TYPE;var a=o(93273);t.HandsontableEditor=a.HandsontableEditor,t.HANDSONTABLE_EDITOR=a.EDITOR_TYPE;var h=o(97130);t.NumericEditor=h.NumericEditor,t.NUMERIC_EDITOR=h.EDITOR_TYPE;var d=o(63630);t.PasswordEditor=d.PasswordEditor,t.PASSWORD_EDITOR=d.EDITOR_TYPE;var c=o(93333);t.SelectEditor=c.SelectEditor,t.SELECT_EDITOR=c.EDITOR_TYPE;var u=o(5071);t.TextEditor=u.TextEditor,t.TEXT_EDITOR=u.EDITOR_TYPE;var g=o(65930);t.TimeEditor=g.TimeEditor,t.TIME_EDITOR=g.EDITOR_TYPE;var f=o(83605);t.registerEditor=f.registerEditor,t.RegisteredEditor=f.RegisteredEditor,t._getEditorInstance=f._getEditorInstance,t.getEditor=f.getEditor,t.getEditorInstance=f.getEditorInstance,t.getRegisteredEditorNames=f.getRegisteredEditorNames,t.getRegisteredEditors=f.getRegisteredEditors,t.hasEditor=f.hasEditor},97130:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(47427);t.EDITOR_TYPE=s.EDITOR_TYPE,t.NumericEditor=s.NumericEditor},47427:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(5071);const n=t.EDITOR_TYPE="numeric";class r extends s.TextEditor{static get EDITOR_TYPE(){return n}}t.NumericEditor=r},63630:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(35356);t.EDITOR_TYPE=s.EDITOR_TYPE,t.PasswordEditor=s.PasswordEditor},35356:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(5071),n=o(83302);const r=t.EDITOR_TYPE="password";class i extends s.TextEditor{static get EDITOR_TYPE(){return r}createElements(){super.createElements(),this.TEXTAREA=this.hot.rootDocument.createElement("input"),this.TEXTAREA.setAttribute("type","password"),this.TEXTAREA.setAttribute("data-hot-input",""),this.TEXTAREA.className="handsontableInput",this.textareaStyle=this.TEXTAREA.style,this.textareaStyle.width=0,this.textareaStyle.height=0,(0,n.empty)(this.TEXTAREA_PARENT),this.TEXTAREA_PARENT.appendChild(this.TEXTAREA)}}t.PasswordEditor=i},83605:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,t.RegisteredEditor=u,t.getEditorInstance=t._getEditorInstance=function(e,t){let o;if("function"==typeof e)i.get(e)||g(null,e),o=i.get(e);else{if("string"!=typeof e)throw Error('Only strings and functions can be passed as "editor" parameter');o=a(e)}if(!o)throw Error(`No editor registered under name "${e}"`);return o.getInstance(t)},t.getEditor=function(e){if("function"==typeof e)return e;if(!h(e))throw Error(`No registered editor found under "${e}" name`);return a(e).getConstructor()},t.registerEditor=g,o(91683);var n=s(o(56307)),r=s(o(63800));const i=new WeakMap,{register:l,getItem:a,hasItem:h,getNames:d,getValues:c}=(0,r.default)("editors");function u(e){const t={},o=e;this.getConstructor=function(){return e},this.getInstance=function(e){return e.guid in t||(t[e.guid]=new o(e)),t[e.guid]},n.default.getSingleton().add("afterDestroy",(function(){t[this.guid]=null}))}function g(e,t){e&&"string"!=typeof e&&(e=(t=e).EDITOR_TYPE);const o=new u(t);"string"==typeof e&&l(e,o),i.set(t,o)}t.getRegisteredEditors=c,t.getRegisteredEditorNames=d,t.hasEditor=h},93333:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(82854);t.EDITOR_TYPE=s.EDITOR_TYPE,t.SelectEditor=s.SelectEditor},82854:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(48253),n=o(83302),r=o(22232);const i="ht_editor_visible",l="selectEditor",a=t.EDITOR_TYPE="select";class h extends s.BaseEditor{static get EDITOR_TYPE(){return a}init(){this.select=this.hot.rootDocument.createElement("SELECT"),(0,n.addClass)(this.select,"htSelectEditor"),this.select.style.display="none",this.hot.rootElement.appendChild(this.select),this.registerHooks()}getValue(){return this.select.value}setValue(e){this.select.value=e}open(){this._opened=!0,this.refreshDimensions(),this.select.style.display="";this.hot.getShortcutManager().setActiveContextName("editor"),this.registerShortcuts()}close(){this._opened=!1,this.select.style.display="none",(0,n.hasClass)(this.select,i)&&(0,n.removeClass)(this.select,i),this.unregisterShortcuts(),this.clearHooks()}focus(){this.select.focus()}registerHooks(){this.addHook("afterScrollHorizontally",(()=>this.refreshDimensions())),this.addHook("afterScrollVertically",(()=>this.refreshDimensions())),this.addHook("afterColumnResize",(()=>this.refreshDimensions())),this.addHook("afterRowResize",(()=>this.refreshDimensions()))}prepare(e,t,o,s,i,l){super.prepare(e,t,o,s,i,l);const a=this.cellProperties.selectOptions;let h;h="function"==typeof a?this.prepareOptions(a(this.row,this.col,this.prop)):this.prepareOptions(a),(0,n.empty)(this.select),(0,r.objectEach)(h,((e,t)=>{const o=this.hot.rootDocument.createElement("OPTION");o.value=t,(0,n.fastInnerHTML)(o,e),this.select.appendChild(o)}))}prepareOptions(e){let t={};if(Array.isArray(e))for(let o=0,s=e.length;o<s;o++)t[e[o]]=e[o];else"object"==typeof e&&(t=e);return t}refreshValue(){const e=this.hot.getSourceDataAtCell(this.row,this.prop);this.originalValue=e,this.setValue(e),this.refreshDimensions()}refreshDimensions(){if(this.state!==s.EDITOR_STATE.EDITING)return;if(this.TD=this.getEditedCell(),!this.TD)return void this.close();const{top:e,start:t,width:o,height:r}=this.getEditedCellRect(),l=this.select.style;l.height=`${r}px`,l.width=`${o}px`,l.top=`${e}px`,l[this.hot.isRtl()?"right":"left"]=`${t}px`,l.margin="0px",(0,n.addClass)(this.select,i)}registerShortcuts(){const e=this.hot.getShortcutManager().getContext("editor"),t={group:l};!1!==this.isInFullEditMode()&&e.addShortcuts([{keys:[["ArrowUp"]],callback:()=>{const e=this.select.selectedIndex-1;e>=0&&(this.select[e].selected=!0)}},{keys:[["ArrowDown"]],callback:()=>{const e=this.select.selectedIndex+1;e<=this.select.length-1&&(this.select[e].selected=!0)}}],t)}unregisterShortcuts(){this.hot.getShortcutManager().getContext("editor").removeShortcutsByGroup(l)}}t.SelectEditor=h},67547:(e,t,o)=>{"use strict";t.__esModule=!0,t.updateCaretPosition=function(e,t){const o=(0,s.getCaretPosition)(t),n=t.value.split("\n");let r=o,i=0;for(let t=0;t<n.length;t++){const s=n[t];0!==t&&(i+=n[t-1].length+1);const l=i+s.length;if("home"===e?r=i:"end"===e&&(r=l),o<=l)break}(0,s.setCaretPosition)(t,r)};var s=o(83302)},5071:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(48917);t.EDITOR_TYPE=s.EDITOR_TYPE,t.TextEditor=s.TextEditor},48917:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=o(48253),r=s(o(75244)),i=o(37595),l=o(83302),a=o(68145),h=o(80151),d=o(95881),c=o(93315),u=o(6116),g=o(97296),f=o(67547),p=o(5386);const m="ht_editor_hidden",C="textEditor",w=t.EDITOR_TYPE="text";class E extends n.BaseEditor{static get EDITOR_TYPE(){return w}constructor(e){super(e),this.eventManager=new r.default(this),this.autoResize=(0,d.autoResize)(),this.TEXTAREA=void 0,this.textareaStyle=void 0,this.TEXTAREA_PARENT=void 0,this.textareaParentStyle=void 0,this.layerClass=void 0,this.createElements(),this.bindEvents(),this.hot.addHookOnce("afterDestroy",(()=>this.destroy()))}getValue(){return this.TEXTAREA.value}setValue(e){this.TEXTAREA.value=e}open(){this.refreshDimensions(),this.showEditableElement();this.hot.getShortcutManager().setActiveContextName("editor"),this.addHook("afterDocumentKeyDown",(e=>this.onAfterDocumentKeyDown(e))),this.registerShortcuts()}close(){this.autoResize.unObserve(),(0,l.isThisHotChild)(this.hot.rootDocument.activeElement,this.hot.rootElement)&&this.hot.listen(),this.hideEditableElement(),this.unregisterShortcuts(),this.removeHooksByKey("afterDocumentKeyDown")}prepare(e,t,o,s,r,i){const l=this.state;if(super.prepare(e,t,o,s,r,i),!i.readOnly){this.refreshDimensions(!0);const{allowInvalid:e}=i;e&&(this.TEXTAREA.value=""),l!==n.EDITOR_STATE.FINISHED&&this.hideEditableElement()}}beginEditing(e,t){this.state===n.EDITOR_STATE.VIRGIN&&(this.TEXTAREA.value="",super.beginEditing(e,t))}focus(){this.TEXTAREA.select(),(0,l.setCaretPosition)(this.TEXTAREA,this.TEXTAREA.value.length)}createElements(){const{rootDocument:e}=this.hot;this.TEXTAREA=e.createElement("TEXTAREA"),(0,l.setAttribute)(this.TEXTAREA,[["data-hot-input",""],(0,p.A11Y_TABINDEX)(-1)]),this.hot.getSettings().ariaTags&&(0,l.setAttribute)(this.TEXTAREA,[(0,p.A11Y_HIDDEN)()]),(0,l.addClass)(this.TEXTAREA,"handsontableInput"),this.textareaStyle=this.TEXTAREA.style,this.textareaStyle.width=0,this.textareaStyle.height=0,this.textareaStyle.overflowY="visible",this.TEXTAREA_PARENT=e.createElement("DIV"),(0,l.addClass)(this.TEXTAREA_PARENT,"handsontableInputHolder"),(0,l.hasClass)(this.TEXTAREA_PARENT,this.layerClass)&&(0,l.removeClass)(this.TEXTAREA_PARENT,this.layerClass),(0,l.addClass)(this.TEXTAREA_PARENT,m),this.textareaParentStyle=this.TEXTAREA_PARENT.style,this.TEXTAREA_PARENT.appendChild(this.TEXTAREA),this.hot.rootElement.appendChild(this.TEXTAREA_PARENT)}hideEditableElement(){(0,i.isEdge)()&&(this.textareaStyle.textIndent="-99999px"),this.textareaStyle.overflowY="visible",this.textareaParentStyle.opacity="0",this.textareaParentStyle.height="1px",(0,l.removeClass)(this.TEXTAREA_PARENT,this.layerClass),(0,l.addClass)(this.TEXTAREA_PARENT,m)}showEditableElement(){this.textareaParentStyle.height="",this.textareaParentStyle.overflow="",this.textareaParentStyle.position="",this.textareaParentStyle[this.hot.isRtl()?"left":"right"]="auto",this.textareaParentStyle.opacity="1",this.textareaStyle.textIndent="",this.textareaStyle.overflowY="hidden";const e=this.TEXTAREA_PARENT.childNodes;let t=!1;(0,a.rangeEach)(e.length-1,(o=>{const s=e[o];if((0,l.hasClass)(s,"handsontableEditor"))return t=!0,!1})),(0,l.hasClass)(this.TEXTAREA_PARENT,m)&&(0,l.removeClass)(this.TEXTAREA_PARENT,m),t?(this.layerClass="ht_editor_visible",(0,l.addClass)(this.TEXTAREA_PARENT,this.layerClass)):(this.layerClass=this.getEditedCellsLayerClass(),(0,l.addClass)(this.TEXTAREA_PARENT,this.layerClass))}refreshValue(){const e=this.hot.toPhysicalRow(this.row),t=this.hot.getSourceDataAtCell(e,this.col);this.originalValue=t,this.setValue(t),this.refreshDimensions()}refreshDimensions(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.state!==n.EDITOR_STATE.EDITING&&!e)return;if(this.TD=this.getEditedCell(),!this.TD)return void(e||this.close());const{top:t,start:o,width:s,maxWidth:r,height:i,maxHeight:a}=this.getEditedCellRect();this.textareaParentStyle.top=`${t}px`,this.textareaParentStyle[this.hot.isRtl()?"right":"left"]=`${o}px`,this.showEditableElement();const h=(0,l.getComputedStyle)(this.TD,this.hot.rootWindow);this.TEXTAREA.style.fontSize=h.fontSize,this.TEXTAREA.style.fontFamily=h.fontFamily,this.TEXTAREA.style.backgroundColor=this.TD.style.backgroundColor;const d=(0,l.getComputedStyle)(this.TEXTAREA),c=parseInt(d.paddingLeft,10)+parseInt(d.paddingRight,10),u=parseInt(d.paddingTop,10)+parseInt(d.paddingBottom,10),g=s-c,f=i-u,p=r-c,m=a-u;this.autoResize.init(this.TEXTAREA,{minWidth:Math.min(g,p),minHeight:Math.min(f,m),maxWidth:p,maxHeight:m},!0)}bindEvents(){(0,i.isIOS)()&&this.eventManager.addEventListener(this.TEXTAREA,"focusout",(()=>this.finishEditing(!1))),this.addHook("afterScrollHorizontally",(()=>this.refreshDimensions())),this.addHook("afterScrollVertically",(()=>this.refreshDimensions())),this.addHook("afterColumnResize",(()=>{this.refreshDimensions(),this.state===n.EDITOR_STATE.EDITING&&this.focus()})),this.addHook("afterRowResize",(()=>{this.refreshDimensions(),this.state===n.EDITOR_STATE.EDITING&&this.focus()}))}allowKeyEventPropagation(){}destroy(){this.eventManager.destroy(),this.clearHooks()}registerShortcuts(){const e=this.hot.getShortcutManager().getContext("editor"),t={runOnlyIf:()=>(0,c.isDefined)(this.hot.getSelected()),group:C},o=()=>{this.hot.rootDocument.execCommand("insertText",!1,"\n")};e.addShortcuts([{keys:[["Tab"]],callback:e=>{const t=this.hot.getSettings(),o="function"==typeof t.tabMoves?t.tabMoves(e):t.tabMoves;this.hot.selection.transformStart(o.row,o.col,!0)}},{keys:[["Shift","Tab"]],callback:e=>{const t=this.hot.getSettings(),o="function"==typeof t.tabMoves?t.tabMoves(e):t.tabMoves;this.hot.selection.transformStart(-o.row,-o.col)}},{keys:[["Control","Enter"]],callback:()=>(o(),!1),runOnlyIf:e=>!this.hot.selection.isMultiple()&&!e.altKey},{keys:[["Meta","Enter"]],callback:()=>(o(),!1),runOnlyIf:()=>!this.hot.selection.isMultiple()},{keys:[["Alt","Enter"]],callback:()=>(o(),!1)},{keys:[["PageUp"]],callback:()=>{this.hot.selection.transformStart(-this.hot.countVisibleRows(),0)}},{keys:[["PageDown"]],callback:()=>{this.hot.selection.transformStart(this.hot.countVisibleRows(),0)}},{keys:[["Home"]],callback:(e,t)=>{let[o]=t;(0,f.updateCaretPosition)(o,this.TEXTAREA)}},{keys:[["End"]],callback:(e,t)=>{let[o]=t;(0,f.updateCaretPosition)(o,this.TEXTAREA)}},{keys:[["Control/Meta","Z"]],preventDefault:!1,callback:()=>{this.hot._registerTimeout((()=>{this.autoResize.resize()}),10)}},{keys:[["Control/Meta","Shift","Z"]],preventDefault:!1,callback:()=>{this.hot._registerTimeout((()=>{this.autoResize.resize()}),10)}}],t)}unregisterShortcuts(){const e=this.hot.getShortcutManager().getContext("editor");e.removeShortcutsByGroup(u.SHORTCUTS_GROUP_NAVIGATION),e.removeShortcutsByGroup(C),e.removeShortcutsByGroup(g.SHORTCUTS_GROUP_EDITOR)}onAfterDocumentKeyDown(e){-1===[h.KEY_CODES.ARROW_UP,h.KEY_CODES.ARROW_RIGHT,h.KEY_CODES.ARROW_DOWN,h.KEY_CODES.ARROW_LEFT].indexOf(e.keyCode)&&this.autoResize.resize(String.fromCharCode(e.keyCode))}}t.TextEditor=E},65930:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(45952);t.EDITOR_TYPE=s.EDITOR_TYPE,t.TimeEditor=s.TimeEditor},45952:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(5071);const n=t.EDITOR_TYPE="time";class r extends s.TextEditor{static get EDITOR_TYPE(){return n}prepare(e,t,o,s,n,r){super.prepare(e,t,o,s,n,r),this.TEXTAREA.dir="ltr"}}t.TimeEditor=r},75244:(e,t,o)=>{"use strict";t.__esModule=!0,t.getListenersCounter=function(){return n},o(63517);var s=o(24449);let n=0;t.default=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.context=e||this,this.context.eventListeners||(this.context.eventListeners=[])}addEventListener(e,t,o){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];function i(e){o.call(this,function(e){const t=e.stopImmediatePropagation;return e.stopImmediatePropagation=function(){t.apply(this),(0,s.stopImmediatePropagation)(this)},e}(e))}return this.context.eventListeners.push({element:e,event:t,callback:o,callbackProxy:i,options:r,eventManager:this}),e.addEventListener(t,i,r),n+=1,()=>{this.removeEventListener(e,t,o)}}removeEventListener(e,t,o){let s,r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=this.context.eventListeners.length;for(;i;)if(i-=1,s=this.context.eventListeners[i],s.event===t&&s.element===e){if(o&&o!==s.callback)continue;if(r&&s.eventManager!==this)continue;this.context.eventListeners.splice(i,1),s.element.removeEventListener(s.event,s.callbackProxy,s.options),n-=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 o=this.context.eventListeners[t];e&&o.eventManager!==this||(this.context.eventListeners.splice(t,1),o.element.removeEventListener(o.event,o.callbackProxy,o.options),n-=1)}}clear(){this.clearEvents()}destroy(){this.clearEvents(),this.context=null}destroyWithOwnEventsOnly(){this.clearEvents(!0),this.context=null}fireEvent(e,t){let o=e.document,s=e;o||(o=e.ownerDocument?e.ownerDocument:e,s=o.defaultView);const n={bubbles:!0,cancelable:"mousemove"!==t,view:s,detail:0,screenX:0,screenY:0,clientX:1,clientY:1,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:void 0};let r;o.createEvent?(r=o.createEvent("MouseEvents"),r.initMouseEvent(t,n.bubbles,n.cancelable,n.view,n.detail,n.screenX,n.screenY,n.clientX,n.clientY,n.ctrlKey,n.altKey,n.shiftKey,n.metaKey,n.button,n.relatedTarget||o.body.parentNode)):r=o.createEventObject(),e.dispatchEvent?e.dispatchEvent(r):e.fireEvent(`on${t}`,r)}}},51400:(e,t,o)=>{"use strict";o(91683);var s=o(73203);t.__esModule=!0;var n=s(o(42538)),r=s(o(48427)),i=o(69173),l=o(83302);function a(e,t){d(e,t),t.add(e)}function h(e,t,o){d(e,t),t.set(e,o)}function d(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function c(e,t,o){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return o}const u=Object.freeze({CELL:"cell",MIXED:"mixed"});var g=new WeakMap,f=new WeakMap,p=new WeakMap,m=new WeakMap,C=new WeakSet,w=new WeakSet,E=new WeakSet,y=new WeakSet;function v(){return(0,n.default)(this,g).getSelectedRangeLast().highlight}function S(){const e=c(this,C,v).call(this);return(0,n.default)(this,g).getCell(e.row,e.col,!0)}function R(){const e=c(this,w,S).call(this),{activeElement:t}=(0,n.default)(this,g).rootDocument;t&&(0,l.isOutsideInput)(t)&&t.blur(),this.focusOnHighlightedCell(e),this.getFocusMode()===u.MIXED&&"TD"===e.nodeName&&(0,n.default)(this,g).addHookOnce("afterSelectionEnd",(()=>{this.refocusToEditorTextarea()}))}function _(e){e.imeFastEdit&&this.getFocusMode()!==u.MIXED?this.setFocusMode(u.MIXED):e.imeFastEdit||this.getFocusMode()===u.CELL||this.setFocusMode(u.CELL)}t.FocusManager=class{constructor(e){var t=this;a(this,y),a(this,E),a(this,w),a(this,C),h(this,g,{writable:!0,value:void 0}),h(this,f,{writable:!0,value:void 0}),h(this,p,{writable:!0,value:50}),h(this,m,{writable:!0,value:null});const o=e.getSettings();(0,r.default)(this,g,e),(0,r.default)(this,f,o.imeFastEdit?u.MIXED:u.CELL),(0,n.default)(this,g).addHook("afterUpdateSettings",(function(){for(var e=arguments.length,o=new Array(e),s=0;s<e;s++)o[s]=arguments[s];return c(t,y,_).call(t,...o)})),(0,n.default)(this,g).addHook("afterSelection",(function(){for(var e=arguments.length,o=new Array(e),s=0;s<e;s++)o[s]=arguments[s];return c(t,E,R).call(t,...o)}))}getFocusMode(){return(0,n.default)(this,f)}setFocusMode(e){Object.values(u).includes(e)?(0,r.default)(this,f,e):(0,i.warn)(`"${e}" is not a valid focus mode.`)}getRefocusDelay(){return(0,n.default)(this,p)}setRefocusDelay(e){(0,r.default)(this,p,e)}setRefocusElementGetter(e){(0,r.default)(this,m,e)}getRefocusElement(){return"function"==typeof(0,n.default)(this,m)?(0,n.default)(this,m).call(this):null===(e=(0,n.default)(this,g).getActiveEditor())||void 0===e?void 0:e.TEXTAREA;var e}focusOnHighlightedCell(e){var t;const o=c(this,C,v).call(this),s=e||c(this,w,S).call(this);let r=(0,n.default)(this,g).runHooks("modifyFocusedElement",o.row,o.col,s);r instanceof HTMLElement||(r=s),!r||null!==(t=(0,n.default)(this,g).getActiveEditor())&&void 0!==t&&t.isOpened()||r.focus({preventScroll:!0})}refocusToEditorTextarea(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:(0,n.default)(this,p);const t=this.getRefocusElement();(0,n.default)(this,g).getSettings().imeFastEdit&&t&&(0,n.default)(this,g)._registerTimeout((()=>{t.select()}),e)}}},5386:(e,t)=>{"use strict";t.__esModule=!0;t.A11Y_TABINDEX=e=>["tabindex",e];t.A11Y_TREEGRID=()=>["role","treegrid"];t.A11Y_PRESENTATION=()=>["role","presentation"];t.A11Y_GRIDCELL=()=>["role","gridcell"];t.A11Y_ROWHEADER=()=>["role","rowheader"];t.A11Y_COLUMNHEADER=()=>["role","columnheader"];t.A11Y_ROW=()=>["role","row"];t.A11Y_MENU=()=>["role","menu"];t.A11Y_MENU_ITEM=()=>["role","menuitem"];t.A11Y_COMBOBOX=()=>["role","combobox"];t.A11Y_LISTBOX=()=>["role","listbox"];t.A11Y_OPTION=()=>["role","option"];t.A11Y_CHECKBOX=()=>["role","checkbox"];t.A11Y_SCOPE_COL=()=>["scope","col"];t.A11Y_SCOPE_ROW=()=>["scope","row"];t.A11Y_TEXT=()=>["type","text"];t.A11Y_LABEL=e=>["aria-label",e];t.A11Y_DESCRIPTION=e=>["aria-description",e];t.A11Y_HIDDEN=()=>["aria-hidden","true"];t.A11Y_DISABLED=()=>["aria-disabled","true"];t.A11Y_MULTISELECTABLE=()=>["aria-multiselectable","true"];t.A11Y_HASPOPUP=e=>["aria-haspopup",e];t.A11Y_ROWCOUNT=e=>["aria-rowcount",e];t.A11Y_COLCOUNT=e=>["aria-colcount",e];t.A11Y_ROWINDEX=e=>["aria-rowindex",e];t.A11Y_COLINDEX=e=>["aria-colindex",e];t.A11Y_EXPANDED=e=>["aria-expanded",e];t.A11Y_SORT=e=>["aria-sort",e];t.A11Y_READONLY=()=>["aria-readonly","true"];t.A11Y_INVALID=()=>["aria-invalid","true"];t.A11Y_CHECKED=e=>["aria-checked",e];t.A11Y_SELECTED=()=>["aria-selected","true"];t.A11Y_AUTOCOMPLETE=()=>["aria-autocomplete","list"];t.A11Y_CONTROLS=e=>["aria-controls",e];t.A11Y_ACTIVEDESCENDANT=e=>["aria-activedescendant",e];t.A11Y_LIVE=e=>["aria-live",e];t.A11Y_RELEVANT=e=>["aria-relevant",e];t.A11Y_SETSIZE=e=>["aria-setsize",e];t.A11Y_POSINSET=e=>["aria-posinset",e]},50095:(e,t,o)=>{"use strict";function s(e,t,o,s){let n=-1,r=e,i=o;Array.isArray(e)||(r=Array.from(e));const l=r.length;for(s&&l&&(n+=1,i=r[n]),n+=1;n<l;)i=t(i,r[n],n,r),n+=1;return i}function n(e,t){let o=0,s=e;Array.isArray(e)||(s=Array.from(e));const n=s.length;for(;o<n&&!1!==t(s[o],o,s);)o+=1;return e}function r(e){return s(e,((e,t)=>e+t),0)}t.__esModule=!0,t.arrayAvg=function(e){if(!e.length)return 0;return r(e)/e.length},t.arrayEach=n,t.arrayFilter=function(e,t){let o=0,s=e;Array.isArray(e)||(s=Array.from(e));const n=s.length,r=[];let i=-1;for(;o<n;){const e=s[o];t(e,o,s)&&(i+=1,r[i]=e),o+=1}return r},t.arrayFlatten=function e(t){return s(t,((t,o)=>t.concat(Array.isArray(o)?e(o):o)),[])},t.arrayMap=function(e,t){let o=0,s=e;Array.isArray(e)||(s=Array.from(e));const n=s.length,r=[];let i=-1;for(;o<n;){const e=s[o];i+=1,r[i]=t(e,o,s),o+=1}return r},t.arrayMax=function(e){return s(e,((e,t)=>e>t?e:t),Array.isArray(e)?e[0]:void 0)},t.arrayMin=function(e){return s(e,((e,t)=>e<t?e:t),Array.isArray(e)?e[0]:void 0)},t.arrayReduce=s,t.arraySum=r,t.arrayUnique=function(e){const t=[];return n(e,(e=>{-1===t.indexOf(e)&&t.push(e)})),t},t.extendArray=function(e,t){const o=t.length;let s=0;for(;s<o;)e.push(t[s]),s+=1},t.getDifferenceOfArrays=function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];const[s,...r]=[...t];let i=s;return n(r,(e=>{i=i.filter((t=>!e.includes(t)))})),i},t.getIntersectionOfArrays=function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];const[s,...r]=[...t];let i=s;return n(r,(e=>{i=i.filter((t=>e.includes(t)))})),i},t.getUnionOfArrays=function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];const[s,...r]=[...t],i=new Set(s);return n(r,(e=>{n(e,(e=>{i.has(e)||i.add(e)}))})),Array.from(i)},t.pivot=function(e){const t=[];if(!e||0===e.length||!e[0]||0===e[0].length)return t;const o=e.length,s=e[0].length;for(let n=0;n<o;n++)for(let o=0;o<s;o++)t[o]||(t[o]=[]),t[o][n]=e[n][o];return t},t.stringToArray=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:" ";return e.split(t)},t.to2dArray=function(e){const t=e.length;let o=0;for(;o<t;)e[o]=[e[o]],o+=1},o(63517)},37595:(e,t,o)=>{"use strict";t.__esModule=!0,t.isChrome=function(){return r.chrome.value},t.isChromeWebKit=function(){return r.chromeWebKit.value},t.isEdge=function(){return r.edge.value},t.isEdgeWebKit=function(){return r.edgeWebKit.value},t.isFirefox=function(){return r.firefox.value},t.isFirefoxWebKit=function(){return r.firefoxWebKit.value},t.isIOS=function(){return i.ios.value},t.isIpadOS=function(){let{maxTouchPoints:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:navigator;return e>2&&i.mac.value},t.isLinuxOS=function(){return i.linux.value},t.isMacOS=function(){return i.mac.value},t.isMobileBrowser=function(){return r.mobile.value},t.isSafari=function(){return r.safari.value},t.isWindowsOS=function(){return i.win.value},t.setBrowserMeta=l,t.setPlatformMeta=a;var s=o(22232);const n=e=>{const t={value:!1,test:(o,s)=>{t.value=e(o,s)}};return t},r={chrome:n(((e,t)=>/Chrome/.test(e)&&/Google/.test(t))),chromeWebKit:n((e=>/CriOS/.test(e))),edge:n((e=>/Edge/.test(e))),edgeWebKit:n((e=>/EdgiOS/.test(e))),firefox:n((e=>/Firefox/.test(e))),firefoxWebKit:n((e=>/FxiOS/.test(e))),mobile:n((e=>/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(e))),safari:n(((e,t)=>/Safari/.test(e)&&/Apple Computer/.test(t)))},i={mac:n((e=>/^Mac/.test(e))),win:n((e=>/^Win/.test(e))),linux:n((e=>/^Linux/.test(e))),ios:n((e=>/iPhone|iPad|iPod/i.test(e)))};function l(){let{userAgent:e=navigator.userAgent,vendor:t=navigator.vendor}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,s.objectEach)(r,(o=>{let{test:s}=o;s(e,t)}))}function a(){let{platform:e=navigator.platform}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,s.objectEach)(i,(t=>{let{test:o}=t;o(e)}))}l(),a()},69173:(e,t,o)=>{"use strict";t.__esModule=!0,t.error=function(){(0,s.isDefined)(console)&&console.error(...arguments)},t.info=function(){(0,s.isDefined)(console)&&console.info(...arguments)},t.log=function(){(0,s.isDefined)(console)&&console.log(...arguments)},t.warn=function(){(0,s.isDefined)(console)&&console.warn(...arguments)};var s=o(93315)},65320:(e,t,o)=>{"use strict";t.__esModule=!0,t.countFirstRowKeys=function(e){let t=0;Array.isArray(e)&&(e[0]&&Array.isArray(e[0])?t=e[0].length:e[0]&&(0,s.isObject)(e[0])&&(t=(0,s.deepObjectSize)(e[0])));return t},t.createEmptySpreadsheetData=function(e,t){const o=[];let s;for(let n=0;n<e;n++){s=[];for(let e=0;e<t;e++)s.push("");o.push(s)}return o},t.createSpreadsheetData=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;const o=[];let s,n;for(s=0;s<e;s++){const e=[];for(n=0;n<t;n++)e.push(i(n)+(s+1));o.push(e)}return o},t.createSpreadsheetObjectData=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;const o=[];let s,n;for(s=0;s<e;s++){const e={};for(n=0;n<t;n++)e[`prop${n}`]=i(n)+(s+1);o.push(e)}return o},t.dataRowToChangesArray=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=e;const s=[];Array.isArray(e)&&Array.isArray(e[0])||(o=[e]);return o.forEach(((e,o)=>{Array.isArray(e)?e.forEach(((e,n)=>{s.push([o+t,n,e])})):Object.keys(e).forEach((n=>{s.push([o+t,n,e[n]])}))})),s},t.isArrayOfArrays=function(e){return!!(Array.isArray(e)&&e.length&&e.every((e=>Array.isArray(e))))},t.isArrayOfObjects=function(e){return!!(Array.isArray(e)&&e.length&&e.every((e=>"object"==typeof e&&!Array.isArray(e)&&null!==e)))},t.spreadsheetColumnIndex=function(e){let t=0;if(e)for(let o=0,s=e.length-1;o<e.length;o+=1,s-=1)t+=r**s*(n.indexOf(e[o])+1);return t-=1,t},t.spreadsheetColumnLabel=i,o(63517);var s=o(22232);const n="ABCDEFGHIJKLMNOPQRSTUVWXYZ",r=n.length;function i(e){let t,o=e+1,s="";for(;o>0;)t=(o-1)%r,s=String.fromCharCode(65+t)+s,o=parseInt((o-t)/r,10);return s}},48150:(e,t)=>{"use strict";t.__esModule=!0,t.getNormalizedDate=function(e){const t=new Date(e);if(!isNaN(new Date(`${e}T00:00`).getDate()))return new Date(t.getTime()+6e4*t.getTimezoneOffset());return t}},83302:(e,t,o)=>{"use strict";t.__esModule=!0,t.addClass=h,t.addEvent=function(e,t,o){e.addEventListener(t,o,!1)},t.appendElement=function(e,t){let{tagName:o,className:s,attributes:n}=t;const r=e.ownerDocument.createElement(o);s&&h(r,s);n&&n.length&&c(r,n);return e.appendChild(r),r},t.clearTextSelection=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window;e.getSelection&&(e.getSelection().empty?e.getSelection().empty():e.getSelection().removeAllRanges&&e.getSelection().removeAllRanges())},t.closest=i,t.closestDown=function(e,t,o){const s=[];let n=e;for(;n&&(n=i(n,t,o),n&&(!o||o.contains(n)));)s.push(n),n=n.host&&n.nodeType===Node.DOCUMENT_FRAGMENT_NODE?n.host:n.parentNode;const r=s.length;return r?s[r-1]:null},t.empty=u,t.fastInnerHTML=function(e,t){let o=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];g.test(t)?e.innerHTML=o?(0,s.sanitize)(t):t:f(e,t)},t.fastInnerText=f,t.getCaretPosition=function(e){if(e.selectionStart)return e.selectionStart;return 0},t.getComputedStyle=C,t.getCssTransform=function(e){let t;if(e.style.transform&&""!==(t=e.style.transform))return["transform",t];return-1},t.getFrameElement=r,t.getParent=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=-1,s=null,n=e;for(;null!==n;){if(o===t){s=n;break}n.host&&n.nodeType===Node.DOCUMENT_FRAGMENT_NODE?n=n.host:(o+=1,n=n.parentNode)}return s},t.getParentWindow=function(e){return r(e)&&e.parent},t.getScrollLeft=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window;if(e===t)return m(t);return e.scrollLeft},t.getScrollTop=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window;if(e===t)return p(t);return e.scrollTop},t.getScrollableElement=function(e){let t=e.ownerDocument,o=t?t.defaultView:void 0;t||(t=e.document?e.document:e,o=t.defaultView);const s=["auto","scroll"];let n=e.parentNode;for(;n&&n.style&&t.body!==n;){let{overflow:e,overflowX:t,overflowY:r}=n.style;if([e,t,r].includes("scroll"))return n;if(({overflow:e,overflowX:t,overflowY:r}=o.getComputedStyle(n)),s.includes(e)||s.includes(t)||s.includes(r))return n;if(n.clientHeight<=n.scrollHeight+1&&(s.includes(r)||s.includes(e)))return n;if(n.clientWidth<=n.scrollWidth+1&&(s.includes(t)||s.includes(e)))return n;n=n.parentNode}return o},t.getScrollbarWidth=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document;void 0===w&&(w=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document;const t=e.createElement("div");t.style.height="200px",t.style.width="100%";const o=e.createElement("div");o.style.boxSizing="content-box",o.style.height="150px",o.style.left="0px",o.style.overflow="hidden",o.style.position="absolute",o.style.top="0px",o.style.width="200px",o.style.visibility="hidden",o.appendChild(t),(e.body||e.documentElement).appendChild(o);const s=t.offsetWidth;o.style.overflow="scroll";let n=t.offsetWidth;s===n&&(n=o.clientWidth);return(e.body||e.documentElement).removeChild(o),s-n}(e));return w},t.getSelectionEndPosition=function(e){if(e.selectionEnd)return e.selectionEnd;return 0},t.getSelectionText=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window;const t=e.document;let o="";e.getSelection?o=e.getSelection().toString():t.selection&&"Control"!==t.selection.type&&(o=t.selection.createRange().text);return o},t.getStyle=function(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:window;if(!e)return;if(e===o)return"width"===t?`${o.innerWidth}px`:"height"===t?`${o.innerHeight}px`:void 0;const s=e.style[t];if(""!==s&&void 0!==s)return s;const n=C(e,o);if(""!==n[t]&&void 0!==n[t])return n[t]},t.getTrimmingContainer=function(e){const t=e.ownerDocument,o=t.defaultView;let s=e.parentNode;for(;s&&s.style&&t.body!==s;){if("visible"!==s.style.overflow&&""!==s.style.overflow)return s;const e=C(s,o),t=["scroll","hidden","auto"],n=e.getPropertyValue("overflow"),r=e.getPropertyValue("overflow-y"),i=e.getPropertyValue("overflow-x");if(t.includes(n)||t.includes(r)||t.includes(i))return s;s=s.parentNode}return o},t.getWindowScrollLeft=m,t.getWindowScrollTop=p,t.hasAccessToParentWindow=function(e){return!!Object.getPrototypeOf(e.parent)},t.hasClass=function(e,t){if(void 0===e.classList||"string"!=typeof t||""===t)return!1;return e.classList.contains(t)},t.hasHorizontalScrollbar=function(e){return e.offsetHeight!==e.clientHeight},t.hasVerticalScrollbar=function(e){return e.offsetWidth!==e.clientWidth},t.index=function(e){let t=0,o=e;if(o.previousSibling)for(;o=o.previousSibling;)t+=1;return t},t.innerHeight=function(e){return e.clientHeight||e.innerHeight},t.innerWidth=function(e){return e.clientWidth||e.innerWidth},t.isChildOf=function(e,t){let o=e.parentNode,s=[];"string"==typeof t?s=e.defaultView?Array.prototype.slice.call(e.querySelectorAll(t),0):Array.prototype.slice.call(e.ownerDocument.querySelectorAll(t),0):s.push(t);for(;null!==o;){if(s.indexOf(o)>-1)return!0;o=o.parentNode}return!1},t.isDetached=function(e){return!e.parentNode},t.isInput=E,t.isOutsideInput=y,t.isThisHotChild=function(e,t){const o=e.closest(".handsontable");return!!o&&(o.parentNode===t||o===t)},t.isVisible=function e(t){const o=t.ownerDocument.documentElement;let s=t;for(;s!==o;){if(null===s)return!1;if(s.nodeType===Node.DOCUMENT_FRAGMENT_NODE){if(s.host){if(s.host.impl)return e(s.host.impl);if(s.host)return e(s.host);throw new Error("Lost in Web Components world")}return!1}if("none"===C(s).display)return!1;s=s.parentNode}return!0},t.makeElementContentEditableAndSelectItsContent=v,t.matchesCSSRules=function(e,t){const{selectorText:o}=t;let s=!1;t.type===CSSRule.STYLE_RULE&&o&&(e.msMatchesSelector?s=e.msMatchesSelector(o):e.matches&&(s=e.matches(o)));return s},t.observeVisibilityChangeOnce=function(e,t){new IntersectionObserver(((o,s)=>{o.forEach((o=>{o.isIntersecting&&null!==e.offsetParent&&(t(),s.unobserve(e))}))}),{root:e.ownerDocument.body}).observe(e)},t.offset=function(e){const t=e.ownerDocument,o=t.defaultView,s=t.documentElement;let n,r,i,l=e;n=l.offsetLeft,r=l.offsetTop,i=l;for(;(l=l.offsetParent)&&l!==t.body&&"offsetLeft"in l;)n+=l.offsetLeft,r+=l.offsetTop,i=l;i&&"fixed"===i.style.position&&(n+=o.pageXOffset||s.scrollLeft,r+=o.pageYOffset||s.scrollTop);return{left:n,top:r}},t.outerHeight=function(e){return e.offsetHeight},t.outerWidth=function(e){return e.offsetWidth},t.overlayContainsElement=function(e,t,o){const s=o.parentElement.querySelector(`.ht_clone_${e}`);return s?s.contains(t):null},t.removeAttribute=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];"string"==typeof t?t=t.split(" "):t instanceof RegExp&&(t=[t]);const{regexFree:o,regexes:s}=a(t,!0);o.forEach((t=>{""!==t&&e.removeAttribute(t)})),s.forEach((t=>{e.getAttributeNames().forEach((o=>{t.test(o)&&e.removeAttribute(o)}))}))},t.removeClass=d,t.removeContentEditableFromElementAndDeselect=S,t.removeEvent=function(e,t,o){e.removeEventListener(t,o,!1)},t.removeTextNodes=function e(t){if(3===t.nodeType)t.parentNode.removeChild(t);else if(["TABLE","THEAD","TBODY","TFOOT","TR"].indexOf(t.nodeName)>-1){const o=t.childNodes;for(let t=o.length-1;t>=0;t--)e(o[t])}},t.resetCssTransform=function(e){e.style.transform&&""!==e.style.transform&&(e.style.transform="")},t.runWithSelectedContendEditableElement=function(e,t){let o=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];v(e,o),t(),S(e,o)},t.selectElementIfAllowed=function(e){y(e.ownerDocument.activeElement)||e.select()},t.setAttribute=c,t.setCaretPosition=function(e,t,o){void 0===o&&(o=t);if(e.setSelectionRange){e.focus();try{e.setSelectionRange(t,o)}catch(s){const n=e.parentNode,r=n.style.display;n.style.display="block",e.setSelectionRange(t,o),n.style.display=r}}},t.setOverlayPosition=function(e,t,o){e.style.transform=`translate3d(${t},${o},0)`},o(63517),o(91683);var s=o(18609),n=o(5386);function r(e){return Object.getPrototypeOf(e.parent)&&e.frameElement}function i(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=arguments.length>2?arguments[2]:void 0;const{ELEMENT_NODE:s,DOCUMENT_FRAGMENT_NODE:n}=Node;let r=e;for(;null!=r&&r!==o;){const{nodeType:e,nodeName:o}=r;if(e===s&&(t.includes(o)||t.includes(r)))return r;const{host:i}=r;r=i&&e===n?i:r.parentNode}return null}function l(e){return e&&e.length?e.filter((e=>!!e)):[]}function a(e,t){if(!e||!e.length)return t?{regexFree:[],regexes:[]}:[];const o=[],s=[];return s.push(...e.filter((e=>{const s=e instanceof RegExp;return s&&t&&o.push(e),!s}))),t?{regexFree:s,regexes:o}:s}function h(e,t){"string"==typeof t&&(t=t.split(" ")),(t=l(t)).length>0&&e.classList.add(...t)}function d(e,t){"string"==typeof t?t=t.split(" "):t instanceof RegExp&&(t=[t]);let{regexFree:o,regexes:s}=a(t,!0);o=l(o),o.length>0&&e.classList.remove(...o),s.forEach((t=>{e.classList.forEach((o=>{t.test(o)&&e.classList.remove(o)}))}))}function c(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=arguments.length>2?arguments[2]:void 0;Array.isArray(t)||(t=[[t,o]]),t.forEach((t=>{Array.isArray(t)&&""!==t[0]&&e.setAttribute(...t)}))}function u(e){let t;for(;t=e.lastChild;)e.removeChild(t)}const g=t.HTML_CHARACTERS=/(<(.*)>|&(.*);)/;function f(e,t){const o=e.firstChild;o&&3===o.nodeType&&null===o.nextSibling?o.textContent=t:(u(e),e.appendChild(e.ownerDocument.createTextNode(t)))}function p(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:window).scrollY}function m(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:window).scrollX}function C(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window;return e.currentStyle||t.getComputedStyle(e)}let w;function E(e){return e&&(["INPUT","SELECT","TEXTAREA"].indexOf(e.nodeName)>-1||"true"===e.contentEditable)}function y(e){return E(e)&&!1===e.hasAttribute("data-hot-input")}function v(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const s=e.ownerDocument,r=s.createRange(),i=s.defaultView.getSelection();c(e,"contenteditable",!0),o&&c(e,...(0,n.A11Y_HIDDEN)()),t&&h(e,"invisibleSelection"),r.selectNodeContents(e),i.removeAllRanges(),i.addRange(r)}function S(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const o=e.ownerDocument.defaultView.getSelection();e.hasAttribute("aria-hidden")&&e.removeAttribute("aria-hidden"),o.removeAllRanges(),t&&d(e,"invisibleSelection"),e.removeAttribute("contenteditable")}},24449:(e,t)=>{"use strict";t.__esModule=!0,t.isImmediatePropagationStopped=function(e){return!1===e.isImmediatePropagationEnabled},t.isLeftClick=function(e){return 0===e.button},t.isRightClick=function(e){return 2===e.button},t.offsetRelativeTo=function(e,t){const o={x:e.offsetX,y:e.offsetY};let s=e.target;if(!(t instanceof HTMLElement)||s!==t&&s.contains(t))return o;for(;s!==t;)o.x+=s.offsetLeft,o.y+=s.offsetTop,s=s.offsetParent;return o},t.stopImmediatePropagation=function(e){e.isImmediatePropagationEnabled=!1,e.cancelBubble=!0}},7374:(e,t)=>{"use strict";let o;t.__esModule=!0,t.cancelAnimationFrame=function(e){window.cancelAnimationFrame(e)},t.getComparisonFunction=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(o)return o;o="object"==typeof Intl?new Intl.Collator(e,t).compare:"function"==typeof String.prototype.localeCompare?(e,t)=>`${e}`.localeCompare(t):(e,t)=>e===t?0:e>t?-1:1;return o},t.isTouchSupported=function(){return"ontouchstart"in window},t.requestAnimationFrame=function(e){return window.requestAnimationFrame(e)}},85015:(e,t,o)=>{"use strict";t.__esModule=!0,t.curry=function(e){const t=e.length;return function o(s){return function(){for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];const l=s.concat(r);let a;return a=l.length>=t?e.apply(this,l):o(l),a}}([])},t.curryRight=function(e){const t=e.length;return function o(s){return function(){for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];const l=s.concat(r.reverse());let a;return a=l.length>=t?e.apply(this,l):o(l),a}}([])},t.debounce=function(e){let t,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:200,s=null;return function(){for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return s&&clearTimeout(s),s=setTimeout((()=>{t=e.apply(this,r)}),o),t}},t.fastCall=function(e,t,o,s,r,i,l,a){if((0,n.isDefined)(a))return e.call(t,o,s,r,i,l,a);if((0,n.isDefined)(l))return e.call(t,o,s,r,i,l);if((0,n.isDefined)(i))return e.call(t,o,s,r,i);if((0,n.isDefined)(r))return e.call(t,o,s,r);if((0,n.isDefined)(s))return e.call(t,o,s);if((0,n.isDefined)(o))return e.call(t,o);return e.call(t)},t.isFunction=function(e){return"function"==typeof e},t.partial=function(e){for(var t=arguments.length,o=new Array(t>1?t-1:0),s=1;s<t;s++)o[s-1]=arguments[s];return function(){for(var t=arguments.length,s=new Array(t),n=0;n<t;n++)s[n]=arguments[n];return e.apply(this,o.concat(s))}},t.pipe=function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];const[n,...r]=t;return function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return(0,s.arrayReduce)(r,((e,t)=>t(e)),n.apply(this,t))}},t.throttle=r,t.throttleAfterHits=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:200,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10;const s=r(e,t);let n=o;function i(){for(var t=arguments.length,o=new Array(t),r=0;r<t;r++)o[r]=arguments[r];return n?(n-=1,e.apply(this,o)):s.apply(this,o)}return i.clearHits=function(){n=o},i};var s=o(50095),n=o(93315);function r(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:200,o=0;const s={lastCallThrottled:!0};let n=null;return function(){for(var r=arguments.length,i=new Array(r),l=0;l<r;l++)i[l]=arguments[l];const a=Date.now();let h=!1;s.lastCallThrottled=!0,o||(o=a,h=!0);const d=t-(a-o);return h?(s.lastCallThrottled=!1,e.apply(this,i)):(n&&clearTimeout(n),n=setTimeout((()=>{s.lastCallThrottled=!1,e.apply(this,i),o=0,n=void 0}),d)),s}}},93315:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,t._injectProductInfo=function(e,t){const o=!l(e),s="string"==typeof e&&"non-commercial-and-evaluation"===e.toLowerCase(),r="14.0.0-next-5fd908e-20231030";let i,E="invalid",y="invalid";const v=function(e){let t=[][a],o=t;if(e[a]!==u("Z"))return!1;for(let t="",s="B<H4P+".split(""),n=u(s.shift());n;n=u(s.shift()||"A"))--n<""[a]?o|=(d(`${d(h(t)+(h(c(e,Math.abs(n),2))+[]).padStart(2,"0"))}`)%97||2)>>1:t=c(e,n,n?1===s[a]?9:8:6);return o===t}(e=g(e||""));if(o||s||v)if(v){const t=(0,n.default)("08/11/2023","DD/MM/YYYY"),o=Math.floor(t.toDate().getTime()/864e5),s=f(e);i=(0,n.default)(864e5*(s+1),"x").format("MMMM DD, YYYY"),o>s?(E="expired",y="expired"):(E="valid",y="valid")}else s?(E="non_commercial",y="valid"):(E="invalid",y="invalid");else E="missing",y="missing";p()&&(E="valid",y="valid");if(!m&&"valid"!==E){C[E]({keyValidityDate:i,hotVersion:r})&&console["non_commercial"===E?"info":"warn"](C[E]({keyValidityDate:i,hotVersion:r})),m=!0}if("valid"!==y&&t.parentNode){if(w[y]({keyValidityDate:i,hotVersion:r})){const e=document.createElement("div");e.className="hot-display-license-info",e.innerHTML=w[y]({keyValidityDate:i,hotVersion:r}),t.parentNode.insertBefore(e,t.nextSibling)}}},t.isDefined=function(e){return void 0!==e},t.isEmpty=l,t.isRegExp=function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},t.isUndefined=i,t.stringify=function(e){let t;switch(typeof e){case"string":case"number":t=`${e}`;break;case"object":t=null===e?"":e.toString();break;case"undefined":t="";break;default:t=e.toString()}return t};var n=s(o(33034)),r=o(28236);function i(e){return void 0===e}function l(e){return null===e||""===e||i(e)}const a="length",h=e=>parseInt(e,16),d=e=>parseInt(e,10),c=(e,t,o)=>e.substr(t,o),u=e=>e.codePointAt(0)-65,g=e=>`${e}`.replace(/\-/g,""),f=e=>h(c(g(e),h("12"),u("F")))/(h(c(g(e),u("B"),~~![][a]))||9),p=()=>"undefined"!=typeof location&&/^([a-z0-9\-]+\.)?\x68\x61\x6E\x64\x73\x6F\x6E\x74\x61\x62\x6C\x65\x2E\x63\x6F\x6D$/i.test(location.host);let m=!1;const C={invalid:()=>r.toSingleLine`
|
33
33
|
The license key for Handsontable is invalid.\x20
|
34
34
|
If you need any help, contact us at support@handsontable.com.`,expired:e=>{let{keyValidityDate:t,hotVersion:o}=e;return r.toSingleLine`
|
35
35
|
The license key for Handsontable expired on ${t}, and is not valid for the installed\x20
|
@@ -60,7 +60,7 @@
|
|
60
60
|
*/}(o(77516));function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,o=new WeakMap;return(n=function(e){return e?o:t})(e)}const r={languageCode:"en-US",[s.CONTEXTMENU_ITEMS_NO_ITEMS]:"No available options",[s.CONTEXTMENU_ITEMS_ROW_ABOVE]:"Insert row above",[s.CONTEXTMENU_ITEMS_ROW_BELOW]:"Insert row below",[s.CONTEXTMENU_ITEMS_INSERT_LEFT]:"Insert column left",[s.CONTEXTMENU_ITEMS_INSERT_RIGHT]:"Insert column right",[s.CONTEXTMENU_ITEMS_REMOVE_ROW]:["Remove row","Remove rows"],[s.CONTEXTMENU_ITEMS_REMOVE_COLUMN]:["Remove column","Remove columns"],[s.CONTEXTMENU_ITEMS_UNDO]:"Undo",[s.CONTEXTMENU_ITEMS_REDO]:"Redo",[s.CONTEXTMENU_ITEMS_READ_ONLY]:"Read only",[s.CONTEXTMENU_ITEMS_CLEAR_COLUMN]:"Clear column",[s.CONTEXTMENU_ITEMS_ALIGNMENT]:"Alignment",[s.CONTEXTMENU_ITEMS_ALIGNMENT_LEFT]:"Left",[s.CONTEXTMENU_ITEMS_ALIGNMENT_CENTER]:"Center",[s.CONTEXTMENU_ITEMS_ALIGNMENT_RIGHT]:"Right",[s.CONTEXTMENU_ITEMS_ALIGNMENT_JUSTIFY]:"Justify",[s.CONTEXTMENU_ITEMS_ALIGNMENT_TOP]:"Top",[s.CONTEXTMENU_ITEMS_ALIGNMENT_MIDDLE]:"Middle",[s.CONTEXTMENU_ITEMS_ALIGNMENT_BOTTOM]:"Bottom",[s.CONTEXTMENU_ITEMS_FREEZE_COLUMN]:"Freeze column",[s.CONTEXTMENU_ITEMS_UNFREEZE_COLUMN]:"Unfreeze column",[s.CONTEXTMENU_ITEMS_BORDERS]:"Borders",[s.CONTEXTMENU_ITEMS_BORDERS_TOP]:"Top",[s.CONTEXTMENU_ITEMS_BORDERS_RIGHT]:"Right",[s.CONTEXTMENU_ITEMS_BORDERS_BOTTOM]:"Bottom",[s.CONTEXTMENU_ITEMS_BORDERS_LEFT]:"Left",[s.CONTEXTMENU_ITEMS_REMOVE_BORDERS]:"Remove border(s)",[s.CONTEXTMENU_ITEMS_ADD_COMMENT]:"Add comment",[s.CONTEXTMENU_ITEMS_EDIT_COMMENT]:"Edit comment",[s.CONTEXTMENU_ITEMS_REMOVE_COMMENT]:"Delete comment",[s.CONTEXTMENU_ITEMS_READ_ONLY_COMMENT]:"Read-only comment",[s.CONTEXTMENU_ITEMS_MERGE_CELLS]:"Merge cells",[s.CONTEXTMENU_ITEMS_UNMERGE_CELLS]:"Unmerge cells",[s.CONTEXTMENU_ITEMS_COPY]:"Copy",[s.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_HEADERS]:["Copy with header","Copy with headers"],[s.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_GROUP_HEADERS]:["Copy with group header","Copy with group headers"],[s.CONTEXTMENU_ITEMS_COPY_COLUMN_HEADERS_ONLY]:["Copy header only","Copy headers only"],[s.CONTEXTMENU_ITEMS_CUT]:"Cut",[s.CONTEXTMENU_ITEMS_NESTED_ROWS_INSERT_CHILD]:"Insert child row",[s.CONTEXTMENU_ITEMS_NESTED_ROWS_DETACH_CHILD]:"Detach from parent",[s.CONTEXTMENU_ITEMS_HIDE_COLUMN]:["Hide column","Hide columns"],[s.CONTEXTMENU_ITEMS_SHOW_COLUMN]:["Show column","Show columns"],[s.CONTEXTMENU_ITEMS_HIDE_ROW]:["Hide row","Hide rows"],[s.CONTEXTMENU_ITEMS_SHOW_ROW]:["Show row","Show rows"],[s.FILTERS_CONDITIONS_NONE]:"None",[s.FILTERS_CONDITIONS_EMPTY]:"Is empty",[s.FILTERS_CONDITIONS_NOT_EMPTY]:"Is not empty",[s.FILTERS_CONDITIONS_EQUAL]:"Is equal to",[s.FILTERS_CONDITIONS_NOT_EQUAL]:"Is not equal to",[s.FILTERS_CONDITIONS_BEGINS_WITH]:"Begins with",[s.FILTERS_CONDITIONS_ENDS_WITH]:"Ends with",[s.FILTERS_CONDITIONS_CONTAINS]:"Contains",[s.FILTERS_CONDITIONS_NOT_CONTAIN]:"Does not contain",[s.FILTERS_CONDITIONS_GREATER_THAN]:"Greater than",[s.FILTERS_CONDITIONS_GREATER_THAN_OR_EQUAL]:"Greater than or equal to",[s.FILTERS_CONDITIONS_LESS_THAN]:"Less than",[s.FILTERS_CONDITIONS_LESS_THAN_OR_EQUAL]:"Less than or equal to",[s.FILTERS_CONDITIONS_BETWEEN]:"Is between",[s.FILTERS_CONDITIONS_NOT_BETWEEN]:"Is not between",[s.FILTERS_CONDITIONS_AFTER]:"After",[s.FILTERS_CONDITIONS_BEFORE]:"Before",[s.FILTERS_CONDITIONS_TODAY]:"Today",[s.FILTERS_CONDITIONS_TOMORROW]:"Tomorrow",[s.FILTERS_CONDITIONS_YESTERDAY]:"Yesterday",[s.FILTERS_VALUES_BLANK_CELLS]:"Blank cells",[s.FILTERS_DIVS_FILTER_BY_CONDITION]:"Filter by condition",[s.FILTERS_DIVS_FILTER_BY_VALUE]:"Filter by value",[s.FILTERS_LABELS_CONJUNCTION]:"And",[s.FILTERS_LABELS_DISJUNCTION]:"Or",[s.FILTERS_BUTTONS_SELECT_ALL]:"Select all",[s.FILTERS_BUTTONS_CLEAR]:"Clear",[s.FILTERS_BUTTONS_OK]:"OK",[s.FILTERS_BUTTONS_CANCEL]:"Cancel",[s.FILTERS_BUTTONS_PLACEHOLDER_SEARCH]:"Search",[s.FILTERS_BUTTONS_PLACEHOLDER_VALUE]:"Value",[s.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]:"Second value",[s.CHECKBOX_CHECKED]:"Checked",[s.CHECKBOX_UNCHECKED]:"Unchecked",[s.COLUMN_HEADER_DESCRIPTION_EXPAND_COLUMN]:"Press ENTER to expand column.",[s.COLUMN_HEADER_DESCRIPTION_COLLAPSE_COLUMN]:"Press ENTER to collapse column.",[s.COLUMN_HEADER_DESCRIPTION_SORT_ROWS]:"Press ENTER to change sorting.",[s.COLUMN_HEADER_LABEL_MULTI_COLUMN_SORT_ORDER]:"Multi-column sorting order:",[s.COLUMN_HEADER_LABEL_OPEN_MENU]:"Press CTRL/CMD+ENTER to open menu.",[s.COLUMN_HEADER_LABEL_BEFORE_HIDDEN_COLUMN]:"The next column is hidden.",[s.COLUMN_HEADER_LABEL_AFTER_HIDDEN_COLUMN]:"The previous column is hidden.",[s.ROW_HEADER_DESCRIPTION_EXPAND_ROW]:"Press ENTER to expand row.",[s.ROW_HEADER_DESCRIPTION_COLLAPSE_ROW]:"Press ENTER to collapse row.",[s.ROW_HEADER_LABEL_BEFORE_HIDDEN_ROW]:"The next row is hidden.",[s.ROW_HEADER_LABEL_AFTER_HIDDEN_ROW]:"The previous row is hidden."};t.default=r},14529:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,t.getPhraseFormatters=t.getAll=function(){return l()},t.registerPhraseFormatter=t.register=a;var n=s(o(63800)),r=s(o(6614));const{register:i,getValues:l}=(0,n.default)("phraseFormatters");function a(e,t){i(e,t)}a("pluralize",r.default)},6614:(e,t)=>{"use strict";t.__esModule=!0,t.default=function(e,t){if(Array.isArray(e)&&Number.isInteger(t))return e[t];return e}},22489:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,t.getDefaultLanguageDictionary=function(){return d.default},t.getLanguageDictionary=E,t.getLanguagesDictionaries=function(){return C()},t.getTranslatedPhrase=function(e,t,o){const s=E(e);if(null===s)return null;const n=s[t];if((0,i.isUndefined)(n))return null;const l=function(e,t){let o=e;return(0,r.arrayEach)((0,h.getPhraseFormatters)(),(s=>{o=s(e,t)})),o}(n,o);if(Array.isArray(l))return l[0];return l},t.getValidLanguageCode=function(e){let t=(0,l.normalizeLanguageCode)(e);y(t)||(t=g,(0,l.warnUserAboutLanguageRegistration)(e));return t},t.hasLanguageDictionary=y,t.registerLanguageDictionary=w;var n=o(22232),r=o(50095),i=o(93315),l=o(8222),a=s(o(63800)),h=o(14529),d=s(o(69579)),c=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var o=u(t);if(o&&o.has(e))return o.get(e);var s={__proto__:null},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if("default"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var i=n?Object.getOwnPropertyDescriptor(e,r):null;i&&(i.get||i.set)?Object.defineProperty(s,r,i):s[r]=e[r]}return s.default=e,o&&o.set(e,s),s}(o(77516));function u(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,o=new WeakMap;return(u=function(e){return e?o:t})(e)}t.dictionaryKeys=c;const g=t.DEFAULT_LANGUAGE_CODE=d.default.languageCode,{register:f,getItem:p,hasItem:m,getValues:C}=(0,a.default)("languagesDictionaries");function w(e,t){let o=e,s=t;return(0,n.isObject)(e)&&(s=e,o=s.languageCode),function(e,t){e!==g&&(0,l.extendNotExistingKeys)(t,p(g))}(o,s),f(o,(0,n.deepClone)(s)),(0,n.deepClone)(s)}function E(e){return y(e)?(0,n.deepClone)(p(e)):null}function y(e){return m(e)}w(d.default)},8222:(e,t,o)=>{"use strict";t.__esModule=!0,t.createCellHeadersRange=function(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:t,[n,r]=[o,s];e>t&&([n,r]=[r,n]);return`${n}-${r}`},t.extendNotExistingKeys=function(e,t){return(0,n.objectEach)(t,((t,o)=>{(0,s.isUndefined)(e[o])&&(e[o]=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,s.isDefined)(e)&&(0,r.error)(i.toSingleLine`Language with code "${e}" was not found. You should register particular language\x20
|
61
61
|
before using it. Read more about this issue at: https://docs.handsontable.com/i18n/missing-language-code.`)};var s=o(93315),n=o(22232),r=o(69173),i=o(28236)},4748:(e,t,o)=>{"use strict";t.__esModule=!0,o(63517);var s=o(50095),n=o(22232);const r={_hooksStorage:Object.create(null),addHook(e,t){return this._hooksStorage[e]||(this._hooksStorage[e]=[]),this.hot.addHook(e,t),this._hooksStorage[e].push(t),this},removeHooksByKey(e){(0,s.arrayEach)(this._hooksStorage[e]||[],(t=>{this.hot.removeHook(e,t)}))},clearHooks(){(0,n.objectEach)(this._hooksStorage,((e,t)=>this.removeHooksByKey(t))),this._hooksStorage={}}};(0,n.defineGetter)(r,"MIXIN_NAME","hooksRefRegisterer",{writable:!1,enumerable:!1});t.default=r},65718:(e,t,o)=>{"use strict";t.__esModule=!0,o(63517);var s=o(22232),n=o(85015);const r={_localHooks:Object.create(null),addLocalHook(e,t){return this._localHooks[e]||(this._localHooks[e]=[]),this._localHooks[e].push(t),this},runLocalHooks(e,t,o,s,r,i,l){if(this._localHooks[e]){const a=this._localHooks[e].length;for(let h=0;h<a;h++)(0,n.fastCall)(this._localHooks[e][h],this,t,o,s,r,i,l)}},clearLocalHooks(){return this._localHooks={},this}};(0,s.defineGetter)(r,"MIXIN_NAME","localHooks",{writable:!1,enumerable:!1});t.default=r},56307:(e,t,o)=>{"use strict";t.__esModule=!0,o(63517);var s=o(50095),n=o(22232),r=o(18609),i=o(69173),l=o(28236),a=o(85015);const h=["afterCellMetaReset","afterChange","afterContextMenuDefaultOptions","beforeContextMenuSetItems","afterDropdownMenuDefaultOptions","beforeDropdownMenuSetItems","afterContextMenuHide","beforeContextMenuShow","afterContextMenuShow","afterCopyLimit","beforeCreateCol","afterColumnSequenceChange","afterCreateCol","beforeCreateRow","afterCreateRow","afterDeselect","afterDestroy","afterDocumentKeyDown","afterDrawSelection","beforeRemoveCellClassNames","afterGetCellMeta","afterGetColHeader","afterGetRowHeader","afterInit","afterLoadData","afterUpdateData","afterMomentumScroll","afterOnCellCornerMouseDown","afterOnCellCornerDblClick","afterOnCellMouseDown","afterOnCellMouseUp","afterOnCellContextMenu","afterOnCellMouseOver","afterOnCellMouseOut","afterRemoveCol","afterRemoveRow","beforeRenderer","afterRenderer","afterRowSequenceChange","beforeViewportScrollVertically","beforeViewportScrollHorizontally","beforeViewportScroll","afterScrollHorizontally","afterScrollVertically","afterScroll","afterSelection","afterSelectionByProp","afterSelectionEnd","afterSelectionEndByProp","beforeSelectColumns","afterSelectColumns","beforeSelectRows","afterSelectRows","afterSetCellMeta","afterRemoveCellMeta","afterSetDataAtCell","afterSetDataAtRowProp","afterSetSourceDataAtCell","afterUpdateSettings","afterValidate","beforeLanguageChange","afterLanguageChange","beforeAutofill","afterAutofill","beforeCellAlignment","beforeChange","beforeChangeRender","beforeDrawBorders","beforeGetCellMeta","beforeRemoveCellMeta","beforeInit","beforeInitWalkontable","beforeLoadData","beforeUpdateData","beforeKeyDown","beforeOnCellMouseDown","beforeOnCellMouseUp","beforeOnCellContextMenu","beforeOnCellMouseOver","beforeOnCellMouseOut","beforeRemoveCol","beforeRemoveRow","beforeViewRender","afterViewRender","beforeRender","afterRender","beforeRowWrap","beforeColumnWrap","beforeSetCellMeta","beforeSetRangeStartOnly","beforeSetRangeStart","beforeSetRangeEnd","beforeSelectionHighlightSet","beforeTouchScroll","beforeValidate","beforeValueRender","construct","init","modifyColHeader","modifyColWidth","modifyFocusedElement","modifyRowHeader","modifyRowHeight","modifyData","modifySourceData","modifyRowData","modifyGetCellCoords","modifyFocusOnTabNavigation","beforeHighlightingRowHeader","beforeHighlightingColumnHeader","persistentStateLoad","persistentStateReset","persistentStateSave","beforeColumnSort","afterColumnSort","modifyAutofillRange","modifyCopyableRange","beforeCut","afterCut","beforeCopy","afterCopy","beforePaste","afterPaste","beforeColumnFreeze","afterColumnFreeze","beforeColumnMove","afterColumnMove","beforeColumnUnfreeze","afterColumnUnfreeze","beforeRowMove","afterRowMove","beforeColumnResize","afterColumnResize","beforeRowResize","afterRowResize","afterGetColumnHeaderRenderers","afterGetRowHeaderRenderers","beforeStretchingColumnWidth","beforeFilter","afterFilter","afterFormulasValuesUpdate","afterNamedExpressionAdded","afterNamedExpressionRemoved","afterSheetAdded","afterSheetRenamed","afterSheetRemoved","modifyColumnHeaderHeight","modifyColumnHeaderValue","beforeUndo","beforeUndoStackChange","afterUndo","afterUndoStackChange","beforeRedo","beforeRedoStackChange","afterRedo","afterRedoStackChange","modifyRowHeaderWidth","modifyTransformStart","modifyTransformEnd","afterModifyTransformStart","afterModifyTransformEnd","afterViewportRowCalculatorOverride","afterViewportColumnCalculatorOverride","afterPluginsInitialized","beforeHideRows","afterHideRows","beforeUnhideRows","afterUnhideRows","beforeHideColumns","afterHideColumns","beforeUnhideColumns","afterUnhideColumns","beforeTrimRow","afterTrimRow","beforeUntrimRow","afterUntrimRow","beforeDropdownMenuShow","afterDropdownMenuShow","afterDropdownMenuHide","beforeAddChild","afterAddChild","beforeDetachChild","afterDetachChild","afterBeginEditing","beforeMergeCells","afterMergeCells","beforeUnmergeCells","afterUnmergeCells","afterListen","afterUnlisten","afterRefreshDimensions","beforeRefreshDimensions","beforeColumnCollapse","afterColumnCollapse","beforeColumnExpand","afterColumnExpand","modifyAutoColumnSizeSeed"],d=l.toSingleLine`The plugin hook "[hookName]" was removed in Handsontable [removedInVersion].\x20
|
62
62
|
Please consult release notes https://github.com/handsontable/handsontable/releases/tag/[removedInVersion] to\x20
|
63
|
-
learn about the migration path.`,c=new Map([["modifyRow","8.0.0"],["modifyCol","8.0.0"],["unmodifyRow","8.0.0"],["unmodifyCol","8.0.0"],["skipLengthCache","8.0.0"],["hiddenColumn","8.0.0"],["hiddenRow","8.0.0"]]),u=new Map([["beforeRemoveCellClassNames",'The hook "beforeRemoveCellClassNames" is deprecated and will be removed in the next major release.']]);class g{static getSingleton(){return f}constructor(){this.globalBucket=this.createEmptyBucket()}createEmptyBucket(){const e=Object.create(null);return(0,s.arrayEach)(h,(t=>e[t]=[])),e}getBucket(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return e?(e.pluginHookBucket||(e.pluginHookBucket=this.createEmptyBucket()),e.pluginHookBucket):this.globalBucket}add(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(Array.isArray(t))(0,s.arrayEach)(t,(t=>this.add(e,t,o)));else{c.has(e)&&(0,i.warn)((0,r.substitute)(d,{hookName:e,removedInVersion:c.get(e)})),u.has(e)&&(0,i.warn)(u.get(e));const n=this.getBucket(o);if(void 0===n[e]&&(this.register(e),n[e]=[]),t.skip=!1,-1===n[e].indexOf(t)){let o=!1;t.initialHook&&(0,s.arrayEach)(n[e],((s,r)=>{if(s.initialHook)return n[e][r]=t,o=!0,!1})),o||n[e].push(t)}}return this}once(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;Array.isArray(t)?(0,s.arrayEach)(t,(t=>this.once(e,t,o))):(t.runOnce=!0,this.add(e,t,o))}remove(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;const s=this.getBucket(o);return void 0!==s[e]&&s[e].indexOf(t)>=0&&(t.skip=!0,!0)}has(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const o=this.getBucket(t);return!(void 0===o[e]||!o[e].length)}run(e,t,o,s,n,r,i,l){{const h=this.globalBucket[t],d=h?h.length:0;let c=0;if(d)for(;c<d;){if(!h[c]||h[c].skip){c+=1;continue}const d=(0,a.fastCall)(h[c],e,o,s,n,r,i,l);void 0!==d&&(o=d),h[c]&&h[c].runOnce&&this.remove(t,h[c]),c+=1}}{const h=this.getBucket(e)[t],d=h?h.length:0;let c=0;if(d)for(;c<d;){if(!h[c]||h[c].skip){c+=1;continue}const d=(0,a.fastCall)(h[c],e,o,s,n,r,i,l);void 0!==d&&(o=d),h[c]&&h[c].runOnce&&this.remove(t,h[c],e),c+=1}}return o}destroy(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;(0,n.objectEach)(this.getBucket(e),((e,t,o)=>o[t].length=0))}register(e){this.isRegistered(e)||h.push(e)}deregister(e){this.isRegistered(e)&&h.splice(h.indexOf(e),1)}isDeprecated(e){return u.has(e)||c.has(e)}isRegistered(e){return h.indexOf(e)>=0}getRegistered(){return h}}const f=new g;t.default=g},35030:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(63517);var n=o(36026),r=o(50095),i=o(7374),l=s(o(17954)),a=s(o(56307)),h=o(22232),d=o(68145),c=s(o(10977)),u=o(18609),g=o(21280),f=o(33165),p=o(93315);a.default.getSingleton().register("modifyAutoColumnSizeSeed");const m=t.PLUGIN_KEY="autoColumnSize",C=t.PLUGIN_PRIORITY=10,w=new WeakMap;class E extends n.BasePlugin{static get PLUGIN_KEY(){return m}static get PLUGIN_PRIORITY(){return C}static get SETTING_KEYS(){return!0}static get CALCULATION_STEP(){return 50}static get SYNC_CALCULATION_LIMIT(){return 50}constructor(e){super(e),w.set(this,{cachedColumnHeaders:[]}),this.ghostTable=new l.default(this.hot),this.samplesGenerator=new c.default(((e,t)=>{const o=this.hot.getCellMeta(e,t);let s="";o.spanned||(s=this.hot.getDataAtCell(e,t));let n="";return this.hot.hasHook("modifyAutoColumnSizeSeed")&&(n=this.hot.runHooks("modifyAutoColumnSizeSeed",n,o,s)),{value:s,bundleSeed:n}})),this.firstCalculation=!0,this.inProgress=!1,this.measuredColumns=0,this.columnWidthsMap=new f.PhysicalIndexToValueMap,this.hot.columnIndexMapper.registerMap("autoColumnSize",this.columnWidthsMap),this.addHook("beforeColumnResize",((e,t,o)=>this.onBeforeColumnResize(e,t,o)))}isEnabled(){return!1!==this.hot.getSettings()[m]&&!this.hot.getSettings().colWidths}enablePlugin(){var e=this;if(this.enabled)return;const t=this.hot.getSettings()[m];t&&null!==t.useHeaders&&void 0!==t.useHeaders&&this.ghostTable.setSetting("useHeaders",t.useHeaders),this.setSamplingOptions(),this.addHook("afterLoadData",(function(){return e.onAfterLoadData(...arguments)})),this.addHook("beforeChangeRender",(e=>this.onBeforeChange(e))),this.addHook("afterFormulasValuesUpdate",(e=>this.onAfterFormulasValuesUpdate(e))),this.addHook("beforeViewRender",(e=>this.onBeforeViewRender(e))),this.addHook("modifyColWidth",((e,t)=>this.getColumnWidth(t,e))),this.addHook("afterInit",(()=>this.onAfterInit())),super.enablePlugin()}updatePlugin(){const e=this.findColumnsWhereHeaderWasChanged();e.length&&(this.clearCache(e),this.calculateVisibleColumnsWidth()),super.updatePlugin()}disablePlugin(){super.disablePlugin(),this.addHook("beforeColumnResize",((e,t,o)=>this.onBeforeColumnResize(e,t,o)))}calculateVisibleColumnsWidth(){if(!this.hot.countRows())return;const e=this.hot.renderCall,t=this.getFirstVisibleColumn(),o=this.getLastVisibleColumn();-1!==t&&-1!==o&&this.calculateColumnsWidth({from:t,to:o},void 0,e)}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},o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const s="number"==typeof e?{from:e,to:e}:e,n="number"==typeof t?{from:t,to:t}:t;(0,d.rangeEach)(s.from,s.to,(e=>{let t=this.hot.toPhysicalColumn(e);if(null===t&&(t=e),o||null===this.columnWidthsMap.getValueAtIndex(t)&&!this.hot._getColWidthFromSettings(t)){const t=this.samplesGenerator.generateColumnSamples(e,n);(0,r.arrayEach)(t,(e=>{let[t,o]=e;return this.ghostTable.addColumn(t,o)}))}})),this.ghostTable.columns.length&&(this.hot.batchExecution((()=>{this.ghostTable.getWidths(((e,t)=>{const o=this.hot.toPhysicalColumn(e);this.columnWidthsMap.setValueAtIndex(o,t)}))}),!0),this.measuredColumns=s.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=0;const o=this.hot.countCols()-1;let s=null;this.inProgress=!0;const n=()=>{if(!this.hot)return(0,i.cancelAnimationFrame)(s),void(this.inProgress=!1);this.calculateColumnsWidth({from:t,to:Math.min(t+E.CALCULATION_STEP,o)},e),t=t+E.CALCULATION_STEP+1,t<o?s=(0,i.requestAnimationFrame)(n):((0,i.cancelAnimationFrame)(s),this.inProgress=!1,this.hot.view.adjustElementsSize())},r=this.getSyncCalculationLimit();this.firstCalculation&&r>=0&&(this.calculateColumnsWidth({from:0,to:r},e),this.firstCalculation=!1,t=r+1),t<o?n():this.inProgress=!1}setSamplingOptions(){const e=this.hot.getSettings()[m],t=e&&(0,h.hasOwnProperty)(e,"samplingRatio")?e.samplingRatio:void 0,o=e&&(0,h.hasOwnProperty)(e,"allowSampleDuplicates")?e.allowSampleDuplicates:void 0;t&&!isNaN(t)&&this.samplesGenerator.setSampleCount(parseInt(t,10)),o&&this.samplesGenerator.setAllowDuplicates(o)}recalculateAllColumnsWidth(){this.hot.view&&this.hot.view._wt.wtTable.isVisible()&&(this.clearCache(),this.calculateAllColumnsWidth())}getSyncCalculationLimit(){const e=this.hot.getSettings()[m];let t=E.SYNC_CALCULATION_LIMIT;const o=this.hot.countCols()-1;return(0,h.isObject)(e)&&(t=e.syncLimit,(0,u.isPercentValue)(t)?t=(0,d.valueAccordingPercent)(o,t):t>>=0),Math.min(t,o)}getColumnWidth(e){let t=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;return void 0===o&&(o=this.columnWidthsMap.getValueAtIndex(this.hot.toPhysicalColumn(e)),t&&"number"==typeof o&&(o=Math.max(o,g.ViewportColumnsCalculator.DEFAULT_WIDTH))),o}getFirstVisibleColumn(){const e=this.hot.view._wt;if(e.wtViewport.columnsVisibleCalculator){const t=e.wtTable.getFirstVisibleColumn();if(-1!==t)return this.hot.columnIndexMapper.getVisualFromRenderableIndex(t)}if(e.wtViewport.columnsRenderCalculator){const t=e.wtTable.getFirstRenderedColumn();if(-1!==t)return this.hot.columnIndexMapper.getVisualFromRenderableIndex(t)}return-1}getLastVisibleColumn(){const e=this.hot.view._wt;if(e.wtViewport.columnsVisibleCalculator){const t=e.wtTable.getLastVisibleColumn();if(-1!==t)return this.hot.columnIndexMapper.getVisualFromRenderableIndex(t)}if(e.wtViewport.columnsRenderCalculator){const t=e.wtTable.getLastRenderedColumn();if(-1!==t)return this.hot.columnIndexMapper.getVisualFromRenderableIndex(t)}return-1}findColumnsWhereHeaderWasChanged(){const e=this.hot.getColHeader(),{cachedColumnHeaders:t}=w.get(this);return(0,r.arrayReduce)(e,((e,o,s)=>{const n=t.length;return(n-1<s||t[s]!==o)&&e.push(s),n-1<s?t.push(o):t[s]=o,e}),[])}clearCache(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];e.length?this.hot.batchExecution((()=>{(0,r.arrayEach)(e,(e=>{this.columnWidthsMap.setValueAtIndex(e,null)}))}),!0):this.columnWidthsMap.clear()}isNeedRecalculate(){return!!(0,r.arrayFilter)(this.columnWidthsMap.getValues().slice(0,this.measuredColumns),(e=>null===e)).length}onBeforeViewRender(){this.calculateVisibleColumnsWidth(),this.isNeedRecalculate()&&!this.inProgress&&this.calculateAllColumnsWidth()}onAfterLoadData(){this.hot.view?this.recalculateAllColumnsWidth():setTimeout((()=>{this.hot&&this.recalculateAllColumnsWidth()}),0)}onBeforeChange(e){const t=(0,r.arrayMap)(e,(e=>{let[,t]=e;return this.hot.toPhysicalColumn(this.hot.propToCol(t))}));this.clearCache(Array.from(new Set(t)))}onBeforeColumnResize(e,t,o){let s=e;return o&&(this.calculateColumnsWidth(t,void 0,!0),s=this.getColumnWidth(t,void 0,!1)),s}onAfterInit(){w.get(this).cachedColumnHeaders=this.hot.getColHeader()}onAfterFormulasValuesUpdate(e){const t=(0,r.arrayFilter)(e,(e=>{var t;return(0,p.isDefined)(null===(t=e.address)||void 0===t?void 0:t.col)})),o=(0,r.arrayMap)(t,(e=>e.address.col));this.clearCache(Array.from(new Set(o)))}destroy(){this.ghostTable.clean(),super.destroy()}}t.AutoColumnSize=E},21215:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(35030);t.PLUGIN_KEY=s.PLUGIN_KEY,t.PLUGIN_PRIORITY=s.PLUGIN_PRIORITY,t.AutoColumnSize=s.AutoColumnSize},64168:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=o(36026),r=o(50095),i=o(7374),l=o(83302),a=s(o(17954)),h=o(22232),d=o(68145),c=s(o(10977)),u=o(18609),g=o(33165);const f=t.PLUGIN_KEY="autoRowSize",p=t.PLUGIN_PRIORITY=40;class m extends n.BasePlugin{static get PLUGIN_KEY(){return f}static get PLUGIN_PRIORITY(){return p}static get SETTING_KEYS(){return!0}static get CALCULATION_STEP(){return 50}static get SYNC_CALCULATION_LIMIT(){return 500}constructor(e){super(e),this.rowHeightsMap=void 0,this.headerHeight=null,this.ghostTable=new a.default(this.hot),this.samplesGenerator=new c.default(((e,t)=>{if(e>=0&&t>=0){if(this.hot.getCellMeta(e,t).hidden)return!1}let o;return e>=0?o=this.hot.getDataAtCell(e,t):-1===e&&(o=this.hot.getColHeader(t)),{value:o}})),this.firstCalculation=!0,this.inProgress=!1,this.measuredRows=0,this.rowHeightsMap=new g.PhysicalIndexToValueMap,this.hot.rowIndexMapper.registerMap("autoRowSize",this.rowHeightsMap),this.addHook("beforeRowResize",((e,t,o)=>this.onBeforeRowResize(e,t,o)))}isEnabled(){const e=this.hot.getSettings()[f];return!0===e||(0,h.isObject)(e)}enablePlugin(){var e=this;this.enabled||(this.setSamplingOptions(),this.addHook("afterLoadData",(function(){return e.onAfterLoadData(...arguments)})),this.addHook("beforeChangeRender",(e=>this.onBeforeChange(e))),this.addHook("beforeColumnResize",(()=>this.recalculateAllRowsHeight())),this.addHook("beforeViewRender",(e=>this.onBeforeViewRender(e))),this.addHook("modifyRowHeight",((e,t)=>this.getRowHeight(t,e))),this.addHook("modifyColumnHeaderHeight",(()=>this.getColumnHeaderHeight())),super.enablePlugin())}disablePlugin(){this.headerHeight=null,super.disablePlugin(),this.addHook("beforeRowResize",((e,t,o)=>this.onBeforeRowResize(e,t,o)))}calculateRowsHeight(){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]:{from:0,to:this.hot.countCols()-1},o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const s="number"==typeof e?{from:e,to:e}:e,n="number"==typeof t?{from:t,to:t}:t;if(null!==this.hot.getColHeader(0)){const e=this.samplesGenerator.generateRowSamples(-1,n);this.ghostTable.addColumnHeadersRow(e.get(-1))}(0,d.rangeEach)(s.from,s.to,(e=>{if(o||null===this.rowHeightsMap.getValueAtIndex(e)){const t=this.samplesGenerator.generateRowSamples(e,n);(0,r.arrayEach)(t,(e=>{let[t,o]=e;return this.ghostTable.addRow(t,o)}))}})),this.ghostTable.rows.length&&(this.hot.batchExecution((()=>{this.ghostTable.getHeights(((e,t)=>{e<0?this.headerHeight=t:this.rowHeightsMap.setValueAtIndex(this.hot.toPhysicalRow(e),t)}))}),!0),this.measuredRows=s.to+1,this.ghostTable.clean())}calculateAllRowsHeight(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{from:0,to:this.hot.countCols()-1},t=0;const o=this.hot.countRows()-1;let s=null;this.inProgress=!0;const n=()=>{if(!this.hot)return(0,i.cancelAnimationFrame)(s),void(this.inProgress=!1);this.calculateRowsHeight({from:t,to:Math.min(t+m.CALCULATION_STEP,o)},e),t=t+m.CALCULATION_STEP+1,t<o?s=(0,i.requestAnimationFrame)(n):((0,i.cancelAnimationFrame)(s),this.inProgress=!1,this.hot.view.adjustElementsSize(!0),this.hot.view._wt.wtOverlays.inlineStartOverlay.needFullRender&&this.hot.view._wt.wtOverlays.inlineStartOverlay.clone.draw())},r=this.getSyncCalculationLimit();this.firstCalculation&&r>=0&&(this.calculateRowsHeight({from:0,to:r},e),this.firstCalculation=!1,t=r+1),t<o?n():(this.inProgress=!1,this.hot.view.adjustElementsSize(!1))}setSamplingOptions(){const e=this.hot.getSettings()[f],t=e&&(0,h.hasOwnProperty)(e,"samplingRatio")?e.samplingRatio:void 0,o=e&&(0,h.hasOwnProperty)(e,"allowSampleDuplicates")?e.allowSampleDuplicates:void 0;t&&!isNaN(t)&&this.samplesGenerator.setSampleCount(parseInt(t,10)),o&&this.samplesGenerator.setAllowDuplicates(o)}recalculateAllRowsHeight(){(0,l.isVisible)(this.hot.view._wt.wtTable.TABLE)&&(this.clearCache(),this.calculateAllRowsHeight())}getSyncCalculationLimit(){const e=this.hot.getSettings()[f];let t=m.SYNC_CALCULATION_LIMIT;const o=this.hot.countRows()-1;return(0,h.isObject)(e)&&(t=e.syncLimit,(0,u.isPercentValue)(t)?t=(0,d.valueAccordingPercent)(o,t):t>>=0),Math.min(t,o)}getRowHeight(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;const o=e<0?this.headerHeight:this.rowHeightsMap.getValueAtIndex(this.hot.toPhysicalRow(e));let s=t;return null!==o&&o>(t||0)&&(s=o),s}getColumnHeaderHeight(){return this.headerHeight}getFirstVisibleRow(){const e=this.hot.view._wt;return e.wtViewport.rowsVisibleCalculator?e.wtTable.getFirstVisibleRow():e.wtViewport.rowsRenderCalculator?e.wtTable.getFirstRenderedRow():-1}getLastVisibleRow(){const e=this.hot.view._wt;return e.wtViewport.rowsVisibleCalculator?e.wtTable.getLastVisibleRow():e.wtViewport.rowsRenderCalculator?e.wtTable.getLastRenderedRow():-1}clearCache(){this.headerHeight=null,this.rowHeightsMap.init()}clearCacheByRange(e){const{from:t,to:o}="number"==typeof e?{from:e,to:e}:e;this.hot.batchExecution((()=>{(0,d.rangeEach)(Math.min(t,o),Math.max(t,o),(e=>{this.rowHeightsMap.setValueAtIndex(e,null)}))}),!0)}isNeedRecalculate(){return!!(0,r.arrayFilter)(this.rowHeightsMap.getValues().slice(0,this.measuredRows),(e=>null===e)).length}onBeforeViewRender(){const e=this.hot.renderCall,t=this.hot.getSettings().fixedRowsBottom,o=this.getFirstVisibleRow(),s=this.getLastVisibleRow();if(-1!==o&&-1!==s){if(this.calculateRowsHeight({from:o,to:s},void 0,e),t){const e=this.hot.countRows()-1;this.calculateRowsHeight({from:e-t,to:e})}this.isNeedRecalculate()&&!this.inProgress&&this.calculateAllRowsHeight()}}onBeforeRowMove(e,t){this.clearCacheByRange({from:e,to:t}),this.calculateAllRowsHeight()}onBeforeRowResize(e,t,o){let s=e;return o&&(this.calculateRowsHeight(t,void 0,!0),s=this.getRowHeight(t)),s}onAfterLoadData(){this.hot.view?this.recalculateAllRowsHeight():this.hot._registerTimeout((()=>{this.hot&&this.recalculateAllRowsHeight()}))}onBeforeChange(e){let t=null;1===e.length?t=e[0][0]:e.length>1&&(t={from:e[0][0],to:e[e.length-1][0]}),null!==t&&this.clearCacheByRange(t)}destroy(){this.ghostTable.clean(),super.destroy()}}t.AutoRowSize=m},60687:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(64168);t.PLUGIN_KEY=s.PLUGIN_KEY,t.PLUGIN_PRIORITY=s.PLUGIN_PRIORITY,t.AutoRowSize=s.AutoRowSize},51479:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(63517);var n=o(36026),r=s(o(56307)),i=o(83302),l=o(50095),a=s(o(75244)),h=o(28151);r.default.getSingleton().register("modifyAutofillRange"),r.default.getSingleton().register("beforeAutofill"),r.default.getSingleton().register("afterAutofill");const d=t.PLUGIN_KEY="autofill",c=t.PLUGIN_PRIORITY=20,u=["fillHandle"];class g extends n.BasePlugin{static get PLUGIN_KEY(){return d}static get PLUGIN_PRIORITY(){return c}static get SETTING_KEYS(){return[d,...u]}constructor(e){super(e),this.eventManager=new a.default(this),this.addingStarted=!1,this.mouseDownOnCellCorner=!1,this.mouseDragOutside=!1,this.handleDraggedCells=0,this.directions=[],this.autoInsertRow=!1}isEnabled(){return this.hot.getSettings().fillHandle}enablePlugin(){this.enabled||(this.mapSettings(),this.registerEvents(),this.addHook("afterOnCellCornerMouseDown",(e=>this.onAfterCellCornerMouseDown(e))),this.addHook("afterOnCellCornerDblClick",(e=>this.onCellCornerDblClick(e))),this.addHook("beforeOnCellMouseOver",((e,t)=>this.onBeforeCellMouseOver(t))),super.enablePlugin())}updatePlugin(){this.disablePlugin(),this.enablePlugin(),super.updatePlugin()}disablePlugin(){this.clearMappedSettings(),super.disablePlugin()}getSelectionData(){const e=this.hot.getSelectedRangeLast(),{row:t,col:o}=e.getTopStartCorner(),{row:s,col:n}=e.getBottomEndCorner(),r=this.hot.runHooks("modifyCopyableRange",[{startRow:t,startCol:o,endRow:s,endCol:n}]),i=[],a=[],h=[];return(0,l.arrayEach)(r,(e=>{for(let t=e.startRow;t<=e.endRow;t+=1)-1===i.indexOf(t)&&i.push(t);for(let t=e.startCol;t<=e.endCol;t+=1)-1===a.indexOf(t)&&a.push(t)})),(0,l.arrayEach)(i,(e=>{const t=[];(0,l.arrayEach)(a,(o=>{t.push(this.hot.getCopyableData(e,o))})),h.push(t)})),h}fillIn(){if(this.hot.selection.highlight.getFill().isEmpty())return!1;const[e,t,o,s]=this.hot.selection.highlight.getFill().getVisualCorners(),n=this.hot.getSelectedRangeLast(),r=n.getTopStartCorner(),i=n.getBottomEndCorner();this.resetSelectionOfDraggedArea();const l=[r.row,r.col,i.row,i.col],a=this.hot.runHooks("modifyAutofillRange",[Math.min(r.row,e),Math.min(r.col,t),Math.max(i.row,o),Math.max(i.col,s)],l),{directionOfDrag:d,startOfDragCoords:c,endOfDragCoords:u}=(0,h.getDragDirectionAndRange)(l,a,((e,t)=>this.hot._createCellCoords(e,t)));if(c&&c.row>-1&&c.col>-1){const e=this.getSelectionData(),t=n.clone(),o=this.hot._createCellRange(c,c,u),s=this.hot.runHooks("beforeAutofill",e,t,o,d);if(!1===s)return this.hot.selection.highlight.getFill().clear(),this.hot.render(),!1;let r=s;const i=s;if(["up","left"].indexOf(d)>-1&&(1!==i.length||0!==i[0].length))if(r=[],"up"===d){const e=u.row-c.row+1,t=e%i.length;for(let o=0;o<e;o++)r.push(i[(o+(i.length-t))%i.length])}else{const e=u.col-c.col+1,t=e%i[0].length;for(let o=0;o<i.length;o++){r.push([]);for(let s=0;s<e;s++)r[o].push(i[o][(s+(i[o].length-t))%i[o].length])}}this.hot.populateFromArray(c.row,c.col,r,u.row,u.col,`${this.pluginName}.fill`,null),this.setSelection(a),this.hot.runHooks("afterAutofill",r,t,o,d),this.hot.render()}else this.hot._refreshBorders();return!0}reduceSelectionAreaIfNeeded(e){return e.row<0&&(e.row=0),e.col<0&&(e.col=0),e}getCoordsOfDragAndDropBorders(e){const t=this.hot.getSelectedRangeLast(),o=t.getBottomEndCorner();let s=e;if(this.directions.includes(h.DIRECTIONS.vertical)&&this.directions.includes(h.DIRECTIONS.horizontal)){const n=t.getTopStartCorner();(o.col<=e.col||n.col>=e.col)&&(s=this.hot._createCellCoords(o.row,e.col)),(o.row<e.row||n.row>e.row)&&(s=this.hot._createCellCoords(e.row,o.col))}else if(this.directions.includes(h.DIRECTIONS.vertical))s=this.hot._createCellCoords(e.row,o.col);else{if(!this.directions.includes(h.DIRECTIONS.horizontal))return;s=this.hot._createCellCoords(o.row,e.col)}return this.reduceSelectionAreaIfNeeded(s)}showBorder(e){const t=this.getCoordsOfDragAndDropBorders(e);t&&this.redrawBorders(t)}addRow(){this.hot._registerTimeout((()=>{this.hot.alter("insert_row_below",void 0,1,`${this.pluginName}.fill`),this.addingStarted=!1}),200)}addNewRowIfNeeded(){if(!this.hot.selection.highlight.getFill().isEmpty()&&!1===this.addingStarted&&this.autoInsertRow){const e=this.hot.getSelectedLast(),t=this.hot.selection.highlight.getFill().getVisualCorners(),o=this.hot.countRows();e[2]<o-1&&t[2]===o-1&&(this.addingStarted=!0,this.addRow())}}getIndexOfLastAdjacentFilledInRow(e){const t=this.hot.getData(),o=this.hot.countRows();let s;for(let n=e[2]+1;n<o;n++){for(let o=e[1];o<=e[3];o++){if(t[n][o])return-1}const o=t[n][e[1]-1],r=t[n][e[3]+1];(o||r)&&(s=n)}return s}addSelectionFromStartAreaToSpecificRowIndex(e,t){this.hot.selection.highlight.getFill().clear().add(this.hot._createCellCoords(e[0],e[1])).add(this.hot._createCellCoords(t,e[3])).commit()}setSelection(e){this.hot.selectCell(...(0,l.arrayMap)(e,(e=>Math.max(e,0))),!1,!1)}selectAdjacent(){const e=this.hot.getSelectedLast(),t=this.getIndexOfLastAdjacentFilledInRow(e);return-1!==t&&void 0!==t&&(this.addSelectionFromStartAreaToSpecificRowIndex(e,t),!0)}resetSelectionOfDraggedArea(){this.handleDraggedCells=0,this.hot.selection.highlight.getFill().clear()}redrawBorders(e){this.hot.selection.highlight.getFill().clear().add(this.hot.getSelectedRangeLast().from).add(this.hot.getSelectedRangeLast().to).add(e).commit(),this.hot.view.render()}getIfMouseWasDraggedOutside(e){const{documentElement:t}=this.hot.rootDocument,o=(0,i.offset)(this.hot.table).top-(this.hot.rootWindow.pageYOffset||t.scrollTop)+(0,i.outerHeight)(this.hot.table),s=(0,i.offset)(this.hot.table).left-(this.hot.rootWindow.pageXOffset||t.scrollLeft)+(0,i.outerWidth)(this.hot.table);return e.clientY>o&&e.clientX<=s}registerEvents(){const{documentElement:e}=this.hot.rootDocument;this.eventManager.addEventListener(e,"mouseup",(()=>this.onMouseUp())),this.eventManager.addEventListener(e,"mousemove",(e=>this.onMouseMove(e)))}onCellCornerDblClick(){this.selectAdjacent()&&this.fillIn()}onAfterCellCornerMouseDown(){this.handleDraggedCells=1,this.mouseDownOnCellCorner=!0}onBeforeCellMouseOver(e){this.mouseDownOnCellCorner&&!this.hot.view.isMouseDown()&&this.handleDraggedCells&&(this.handleDraggedCells+=1,this.showBorder(e),this.addNewRowIfNeeded())}onMouseUp(){this.handleDraggedCells&&(this.handleDraggedCells>1&&this.fillIn(),this.handleDraggedCells=0,this.mouseDownOnCellCorner=!1)}onMouseMove(e){const t=this.getIfMouseWasDraggedOutside(e);!1===this.addingStarted&&this.handleDraggedCells>0&&t?(this.mouseDragOutside=!0,this.addingStarted=!0):this.mouseDragOutside=!1,this.mouseDragOutside&&this.autoInsertRow&&this.addRow()}clearMappedSettings(){this.directions.length=0,this.autoInsertRow=!1}mapSettings(){const e=(0,h.getMappedFillHandleSetting)(this.hot.getSettings().fillHandle);this.directions=e.directions,this.autoInsertRow=e.autoInsertRow}destroy(){super.destroy()}}t.Autofill=g},62080:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(51479);t.PLUGIN_KEY=s.PLUGIN_KEY,t.PLUGIN_PRIORITY=s.PLUGIN_PRIORITY,t.Autofill=s.Autofill},28151:(e,t,o)=>{"use strict";t.__esModule=!0,t.getDragDirectionAndRange=function(e,t,o){let s,n,r;t[0]===e[0]&&t[1]<e[1]?(r="left",s=o(t[0],t[1]),n=o(t[2],e[1]-1)):t[2]===e[2]&&t[0]===e[0]&&t[3]>e[3]?(r="right",s=o(t[0],e[3]+1),n=o(t[2],t[3])):t[0]<e[0]&&t[1]===e[1]?(r="up",s=o(t[0],t[1]),n=o(e[0]-1,t[3])):t[2]>e[2]&&t[1]===e[1]&&(r="down",s=o(e[2]+1,t[1]),n=o(t[2],t[3]));s&&s.normalize();n&&n.normalize();return{directionOfDrag:r,startOfDragCoords:s,endOfDragCoords:n}},t.getMappedFillHandleSetting=function(e){const t={};!0===e?(t.directions=Object.keys(r),t.autoInsertRow=!0):(0,s.isObject)(e)?((0,n.isDefined)(e.autoInsertRow)?e.direction===r.horizontal?t.autoInsertRow=!1:t.autoInsertRow=e.autoInsertRow:t.autoInsertRow=!1,(0,n.isDefined)(e.direction)?t.directions=[e.direction]:t.directions=Object.keys(r)):"string"==typeof e?(t.directions=[e],t.autoInsertRow=!0):(t.directions=[],t.autoInsertRow=!1);return t};var s=o(22232),n=o(93315);const r=t.DIRECTIONS={horizontal:"horizontal",vertical:"vertical"}},13541:(e,t,o)=>{"use strict";t.__esModule=!0,o(91683),o(63517);var s=o(22232),n=o(50095),r=o(52036),i=o(65324),l=o(83605),a=o(7462),h=o(80239);function d(e,t){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.add(e)}const c=new Map([["plugin",r.hasPlugin],["cell-type",i.hasCellType],["editor",l.hasEditor],["renderer",a.hasRenderer],["validator",h.hasValidator]]),u=t.PLUGIN_KEY="base",g=new WeakMap,f=[];let p=null;var m=new WeakSet;function C(e){if(!e)return!1;const t=this.constructor.SETTING_KEYS;if("boolean"==typeof t)return t;for(let o=0;o<t.length;o++)if(void 0!==e[t[o]])return!0;return!1}t.BasePlugin=class{static get PLUGIN_KEY(){return u}static get SETTING_KEYS(){return[this.PLUGIN_KEY]}constructor(e){d(this,m),(0,s.defineGetter)(this,"hot",e,{writable:!1}),g.set(this,{hooks:{}}),p=null,this.pluginName=null,this.pluginsInitializedCallbacks=[],this.isPluginsReady=!1,this.enabled=!1,this.initialized=!1,this.hot.addHook("afterPluginsInitialized",(()=>this.onAfterPluginsInitialized())),this.hot.addHook("afterUpdateSettings",(e=>this.onUpdateSettings(e))),this.hot.addHook("beforeInit",(()=>this.init()))}init(){this.pluginName=this.hot.getPluginName(this);const e=this.constructor.PLUGIN_DEPS,t=Array.isArray(e)?e:[];if(t.length>0){const e=[];if(t.forEach((t=>{const[o,s]=t.split(":");if(!c.has(o))throw new Error(`Unknown plugin dependency type "${o}" was found.`);c.get(o)(s)||e.push(` - ${s} (${o})`)})),e.length>0){const t=[`The ${this.pluginName} plugin requires the following modules:\n`,`${e.join("\n")}\n`].join("");f.push(t)}}p||(p=(0,r.getPluginsNames)()),p.indexOf("UndoRedo")>=0&&p.splice(p.indexOf("UndoRedo"),1),p.indexOf(this.pluginName)>=0&&p.splice(p.indexOf(this.pluginName),1),this.hot.addHookOnce("afterPluginsInitialized",(()=>{this.isEnabled&&this.isEnabled()&&this.enablePlugin()}));if(0===p.length){if(f.length>0){const e=[`${f.join("\n")}\n`,"You have to import and register them manually."].join("");throw new Error(e)}this.hot.runHooks("afterPluginsInitialized")}this.initialized=!0}enablePlugin(){this.enabled=!0}disablePlugin(){this.eventManager&&this.eventManager.clear(),this.clearHooks(),this.enabled=!1}addHook(e,t){g.get(this).hooks[e]=g.get(this).hooks[e]||[];const o=g.get(this).hooks[e];this.hot.addHook(e,t),o.push(t),g.get(this).hooks[e]=o}removeHooks(e){(0,n.arrayEach)(g.get(this).hooks[e]||[],(t=>{this.hot.removeHook(e,t)}))}clearHooks(){const e=g.get(this).hooks;(0,s.objectEach)(e,((e,t)=>this.removeHooks(t))),e.length=0}callOnPluginsReady(e){this.isPluginsReady?e():this.pluginsInitializedCallbacks.push(e)}onAfterPluginsInitialized(){(0,n.arrayEach)(this.pluginsInitializedCallbacks,(e=>e())),this.pluginsInitializedCallbacks.length=0,this.isPluginsReady=!0}onUpdateSettings(e){const t=function(e,t,o){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return o}(this,m,C).call(this,e);this.isEnabled&&(this.enabled&&!this.isEnabled()&&this.disablePlugin(),!this.enabled&&this.isEnabled()&&this.enablePlugin(),this.enabled&&this.isEnabled()&&t&&this.updatePlugin(e))}updatePlugin(){}destroy(){this.eventManager&&this.eventManager.destroy(),this.clearHooks(),(0,s.objectEach)(this,((e,t)=>{"hot"!==t&&(this[t]=null)})),delete this.t,delete this.hot}}},36026:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(13541);t.PLUGIN_KEY=s.PLUGIN_KEY,t.BasePlugin=s.BasePlugin},37958:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=o(36026),r=s(o(82173)),i=s(o(12738));const l=t.PLUGIN_KEY="bindRowsWithHeaders",a=t.PLUGIN_PRIORITY=210,h=new Map([["loose",r.default],["strict",i.default]]);class d extends n.BasePlugin{static get PLUGIN_KEY(){return l}static get PLUGIN_PRIORITY(){return a}constructor(e){super(e),this.headerIndexes=null}isEnabled(){return!!this.hot.getSettings()[l]}enablePlugin(){if(this.enabled)return;let e=this.hot.getSettings()[l];"string"!=typeof e&&(e="loose");const t=h.get(e);this.headerIndexes=this.hot.rowIndexMapper.registerMap("bindRowsWithHeaders",new t),this.addHook("modifyRowHeader",(e=>this.onModifyRowHeader(e))),super.enablePlugin()}disablePlugin(){this.hot.rowIndexMapper.unregisterMap("bindRowsWithHeaders"),super.disablePlugin()}onModifyRowHeader(e){return this.headerIndexes.getValueAtIndex(this.hot.toPhysicalRow(e))}destroy(){super.destroy()}}t.BindRowsWithHeaders=d},85939:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(37958);t.PLUGIN_KEY=s.PLUGIN_KEY,t.PLUGIN_PRIORITY=s.PLUGIN_PRIORITY,t.BindRowsWithHeaders=s.BindRowsWithHeaders},82173:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(33165);const{getListWithInsertedItems:n,getListWithRemovedItems:r}=(0,s.alterUtilsFactory)("physicallyIndexed");class i extends s.IndexMap{constructor(){super((e=>e))}insert(e,t){const o=(0,s.getIncreasedIndexes)(this.indexedValues,t);this.indexedValues=n(o,e,t,this.initValueOrFn),super.insert(e,t)}remove(e){const t=r(this.indexedValues,e);this.indexedValues=(0,s.getDecreasedIndexes)(t,e),super.remove(e)}}t.default=i},12738:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(33165);const{getListWithInsertedItems:n,getListWithRemovedItems:r}=(0,s.alterUtilsFactory)("physicallyIndexed");class i extends s.IndexMap{constructor(){super((e=>e))}insert(e,t){this.indexedValues=n(this.indexedValues,e,t,((e,t)=>this.getNextValue(t))),super.insert(e,t)}remove(e){this.indexedValues=r(this.indexedValues,e),super.remove(e)}getNextValue(e){return Math.max(...this.getValues())+1+e}}t.default=i},11665:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(91683),o(63517);var n=s(o(93231)),r=s(o(42538)),i=s(o(48427)),l=o(36026),a=o(50095),h=o(68145),d=o(69173),c=o(83302),u=s(o(75244)),g=o(24449),f=o(5386),p=o(77516);function m(e,t,o){!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,o)}const C=t.PLUGIN_KEY="collapsibleColumns",w=t.PLUGIN_PRIORITY=290,E=["nestedHeaders"],y="collapsibleIndicator",v=C,S=new Map([["collapse",{hideColumn:!0,beforeHook:"beforeColumnCollapse",afterHook:"afterColumnCollapse"}],["expand",{hideColumn:!1,beforeHook:"beforeColumnExpand",afterHook:"afterColumnExpand"}]]);var R=new WeakMap;class _ extends l.BasePlugin{constructor(){super(...arguments),(0,n.default)(this,"nestedHeadersPlugin",null),(0,n.default)(this,"eventManager",new u.default(this)),(0,n.default)(this,"headerStateManager",null),m(this,R,{writable:!0,value:null})}static get PLUGIN_KEY(){return C}static get PLUGIN_PRIORITY(){return w}static get PLUGIN_DEPS(){return["plugin:NestedHeaders"]}static get SETTING_KEYS(){return[C,...E]}isEnabled(){return!!this.hot.getSettings()[C]}enablePlugin(){var e=this;if(this.enabled)return;const{nestedHeaders:t}=this.hot.getSettings();t||(0,d.warn)("You need to configure the Nested Headers plugin in order to use collapsible headers."),(0,i.default)(this,R,this.hot.columnIndexMapper.createAndRegisterIndexMap(this.pluginName,"hiding")),this.nestedHeadersPlugin=this.hot.getPlugin("nestedHeaders"),this.headerStateManager=this.nestedHeadersPlugin.getStateManager(),this.addHook("init",(()=>this.onInit())),this.addHook("afterLoadData",(function(){return e.onAfterLoadData(...arguments)})),this.addHook("afterGetColHeader",(function(){return e.onAfterGetColHeader(...arguments)})),this.addHook("beforeOnCellMouseDown",((e,t,o)=>this.onBeforeOnCellMouseDown(e,t,o))),this.registerShortcuts(),super.enablePlugin(),this.updatePlugin()}updatePlugin(){if(this.hot.view){if(!this.nestedHeadersPlugin.detectedOverlappedHeaders){const{collapsibleColumns:e}=this.hot.getSettings();"boolean"==typeof e?this.headerStateManager.mapState((e=>({collapsible:e.origColspan>1}))):Array.isArray(e)&&(this.headerStateManager.mapState((()=>({collapsible:!1}))),this.headerStateManager.mergeStateWith(e))}super.updatePlugin()}}disablePlugin(){this.hot.columnIndexMapper.unregisterMap(this.pluginName),(0,i.default)(this,R,null),this.nestedHeadersPlugin=null,this.unregisterShortcuts(),this.clearButtons(),super.disablePlugin()}registerShortcuts(){this.hot.getShortcutManager().getContext("grid").addShortcut({keys:[["Enter"]],callback:()=>{var e;const{row:t,col:o}=this.hot.getSelectedRangeLast().highlight,{collapsible:s,isCollapsed:n,columnIndex:r}=null!==(e=this.headerStateManager.getHeaderTreeNodeData(t,o))&&void 0!==e?e:{};s&&(n?this.expandSection({row:t,col:r}):this.collapseSection({row:t,col:r}))},runOnlyIf:()=>{var e;return null===(e=this.hot.getSelectedRangeLast())||void 0===e?void 0:e.highlight.isHeader()},group:v})}unregisterShortcuts(){this.hot.getShortcutManager().getContext("grid").removeShortcutsByGroup(v)}clearButtons(){if(!this.hot.view)return;const e=this.hot.view._wt.getSetting("columnHeaders").length,t=this.hot.view._wt.wtTable.THEAD,o=this.hot.view._wt.wtOverlays.topOverlay.clone.wtTable.THEAD,s=this.hot.view._wt.wtOverlays.topInlineStartCornerOverlay?this.hot.view._wt.wtOverlays.topInlineStartCornerOverlay.clone.wtTable.THEAD:null,n=function(e){e&&e.parentNode.removeChild(e)};(0,h.rangeEach)(0,e-1,(e=>{const r=t.childNodes[e],i=o.childNodes[e],l=s?s.childNodes[e]:null;(0,h.rangeEach)(0,r.childNodes.length-1,(e=>{let t=r.childNodes[e].querySelector(`.${y}`);n(t),i&&i.childNodes[e]&&(t=i.childNodes[e].querySelector(`.${y}`),n(t)),s&&l&&l.childNodes[e]&&(t=l.childNodes[e].querySelector(`.${y}`),n(t))}))}),!0)}expandSection(e){this.toggleCollapsibleSection([e],"expand")}collapseSection(e){this.toggleCollapsibleSection([e],"collapse")}toggleAllCollapsibleSections(e){const t=this.headerStateManager.mapNodes((t=>{const{collapsible:o,origColspan:s,headerLevel:n,columnIndex:r,isCollapsed:i}=t;if(!0===o&&s>1&&(i&&"expand"===e||!i&&"collapse"===e))return{row:this.headerStateManager.levelToRowCoords(n),col:r}}));this.toggleCollapsibleSection(t,e)}collapseAll(){this.toggleAllCollapsibleSections("collapse")}expandAll(){this.toggleAllCollapsibleSections("expand")}toggleCollapsibleSection(e,t){if(!S.has(t))throw new Error(`Unsupported action is passed (${t}).`);if(!Array.isArray(e))return;const o=(0,a.arrayFilter)(e,(e=>{let{row:t}=e;return t<0}));let s=o.length>0;(0,a.arrayEach)(o,(e=>{var o;let{row:n,col:r}=e;const{collapsible:i,isCollapsed:l}=null!==(o=this.headerStateManager.getHeaderSettings(n,r))&&void 0!==o?o:{};if(!i||l&&"collapse"===t||!l&&"expand"===t)return s=!1,!1}));const n=[],i=[];s&&(0,a.arrayEach)(o,(e=>{let{row:o,col:s}=e;const{colspanCompensation:r,affectedColumns:l,rollbackModification:a}=this.headerStateManager.triggerNodeModification(t,o,s);r>0&&(i.push(...l),n.push(a))}));const l=this.getCollapsedColumns();let h=[];"collapse"===t?h=(0,a.arrayUnique)([...l,...i]):"expand"===t&&(h=(0,a.arrayFilter)(l,(e=>!i.includes(e))));const d=S.get(t);if(!1===this.hot.runHooks(d.beforeHook,l,h,s))return void(0,a.arrayEach)(n,(e=>{e()}));this.hot.batchExecution((()=>{(0,a.arrayEach)(i,(e=>{(0,r.default)(this,R).setValueAtIndex(this.hot.toPhysicalColumn(e),d.hideColumn)}))}),!0);const c=this.getCollapsedColumns().length!==l.length;this.hot.runHooks(d.afterHook,l,h,s,c),this.hot.render(),this.hot.view.adjustElementsSize(!0)}getCollapsedColumns(){return(0,r.default)(this,R).getHiddenIndexes()}onAfterGetColHeader(e,t,o){var s;const{collapsible:n,origColspan:r,isCollapsed:i}=null!==(s=this.headerStateManager.getHeaderSettings(o,e))&&void 0!==s?s:{},l=n&&r>1&&e>=this.hot.getSettings().fixedColumnsStart,a=this.hot.getSettings().ariaTags;let h=t.querySelector(`.${y}`);var d;((0,c.removeAttribute)(t,[(0,f.A11Y_EXPANDED)("")[0]]),l)?(h||(h=this.hot.rootDocument.createElement("div"),(0,c.addClass)(h,y),t.querySelector("div:first-child").appendChild(h)),(0,c.removeClass)(h,["collapsed","expanded"]),i?((0,c.addClass)(h,"collapsed"),(0,c.fastInnerText)(h,"+"),a&&(0,c.setAttribute)(t,[(0,f.A11Y_EXPANDED)(!1),(0,f.A11Y_DESCRIPTION)(this.hot.getTranslatedPhrase(p.COLUMN_HEADER_DESCRIPTION_EXPAND_COLUMN))])):((0,c.addClass)(h,"expanded"),(0,c.fastInnerText)(h,"-"),a&&(0,c.setAttribute)(t,[(0,f.A11Y_EXPANDED)(!0),(0,f.A11Y_DESCRIPTION)(this.hot.getTranslatedPhrase(p.COLUMN_HEADER_DESCRIPTION_COLLAPSE_COLUMN))])),a&&(0,c.setAttribute)(h,...(0,f.A11Y_HIDDEN)())):null===(d=h)||void 0===d||d.remove()}onBeforeOnCellMouseDown(e,t){(0,c.hasClass)(e.target,y)&&((0,c.hasClass)(e.target,"expanded")?(this.eventManager.fireEvent(e.target,"mouseup"),this.toggleCollapsibleSection([t],"collapse")):(0,c.hasClass)(e.target,"collapsed")&&(this.eventManager.fireEvent(e.target,"mouseup"),this.toggleCollapsibleSection([t],"expand")),(0,g.stopImmediatePropagation)(e))}onInit(){this.updatePlugin()}onAfterLoadData(e,t){t||this.updatePlugin()}destroy(){(0,i.default)(this,R,null),super.destroy()}}t.CollapsibleColumns=_},55994:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(11665);t.PLUGIN_KEY=s.PLUGIN_KEY,t.PLUGIN_PRIORITY=s.PLUGIN_PRIORITY,t.CollapsibleColumns=s.CollapsibleColumns},80081:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(63517);var n=o(83302),r=o(93315),i=o(22232),l=o(85015),a=o(50095),h=o(36026),d=o(33165),c=s(o(56307)),u=o(88082),g=o(64951),f=o(59809),p=o(24892),m=o(51510),C=o(5386),w=o(77516);const E=t.PLUGIN_KEY="columnSorting",y=t.PLUGIN_PRIORITY=50,v=t.APPEND_COLUMN_CONFIG_STRATEGY="append",S=t.REPLACE_COLUMN_CONFIG_STRATEGY="replace",R=E,_="columnSortingIndicator";(0,m.registerRootComparator)(E,p.rootComparator),c.default.getSingleton().register("beforeColumnSort"),c.default.getSingleton().register("afterColumnSort");class b extends h.BasePlugin{static get PLUGIN_KEY(){return E}static get PLUGIN_PRIORITY(){return y}constructor(e){super(e),this.columnStatesManager=null,this.columnMetaCache=null,this.pluginKey=E,this.indexesSequenceCache=null}isEnabled(){return!!this.hot.getSettings()[this.pluginKey]}enablePlugin(){var e=this;this.enabled||(this.columnStatesManager=new u.ColumnStatesManager(this.hot,`${this.pluginKey}.sortingStates`),this.columnMetaCache=new d.PhysicalIndexToValueMap((e=>{let t=this.hot.toVisualColumn(e);return null===t&&(t=e),this.getMergedPluginSettings(t)})),this.hot.columnIndexMapper.registerMap(`${this.pluginKey}.columnMeta`,this.columnMetaCache),this.addHook("afterGetColHeader",((e,t)=>this.onAfterGetColHeader(e,t))),this.addHook("beforeOnCellMouseDown",(function(){return e.onBeforeOnCellMouseDown(...arguments)})),this.addHook("afterOnCellMouseDown",((e,t)=>this.onAfterOnCellMouseDown(e,t))),this.addHook("afterInit",(()=>this.loadOrSortBySettings())),this.addHook("afterLoadData",(function(){return e.onAfterLoadData(...arguments)})),this.hot.view&&this.loadOrSortBySettings(),this.registerShortcuts(),super.enablePlugin())}disablePlugin(){const e=(e,t)=>{const o=(0,g.getHeaderSpanElement)(t);!1!==(0,g.isFirstLevelColumnHeader)(e,t)&&null!==o&&this.updateHeaderClasses(o)};this.hot.addHook("afterGetColHeader",e),this.hot.addHookOnce("afterViewRender",(()=>{this.hot.removeHook("afterGetColHeader",e)})),this.hot.batchExecution((()=>{null!==this.indexesSequenceCache&&(this.hot.rowIndexMapper.setIndexesSequence(this.indexesSequenceCache.getValues()),this.hot.rowIndexMapper.unregisterMap(this.pluginKey))}),!0),this.hot.columnIndexMapper.unregisterMap(`${this.pluginKey}.columnMeta`),this.columnStatesManager.destroy(),this.columnMetaCache=null,this.columnStatesManager=null,this.unregisterShortcuts(),super.disablePlugin()}registerShortcuts(){this.hot.getShortcutManager().getContext("grid").addShortcut({keys:[["Enter"]],callback:()=>{const{highlight:e}=this.hot.getSelectedRangeLast();-1===e.row&&e.col>=0&&this.sort(this.getColumnNextConfig(e.col))},runOnlyIf:()=>{var e;return null===(e=this.hot.getSelectedRangeLast())||void 0===e?void 0:e.highlight.isHeader()},group:R})}unregisterShortcuts(){this.hot.getShortcutManager().getContext("grid").removeShortcutsByGroup(R)}sort(e){const t=this.getSortConfig(),o=this.getNormalizedSortConfigs(e),s=this.areValidSortConfigs(o);!1!==this.hot.runHooks("beforeColumnSort",t,o,s)&&(0===t.length&&null===this.indexesSequenceCache&&(this.indexesSequenceCache=this.hot.rowIndexMapper.registerMap(this.pluginKey,new d.IndexesSequence),this.indexesSequenceCache.setValues(this.hot.rowIndexMapper.getIndexesSequence())),s&&(this.columnStatesManager.setSortStates(o),this.sortByPresetSortStates(o),this.saveAllSortSettings(o)),this.hot.runHooks("afterColumnSort",t,s?o:t,s),s&&(this.hot.render(),this.hot.forceFullRender=!1,this.hot.view.render()))}clearSort(){this.sort([])}isSorted(){return this.enabled&&!this.columnStatesManager.isListOfSortedColumnsEmpty()}getSortConfig(e){return(0,r.isDefined)(e)?this.columnStatesManager.getColumnSortState(e):this.columnStatesManager.getSortStates()}setSortConfig(e){const t=this.getNormalizedSortConfigs(e);this.areValidSortConfigs(t)&&this.columnStatesManager.setSortStates(t)}getNormalizedSortConfigs(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return Array.isArray(e)?e.slice(0,1):[e]}areValidSortConfigs(e){const t=this.hot.countCols();return(0,g.areValidSortStates)(e)&&e.every((e=>{let{column:o}=e;return o<=t&&o>=0}))}saveAllSortSettings(e){const t=this.columnStatesManager.getAllColumnsProperties();t.initialConfig=(0,a.arrayMap)(e,(e=>{let{column:t,...o}=e;return{column:this.hot.toPhysicalColumn(t),...o}})),this.hot.runHooks("persistentStateSave","columnSorting",t)}getAllSavedSortSettings(){const e={};this.hot.runHooks("persistentStateLoad","columnSorting",e);const t=e.value,o=e=>{let{column:t,...o}=e;return{column:this.hot.toVisualColumn(t),...o}};return(0,r.isDefined)(t)&&Array.isArray(t.initialConfig)&&(t.initialConfig=(0,a.arrayMap)(t.initialConfig,o)),t}getColumnNextConfig(e){const t=this.columnStatesManager.getSortOrderOfColumn(e);if((0,r.isDefined)(t)){const o=(0,g.getNextSortOrder)(t);return(0,r.isDefined)(o)?{column:e,sortOrder:o}:void 0}const o=this.hot.countCols();if(Number.isInteger(e)&&e>=0&&e<o)return{column:e,sortOrder:(0,g.getNextSortOrder)()}}getNextSortConfig(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:v;const o=this.columnStatesManager.getIndexOfColumnInSortQueue(e),s=-1!==o,n=this.getSortConfig(),i=this.getColumnNextConfig(e);if(s){if((0,r.isUndefined)(i))return[...n.slice(0,o),...n.slice(o+1)];if(t===v)return[...n.slice(0,o),...n.slice(o+1),i];if(t===S)return[...n.slice(0,o),i,...n.slice(o+1)]}return(0,r.isDefined)(i)?n.concat(i):n}getPluginColumnConfig(e){if((0,i.isObject)(e)){const t=e[this.pluginKey];if((0,i.isObject)(t))return t}return{}}getMergedPluginSettings(e){const t=this.hot.getSettings()[this.pluginKey],o=this.columnStatesManager.getAllColumnsProperties(),s=this.hot.getCellMeta(0,e),n=Object.getPrototypeOf(s);return Array.isArray(n.columns)?Object.assign(o,t,this.getPluginColumnConfig(n.columns[e])):(0,l.isFunction)(n.columns)?Object.assign(o,t,this.getPluginColumnConfig(n.columns(e))):Object.assign(o,t)}getFirstCellSettings(e){const t=this.hot.getCellMeta(0,e),o=Object.create(t);return o[this.pluginKey]=this.columnMetaCache.getValueAtIndex(this.hot.toPhysicalColumn(e)),o}getNumberOfRowsToSort(e){const t=this.hot.getSettings();return t.maxRows<=e?t.maxRows:e-t.minSpareRows}sortByPresetSortStates(e){if(0===e.length)return void this.hot.rowIndexMapper.setIndexesSequence(this.indexesSequenceCache.getValues());const t=[],o=this.hot.countRows(),s=t=>(0,a.arrayMap)(e,(e=>this.hot.getDataAtCell(t,e.column)));for(let e=0;e<this.getNumberOfRowsToSort(o);e+=1)t.push([this.hot.toPhysicalRow(e)].concat(s(e)));const n=(0,a.arrayMap)(t,(e=>e[0]));(0,m.sort)(t,this.pluginKey,(0,a.arrayMap)(e,(e=>e.sortOrder)),(0,a.arrayMap)(e,(e=>this.getFirstCellSettings(e.column))));for(let e=t.length;e<o;e+=1)t.push([e].concat(s(e)));const r=(0,a.arrayMap)(t,(e=>e[0])),i=new Map((0,a.arrayMap)(n,((e,t)=>[e,r[t]]))),l=(0,a.arrayMap)(this.hot.rowIndexMapper.getIndexesSequence(),(e=>i.has(e)?i.get(e):e));this.hot.rowIndexMapper.setIndexesSequence(l)}loadOrSortBySettings(){const e=this.getAllSavedSortSettings();if((0,i.isObject)(e))this.sortBySettings(e);else{const e=this.hot.getSettings()[this.pluginKey];this.sortBySettings(e)}}sortBySettings(e){if((0,i.isObject)(e)){this.columnStatesManager.updateAllColumnsProperties(e);const t=e.initialConfig;(Array.isArray(t)||(0,i.isObject)(t))&&this.sort(t)}else this.hot.render()}onAfterGetColHeader(e,t){const o=(0,g.getHeaderSpanElement)(t);if(!1===(0,g.isFirstLevelColumnHeader)(e,t)||null===o)return;const s=this.getFirstCellSettings(e)[this.pluginKey],r=this.hot.getSettings().ariaTags,i=s.indicator,l=s.headerAction,a=this.columnStatesManager.getSortOrderOfColumn(e);this.updateHeaderClasses(o,this.columnStatesManager,e,i,l),this.updateSortingIndicator(e,o),r&&(0,n.setAttribute)(t,[(0,C.A11Y_SORT)(a?`${a}ending`:"none"),(0,C.A11Y_DESCRIPTION)(this.hot.getTranslatedPhrase(w.COLUMN_HEADER_DESCRIPTION_SORT_ROWS))])}updateHeaderClasses(e){if((0,n.removeClass)(e,(0,f.getClassesToRemove)(e)),!1!==this.enabled){for(var t=arguments.length,o=new Array(t>1?t-1:0),s=1;s<t;s++)o[s-1]=arguments[s];(0,n.addClass)(e,(0,f.getClassesToAdd)(...o))}}updateSortingIndicator(e,t){const o=this.getFirstCellSettings(e)[this.pluginKey],s=this.hot.getSettings().ariaTags,r=o.indicator,i=this.columnStatesManager.isColumnSorted(e),l=t.querySelector(`.${_}`);r&&i&&!l&&(0,n.appendElement)(t,{tagName:"div",className:_,attributes:s?[(0,C.A11Y_HIDDEN)()]:[]})}onUpdateSettings(e){super.onUpdateSettings(),null!==this.columnMetaCache&&this.columnMetaCache.init(this.hot.columnIndexMapper.getNumberOfIndexes()),(0,r.isDefined)(e[this.pluginKey])&&this.sortBySettings(e[this.pluginKey])}onAfterLoadData(e){!0===e&&this.hot.view&&this.loadOrSortBySettings()}wasClickableHeaderClicked(e,t){return this.getFirstCellSettings(t)[this.pluginKey].headerAction&&"SPAN"===e.target.nodeName}onBeforeOnCellMouseDown(e,t,o,s){!1!==(0,g.wasHeaderClickedProperly)(t.row,t.col,e)&&this.wasClickableHeaderClicked(e,t.col)&&this.hot.getShortcutManager().isCtrlPressed()&&(s.column=!0)}onAfterOnCellMouseDown(e,t){!1!==(0,g.wasHeaderClickedProperly)(t.row,t.col,e)&&this.wasClickableHeaderClicked(e,t.col)&&(this.hot.getShortcutManager().isCtrlPressed()&&(this.hot.deselectCell(),this.hot.selectColumns(t.col)),this.sort(this.getColumnNextConfig(t.col)))}destroy(){var e;null===(e=this.columnStatesManager)||void 0===e||e.destroy(),super.destroy()}}t.ColumnSorting=b},88082:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(22232),n=o(33165),r=o(93315);const i=["sortEmptyCells","indicator","headerAction","compareFunctionFactory"];t.ColumnStatesManager=class{constructor(e,t){this.hot=e,this.sortingStates=new n.LinkedPhysicalIndexToValueMap,this.sortEmptyCells=false,this.indicator=true,this.headerAction=true,this.compareFunctionFactory=void 0,this.mapName=t,this.hot.columnIndexMapper.registerMap(t,this.sortingStates)}updateAllColumnsProperties(e){(0,s.isObject)(e)&&(0,s.objectEach)(e,((e,t)=>{i.includes(t)&&(this[t]=e)}))}getAllColumnsProperties(){const e={sortEmptyCells:this.sortEmptyCells,indicator:this.indicator,headerAction:this.headerAction};return"function"==typeof this.compareFunctionFactory&&(e.compareFunctionFactory=this.compareFunctionFactory),e}getSortOrderOfColumn(e){var t;return null===(t=this.sortingStates.getValueAtIndex(this.hot.toPhysicalColumn(e)))||void 0===t?void 0:t.sortOrder}getIndexOfColumnInSortQueue(e){return e=this.hot.toPhysicalColumn(e),this.sortingStates.getEntries().findIndex((t=>{let[o]=t;return o===e}))}getNumberOfSortedColumns(){return this.sortingStates.getLength()}isListOfSortedColumnsEmpty(){return 0===this.getNumberOfSortedColumns()}isColumnSorted(e){return(0,s.isObject)(this.sortingStates.getValueAtIndex(this.hot.toPhysicalColumn(e)))}getSortStates(){if(null===this.sortingStates)return[];return this.sortingStates.getEntries().map((e=>{let[t,o]=e;return{column:this.hot.toVisualColumn(t),...o}}))}getColumnSortState(e){const t=this.getSortOrderOfColumn(e);if((0,r.isDefined)(t))return{column:e,sortOrder:t}}setSortStates(e){this.sortingStates.clear();for(let t=0;t<e.length;t+=1)this.sortingStates.setValueAtIndex(this.hot.toPhysicalColumn(e[t].column),{sortOrder:e[t].sortOrder})}destroy(){this.hot.columnIndexMapper.unregisterMap(this.mapName),this.sortingStates=null}}},59809:(e,t,o)=>{"use strict";t.__esModule=!0,t.getClassesToAdd=function(e,t,o,n){const h=[i];n&&h.push(l);if(!1===o)return h.push(r),h;const d=e.getSortOrderOfColumn(t);(0,s.isDefined)(d)&&h.push(a.get(d));return h},t.getClassesToRemove=function(){return Array.from(a.values()).concat(l,r,i)},o(63517);var s=o(93315),n=o(64951);const r="indicatorDisabled",i="columnSorting",l="sortAction",a=new Map([[n.ASC_SORT_STATE,"ascending"],[n.DESC_SORT_STATE,"descending"]])},1902:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(80081);t.PLUGIN_KEY=s.PLUGIN_KEY,t.PLUGIN_PRIORITY=s.PLUGIN_PRIORITY,t.ColumnSorting=s.ColumnSorting,t.APPEND_COLUMN_CONFIG_STRATEGY=s.APPEND_COLUMN_CONFIG_STRATEGY,t.REPLACE_COLUMN_CONFIG_STRATEGY=s.REPLACE_COLUMN_CONFIG_STRATEGY},24892:(e,t,o)=>{"use strict";t.__esModule=!0,t.rootComparator=function(e,t){return function(o,n){const[,...r]=o,[,...i]=n;return function(o){const n=e[o],l=t[o],a=r[o],h=i[o],d=l.columnSorting;return(d.compareFunctionFactory?d.compareFunctionFactory:(0,s.getCompareFunctionFactory)(l.type))(n,l,d)(a,h)}(0)}};var s=o(51510)},72844:(e,t,o)=>{"use strict";t.__esModule=!0,t.compareFunctionFactory=function(e,t,o){const i=t.checkedTemplate,l=t.uncheckedTemplate,{sortEmptyCells:a}=o;return function(h,d){const c=(0,r.isEmpty)(h),u=(0,r.isEmpty)(d),g=c?l:h,f=u?l:d,p=g===l||g===i,m=f===l||f===i;if(!1===a){if(c&&!1===u)return s.FIRST_AFTER_SECOND;if(!1===c&&u)return s.FIRST_BEFORE_SECOND}return!1===p&&m?"asc"===e?s.FIRST_BEFORE_SECOND:s.FIRST_AFTER_SECOND:p&&!1===m?"asc"===e?s.FIRST_AFTER_SECOND:s.FIRST_BEFORE_SECOND:!1===p&&!1===m?(0,n.compareFunctionFactory)(e,t,o)(h,d):g===l&&f===i?"asc"===e?s.FIRST_BEFORE_SECOND:s.FIRST_AFTER_SECOND:g===i&&f===l?"asc"===e?s.FIRST_AFTER_SECOND:s.FIRST_BEFORE_SECOND:s.DO_NOT_SWAP}};var s=o(51510),n=o(93388),r=o(93315);t.COLUMN_DATA_TYPE="checkbox"},75889:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,t.compareFunctionFactory=function(e,t,o){return function(s,l){const{sortEmptyCells:a}=o;if(s===l)return i.DO_NOT_SWAP;if((0,r.isEmpty)(s))return(0,r.isEmpty)(l)?i.DO_NOT_SWAP:a&&"asc"===e?i.FIRST_BEFORE_SECOND:i.FIRST_AFTER_SECOND;if((0,r.isEmpty)(l))return a&&"asc"===e?i.FIRST_AFTER_SECOND:i.FIRST_BEFORE_SECOND;const h=t.dateFormat,d=(0,n.default)(s,h),c=(0,n.default)(l,h);return d.isValid()?c.isValid()?c.isAfter(d)?"asc"===e?i.FIRST_BEFORE_SECOND:i.FIRST_AFTER_SECOND:c.isBefore(d)?"asc"===e?i.FIRST_AFTER_SECOND:i.FIRST_BEFORE_SECOND:i.DO_NOT_SWAP:i.FIRST_BEFORE_SECOND:i.FIRST_AFTER_SECOND}};var n=s(o(33034)),r=o(93315),i=o(51510);t.COLUMN_DATA_TYPE="date"},93388:(e,t,o)=>{"use strict";t.__esModule=!0,t.compareFunctionFactory=function(e,t,o){const r=t.locale;return function(t,i){const{sortEmptyCells:l}=o;return"string"==typeof t&&(t=t.toLocaleLowerCase(r)),"string"==typeof i&&(i=i.toLocaleLowerCase(r)),t===i?n.DO_NOT_SWAP:(0,s.isEmpty)(t)?(0,s.isEmpty)(i)?n.DO_NOT_SWAP:l&&"asc"===e?n.FIRST_BEFORE_SECOND:n.FIRST_AFTER_SECOND:(0,s.isEmpty)(i)?l&&"asc"===e?n.FIRST_AFTER_SECOND:n.FIRST_BEFORE_SECOND:isNaN(t)&&!isNaN(i)?"asc"===e?n.FIRST_AFTER_SECOND:n.FIRST_BEFORE_SECOND:!isNaN(t)&&isNaN(i)?"asc"===e?n.FIRST_BEFORE_SECOND:n.FIRST_AFTER_SECOND:(isNaN(t)||isNaN(i)||(t=parseFloat(t),i=parseFloat(i)),t<i?"asc"===e?n.FIRST_BEFORE_SECOND:n.FIRST_AFTER_SECOND:t>i?"asc"===e?n.FIRST_AFTER_SECOND:n.FIRST_BEFORE_SECOND:n.DO_NOT_SWAP)}};var s=o(93315),n=o(51510);t.COLUMN_DATA_TYPE="default"},7974:(e,t,o)=>{"use strict";t.__esModule=!0,t.compareFunctionFactory=function(e,t,o){return function(t,r){const i=parseFloat(t),l=parseFloat(r),{sortEmptyCells:a}=o;if(i===l||isNaN(i)&&isNaN(l))return n.DO_NOT_SWAP;if(a){if((0,s.isEmpty)(t))return"asc"===e?n.FIRST_BEFORE_SECOND:n.FIRST_AFTER_SECOND;if((0,s.isEmpty)(r))return"asc"===e?n.FIRST_AFTER_SECOND:n.FIRST_BEFORE_SECOND}return isNaN(i)?n.FIRST_AFTER_SECOND:isNaN(l)?n.FIRST_BEFORE_SECOND:i<l?"asc"===e?n.FIRST_BEFORE_SECOND:n.FIRST_AFTER_SECOND:i>l?"asc"===e?n.FIRST_AFTER_SECOND:n.FIRST_BEFORE_SECOND:n.DO_NOT_SWAP}};var s=o(93315),n=o(51510);t.COLUMN_DATA_TYPE="numeric"},5685:(e,t,o)=>{"use strict";t.__esModule=!0,t.sort=function(e,t){const o=(0,s.getRootComparator)(t);for(var n=arguments.length,r=new Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];e.sort(o(...r))};var s=o(78004);t.DO_NOT_SWAP=0,t.FIRST_BEFORE_SECOND=-1,t.FIRST_AFTER_SECOND=1},51510:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(78004);t.registerRootComparator=s.registerRootComparator,t.getRootComparator=s.getRootComparator,t.getCompareFunctionFactory=s.getCompareFunctionFactory;var n=o(5685);t.FIRST_AFTER_SECOND=n.FIRST_AFTER_SECOND,t.FIRST_BEFORE_SECOND=n.FIRST_BEFORE_SECOND,t.DO_NOT_SWAP=n.DO_NOT_SWAP,t.sort=n.sort},78004:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,t.getCompareFunctionFactory=function(e){if(c(e))return d(e);return d(n.COLUMN_DATA_TYPE)};var n=o(93388),r=o(7974),i=o(72844),l=o(75889),a=s(o(63800));const{register:h,getItem:d,hasItem:c}=(0,a.default)("sorting.compareFunctionFactory"),{register:u,getItem:g}=(0,a.default)("sorting.mainSortComparator");t.getRootComparator=g,t.registerRootComparator=u,h(r.COLUMN_DATA_TYPE,r.compareFunctionFactory),h(i.COLUMN_DATA_TYPE,i.compareFunctionFactory),h(l.COLUMN_DATA_TYPE,l.compareFunctionFactory),h(n.COLUMN_DATA_TYPE,n.compareFunctionFactory)},64951:(e,t,o)=>{"use strict";t.__esModule=!0,t.areValidSortStates=function(e){if(e.some((e=>!1===function(e){if(!1===(0,s.isObject)(e))return!1;const{column:t,sortOrder:o}=e;return Number.isInteger(t)&&[r,i].includes(o)}(e))))return!1;const t=e.map((e=>{let{column:t}=e;return t}));return new Set(t).size===t.length},t.getHeaderSpanElement=function(e){return e.querySelector(`.${l}`)},t.getNextSortOrder=function(e){if(e===i)return;if(e===r)return i;return r},t.isFirstLevelColumnHeader=function(e,t){if(e<0||!t.parentNode)return!1;const o=t.parentNode.parentNode.childNodes;if(Array.from(o).indexOf(t.parentNode)-o.length!=-1)return!1;return!0},t.wasHeaderClickedProperly=function(e,t,o){return-1===e&&t>=0&&!1===(0,n.isRightClick)(o)};var s=o(22232),n=o(24449);const r=t.ASC_SORT_STATE="asc",i=t.DESC_SORT_STATE="desc",l=t.HEADER_SPAN_CLASS="colHeader"},24378:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(91683);var n=o(36026),r=o(22232),i=s(o(5572)),l=o(28236),a=o(88475);const h=t.PLUGIN_KEY="columnSummary",d=t.PLUGIN_PRIORITY=220;class c extends n.BasePlugin{static get PLUGIN_KEY(){return h}static get PLUGIN_PRIORITY(){return d}constructor(e){super(e),this.endpoints=null}isEnabled(){return!!this.hot.getSettings()[h]}enablePlugin(){var e=this;this.enabled||(this.settings=this.hot.getSettings()[h],this.endpoints=new i.default(this,this.settings),this.addHook("afterInit",(function(){return e.onAfterInit(...arguments)})),this.addHook("afterChange",(function(){return e.onAfterChange(...arguments)})),this.addHook("beforeCreateRow",((e,t,o)=>this.endpoints.resetSetupBeforeStructureAlteration("insert_row",e,t,null,o))),this.addHook("beforeCreateCol",((e,t,o)=>this.endpoints.resetSetupBeforeStructureAlteration("insert_col",e,t,null,o))),this.addHook("beforeRemoveRow",(function(){for(var t=arguments.length,o=new Array(t),s=0;s<t;s++)o[s]=arguments[s];return e.endpoints.resetSetupBeforeStructureAlteration("remove_row",...o)})),this.addHook("beforeRemoveCol",(function(){for(var t=arguments.length,o=new Array(t),s=0;s<t;s++)o[s]=arguments[s];return e.endpoints.resetSetupBeforeStructureAlteration("remove_col",...o)})),this.addHook("afterCreateRow",((e,t,o)=>this.endpoints.resetSetupAfterStructureAlteration("insert_row",e,t,null,o))),this.addHook("afterCreateCol",((e,t,o)=>this.endpoints.resetSetupAfterStructureAlteration("insert_col",e,t,null,o))),this.addHook("afterRemoveRow",(function(){for(var t=arguments.length,o=new Array(t),s=0;s<t;s++)o[s]=arguments[s];return e.endpoints.resetSetupAfterStructureAlteration("remove_row",...o)})),this.addHook("afterRemoveCol",(function(){for(var t=arguments.length,o=new Array(t),s=0;s<t;s++)o[s]=arguments[s];return e.endpoints.resetSetupAfterStructureAlteration("remove_col",...o)})),this.addHook("afterRowMove",(function(){return e.onAfterRowMove(...arguments)})),super.enablePlugin())}disablePlugin(){this.endpoints=null,this.settings=null,this.currentEndpoint=null}calculate(e){switch(e.type.toLowerCase()){case"sum":e.result=this.calculateSum(e);break;case"min":case"max":e.result=this.calculateMinMax(e,e.type);break;case"count":e.result=this.countEntries(e);break;case"average":e.result=this.calculateAverage(e);break;case"custom":e.result=e.customFunction.call(this,e)}}calculateSum(e){let t=0;return(0,r.objectEach)(e.ranges,(o=>{t+=this.getPartialSum(o,e.sourceColumn)})),t}getPartialSum(e,t){let o=0,s=e[1]||e[0],n=null,r=0;do{if(n=this.getCellValue(s,t),n=(0,a.isNullishOrNaN)(n)?null:n,null!==n){const e=(`${n}`.split(".")[1]||[]).length||1;e>r&&(r=e)}o+=n||0,s-=1}while(s>=e[0]);return Math.round(o*10**r)/10**r}calculateMinMax(e,t){let o=null;return(0,r.objectEach)(e.ranges,(s=>{const n=this.getPartialMinMax(s,e.sourceColumn,t);if(null===o&&null!==n&&(o=n),null!==n)switch(t){case"min":o=Math.min(o,n);break;case"max":o=Math.max(o,n)}})),null===o?"Not enough data":o}getPartialMinMax(e,t,o){let s,n=null,r=e[1]||e[0];do{if(s=this.getCellValue(r,t),s=(0,a.isNullishOrNaN)(s)?null:s,null===n)n=s;else if(null!==s)switch(o){case"min":n=Math.min(n,s);break;case"max":n=Math.max(n,s)}r-=1}while(r>=e[0]);return n}countEmpty(e,t){let o,s=0,n=e[1]||e[0];do{o=this.getCellValue(n,t),o=(0,a.isNullishOrNaN)(o)?null:o,null===o&&(s+=1),n-=1}while(n>=e[0]);return s}countEntries(e){let t=0;const o=e.ranges;return(0,r.objectEach)(o,(o=>{const s=void 0===o[1]?1:o[1]-o[0]+1,n=this.countEmpty(o,e.sourceColumn);t+=s,t-=n})),t}calculateAverage(e){return this.calculateSum(e)/this.countEntries(e)}getCellValue(e,t){const o=this.hot.toVisualRow(e),s=this.hot.toVisualColumn(t);let n=this.hot.getSourceDataAtCell(e,t),r="";if(null!==o&&null!==s&&(r=this.hot.getCellMeta(o,s).className||""),r.indexOf("columnSummaryResult")>-1)return null;if(this.endpoints.currentEndpoint.forceNumeric&&("string"==typeof n&&(n=n.replace(/,/,".")),n=parseFloat(n)),isNaN(n)&&!this.endpoints.currentEndpoint.suppressDataTypeErrors)throw new Error(l.toSingleLine`ColumnSummary plugin: cell at (${e}, ${t}) is not in a\x20
|
63
|
+
learn about the migration path.`,c=new Map([["modifyRow","8.0.0"],["modifyCol","8.0.0"],["unmodifyRow","8.0.0"],["unmodifyCol","8.0.0"],["skipLengthCache","8.0.0"],["hiddenColumn","8.0.0"],["hiddenRow","8.0.0"]]),u=new Map([[]]);class g{static getSingleton(){return f}constructor(){this.globalBucket=this.createEmptyBucket()}createEmptyBucket(){const e=Object.create(null);return(0,s.arrayEach)(h,(t=>e[t]=[])),e}getBucket(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return e?(e.pluginHookBucket||(e.pluginHookBucket=this.createEmptyBucket()),e.pluginHookBucket):this.globalBucket}add(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(Array.isArray(t))(0,s.arrayEach)(t,(t=>this.add(e,t,o)));else{c.has(e)&&(0,i.warn)((0,r.substitute)(d,{hookName:e,removedInVersion:c.get(e)})),u.has(e)&&(0,i.warn)(u.get(e));const n=this.getBucket(o);if(void 0===n[e]&&(this.register(e),n[e]=[]),t.skip=!1,-1===n[e].indexOf(t)){let o=!1;t.initialHook&&(0,s.arrayEach)(n[e],((s,r)=>{if(s.initialHook)return n[e][r]=t,o=!0,!1})),o||n[e].push(t)}}return this}once(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;Array.isArray(t)?(0,s.arrayEach)(t,(t=>this.once(e,t,o))):(t.runOnce=!0,this.add(e,t,o))}remove(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;const s=this.getBucket(o);return void 0!==s[e]&&s[e].indexOf(t)>=0&&(t.skip=!0,!0)}has(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const o=this.getBucket(t);return!(void 0===o[e]||!o[e].length)}run(e,t,o,s,n,r,i,l){{const h=this.globalBucket[t],d=h?h.length:0;let c=0;if(d)for(;c<d;){if(!h[c]||h[c].skip){c+=1;continue}const d=(0,a.fastCall)(h[c],e,o,s,n,r,i,l);void 0!==d&&(o=d),h[c]&&h[c].runOnce&&this.remove(t,h[c]),c+=1}}{const h=this.getBucket(e)[t],d=h?h.length:0;let c=0;if(d)for(;c<d;){if(!h[c]||h[c].skip){c+=1;continue}const d=(0,a.fastCall)(h[c],e,o,s,n,r,i,l);void 0!==d&&(o=d),h[c]&&h[c].runOnce&&this.remove(t,h[c],e),c+=1}}return o}destroy(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;(0,n.objectEach)(this.getBucket(e),((e,t,o)=>o[t].length=0))}register(e){this.isRegistered(e)||h.push(e)}deregister(e){this.isRegistered(e)&&h.splice(h.indexOf(e),1)}isDeprecated(e){return u.has(e)||c.has(e)}isRegistered(e){return h.indexOf(e)>=0}getRegistered(){return h}}const f=new g;t.default=g},35030:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(63517);var n=o(36026),r=o(50095),i=o(7374),l=s(o(17954)),a=s(o(56307)),h=o(22232),d=o(68145),c=s(o(10977)),u=o(18609),g=o(21280),f=o(33165),p=o(93315);a.default.getSingleton().register("modifyAutoColumnSizeSeed");const m=t.PLUGIN_KEY="autoColumnSize",C=t.PLUGIN_PRIORITY=10,w=new WeakMap;class E extends n.BasePlugin{static get PLUGIN_KEY(){return m}static get PLUGIN_PRIORITY(){return C}static get SETTING_KEYS(){return!0}static get CALCULATION_STEP(){return 50}static get SYNC_CALCULATION_LIMIT(){return 50}constructor(e){super(e),w.set(this,{cachedColumnHeaders:[]}),this.ghostTable=new l.default(this.hot),this.samplesGenerator=new c.default(((e,t)=>{const o=this.hot.getCellMeta(e,t);let s="";o.spanned||(s=this.hot.getDataAtCell(e,t));let n="";return this.hot.hasHook("modifyAutoColumnSizeSeed")&&(n=this.hot.runHooks("modifyAutoColumnSizeSeed",n,o,s)),{value:s,bundleSeed:n}})),this.firstCalculation=!0,this.inProgress=!1,this.measuredColumns=0,this.columnWidthsMap=new f.PhysicalIndexToValueMap,this.hot.columnIndexMapper.registerMap("autoColumnSize",this.columnWidthsMap),this.addHook("beforeColumnResize",((e,t,o)=>this.onBeforeColumnResize(e,t,o)))}isEnabled(){return!1!==this.hot.getSettings()[m]&&!this.hot.getSettings().colWidths}enablePlugin(){var e=this;if(this.enabled)return;const t=this.hot.getSettings()[m];t&&null!==t.useHeaders&&void 0!==t.useHeaders&&this.ghostTable.setSetting("useHeaders",t.useHeaders),this.setSamplingOptions(),this.addHook("afterLoadData",(function(){return e.onAfterLoadData(...arguments)})),this.addHook("beforeChangeRender",(e=>this.onBeforeChange(e))),this.addHook("afterFormulasValuesUpdate",(e=>this.onAfterFormulasValuesUpdate(e))),this.addHook("beforeViewRender",(e=>this.onBeforeViewRender(e))),this.addHook("modifyColWidth",((e,t)=>this.getColumnWidth(t,e))),this.addHook("afterInit",(()=>this.onAfterInit())),super.enablePlugin()}updatePlugin(){const e=this.findColumnsWhereHeaderWasChanged();e.length&&(this.clearCache(e),this.calculateVisibleColumnsWidth()),super.updatePlugin()}disablePlugin(){super.disablePlugin(),this.addHook("beforeColumnResize",((e,t,o)=>this.onBeforeColumnResize(e,t,o)))}calculateVisibleColumnsWidth(){if(!this.hot.countRows())return;const e=this.hot.renderCall,t=this.getFirstVisibleColumn(),o=this.getLastVisibleColumn();-1!==t&&-1!==o&&this.calculateColumnsWidth({from:t,to:o},void 0,e)}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},o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const s="number"==typeof e?{from:e,to:e}:e,n="number"==typeof t?{from:t,to:t}:t;(0,d.rangeEach)(s.from,s.to,(e=>{let t=this.hot.toPhysicalColumn(e);if(null===t&&(t=e),o||null===this.columnWidthsMap.getValueAtIndex(t)&&!this.hot._getColWidthFromSettings(t)){const t=this.samplesGenerator.generateColumnSamples(e,n);(0,r.arrayEach)(t,(e=>{let[t,o]=e;return this.ghostTable.addColumn(t,o)}))}})),this.ghostTable.columns.length&&(this.hot.batchExecution((()=>{this.ghostTable.getWidths(((e,t)=>{const o=this.hot.toPhysicalColumn(e);this.columnWidthsMap.setValueAtIndex(o,t)}))}),!0),this.measuredColumns=s.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=0;const o=this.hot.countCols()-1;let s=null;this.inProgress=!0;const n=()=>{if(!this.hot)return(0,i.cancelAnimationFrame)(s),void(this.inProgress=!1);this.calculateColumnsWidth({from:t,to:Math.min(t+E.CALCULATION_STEP,o)},e),t=t+E.CALCULATION_STEP+1,t<o?s=(0,i.requestAnimationFrame)(n):((0,i.cancelAnimationFrame)(s),this.inProgress=!1,this.hot.view.adjustElementsSize())},r=this.getSyncCalculationLimit();this.firstCalculation&&r>=0&&(this.calculateColumnsWidth({from:0,to:r},e),this.firstCalculation=!1,t=r+1),t<o?n():this.inProgress=!1}setSamplingOptions(){const e=this.hot.getSettings()[m],t=e&&(0,h.hasOwnProperty)(e,"samplingRatio")?e.samplingRatio:void 0,o=e&&(0,h.hasOwnProperty)(e,"allowSampleDuplicates")?e.allowSampleDuplicates:void 0;t&&!isNaN(t)&&this.samplesGenerator.setSampleCount(parseInt(t,10)),o&&this.samplesGenerator.setAllowDuplicates(o)}recalculateAllColumnsWidth(){this.hot.view&&this.hot.view._wt.wtTable.isVisible()&&(this.clearCache(),this.calculateAllColumnsWidth())}getSyncCalculationLimit(){const e=this.hot.getSettings()[m];let t=E.SYNC_CALCULATION_LIMIT;const o=this.hot.countCols()-1;return(0,h.isObject)(e)&&(t=e.syncLimit,(0,u.isPercentValue)(t)?t=(0,d.valueAccordingPercent)(o,t):t>>=0),Math.min(t,o)}getColumnWidth(e){let t=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;return void 0===o&&(o=this.columnWidthsMap.getValueAtIndex(this.hot.toPhysicalColumn(e)),t&&"number"==typeof o&&(o=Math.max(o,g.ViewportColumnsCalculator.DEFAULT_WIDTH))),o}getFirstVisibleColumn(){const e=this.hot.view._wt;if(e.wtViewport.columnsVisibleCalculator){const t=e.wtTable.getFirstVisibleColumn();if(-1!==t)return this.hot.columnIndexMapper.getVisualFromRenderableIndex(t)}if(e.wtViewport.columnsRenderCalculator){const t=e.wtTable.getFirstRenderedColumn();if(-1!==t)return this.hot.columnIndexMapper.getVisualFromRenderableIndex(t)}return-1}getLastVisibleColumn(){const e=this.hot.view._wt;if(e.wtViewport.columnsVisibleCalculator){const t=e.wtTable.getLastVisibleColumn();if(-1!==t)return this.hot.columnIndexMapper.getVisualFromRenderableIndex(t)}if(e.wtViewport.columnsRenderCalculator){const t=e.wtTable.getLastRenderedColumn();if(-1!==t)return this.hot.columnIndexMapper.getVisualFromRenderableIndex(t)}return-1}findColumnsWhereHeaderWasChanged(){const e=this.hot.getColHeader(),{cachedColumnHeaders:t}=w.get(this);return(0,r.arrayReduce)(e,((e,o,s)=>{const n=t.length;return(n-1<s||t[s]!==o)&&e.push(s),n-1<s?t.push(o):t[s]=o,e}),[])}clearCache(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];e.length?this.hot.batchExecution((()=>{(0,r.arrayEach)(e,(e=>{this.columnWidthsMap.setValueAtIndex(e,null)}))}),!0):this.columnWidthsMap.clear()}isNeedRecalculate(){return!!(0,r.arrayFilter)(this.columnWidthsMap.getValues().slice(0,this.measuredColumns),(e=>null===e)).length}onBeforeViewRender(){this.calculateVisibleColumnsWidth(),this.isNeedRecalculate()&&!this.inProgress&&this.calculateAllColumnsWidth()}onAfterLoadData(){this.hot.view?this.recalculateAllColumnsWidth():setTimeout((()=>{this.hot&&this.recalculateAllColumnsWidth()}),0)}onBeforeChange(e){const t=(0,r.arrayMap)(e,(e=>{let[,t]=e;return this.hot.toPhysicalColumn(this.hot.propToCol(t))}));this.clearCache(Array.from(new Set(t)))}onBeforeColumnResize(e,t,o){let s=e;return o&&(this.calculateColumnsWidth(t,void 0,!0),s=this.getColumnWidth(t,void 0,!1)),s}onAfterInit(){w.get(this).cachedColumnHeaders=this.hot.getColHeader()}onAfterFormulasValuesUpdate(e){const t=(0,r.arrayFilter)(e,(e=>{var t;return(0,p.isDefined)(null===(t=e.address)||void 0===t?void 0:t.col)})),o=(0,r.arrayMap)(t,(e=>e.address.col));this.clearCache(Array.from(new Set(o)))}destroy(){this.ghostTable.clean(),super.destroy()}}t.AutoColumnSize=E},21215:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(35030);t.PLUGIN_KEY=s.PLUGIN_KEY,t.PLUGIN_PRIORITY=s.PLUGIN_PRIORITY,t.AutoColumnSize=s.AutoColumnSize},64168:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=o(36026),r=o(50095),i=o(7374),l=o(83302),a=s(o(17954)),h=o(22232),d=o(68145),c=s(o(10977)),u=o(18609),g=o(33165);const f=t.PLUGIN_KEY="autoRowSize",p=t.PLUGIN_PRIORITY=40;class m extends n.BasePlugin{static get PLUGIN_KEY(){return f}static get PLUGIN_PRIORITY(){return p}static get SETTING_KEYS(){return!0}static get CALCULATION_STEP(){return 50}static get SYNC_CALCULATION_LIMIT(){return 500}constructor(e){super(e),this.rowHeightsMap=void 0,this.headerHeight=null,this.ghostTable=new a.default(this.hot),this.samplesGenerator=new c.default(((e,t)=>{if(e>=0&&t>=0){if(this.hot.getCellMeta(e,t).hidden)return!1}let o;return e>=0?o=this.hot.getDataAtCell(e,t):-1===e&&(o=this.hot.getColHeader(t)),{value:o}})),this.firstCalculation=!0,this.inProgress=!1,this.measuredRows=0,this.rowHeightsMap=new g.PhysicalIndexToValueMap,this.hot.rowIndexMapper.registerMap("autoRowSize",this.rowHeightsMap),this.addHook("beforeRowResize",((e,t,o)=>this.onBeforeRowResize(e,t,o)))}isEnabled(){const e=this.hot.getSettings()[f];return!0===e||(0,h.isObject)(e)}enablePlugin(){var e=this;this.enabled||(this.setSamplingOptions(),this.addHook("afterLoadData",(function(){return e.onAfterLoadData(...arguments)})),this.addHook("beforeChangeRender",(e=>this.onBeforeChange(e))),this.addHook("beforeColumnResize",(()=>this.recalculateAllRowsHeight())),this.addHook("beforeViewRender",(e=>this.onBeforeViewRender(e))),this.addHook("modifyRowHeight",((e,t)=>this.getRowHeight(t,e))),this.addHook("modifyColumnHeaderHeight",(()=>this.getColumnHeaderHeight())),super.enablePlugin())}disablePlugin(){this.headerHeight=null,super.disablePlugin(),this.addHook("beforeRowResize",((e,t,o)=>this.onBeforeRowResize(e,t,o)))}calculateRowsHeight(){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]:{from:0,to:this.hot.countCols()-1},o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const s="number"==typeof e?{from:e,to:e}:e,n="number"==typeof t?{from:t,to:t}:t;if(null!==this.hot.getColHeader(0)){const e=this.samplesGenerator.generateRowSamples(-1,n);this.ghostTable.addColumnHeadersRow(e.get(-1))}(0,d.rangeEach)(s.from,s.to,(e=>{if(o||null===this.rowHeightsMap.getValueAtIndex(e)){const t=this.samplesGenerator.generateRowSamples(e,n);(0,r.arrayEach)(t,(e=>{let[t,o]=e;return this.ghostTable.addRow(t,o)}))}})),this.ghostTable.rows.length&&(this.hot.batchExecution((()=>{this.ghostTable.getHeights(((e,t)=>{e<0?this.headerHeight=t:this.rowHeightsMap.setValueAtIndex(this.hot.toPhysicalRow(e),t)}))}),!0),this.measuredRows=s.to+1,this.ghostTable.clean())}calculateAllRowsHeight(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{from:0,to:this.hot.countCols()-1},t=0;const o=this.hot.countRows()-1;let s=null;this.inProgress=!0;const n=()=>{if(!this.hot)return(0,i.cancelAnimationFrame)(s),void(this.inProgress=!1);this.calculateRowsHeight({from:t,to:Math.min(t+m.CALCULATION_STEP,o)},e),t=t+m.CALCULATION_STEP+1,t<o?s=(0,i.requestAnimationFrame)(n):((0,i.cancelAnimationFrame)(s),this.inProgress=!1,this.hot.view.adjustElementsSize(!0),this.hot.view._wt.wtOverlays.inlineStartOverlay.needFullRender&&this.hot.view._wt.wtOverlays.inlineStartOverlay.clone.draw())},r=this.getSyncCalculationLimit();this.firstCalculation&&r>=0&&(this.calculateRowsHeight({from:0,to:r},e),this.firstCalculation=!1,t=r+1),t<o?n():(this.inProgress=!1,this.hot.view.adjustElementsSize(!1))}setSamplingOptions(){const e=this.hot.getSettings()[f],t=e&&(0,h.hasOwnProperty)(e,"samplingRatio")?e.samplingRatio:void 0,o=e&&(0,h.hasOwnProperty)(e,"allowSampleDuplicates")?e.allowSampleDuplicates:void 0;t&&!isNaN(t)&&this.samplesGenerator.setSampleCount(parseInt(t,10)),o&&this.samplesGenerator.setAllowDuplicates(o)}recalculateAllRowsHeight(){(0,l.isVisible)(this.hot.view._wt.wtTable.TABLE)&&(this.clearCache(),this.calculateAllRowsHeight())}getSyncCalculationLimit(){const e=this.hot.getSettings()[f];let t=m.SYNC_CALCULATION_LIMIT;const o=this.hot.countRows()-1;return(0,h.isObject)(e)&&(t=e.syncLimit,(0,u.isPercentValue)(t)?t=(0,d.valueAccordingPercent)(o,t):t>>=0),Math.min(t,o)}getRowHeight(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;const o=e<0?this.headerHeight:this.rowHeightsMap.getValueAtIndex(this.hot.toPhysicalRow(e));let s=t;return null!==o&&o>(t||0)&&(s=o),s}getColumnHeaderHeight(){return this.headerHeight}getFirstVisibleRow(){const e=this.hot.view._wt;return e.wtViewport.rowsVisibleCalculator?e.wtTable.getFirstVisibleRow():e.wtViewport.rowsRenderCalculator?e.wtTable.getFirstRenderedRow():-1}getLastVisibleRow(){const e=this.hot.view._wt;return e.wtViewport.rowsVisibleCalculator?e.wtTable.getLastVisibleRow():e.wtViewport.rowsRenderCalculator?e.wtTable.getLastRenderedRow():-1}clearCache(){this.headerHeight=null,this.rowHeightsMap.init()}clearCacheByRange(e){const{from:t,to:o}="number"==typeof e?{from:e,to:e}:e;this.hot.batchExecution((()=>{(0,d.rangeEach)(Math.min(t,o),Math.max(t,o),(e=>{this.rowHeightsMap.setValueAtIndex(e,null)}))}),!0)}isNeedRecalculate(){return!!(0,r.arrayFilter)(this.rowHeightsMap.getValues().slice(0,this.measuredRows),(e=>null===e)).length}onBeforeViewRender(){const e=this.hot.renderCall,t=this.hot.getSettings().fixedRowsBottom,o=this.getFirstVisibleRow(),s=this.getLastVisibleRow();if(-1!==o&&-1!==s){if(this.calculateRowsHeight({from:o,to:s},void 0,e),t){const e=this.hot.countRows()-1;this.calculateRowsHeight({from:e-t,to:e})}this.isNeedRecalculate()&&!this.inProgress&&this.calculateAllRowsHeight()}}onBeforeRowMove(e,t){this.clearCacheByRange({from:e,to:t}),this.calculateAllRowsHeight()}onBeforeRowResize(e,t,o){let s=e;return o&&(this.calculateRowsHeight(t,void 0,!0),s=this.getRowHeight(t)),s}onAfterLoadData(){this.hot.view?this.recalculateAllRowsHeight():this.hot._registerTimeout((()=>{this.hot&&this.recalculateAllRowsHeight()}))}onBeforeChange(e){let t=null;1===e.length?t=e[0][0]:e.length>1&&(t={from:e[0][0],to:e[e.length-1][0]}),null!==t&&this.clearCacheByRange(t)}destroy(){this.ghostTable.clean(),super.destroy()}}t.AutoRowSize=m},60687:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(64168);t.PLUGIN_KEY=s.PLUGIN_KEY,t.PLUGIN_PRIORITY=s.PLUGIN_PRIORITY,t.AutoRowSize=s.AutoRowSize},51479:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(63517);var n=o(36026),r=s(o(56307)),i=o(83302),l=o(50095),a=s(o(75244)),h=o(28151);r.default.getSingleton().register("modifyAutofillRange"),r.default.getSingleton().register("beforeAutofill"),r.default.getSingleton().register("afterAutofill");const d=t.PLUGIN_KEY="autofill",c=t.PLUGIN_PRIORITY=20,u=["fillHandle"];class g extends n.BasePlugin{static get PLUGIN_KEY(){return d}static get PLUGIN_PRIORITY(){return c}static get SETTING_KEYS(){return[d,...u]}constructor(e){super(e),this.eventManager=new a.default(this),this.addingStarted=!1,this.mouseDownOnCellCorner=!1,this.mouseDragOutside=!1,this.handleDraggedCells=0,this.directions=[],this.autoInsertRow=!1}isEnabled(){return this.hot.getSettings().fillHandle}enablePlugin(){this.enabled||(this.mapSettings(),this.registerEvents(),this.addHook("afterOnCellCornerMouseDown",(e=>this.onAfterCellCornerMouseDown(e))),this.addHook("afterOnCellCornerDblClick",(e=>this.onCellCornerDblClick(e))),this.addHook("beforeOnCellMouseOver",((e,t)=>this.onBeforeCellMouseOver(t))),super.enablePlugin())}updatePlugin(){this.disablePlugin(),this.enablePlugin(),super.updatePlugin()}disablePlugin(){this.clearMappedSettings(),super.disablePlugin()}getSelectionData(){const e=this.hot.getSelectedRangeLast(),{row:t,col:o}=e.getTopStartCorner(),{row:s,col:n}=e.getBottomEndCorner(),r=this.hot.runHooks("modifyCopyableRange",[{startRow:t,startCol:o,endRow:s,endCol:n}]),i=[],a=[],h=[];return(0,l.arrayEach)(r,(e=>{for(let t=e.startRow;t<=e.endRow;t+=1)-1===i.indexOf(t)&&i.push(t);for(let t=e.startCol;t<=e.endCol;t+=1)-1===a.indexOf(t)&&a.push(t)})),(0,l.arrayEach)(i,(e=>{const t=[];(0,l.arrayEach)(a,(o=>{t.push(this.hot.getCopyableData(e,o))})),h.push(t)})),h}fillIn(){if(this.hot.selection.highlight.getFill().isEmpty())return!1;const[e,t,o,s]=this.hot.selection.highlight.getFill().getVisualCorners(),n=this.hot.getSelectedRangeLast(),r=n.getTopStartCorner(),i=n.getBottomEndCorner();this.resetSelectionOfDraggedArea();const l=[r.row,r.col,i.row,i.col],a=this.hot.runHooks("modifyAutofillRange",[Math.min(r.row,e),Math.min(r.col,t),Math.max(i.row,o),Math.max(i.col,s)],l),{directionOfDrag:d,startOfDragCoords:c,endOfDragCoords:u}=(0,h.getDragDirectionAndRange)(l,a,((e,t)=>this.hot._createCellCoords(e,t)));if(c&&c.row>-1&&c.col>-1){const e=this.getSelectionData(),t=n.clone(),o=this.hot._createCellRange(c,c,u),s=this.hot.runHooks("beforeAutofill",e,t,o,d);if(!1===s)return this.hot.selection.highlight.getFill().clear(),this.hot.render(),!1;let r=s;const i=s;if(["up","left"].indexOf(d)>-1&&(1!==i.length||0!==i[0].length))if(r=[],"up"===d){const e=u.row-c.row+1,t=e%i.length;for(let o=0;o<e;o++)r.push(i[(o+(i.length-t))%i.length])}else{const e=u.col-c.col+1,t=e%i[0].length;for(let o=0;o<i.length;o++){r.push([]);for(let s=0;s<e;s++)r[o].push(i[o][(s+(i[o].length-t))%i[o].length])}}this.hot.populateFromArray(c.row,c.col,r,u.row,u.col,`${this.pluginName}.fill`,null),this.setSelection(a),this.hot.runHooks("afterAutofill",r,t,o,d),this.hot.render()}else this.hot._refreshBorders();return!0}reduceSelectionAreaIfNeeded(e){return e.row<0&&(e.row=0),e.col<0&&(e.col=0),e}getCoordsOfDragAndDropBorders(e){const t=this.hot.getSelectedRangeLast(),o=t.getBottomEndCorner();let s=e;if(this.directions.includes(h.DIRECTIONS.vertical)&&this.directions.includes(h.DIRECTIONS.horizontal)){const n=t.getTopStartCorner();(o.col<=e.col||n.col>=e.col)&&(s=this.hot._createCellCoords(o.row,e.col)),(o.row<e.row||n.row>e.row)&&(s=this.hot._createCellCoords(e.row,o.col))}else if(this.directions.includes(h.DIRECTIONS.vertical))s=this.hot._createCellCoords(e.row,o.col);else{if(!this.directions.includes(h.DIRECTIONS.horizontal))return;s=this.hot._createCellCoords(o.row,e.col)}return this.reduceSelectionAreaIfNeeded(s)}showBorder(e){const t=this.getCoordsOfDragAndDropBorders(e);t&&this.redrawBorders(t)}addRow(){this.hot._registerTimeout((()=>{this.hot.alter("insert_row_below",void 0,1,`${this.pluginName}.fill`),this.addingStarted=!1}),200)}addNewRowIfNeeded(){if(!this.hot.selection.highlight.getFill().isEmpty()&&!1===this.addingStarted&&this.autoInsertRow){const e=this.hot.getSelectedLast(),t=this.hot.selection.highlight.getFill().getVisualCorners(),o=this.hot.countRows();e[2]<o-1&&t[2]===o-1&&(this.addingStarted=!0,this.addRow())}}getIndexOfLastAdjacentFilledInRow(e){const t=this.hot.getData(),o=this.hot.countRows();let s;for(let n=e[2]+1;n<o;n++){for(let o=e[1];o<=e[3];o++){if(t[n][o])return-1}const o=t[n][e[1]-1],r=t[n][e[3]+1];(o||r)&&(s=n)}return s}addSelectionFromStartAreaToSpecificRowIndex(e,t){this.hot.selection.highlight.getFill().clear().add(this.hot._createCellCoords(e[0],e[1])).add(this.hot._createCellCoords(t,e[3])).commit()}setSelection(e){this.hot.selectCell(...(0,l.arrayMap)(e,(e=>Math.max(e,0))),!1,!1)}selectAdjacent(){const e=this.hot.getSelectedLast(),t=this.getIndexOfLastAdjacentFilledInRow(e);return-1!==t&&void 0!==t&&(this.addSelectionFromStartAreaToSpecificRowIndex(e,t),!0)}resetSelectionOfDraggedArea(){this.handleDraggedCells=0,this.hot.selection.highlight.getFill().clear()}redrawBorders(e){this.hot.selection.highlight.getFill().clear().add(this.hot.getSelectedRangeLast().from).add(this.hot.getSelectedRangeLast().to).add(e).commit(),this.hot.view.render()}getIfMouseWasDraggedOutside(e){const{documentElement:t}=this.hot.rootDocument,o=(0,i.offset)(this.hot.table).top-(this.hot.rootWindow.pageYOffset||t.scrollTop)+(0,i.outerHeight)(this.hot.table),s=(0,i.offset)(this.hot.table).left-(this.hot.rootWindow.pageXOffset||t.scrollLeft)+(0,i.outerWidth)(this.hot.table);return e.clientY>o&&e.clientX<=s}registerEvents(){const{documentElement:e}=this.hot.rootDocument;this.eventManager.addEventListener(e,"mouseup",(()=>this.onMouseUp())),this.eventManager.addEventListener(e,"mousemove",(e=>this.onMouseMove(e)))}onCellCornerDblClick(){this.selectAdjacent()&&this.fillIn()}onAfterCellCornerMouseDown(){this.handleDraggedCells=1,this.mouseDownOnCellCorner=!0}onBeforeCellMouseOver(e){this.mouseDownOnCellCorner&&!this.hot.view.isMouseDown()&&this.handleDraggedCells&&(this.handleDraggedCells+=1,this.showBorder(e),this.addNewRowIfNeeded())}onMouseUp(){this.handleDraggedCells&&(this.handleDraggedCells>1&&this.fillIn(),this.handleDraggedCells=0,this.mouseDownOnCellCorner=!1)}onMouseMove(e){const t=this.getIfMouseWasDraggedOutside(e);!1===this.addingStarted&&this.handleDraggedCells>0&&t?(this.mouseDragOutside=!0,this.addingStarted=!0):this.mouseDragOutside=!1,this.mouseDragOutside&&this.autoInsertRow&&this.addRow()}clearMappedSettings(){this.directions.length=0,this.autoInsertRow=!1}mapSettings(){const e=(0,h.getMappedFillHandleSetting)(this.hot.getSettings().fillHandle);this.directions=e.directions,this.autoInsertRow=e.autoInsertRow}destroy(){super.destroy()}}t.Autofill=g},62080:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(51479);t.PLUGIN_KEY=s.PLUGIN_KEY,t.PLUGIN_PRIORITY=s.PLUGIN_PRIORITY,t.Autofill=s.Autofill},28151:(e,t,o)=>{"use strict";t.__esModule=!0,t.getDragDirectionAndRange=function(e,t,o){let s,n,r;t[0]===e[0]&&t[1]<e[1]?(r="left",s=o(t[0],t[1]),n=o(t[2],e[1]-1)):t[2]===e[2]&&t[0]===e[0]&&t[3]>e[3]?(r="right",s=o(t[0],e[3]+1),n=o(t[2],t[3])):t[0]<e[0]&&t[1]===e[1]?(r="up",s=o(t[0],t[1]),n=o(e[0]-1,t[3])):t[2]>e[2]&&t[1]===e[1]&&(r="down",s=o(e[2]+1,t[1]),n=o(t[2],t[3]));s&&s.normalize();n&&n.normalize();return{directionOfDrag:r,startOfDragCoords:s,endOfDragCoords:n}},t.getMappedFillHandleSetting=function(e){const t={};!0===e?(t.directions=Object.keys(r),t.autoInsertRow=!0):(0,s.isObject)(e)?((0,n.isDefined)(e.autoInsertRow)?e.direction===r.horizontal?t.autoInsertRow=!1:t.autoInsertRow=e.autoInsertRow:t.autoInsertRow=!1,(0,n.isDefined)(e.direction)?t.directions=[e.direction]:t.directions=Object.keys(r)):"string"==typeof e?(t.directions=[e],t.autoInsertRow=!0):(t.directions=[],t.autoInsertRow=!1);return t};var s=o(22232),n=o(93315);const r=t.DIRECTIONS={horizontal:"horizontal",vertical:"vertical"}},13541:(e,t,o)=>{"use strict";t.__esModule=!0,o(91683),o(63517);var s=o(22232),n=o(50095),r=o(52036),i=o(65324),l=o(83605),a=o(7462),h=o(80239);function d(e,t){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.add(e)}const c=new Map([["plugin",r.hasPlugin],["cell-type",i.hasCellType],["editor",l.hasEditor],["renderer",a.hasRenderer],["validator",h.hasValidator]]),u=t.PLUGIN_KEY="base",g=new WeakMap,f=[];let p=null;var m=new WeakSet;function C(e){if(!e)return!1;const t=this.constructor.SETTING_KEYS;if("boolean"==typeof t)return t;for(let o=0;o<t.length;o++)if(void 0!==e[t[o]])return!0;return!1}t.BasePlugin=class{static get PLUGIN_KEY(){return u}static get SETTING_KEYS(){return[this.PLUGIN_KEY]}constructor(e){d(this,m),(0,s.defineGetter)(this,"hot",e,{writable:!1}),g.set(this,{hooks:{}}),p=null,this.pluginName=null,this.pluginsInitializedCallbacks=[],this.isPluginsReady=!1,this.enabled=!1,this.initialized=!1,this.hot.addHook("afterPluginsInitialized",(()=>this.onAfterPluginsInitialized())),this.hot.addHook("afterUpdateSettings",(e=>this.onUpdateSettings(e))),this.hot.addHook("beforeInit",(()=>this.init()))}init(){this.pluginName=this.hot.getPluginName(this);const e=this.constructor.PLUGIN_DEPS,t=Array.isArray(e)?e:[];if(t.length>0){const e=[];if(t.forEach((t=>{const[o,s]=t.split(":");if(!c.has(o))throw new Error(`Unknown plugin dependency type "${o}" was found.`);c.get(o)(s)||e.push(` - ${s} (${o})`)})),e.length>0){const t=[`The ${this.pluginName} plugin requires the following modules:\n`,`${e.join("\n")}\n`].join("");f.push(t)}}p||(p=(0,r.getPluginsNames)()),p.indexOf("UndoRedo")>=0&&p.splice(p.indexOf("UndoRedo"),1),p.indexOf(this.pluginName)>=0&&p.splice(p.indexOf(this.pluginName),1),this.hot.addHookOnce("afterPluginsInitialized",(()=>{this.isEnabled&&this.isEnabled()&&this.enablePlugin()}));if(0===p.length){if(f.length>0){const e=[`${f.join("\n")}\n`,"You have to import and register them manually."].join("");throw new Error(e)}this.hot.runHooks("afterPluginsInitialized")}this.initialized=!0}enablePlugin(){this.enabled=!0}disablePlugin(){this.eventManager&&this.eventManager.clear(),this.clearHooks(),this.enabled=!1}addHook(e,t){g.get(this).hooks[e]=g.get(this).hooks[e]||[];const o=g.get(this).hooks[e];this.hot.addHook(e,t),o.push(t),g.get(this).hooks[e]=o}removeHooks(e){(0,n.arrayEach)(g.get(this).hooks[e]||[],(t=>{this.hot.removeHook(e,t)}))}clearHooks(){const e=g.get(this).hooks;(0,s.objectEach)(e,((e,t)=>this.removeHooks(t))),e.length=0}callOnPluginsReady(e){this.isPluginsReady?e():this.pluginsInitializedCallbacks.push(e)}onAfterPluginsInitialized(){(0,n.arrayEach)(this.pluginsInitializedCallbacks,(e=>e())),this.pluginsInitializedCallbacks.length=0,this.isPluginsReady=!0}onUpdateSettings(e){const t=function(e,t,o){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return o}(this,m,C).call(this,e);this.isEnabled&&(this.enabled&&!this.isEnabled()&&this.disablePlugin(),!this.enabled&&this.isEnabled()&&this.enablePlugin(),this.enabled&&this.isEnabled()&&t&&this.updatePlugin(e))}updatePlugin(){}destroy(){this.eventManager&&this.eventManager.destroy(),this.clearHooks(),(0,s.objectEach)(this,((e,t)=>{"hot"!==t&&(this[t]=null)})),delete this.t,delete this.hot}}},36026:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(13541);t.PLUGIN_KEY=s.PLUGIN_KEY,t.BasePlugin=s.BasePlugin},37958:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=o(36026),r=s(o(82173)),i=s(o(12738));const l=t.PLUGIN_KEY="bindRowsWithHeaders",a=t.PLUGIN_PRIORITY=210,h=new Map([["loose",r.default],["strict",i.default]]);class d extends n.BasePlugin{static get PLUGIN_KEY(){return l}static get PLUGIN_PRIORITY(){return a}constructor(e){super(e),this.headerIndexes=null}isEnabled(){return!!this.hot.getSettings()[l]}enablePlugin(){if(this.enabled)return;let e=this.hot.getSettings()[l];"string"!=typeof e&&(e="loose");const t=h.get(e);this.headerIndexes=this.hot.rowIndexMapper.registerMap("bindRowsWithHeaders",new t),this.addHook("modifyRowHeader",(e=>this.onModifyRowHeader(e))),super.enablePlugin()}disablePlugin(){this.hot.rowIndexMapper.unregisterMap("bindRowsWithHeaders"),super.disablePlugin()}onModifyRowHeader(e){return this.headerIndexes.getValueAtIndex(this.hot.toPhysicalRow(e))}destroy(){super.destroy()}}t.BindRowsWithHeaders=d},85939:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(37958);t.PLUGIN_KEY=s.PLUGIN_KEY,t.PLUGIN_PRIORITY=s.PLUGIN_PRIORITY,t.BindRowsWithHeaders=s.BindRowsWithHeaders},82173:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(33165);const{getListWithInsertedItems:n,getListWithRemovedItems:r}=(0,s.alterUtilsFactory)("physicallyIndexed");class i extends s.IndexMap{constructor(){super((e=>e))}insert(e,t){const o=(0,s.getIncreasedIndexes)(this.indexedValues,t);this.indexedValues=n(o,e,t,this.initValueOrFn),super.insert(e,t)}remove(e){const t=r(this.indexedValues,e);this.indexedValues=(0,s.getDecreasedIndexes)(t,e),super.remove(e)}}t.default=i},12738:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(33165);const{getListWithInsertedItems:n,getListWithRemovedItems:r}=(0,s.alterUtilsFactory)("physicallyIndexed");class i extends s.IndexMap{constructor(){super((e=>e))}insert(e,t){this.indexedValues=n(this.indexedValues,e,t,((e,t)=>this.getNextValue(t))),super.insert(e,t)}remove(e){this.indexedValues=r(this.indexedValues,e),super.remove(e)}getNextValue(e){return Math.max(...this.getValues())+1+e}}t.default=i},11665:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(91683),o(63517);var n=s(o(93231)),r=s(o(42538)),i=s(o(48427)),l=o(36026),a=o(50095),h=o(68145),d=o(69173),c=o(83302),u=s(o(75244)),g=o(24449),f=o(5386),p=o(77516);function m(e,t,o){!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,o)}const C=t.PLUGIN_KEY="collapsibleColumns",w=t.PLUGIN_PRIORITY=290,E=["nestedHeaders"],y="collapsibleIndicator",v=C,S=new Map([["collapse",{hideColumn:!0,beforeHook:"beforeColumnCollapse",afterHook:"afterColumnCollapse"}],["expand",{hideColumn:!1,beforeHook:"beforeColumnExpand",afterHook:"afterColumnExpand"}]]);var R=new WeakMap;class _ extends l.BasePlugin{constructor(){super(...arguments),(0,n.default)(this,"nestedHeadersPlugin",null),(0,n.default)(this,"eventManager",new u.default(this)),(0,n.default)(this,"headerStateManager",null),m(this,R,{writable:!0,value:null})}static get PLUGIN_KEY(){return C}static get PLUGIN_PRIORITY(){return w}static get PLUGIN_DEPS(){return["plugin:NestedHeaders"]}static get SETTING_KEYS(){return[C,...E]}isEnabled(){return!!this.hot.getSettings()[C]}enablePlugin(){var e=this;if(this.enabled)return;const{nestedHeaders:t}=this.hot.getSettings();t||(0,d.warn)("You need to configure the Nested Headers plugin in order to use collapsible headers."),(0,i.default)(this,R,this.hot.columnIndexMapper.createAndRegisterIndexMap(this.pluginName,"hiding")),this.nestedHeadersPlugin=this.hot.getPlugin("nestedHeaders"),this.headerStateManager=this.nestedHeadersPlugin.getStateManager(),this.addHook("init",(()=>this.onInit())),this.addHook("afterLoadData",(function(){return e.onAfterLoadData(...arguments)})),this.addHook("afterGetColHeader",(function(){return e.onAfterGetColHeader(...arguments)})),this.addHook("beforeOnCellMouseDown",((e,t,o)=>this.onBeforeOnCellMouseDown(e,t,o))),this.registerShortcuts(),super.enablePlugin(),this.updatePlugin()}updatePlugin(){if(this.hot.view){if(!this.nestedHeadersPlugin.detectedOverlappedHeaders){const{collapsibleColumns:e}=this.hot.getSettings();"boolean"==typeof e?this.headerStateManager.mapState((e=>({collapsible:e.origColspan>1}))):Array.isArray(e)&&(this.headerStateManager.mapState((()=>({collapsible:!1}))),this.headerStateManager.mergeStateWith(e))}super.updatePlugin()}}disablePlugin(){this.hot.columnIndexMapper.unregisterMap(this.pluginName),(0,i.default)(this,R,null),this.nestedHeadersPlugin=null,this.unregisterShortcuts(),this.clearButtons(),super.disablePlugin()}registerShortcuts(){this.hot.getShortcutManager().getContext("grid").addShortcut({keys:[["Enter"]],callback:()=>{var e;const{row:t,col:o}=this.hot.getSelectedRangeLast().highlight,{collapsible:s,isCollapsed:n,columnIndex:r}=null!==(e=this.headerStateManager.getHeaderTreeNodeData(t,o))&&void 0!==e?e:{};s&&(n?this.expandSection({row:t,col:r}):this.collapseSection({row:t,col:r}))},runOnlyIf:()=>{var e;return null===(e=this.hot.getSelectedRangeLast())||void 0===e?void 0:e.highlight.isHeader()},group:v})}unregisterShortcuts(){this.hot.getShortcutManager().getContext("grid").removeShortcutsByGroup(v)}clearButtons(){if(!this.hot.view)return;const e=this.hot.view._wt.getSetting("columnHeaders").length,t=this.hot.view._wt.wtTable.THEAD,o=this.hot.view._wt.wtOverlays.topOverlay.clone.wtTable.THEAD,s=this.hot.view._wt.wtOverlays.topInlineStartCornerOverlay?this.hot.view._wt.wtOverlays.topInlineStartCornerOverlay.clone.wtTable.THEAD:null,n=function(e){e&&e.parentNode.removeChild(e)};(0,h.rangeEach)(0,e-1,(e=>{const r=t.childNodes[e],i=o.childNodes[e],l=s?s.childNodes[e]:null;(0,h.rangeEach)(0,r.childNodes.length-1,(e=>{let t=r.childNodes[e].querySelector(`.${y}`);n(t),i&&i.childNodes[e]&&(t=i.childNodes[e].querySelector(`.${y}`),n(t)),s&&l&&l.childNodes[e]&&(t=l.childNodes[e].querySelector(`.${y}`),n(t))}))}),!0)}expandSection(e){this.toggleCollapsibleSection([e],"expand")}collapseSection(e){this.toggleCollapsibleSection([e],"collapse")}toggleAllCollapsibleSections(e){const t=this.headerStateManager.mapNodes((t=>{const{collapsible:o,origColspan:s,headerLevel:n,columnIndex:r,isCollapsed:i}=t;if(!0===o&&s>1&&(i&&"expand"===e||!i&&"collapse"===e))return{row:this.headerStateManager.levelToRowCoords(n),col:r}}));this.toggleCollapsibleSection(t,e)}collapseAll(){this.toggleAllCollapsibleSections("collapse")}expandAll(){this.toggleAllCollapsibleSections("expand")}toggleCollapsibleSection(e,t){if(!S.has(t))throw new Error(`Unsupported action is passed (${t}).`);if(!Array.isArray(e))return;const o=(0,a.arrayFilter)(e,(e=>{let{row:t}=e;return t<0}));let s=o.length>0;(0,a.arrayEach)(o,(e=>{var o;let{row:n,col:r}=e;const{collapsible:i,isCollapsed:l}=null!==(o=this.headerStateManager.getHeaderSettings(n,r))&&void 0!==o?o:{};if(!i||l&&"collapse"===t||!l&&"expand"===t)return s=!1,!1}));const n=[],i=[];s&&(0,a.arrayEach)(o,(e=>{let{row:o,col:s}=e;const{colspanCompensation:r,affectedColumns:l,rollbackModification:a}=this.headerStateManager.triggerNodeModification(t,o,s);r>0&&(i.push(...l),n.push(a))}));const l=this.getCollapsedColumns();let h=[];"collapse"===t?h=(0,a.arrayUnique)([...l,...i]):"expand"===t&&(h=(0,a.arrayFilter)(l,(e=>!i.includes(e))));const d=S.get(t);if(!1===this.hot.runHooks(d.beforeHook,l,h,s))return void(0,a.arrayEach)(n,(e=>{e()}));this.hot.batchExecution((()=>{(0,a.arrayEach)(i,(e=>{(0,r.default)(this,R).setValueAtIndex(this.hot.toPhysicalColumn(e),d.hideColumn)}))}),!0);const c=this.getCollapsedColumns().length!==l.length;this.hot.runHooks(d.afterHook,l,h,s,c),this.hot.render(),this.hot.view.adjustElementsSize(!0)}getCollapsedColumns(){return(0,r.default)(this,R).getHiddenIndexes()}onAfterGetColHeader(e,t,o){var s;const{collapsible:n,origColspan:r,isCollapsed:i}=null!==(s=this.headerStateManager.getHeaderSettings(o,e))&&void 0!==s?s:{},l=n&&r>1&&e>=this.hot.getSettings().fixedColumnsStart,a=this.hot.getSettings().ariaTags;let h=t.querySelector(`.${y}`);var d;((0,c.removeAttribute)(t,[(0,f.A11Y_EXPANDED)("")[0]]),l)?(h||(h=this.hot.rootDocument.createElement("div"),(0,c.addClass)(h,y),t.querySelector("div:first-child").appendChild(h)),(0,c.removeClass)(h,["collapsed","expanded"]),i?((0,c.addClass)(h,"collapsed"),(0,c.fastInnerText)(h,"+"),a&&(0,c.setAttribute)(t,[(0,f.A11Y_EXPANDED)(!1),(0,f.A11Y_DESCRIPTION)(this.hot.getTranslatedPhrase(p.COLUMN_HEADER_DESCRIPTION_EXPAND_COLUMN))])):((0,c.addClass)(h,"expanded"),(0,c.fastInnerText)(h,"-"),a&&(0,c.setAttribute)(t,[(0,f.A11Y_EXPANDED)(!0),(0,f.A11Y_DESCRIPTION)(this.hot.getTranslatedPhrase(p.COLUMN_HEADER_DESCRIPTION_COLLAPSE_COLUMN))])),a&&(0,c.setAttribute)(h,...(0,f.A11Y_HIDDEN)())):null===(d=h)||void 0===d||d.remove()}onBeforeOnCellMouseDown(e,t){(0,c.hasClass)(e.target,y)&&((0,c.hasClass)(e.target,"expanded")?(this.eventManager.fireEvent(e.target,"mouseup"),this.toggleCollapsibleSection([t],"collapse")):(0,c.hasClass)(e.target,"collapsed")&&(this.eventManager.fireEvent(e.target,"mouseup"),this.toggleCollapsibleSection([t],"expand")),(0,g.stopImmediatePropagation)(e))}onInit(){this.updatePlugin()}onAfterLoadData(e,t){t||this.updatePlugin()}destroy(){(0,i.default)(this,R,null),super.destroy()}}t.CollapsibleColumns=_},55994:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(11665);t.PLUGIN_KEY=s.PLUGIN_KEY,t.PLUGIN_PRIORITY=s.PLUGIN_PRIORITY,t.CollapsibleColumns=s.CollapsibleColumns},80081:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(63517);var n=o(83302),r=o(93315),i=o(22232),l=o(85015),a=o(50095),h=o(36026),d=o(33165),c=s(o(56307)),u=o(88082),g=o(64951),f=o(59809),p=o(24892),m=o(51510),C=o(5386),w=o(77516);const E=t.PLUGIN_KEY="columnSorting",y=t.PLUGIN_PRIORITY=50,v=t.APPEND_COLUMN_CONFIG_STRATEGY="append",S=t.REPLACE_COLUMN_CONFIG_STRATEGY="replace",R=E,_="columnSortingIndicator";(0,m.registerRootComparator)(E,p.rootComparator),c.default.getSingleton().register("beforeColumnSort"),c.default.getSingleton().register("afterColumnSort");class b extends h.BasePlugin{static get PLUGIN_KEY(){return E}static get PLUGIN_PRIORITY(){return y}constructor(e){super(e),this.columnStatesManager=null,this.columnMetaCache=null,this.pluginKey=E,this.indexesSequenceCache=null}isEnabled(){return!!this.hot.getSettings()[this.pluginKey]}enablePlugin(){var e=this;this.enabled||(this.columnStatesManager=new u.ColumnStatesManager(this.hot,`${this.pluginKey}.sortingStates`),this.columnMetaCache=new d.PhysicalIndexToValueMap((e=>{let t=this.hot.toVisualColumn(e);return null===t&&(t=e),this.getMergedPluginSettings(t)})),this.hot.columnIndexMapper.registerMap(`${this.pluginKey}.columnMeta`,this.columnMetaCache),this.addHook("afterGetColHeader",((e,t)=>this.onAfterGetColHeader(e,t))),this.addHook("beforeOnCellMouseDown",(function(){return e.onBeforeOnCellMouseDown(...arguments)})),this.addHook("afterOnCellMouseDown",((e,t)=>this.onAfterOnCellMouseDown(e,t))),this.addHook("afterInit",(()=>this.loadOrSortBySettings())),this.addHook("afterLoadData",(function(){return e.onAfterLoadData(...arguments)})),this.hot.view&&this.loadOrSortBySettings(),this.registerShortcuts(),super.enablePlugin())}disablePlugin(){const e=(e,t)=>{const o=(0,g.getHeaderSpanElement)(t);!1!==(0,g.isFirstLevelColumnHeader)(e,t)&&null!==o&&this.updateHeaderClasses(o)};this.hot.addHook("afterGetColHeader",e),this.hot.addHookOnce("afterViewRender",(()=>{this.hot.removeHook("afterGetColHeader",e)})),this.hot.batchExecution((()=>{null!==this.indexesSequenceCache&&(this.hot.rowIndexMapper.setIndexesSequence(this.indexesSequenceCache.getValues()),this.hot.rowIndexMapper.unregisterMap(this.pluginKey))}),!0),this.hot.columnIndexMapper.unregisterMap(`${this.pluginKey}.columnMeta`),this.columnStatesManager.destroy(),this.columnMetaCache=null,this.columnStatesManager=null,this.unregisterShortcuts(),super.disablePlugin()}registerShortcuts(){this.hot.getShortcutManager().getContext("grid").addShortcut({keys:[["Enter"]],callback:()=>{const{highlight:e}=this.hot.getSelectedRangeLast();-1===e.row&&e.col>=0&&this.sort(this.getColumnNextConfig(e.col))},runOnlyIf:()=>{var e;return null===(e=this.hot.getSelectedRangeLast())||void 0===e?void 0:e.highlight.isHeader()},group:R})}unregisterShortcuts(){this.hot.getShortcutManager().getContext("grid").removeShortcutsByGroup(R)}sort(e){const t=this.getSortConfig(),o=this.getNormalizedSortConfigs(e),s=this.areValidSortConfigs(o);!1!==this.hot.runHooks("beforeColumnSort",t,o,s)&&(0===t.length&&null===this.indexesSequenceCache&&(this.indexesSequenceCache=this.hot.rowIndexMapper.registerMap(this.pluginKey,new d.IndexesSequence),this.indexesSequenceCache.setValues(this.hot.rowIndexMapper.getIndexesSequence())),s&&(this.columnStatesManager.setSortStates(o),this.sortByPresetSortStates(o),this.saveAllSortSettings(o)),this.hot.runHooks("afterColumnSort",t,s?o:t,s),s&&(this.hot.render(),this.hot.forceFullRender=!1,this.hot.view.render()))}clearSort(){this.sort([])}isSorted(){return this.enabled&&!this.columnStatesManager.isListOfSortedColumnsEmpty()}getSortConfig(e){return(0,r.isDefined)(e)?this.columnStatesManager.getColumnSortState(e):this.columnStatesManager.getSortStates()}setSortConfig(e){const t=this.getNormalizedSortConfigs(e);this.areValidSortConfigs(t)&&this.columnStatesManager.setSortStates(t)}getNormalizedSortConfigs(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return Array.isArray(e)?e.slice(0,1):[e]}areValidSortConfigs(e){const t=this.hot.countCols();return(0,g.areValidSortStates)(e)&&e.every((e=>{let{column:o}=e;return o<=t&&o>=0}))}saveAllSortSettings(e){const t=this.columnStatesManager.getAllColumnsProperties();t.initialConfig=(0,a.arrayMap)(e,(e=>{let{column:t,...o}=e;return{column:this.hot.toPhysicalColumn(t),...o}})),this.hot.runHooks("persistentStateSave","columnSorting",t)}getAllSavedSortSettings(){const e={};this.hot.runHooks("persistentStateLoad","columnSorting",e);const t=e.value,o=e=>{let{column:t,...o}=e;return{column:this.hot.toVisualColumn(t),...o}};return(0,r.isDefined)(t)&&Array.isArray(t.initialConfig)&&(t.initialConfig=(0,a.arrayMap)(t.initialConfig,o)),t}getColumnNextConfig(e){const t=this.columnStatesManager.getSortOrderOfColumn(e);if((0,r.isDefined)(t)){const o=(0,g.getNextSortOrder)(t);return(0,r.isDefined)(o)?{column:e,sortOrder:o}:void 0}const o=this.hot.countCols();if(Number.isInteger(e)&&e>=0&&e<o)return{column:e,sortOrder:(0,g.getNextSortOrder)()}}getNextSortConfig(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:v;const o=this.columnStatesManager.getIndexOfColumnInSortQueue(e),s=-1!==o,n=this.getSortConfig(),i=this.getColumnNextConfig(e);if(s){if((0,r.isUndefined)(i))return[...n.slice(0,o),...n.slice(o+1)];if(t===v)return[...n.slice(0,o),...n.slice(o+1),i];if(t===S)return[...n.slice(0,o),i,...n.slice(o+1)]}return(0,r.isDefined)(i)?n.concat(i):n}getPluginColumnConfig(e){if((0,i.isObject)(e)){const t=e[this.pluginKey];if((0,i.isObject)(t))return t}return{}}getMergedPluginSettings(e){const t=this.hot.getSettings()[this.pluginKey],o=this.columnStatesManager.getAllColumnsProperties(),s=this.hot.getCellMeta(0,e),n=Object.getPrototypeOf(s);return Array.isArray(n.columns)?Object.assign(o,t,this.getPluginColumnConfig(n.columns[e])):(0,l.isFunction)(n.columns)?Object.assign(o,t,this.getPluginColumnConfig(n.columns(e))):Object.assign(o,t)}getFirstCellSettings(e){const t=this.hot.getCellMeta(0,e),o=Object.create(t);return o[this.pluginKey]=this.columnMetaCache.getValueAtIndex(this.hot.toPhysicalColumn(e)),o}getNumberOfRowsToSort(e){const t=this.hot.getSettings();return t.maxRows<=e?t.maxRows:e-t.minSpareRows}sortByPresetSortStates(e){if(0===e.length)return void this.hot.rowIndexMapper.setIndexesSequence(this.indexesSequenceCache.getValues());const t=[],o=this.hot.countRows(),s=t=>(0,a.arrayMap)(e,(e=>this.hot.getDataAtCell(t,e.column)));for(let e=0;e<this.getNumberOfRowsToSort(o);e+=1)t.push([this.hot.toPhysicalRow(e)].concat(s(e)));const n=(0,a.arrayMap)(t,(e=>e[0]));(0,m.sort)(t,this.pluginKey,(0,a.arrayMap)(e,(e=>e.sortOrder)),(0,a.arrayMap)(e,(e=>this.getFirstCellSettings(e.column))));for(let e=t.length;e<o;e+=1)t.push([e].concat(s(e)));const r=(0,a.arrayMap)(t,(e=>e[0])),i=new Map((0,a.arrayMap)(n,((e,t)=>[e,r[t]]))),l=(0,a.arrayMap)(this.hot.rowIndexMapper.getIndexesSequence(),(e=>i.has(e)?i.get(e):e));this.hot.rowIndexMapper.setIndexesSequence(l)}loadOrSortBySettings(){const e=this.getAllSavedSortSettings();if((0,i.isObject)(e))this.sortBySettings(e);else{const e=this.hot.getSettings()[this.pluginKey];this.sortBySettings(e)}}sortBySettings(e){if((0,i.isObject)(e)){this.columnStatesManager.updateAllColumnsProperties(e);const t=e.initialConfig;(Array.isArray(t)||(0,i.isObject)(t))&&this.sort(t)}else this.hot.render()}onAfterGetColHeader(e,t){const o=(0,g.getHeaderSpanElement)(t);if(!1===(0,g.isFirstLevelColumnHeader)(e,t)||null===o)return;const s=this.getFirstCellSettings(e)[this.pluginKey],r=this.hot.getSettings().ariaTags,i=s.indicator,l=s.headerAction,a=this.columnStatesManager.getSortOrderOfColumn(e);this.updateHeaderClasses(o,this.columnStatesManager,e,i,l),this.updateSortingIndicator(e,o),r&&(0,n.setAttribute)(t,[(0,C.A11Y_SORT)(a?`${a}ending`:"none"),(0,C.A11Y_DESCRIPTION)(this.hot.getTranslatedPhrase(w.COLUMN_HEADER_DESCRIPTION_SORT_ROWS))])}updateHeaderClasses(e){if((0,n.removeClass)(e,(0,f.getClassesToRemove)(e)),!1!==this.enabled){for(var t=arguments.length,o=new Array(t>1?t-1:0),s=1;s<t;s++)o[s-1]=arguments[s];(0,n.addClass)(e,(0,f.getClassesToAdd)(...o))}}updateSortingIndicator(e,t){const o=this.getFirstCellSettings(e)[this.pluginKey],s=this.hot.getSettings().ariaTags,r=o.indicator,i=this.columnStatesManager.isColumnSorted(e),l=t.querySelector(`.${_}`);r&&i&&!l&&(0,n.appendElement)(t,{tagName:"div",className:_,attributes:s?[(0,C.A11Y_HIDDEN)()]:[]})}onUpdateSettings(e){super.onUpdateSettings(),null!==this.columnMetaCache&&this.columnMetaCache.init(this.hot.columnIndexMapper.getNumberOfIndexes()),(0,r.isDefined)(e[this.pluginKey])&&this.sortBySettings(e[this.pluginKey])}onAfterLoadData(e){!0===e&&this.hot.view&&this.loadOrSortBySettings()}wasClickableHeaderClicked(e,t){return this.getFirstCellSettings(t)[this.pluginKey].headerAction&&"SPAN"===e.target.nodeName}onBeforeOnCellMouseDown(e,t,o,s){!1!==(0,g.wasHeaderClickedProperly)(t.row,t.col,e)&&this.wasClickableHeaderClicked(e,t.col)&&this.hot.getShortcutManager().isCtrlPressed()&&(s.column=!0)}onAfterOnCellMouseDown(e,t){!1!==(0,g.wasHeaderClickedProperly)(t.row,t.col,e)&&this.wasClickableHeaderClicked(e,t.col)&&(this.hot.getShortcutManager().isCtrlPressed()&&(this.hot.deselectCell(),this.hot.selectColumns(t.col)),this.sort(this.getColumnNextConfig(t.col)))}destroy(){var e;null===(e=this.columnStatesManager)||void 0===e||e.destroy(),super.destroy()}}t.ColumnSorting=b},88082:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(22232),n=o(33165),r=o(93315);const i=["sortEmptyCells","indicator","headerAction","compareFunctionFactory"];t.ColumnStatesManager=class{constructor(e,t){this.hot=e,this.sortingStates=new n.LinkedPhysicalIndexToValueMap,this.sortEmptyCells=false,this.indicator=true,this.headerAction=true,this.compareFunctionFactory=void 0,this.mapName=t,this.hot.columnIndexMapper.registerMap(t,this.sortingStates)}updateAllColumnsProperties(e){(0,s.isObject)(e)&&(0,s.objectEach)(e,((e,t)=>{i.includes(t)&&(this[t]=e)}))}getAllColumnsProperties(){const e={sortEmptyCells:this.sortEmptyCells,indicator:this.indicator,headerAction:this.headerAction};return"function"==typeof this.compareFunctionFactory&&(e.compareFunctionFactory=this.compareFunctionFactory),e}getSortOrderOfColumn(e){var t;return null===(t=this.sortingStates.getValueAtIndex(this.hot.toPhysicalColumn(e)))||void 0===t?void 0:t.sortOrder}getIndexOfColumnInSortQueue(e){return e=this.hot.toPhysicalColumn(e),this.sortingStates.getEntries().findIndex((t=>{let[o]=t;return o===e}))}getNumberOfSortedColumns(){return this.sortingStates.getLength()}isListOfSortedColumnsEmpty(){return 0===this.getNumberOfSortedColumns()}isColumnSorted(e){return(0,s.isObject)(this.sortingStates.getValueAtIndex(this.hot.toPhysicalColumn(e)))}getSortStates(){if(null===this.sortingStates)return[];return this.sortingStates.getEntries().map((e=>{let[t,o]=e;return{column:this.hot.toVisualColumn(t),...o}}))}getColumnSortState(e){const t=this.getSortOrderOfColumn(e);if((0,r.isDefined)(t))return{column:e,sortOrder:t}}setSortStates(e){this.sortingStates.clear();for(let t=0;t<e.length;t+=1)this.sortingStates.setValueAtIndex(this.hot.toPhysicalColumn(e[t].column),{sortOrder:e[t].sortOrder})}destroy(){this.hot.columnIndexMapper.unregisterMap(this.mapName),this.sortingStates=null}}},59809:(e,t,o)=>{"use strict";t.__esModule=!0,t.getClassesToAdd=function(e,t,o,n){const h=[i];n&&h.push(l);if(!1===o)return h.push(r),h;const d=e.getSortOrderOfColumn(t);(0,s.isDefined)(d)&&h.push(a.get(d));return h},t.getClassesToRemove=function(){return Array.from(a.values()).concat(l,r,i)},o(63517);var s=o(93315),n=o(64951);const r="indicatorDisabled",i="columnSorting",l="sortAction",a=new Map([[n.ASC_SORT_STATE,"ascending"],[n.DESC_SORT_STATE,"descending"]])},1902:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(80081);t.PLUGIN_KEY=s.PLUGIN_KEY,t.PLUGIN_PRIORITY=s.PLUGIN_PRIORITY,t.ColumnSorting=s.ColumnSorting,t.APPEND_COLUMN_CONFIG_STRATEGY=s.APPEND_COLUMN_CONFIG_STRATEGY,t.REPLACE_COLUMN_CONFIG_STRATEGY=s.REPLACE_COLUMN_CONFIG_STRATEGY},24892:(e,t,o)=>{"use strict";t.__esModule=!0,t.rootComparator=function(e,t){return function(o,n){const[,...r]=o,[,...i]=n;return function(o){const n=e[o],l=t[o],a=r[o],h=i[o],d=l.columnSorting;return(d.compareFunctionFactory?d.compareFunctionFactory:(0,s.getCompareFunctionFactory)(l.type))(n,l,d)(a,h)}(0)}};var s=o(51510)},72844:(e,t,o)=>{"use strict";t.__esModule=!0,t.compareFunctionFactory=function(e,t,o){const i=t.checkedTemplate,l=t.uncheckedTemplate,{sortEmptyCells:a}=o;return function(h,d){const c=(0,r.isEmpty)(h),u=(0,r.isEmpty)(d),g=c?l:h,f=u?l:d,p=g===l||g===i,m=f===l||f===i;if(!1===a){if(c&&!1===u)return s.FIRST_AFTER_SECOND;if(!1===c&&u)return s.FIRST_BEFORE_SECOND}return!1===p&&m?"asc"===e?s.FIRST_BEFORE_SECOND:s.FIRST_AFTER_SECOND:p&&!1===m?"asc"===e?s.FIRST_AFTER_SECOND:s.FIRST_BEFORE_SECOND:!1===p&&!1===m?(0,n.compareFunctionFactory)(e,t,o)(h,d):g===l&&f===i?"asc"===e?s.FIRST_BEFORE_SECOND:s.FIRST_AFTER_SECOND:g===i&&f===l?"asc"===e?s.FIRST_AFTER_SECOND:s.FIRST_BEFORE_SECOND:s.DO_NOT_SWAP}};var s=o(51510),n=o(93388),r=o(93315);t.COLUMN_DATA_TYPE="checkbox"},75889:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,t.compareFunctionFactory=function(e,t,o){return function(s,l){const{sortEmptyCells:a}=o;if(s===l)return i.DO_NOT_SWAP;if((0,r.isEmpty)(s))return(0,r.isEmpty)(l)?i.DO_NOT_SWAP:a&&"asc"===e?i.FIRST_BEFORE_SECOND:i.FIRST_AFTER_SECOND;if((0,r.isEmpty)(l))return a&&"asc"===e?i.FIRST_AFTER_SECOND:i.FIRST_BEFORE_SECOND;const h=t.dateFormat,d=(0,n.default)(s,h),c=(0,n.default)(l,h);return d.isValid()?c.isValid()?c.isAfter(d)?"asc"===e?i.FIRST_BEFORE_SECOND:i.FIRST_AFTER_SECOND:c.isBefore(d)?"asc"===e?i.FIRST_AFTER_SECOND:i.FIRST_BEFORE_SECOND:i.DO_NOT_SWAP:i.FIRST_BEFORE_SECOND:i.FIRST_AFTER_SECOND}};var n=s(o(33034)),r=o(93315),i=o(51510);t.COLUMN_DATA_TYPE="date"},93388:(e,t,o)=>{"use strict";t.__esModule=!0,t.compareFunctionFactory=function(e,t,o){const r=t.locale;return function(t,i){const{sortEmptyCells:l}=o;return"string"==typeof t&&(t=t.toLocaleLowerCase(r)),"string"==typeof i&&(i=i.toLocaleLowerCase(r)),t===i?n.DO_NOT_SWAP:(0,s.isEmpty)(t)?(0,s.isEmpty)(i)?n.DO_NOT_SWAP:l&&"asc"===e?n.FIRST_BEFORE_SECOND:n.FIRST_AFTER_SECOND:(0,s.isEmpty)(i)?l&&"asc"===e?n.FIRST_AFTER_SECOND:n.FIRST_BEFORE_SECOND:isNaN(t)&&!isNaN(i)?"asc"===e?n.FIRST_AFTER_SECOND:n.FIRST_BEFORE_SECOND:!isNaN(t)&&isNaN(i)?"asc"===e?n.FIRST_BEFORE_SECOND:n.FIRST_AFTER_SECOND:(isNaN(t)||isNaN(i)||(t=parseFloat(t),i=parseFloat(i)),t<i?"asc"===e?n.FIRST_BEFORE_SECOND:n.FIRST_AFTER_SECOND:t>i?"asc"===e?n.FIRST_AFTER_SECOND:n.FIRST_BEFORE_SECOND:n.DO_NOT_SWAP)}};var s=o(93315),n=o(51510);t.COLUMN_DATA_TYPE="default"},7974:(e,t,o)=>{"use strict";t.__esModule=!0,t.compareFunctionFactory=function(e,t,o){return function(t,r){const i=parseFloat(t),l=parseFloat(r),{sortEmptyCells:a}=o;if(i===l||isNaN(i)&&isNaN(l))return n.DO_NOT_SWAP;if(a){if((0,s.isEmpty)(t))return"asc"===e?n.FIRST_BEFORE_SECOND:n.FIRST_AFTER_SECOND;if((0,s.isEmpty)(r))return"asc"===e?n.FIRST_AFTER_SECOND:n.FIRST_BEFORE_SECOND}return isNaN(i)?n.FIRST_AFTER_SECOND:isNaN(l)?n.FIRST_BEFORE_SECOND:i<l?"asc"===e?n.FIRST_BEFORE_SECOND:n.FIRST_AFTER_SECOND:i>l?"asc"===e?n.FIRST_AFTER_SECOND:n.FIRST_BEFORE_SECOND:n.DO_NOT_SWAP}};var s=o(93315),n=o(51510);t.COLUMN_DATA_TYPE="numeric"},5685:(e,t,o)=>{"use strict";t.__esModule=!0,t.sort=function(e,t){const o=(0,s.getRootComparator)(t);for(var n=arguments.length,r=new Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];e.sort(o(...r))};var s=o(78004);t.DO_NOT_SWAP=0,t.FIRST_BEFORE_SECOND=-1,t.FIRST_AFTER_SECOND=1},51510:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(78004);t.registerRootComparator=s.registerRootComparator,t.getRootComparator=s.getRootComparator,t.getCompareFunctionFactory=s.getCompareFunctionFactory;var n=o(5685);t.FIRST_AFTER_SECOND=n.FIRST_AFTER_SECOND,t.FIRST_BEFORE_SECOND=n.FIRST_BEFORE_SECOND,t.DO_NOT_SWAP=n.DO_NOT_SWAP,t.sort=n.sort},78004:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,t.getCompareFunctionFactory=function(e){if(c(e))return d(e);return d(n.COLUMN_DATA_TYPE)};var n=o(93388),r=o(7974),i=o(72844),l=o(75889),a=s(o(63800));const{register:h,getItem:d,hasItem:c}=(0,a.default)("sorting.compareFunctionFactory"),{register:u,getItem:g}=(0,a.default)("sorting.mainSortComparator");t.getRootComparator=g,t.registerRootComparator=u,h(r.COLUMN_DATA_TYPE,r.compareFunctionFactory),h(i.COLUMN_DATA_TYPE,i.compareFunctionFactory),h(l.COLUMN_DATA_TYPE,l.compareFunctionFactory),h(n.COLUMN_DATA_TYPE,n.compareFunctionFactory)},64951:(e,t,o)=>{"use strict";t.__esModule=!0,t.areValidSortStates=function(e){if(e.some((e=>!1===function(e){if(!1===(0,s.isObject)(e))return!1;const{column:t,sortOrder:o}=e;return Number.isInteger(t)&&[r,i].includes(o)}(e))))return!1;const t=e.map((e=>{let{column:t}=e;return t}));return new Set(t).size===t.length},t.getHeaderSpanElement=function(e){return e.querySelector(`.${l}`)},t.getNextSortOrder=function(e){if(e===i)return;if(e===r)return i;return r},t.isFirstLevelColumnHeader=function(e,t){if(e<0||!t.parentNode)return!1;const o=t.parentNode.parentNode.childNodes;if(Array.from(o).indexOf(t.parentNode)-o.length!=-1)return!1;return!0},t.wasHeaderClickedProperly=function(e,t,o){return-1===e&&t>=0&&!1===(0,n.isRightClick)(o)};var s=o(22232),n=o(24449);const r=t.ASC_SORT_STATE="asc",i=t.DESC_SORT_STATE="desc",l=t.HEADER_SPAN_CLASS="colHeader"},24378:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(91683);var n=o(36026),r=o(22232),i=s(o(5572)),l=o(28236),a=o(88475);const h=t.PLUGIN_KEY="columnSummary",d=t.PLUGIN_PRIORITY=220;class c extends n.BasePlugin{static get PLUGIN_KEY(){return h}static get PLUGIN_PRIORITY(){return d}constructor(e){super(e),this.endpoints=null}isEnabled(){return!!this.hot.getSettings()[h]}enablePlugin(){var e=this;this.enabled||(this.settings=this.hot.getSettings()[h],this.endpoints=new i.default(this,this.settings),this.addHook("afterInit",(function(){return e.onAfterInit(...arguments)})),this.addHook("afterChange",(function(){return e.onAfterChange(...arguments)})),this.addHook("beforeCreateRow",((e,t,o)=>this.endpoints.resetSetupBeforeStructureAlteration("insert_row",e,t,null,o))),this.addHook("beforeCreateCol",((e,t,o)=>this.endpoints.resetSetupBeforeStructureAlteration("insert_col",e,t,null,o))),this.addHook("beforeRemoveRow",(function(){for(var t=arguments.length,o=new Array(t),s=0;s<t;s++)o[s]=arguments[s];return e.endpoints.resetSetupBeforeStructureAlteration("remove_row",...o)})),this.addHook("beforeRemoveCol",(function(){for(var t=arguments.length,o=new Array(t),s=0;s<t;s++)o[s]=arguments[s];return e.endpoints.resetSetupBeforeStructureAlteration("remove_col",...o)})),this.addHook("afterCreateRow",((e,t,o)=>this.endpoints.resetSetupAfterStructureAlteration("insert_row",e,t,null,o))),this.addHook("afterCreateCol",((e,t,o)=>this.endpoints.resetSetupAfterStructureAlteration("insert_col",e,t,null,o))),this.addHook("afterRemoveRow",(function(){for(var t=arguments.length,o=new Array(t),s=0;s<t;s++)o[s]=arguments[s];return e.endpoints.resetSetupAfterStructureAlteration("remove_row",...o)})),this.addHook("afterRemoveCol",(function(){for(var t=arguments.length,o=new Array(t),s=0;s<t;s++)o[s]=arguments[s];return e.endpoints.resetSetupAfterStructureAlteration("remove_col",...o)})),this.addHook("afterRowMove",(function(){return e.onAfterRowMove(...arguments)})),super.enablePlugin())}disablePlugin(){this.endpoints=null,this.settings=null,this.currentEndpoint=null}calculate(e){switch(e.type.toLowerCase()){case"sum":e.result=this.calculateSum(e);break;case"min":case"max":e.result=this.calculateMinMax(e,e.type);break;case"count":e.result=this.countEntries(e);break;case"average":e.result=this.calculateAverage(e);break;case"custom":e.result=e.customFunction.call(this,e)}}calculateSum(e){let t=0;return(0,r.objectEach)(e.ranges,(o=>{t+=this.getPartialSum(o,e.sourceColumn)})),t}getPartialSum(e,t){let o=0,s=e[1]||e[0],n=null,r=0;do{if(n=this.getCellValue(s,t),n=(0,a.isNullishOrNaN)(n)?null:n,null!==n){const e=(`${n}`.split(".")[1]||[]).length||1;e>r&&(r=e)}o+=n||0,s-=1}while(s>=e[0]);return Math.round(o*10**r)/10**r}calculateMinMax(e,t){let o=null;return(0,r.objectEach)(e.ranges,(s=>{const n=this.getPartialMinMax(s,e.sourceColumn,t);if(null===o&&null!==n&&(o=n),null!==n)switch(t){case"min":o=Math.min(o,n);break;case"max":o=Math.max(o,n)}})),null===o?"Not enough data":o}getPartialMinMax(e,t,o){let s,n=null,r=e[1]||e[0];do{if(s=this.getCellValue(r,t),s=(0,a.isNullishOrNaN)(s)?null:s,null===n)n=s;else if(null!==s)switch(o){case"min":n=Math.min(n,s);break;case"max":n=Math.max(n,s)}r-=1}while(r>=e[0]);return n}countEmpty(e,t){let o,s=0,n=e[1]||e[0];do{o=this.getCellValue(n,t),o=(0,a.isNullishOrNaN)(o)?null:o,null===o&&(s+=1),n-=1}while(n>=e[0]);return s}countEntries(e){let t=0;const o=e.ranges;return(0,r.objectEach)(o,(o=>{const s=void 0===o[1]?1:o[1]-o[0]+1,n=this.countEmpty(o,e.sourceColumn);t+=s,t-=n})),t}calculateAverage(e){return this.calculateSum(e)/this.countEntries(e)}getCellValue(e,t){const o=this.hot.toVisualRow(e),s=this.hot.toVisualColumn(t);let n=this.hot.getSourceDataAtCell(e,t),r="";if(null!==o&&null!==s&&(r=this.hot.getCellMeta(o,s).className||""),r.indexOf("columnSummaryResult")>-1)return null;if(this.endpoints.currentEndpoint.forceNumeric&&("string"==typeof n&&(n=n.replace(/,/,".")),n=parseFloat(n)),isNaN(n)&&!this.endpoints.currentEndpoint.suppressDataTypeErrors)throw new Error(l.toSingleLine`ColumnSummary plugin: cell at (${e}, ${t}) is not in a\x20
|
64
64
|
numeric format. Cannot do the calculation.`);return n}onAfterInit(){this.endpoints.endpoints=this.endpoints.parseSettings(),this.endpoints.refreshAllEndpoints(!0)}onAfterChange(e,t){e&&"ColumnSummary.reset"!==t&&"ColumnSummary.set"!==t&&"loadData"!==t&&this.endpoints.refreshChangedEndpoints(e)}onAfterRowMove(e,t){this.endpoints.resetSetupBeforeStructureAlteration("move_row",e[0],e.length,e,this.pluginName),this.endpoints.resetSetupAfterStructureAlteration("move_row",t,e.length,e,this.pluginName)}}t.ColumnSummary=c},5572:(e,t,o)=>{"use strict";t.__esModule=!0,o(91683),o(63517);var s=o(50095),n=o(69173);t.default=class{constructor(e,t){this.plugin=e,this.hot=this.plugin.hot,this.endpoints=[],this.settings=t,this.settingsType="array",this.currentEndpoint=null,this.cellsToSetCache=[]}getEndpoint(e){return"function"===this.settingsType?this.fillMissingEndpointData(this.settings)[e]:this.endpoints[e]}getAllEndpoints(){return"function"===this.settingsType?this.fillMissingEndpointData(this.settings):this.endpoints}fillMissingEndpointData(e){return this.parseSettings(e.call(this))}parseSettings(e){const t=[];let o=e;if(o||"function"!=typeof this.settings)return o||(o=this.settings),(0,s.arrayEach)(o,(e=>{const o={};this.assignSetting(e,o,"ranges",[[0,this.hot.countRows()-1]]),this.assignSetting(e,o,"reversedRowCoords",!1),this.assignSetting(e,o,"destinationRow",new Error("\n You must provide a destination row for the Column Summary plugin in order to work properly!\n ")),this.assignSetting(e,o,"destinationColumn",new Error("\n You must provide a destination column for the Column Summary plugin in order to work properly!\n ")),this.assignSetting(e,o,"sourceColumn",e.destinationColumn),this.assignSetting(e,o,"type","sum"),this.assignSetting(e,o,"forceNumeric",!1),this.assignSetting(e,o,"suppressDataTypeErrors",!0),this.assignSetting(e,o,"suppressDataTypeErrors",!0),this.assignSetting(e,o,"customFunction",null),this.assignSetting(e,o,"readOnly",!0),this.assignSetting(e,o,"roundFloat",!1),t.push(o)})),t;this.settingsType="function"}assignSetting(e,t,o,s){if("ranges"!==o||void 0!==e[o]){if("ranges"!==o||0!==e[o].length)if(void 0===e[o]){if(s instanceof Error)throw s;t[o]=s}else"destinationRow"===o&&t.reversedRowCoords?t[o]=this.hot.countRows()-e[o]-1:t[o]=e[o]}else t[o]=s}resetSetupBeforeStructureAlteration(e,t,o){if("function"!==this.settingsType)return;const n=e.indexOf("row")>-1?"row":"col",r=this.getAllEndpoints();(0,s.arrayEach)(r,(s=>{"row"===n&&s.destinationRow>=t&&("insert_row"===e?s.alterRowOffset=o:"remove_row"===e&&(s.alterRowOffset=-1*o)),"col"===n&&s.destinationColumn>=t&&("insert_col"===e?s.alterColumnOffset=o:"remove_col"===e&&(s.alterColumnOffset=-1*o))})),this.resetAllEndpoints(r,!1)}resetSetupAfterStructureAlteration(e,t,o,n,r){let i=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];if("function"===this.settingsType){const e=()=>(this.hot.removeHook("beforeViewRender",e),this.refreshAllEndpoints());return void this.hot.addHookOnce("beforeViewRender",e)}const l=e.indexOf("row")>-1?"row":"col",a=e.indexOf("remove")>-1?-1:1,h=this.getAllEndpoints(),d=0===e.indexOf("move_row"),c=t;(0,s.arrayEach)(h,(e=>{"row"===l&&e.destinationRow>=c&&(e.alterRowOffset=a*o),"col"===l&&e.destinationColumn>=c&&(e.alterColumnOffset=a*o)})),this.resetAllEndpoints(h,!d),d?(0,s.arrayEach)(h,(e=>{this.extendEndpointRanges(e,c,n[0],n.length),this.recreatePhysicalRanges(e),this.clearOffsetInformation(e)})):(0,s.arrayEach)(h,(e=>{this.shiftEndpointCoordinates(e,c)})),i&&this.refreshAllEndpoints()}clearOffsetInformation(e){e.alterRowOffset=void 0,e.alterColumnOffset=void 0}extendEndpointRanges(e,t,o,n){(0,s.arrayEach)(e.ranges,(e=>{e[1]&&(t>=e[0]&&t<=e[1]?o>e[1]?e[1]+=n:o<e[0]&&(e[0]-=n):o>=e[0]&&o<=e[1]&&(e[1]-=n,t<=e[0]&&(e[0]+=1,e[1]+=1)))}))}recreatePhysicalRanges(e){const t=e.ranges,o=[],n=[];(0,s.arrayEach)(t,(e=>{const t=[];if(e[1])for(let o=e[0];o<=e[1];o++)t.push(this.hot.toPhysicalRow(o));else t.push(this.hot.toPhysicalRow(e[0]));n.push(t)})),(0,s.arrayEach)(n,(e=>{let t=[];(0,s.arrayEach)(e,((s,n)=>{0===n?t.push(s):e[n]!==e[n-1]+1&&(t.push(e[n-1]),o.push(t),t=[],t.push(s)),n===e.length-1&&(t.push(s),o.push(t))}))})),e.ranges=o}shiftEndpointCoordinates(e,t){e.alterRowOffset&&0!==e.alterRowOffset?(e.destinationRow+=e.alterRowOffset||0,(0,s.arrayEach)(e.ranges,(o=>{(0,s.arrayEach)(o,((s,n)=>{s>=t&&(o[n]+=e.alterRowOffset||0)}))}))):e.alterColumnOffset&&0!==e.alterColumnOffset&&(e.destinationColumn+=e.alterColumnOffset||0,e.sourceColumn+=e.alterColumnOffset||0)}resetAllEndpoints(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.getAllEndpoints(),t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];e.some((e=>{const t=e.alterRowOffset||0,o=e.alterColumnOffset||0;return e.destinationRow+t>=this.hot.countRows()||e.destinationColumn+o>=this.hot.countCols()}))||(this.cellsToSetCache=[],(0,s.arrayEach)(e,(e=>{this.resetEndpointValue(e,t)})),this.hot.setDataAtCell(this.cellsToSetCache,"ColumnSummary.reset"),this.cellsToSetCache=[])}refreshAllEndpoints(){this.cellsToSetCache=[],(0,s.arrayEach)(this.getAllEndpoints(),(e=>{this.currentEndpoint=e,this.plugin.calculate(e),this.setEndpointValue(e,"init")})),this.currentEndpoint=null,this.hot.setDataAtCell(this.cellsToSetCache,"ColumnSummary.reset"),this.cellsToSetCache=[]}refreshChangedEndpoints(e){const t=[];this.cellsToSetCache=[],(0,s.arrayEach)(e,((e,o,n)=>{`${e[2]||""}`!=`${e[3]}`&&(0,s.arrayEach)(this.getAllEndpoints(),((e,s)=>{this.hot.propToCol(n[o][1])===e.sourceColumn&&-1===t.indexOf(s)&&t.push(s)}))})),(0,s.arrayEach)(t,(e=>{this.refreshEndpoint(this.getEndpoint(e))})),this.hot.setDataAtCell(this.cellsToSetCache,"ColumnSummary.reset"),this.cellsToSetCache=[]}refreshEndpoint(e){this.currentEndpoint=e,this.plugin.calculate(e),this.setEndpointValue(e),this.currentEndpoint=null}resetEndpointValue(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const o=e.alterRowOffset||0,s=e.alterColumnOffset||0;this.cellsToSetCache.push([this.hot.toVisualRow(e.destinationRow+(t?o:0)),this.hot.toVisualColumn(e.destinationColumn+(t?s:0)),""])}setEndpointValue(e,t){let o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const s=this.hot.toVisualRow(e.destinationRow);if(e.destinationRow>=this.hot.countRows()||e.destinationColumn>=this.hot.countCols())return void this.throwOutOfBoundsWarning();const n=this.hot.toVisualRow(e.destinationRow);if(null!==n){const o=this.hot.getCellMeta(n,e.destinationColumn);"init"!==t&&o.readOnly===e.readOnly||(o.readOnly=e.readOnly,o.className="columnSummaryResult")}e.roundFloat&&!isNaN(e.result)&&(e.result=e.result.toFixed(e.roundFloat)),o?this.hot.setDataAtCell(s,e.destinationColumn,e.result,"ColumnSummary.set"):this.cellsToSetCache.push([s,e.destinationColumn,e.result]),e.alterRowOffset=void 0,e.alterColumnOffset=void 0}throwOutOfBoundsWarning(){(0,n.warn)("One of the Column Summary plugins' destination points you provided is beyond the table boundaries!")}}},68918:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(24378);t.PLUGIN_KEY=s.PLUGIN_KEY,t.PLUGIN_PRIORITY=s.PLUGIN_PRIORITY,t.ColumnSummary=s.ColumnSummary},88475:(e,t)=>{"use strict";t.__esModule=!0,t.isNullishOrNaN=function(e){return null==e||isNaN(e)}},59070:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(83302);class n{static get CLASS_EDITOR_CONTAINER(){return"htCommentsContainer"}static get CLASS_EDITOR(){return"htComments"}static get CLASS_INPUT(){return"htCommentTextArea"}static get CLASS_CELL(){return"htCommentCell"}constructor(e,t){this.rootDocument=e,this.isRtl=t,this.container=null,this.editor=this.createEditor(),this.editorStyle=this.editor.style,this.hidden=!0,this.hide()}setPosition(e,t){this.editorStyle.left=`${e}px`,this.editorStyle.top=`${t}px`}setSize(e,t){if(e&&t){const o=this.getInputElement();o.style.width=`${e}px`,o.style.height=`${t}px`}}getSize(){return{width:(0,s.outerWidth)(this.getInputElement()),height:(0,s.outerHeight)(this.getInputElement())}}resetSize(){const e=this.getInputElement();e.style.width="",e.style.height=""}setReadOnlyState(e){this.getInputElement().readOnly=e}show(){this.editorStyle.display="block",this.hidden=!1}hide(){this.hidden||(this.editorStyle.display="none"),this.hidden=!0}isVisible(){return"block"===this.editorStyle.display}setValue(){const e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"")||"";this.getInputElement().value=e}getValue(){return this.getInputElement().value}isFocused(){return this.rootDocument.activeElement===this.getInputElement()}focus(){this.getInputElement().focus()}createEditor(){const e=this.rootDocument.createElement("div"),t=this.rootDocument.createElement("textarea");return e.style.display="none",this.container=this.rootDocument.createElement("div"),this.container.setAttribute("dir",this.isRtl?"rtl":"ltr"),(0,s.addClass)(this.container,n.CLASS_EDITOR_CONTAINER),this.rootDocument.body.appendChild(this.container),(0,s.addClass)(e,n.CLASS_EDITOR),(0,s.addClass)(t,n.CLASS_INPUT),t.setAttribute("data-hot-input",!0),e.appendChild(t),this.container.appendChild(e),e}getInputElement(){return this.editor.querySelector(`.${n.CLASS_INPUT}`)}destroy(){const e=this.container?this.container.parentNode:null;this.editor.parentNode.removeChild(this.editor),this.editor=null,this.editorStyle=null,e&&e.removeChild(this.container)}}t.default=n},34745:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(91683),o(63517);var n=s(o(93231)),r=s(o(48427)),i=s(o(42538)),l=o(83302),a=o(24449),h=o(22232),d=s(o(75244)),c=o(36026),u=s(o(59070)),g=s(o(71586)),f=o(90500),p=s(o(21190)),m=s(o(74567)),C=s(o(57817));function w(e,t,o){!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,o)}o(68581);const E=t.PLUGIN_KEY="comments",y=t.PLUGIN_PRIORITY=60,v=t.META_COMMENT="comment",S=t.META_COMMENT_VALUE="value",R=t.META_STYLE="style",_=t.META_READONLY="readOnly",b=E,T=`plugin:${E}`;var M=new WeakMap,O=new WeakMap,I=new WeakMap,A=new WeakMap,N=new WeakMap,P=new WeakMap,H=new WeakMap;class x extends c.BasePlugin{constructor(){super(...arguments),(0,n.default)(this,"range",{}),(0,n.default)(this,"eventManager",null),w(this,M,{writable:!0,value:null}),w(this,O,{writable:!0,value:null}),w(this,I,{writable:!0,value:!1}),w(this,A,{writable:!0,value:!1}),w(this,N,{writable:!0,value:{}}),w(this,P,{writable:!0,value:null}),w(this,H,{writable:!0,value:""})}static get PLUGIN_KEY(){return E}static get PLUGIN_PRIORITY(){return y}isEnabled(){return!!this.hot.getSettings()[E]}enablePlugin(){this.enabled||((0,i.default)(this,M)||(0,r.default)(this,M,new u.default(this.hot.rootDocument,this.hot.isRtl())),this.eventManager||(this.eventManager=new d.default(this)),(0,i.default)(this,O)||(0,r.default)(this,O,new g.default(this.getDisplayDelaySetting())),this.addHook("afterContextMenuDefaultOptions",(e=>this.addToContextMenu(e))),this.addHook("afterRenderer",((e,t,o,s,n,r)=>this.onAfterRenderer(e,r))),this.addHook("afterScroll",(()=>this.onAfterScroll())),this.addHook("afterBeginEditing",(()=>this.hide())),this.addHook("afterDocumentKeyDown",(e=>this.onAfterDocumentKeyDown(e))),(0,i.default)(this,O).addLocalHook("hide",(()=>this.hide())),(0,i.default)(this,O).addLocalHook("show",((e,t)=>this.showAtCell(e,t))),this.registerShortcuts(),this.registerListeners(),super.enablePlugin())}updatePlugin(){(0,i.default)(this,O).updateDelay(this.getDisplayDelaySetting()),super.updatePlugin()}disablePlugin(){this.unregisterShortcuts(),super.disablePlugin()}registerShortcuts(){const e=this.hot.getShortcutManager(),t=e.getContext("grid"),o=e.addContext(T);t.addShortcut({keys:[["Control","Alt","M"]],callback:()=>{const t=this.hot.getSelectedRangeLast();(0,r.default)(this,A,!0),this.hot.scrollToFocusedCell((()=>{this.setRange(t),this.show(),this.focusEditor(),e.setActiveContextName(T),this.hot._registerTimeout((()=>{(0,r.default)(this,A,!1)}))}))},stopPropagation:!0,runOnlyIf:()=>{var e;return(null===(e=this.hot.getSelectedRangeLast())||void 0===e?void 0:e.highlight.isCell())&&!(0,i.default)(this,M).isVisible()},group:b}),o.addShortcut({keys:[["Escape"]],callback:()=>{(0,i.default)(this,M).setValue((0,i.default)(this,H)),this.hide(),e.setActiveContextName("grid")},runOnlyIf:()=>{var e;return(null===(e=this.hot.getSelectedRangeLast())||void 0===e?void 0:e.highlight.isCell())&&(0,i.default)(this,M).isVisible()},group:b}),o.addShortcut({keys:[["Control/Meta","Enter"]],callback:()=>{this.hide(),e.setActiveContextName("grid")},runOnlyIf:()=>{var e;return(null===(e=this.hot.getSelectedRangeLast())||void 0===e?void 0:e.highlight.isCell())&&(0,i.default)(this,M).isVisible()},group:b})}unregisterShortcuts(){this.hot.getShortcutManager().getContext("grid").removeShortcutsByGroup(b)}registerListeners(){const{rootDocument:e}=this.hot,t=this.getEditorInputElement();this.eventManager.addEventListener(e,"mouseover",(e=>this.onMouseOver(e))),this.eventManager.addEventListener(e,"mousedown",(e=>this.onMouseDown(e))),this.eventManager.addEventListener(e,"mouseup",(()=>this.onMouseUp())),this.eventManager.addEventListener(t,"focus",(()=>this.onEditorFocus())),this.eventManager.addEventListener(t,"blur",(()=>this.onEditorBlur())),this.eventManager.addEventListener(t,"mousedown",(e=>this.onEditorMouseDown(e))),this.eventManager.addEventListener(t,"mouseup",(e=>this.onEditorMouseUp(e)))}setRange(e){this.range=e}clearRange(){this.range={}}targetIsCellWithComment(e){const t=(0,l.closest)(e.target,"TD","TBODY");return!!(t&&(0,l.hasClass)(t,"htCommentCell")&&(0,l.closest)(t,[this.hot.rootElement]))}targetIsCommentTextArea(e){return this.getEditorInputElement()===e.target}setComment(e){if(!this.range.from)throw new Error('Before using this method, first set cell range (hot.getPlugin("comment").setRange())');const t=(0,i.default)(this,M).getValue();let o="";null!=e?o=e:null!=t&&(o=t);const s=this.range.from.row,n=this.range.from.col;this.updateCommentMeta(s,n,{[S]:o}),this.hot.render()}setCommentAtCell(e,t,o){this.setRange({from:this.hot._createCellCoords(e,t)}),this.setComment(o)}removeComment(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(!this.range.from)throw new Error('Before using this method, first set cell range (hot.getPlugin("comment").setRange())');this.hot.setCellMeta(this.range.from.row,this.range.from.col,v),e&&this.hot.render(),this.hide()}removeCommentAtCell(e,t){let o=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];this.setRange({from:this.hot._createCellCoords(e,t)}),this.removeComment(o)}getComment(){const e=this.range.from.row,t=this.range.from.col;return this.getCommentMeta(e,t,S)}getCommentAtCell(e,t){return this.getCommentMeta(e,t,S)}show(){var e;if(!this.range.from)throw new Error('Before using this method, first set cell range (hot.getPlugin("comment").setRange())');const{from:{row:t,col:o}}=this.range;if(t<0||t>this.hot.countSourceRows()-1||o<0||o>this.hot.countSourceCols()-1)return!1;const s=this.hot.getCellMeta(this.range.from.row,this.range.from.col);return(0,i.default)(this,O).cancelHiding(),(0,i.default)(this,M).setValue(null!==(e=s[v]?s[v][S]:null)&&void 0!==e?e:""),(0,i.default)(this,M).show(),this.refreshEditor(!0),!0}showAtCell(e,t){return this.setRange({from:this.hot._createCellCoords(e,t)}),this.show()}hide(){(0,i.default)(this,M).hide()}refreshEditor(){var e,t;if(!(arguments.length>0&&void 0!==arguments[0]&&arguments[0]||this.range.from&&(0,i.default)(this,M).isVisible()))return;const{rowIndexMapper:o,columnIndexMapper:s}=this.hot,{row:n,col:r}=this.range.from;let a=o.getRenderableFromVisualIndex(n),h=s.getRenderableFromVisualIndex(r);const d=null===a;(0,i.default)(this,M).setPosition(0,0),null===a&&(a=o.getRenderableFromVisualIndex(o.getNearestNotHiddenIndex(n,-1))),null===h&&(h=s.getRenderableFromVisualIndex(s.getNearestNotHiddenIndex(r,-1)));const c=null===a,u=null===h;a=null!==(e=a)&&void 0!==e?e:0,h=null!==(t=h)&&void 0!==t?t:0;const{rootWindow:g,view:{_wt:f}}=this.hot,{wtTable:p}=f,m=f.getCell({row:a,col:h},!0),C=this.getCommentMeta(n,r,R);C?(0,i.default)(this,M).setSize(C.width,C.height):(0,i.default)(this,M).resetSize();const w=u?0:p.getStretchedColumnWidth(h),E=d&&!c?(0,l.outerHeight)(m):0,{left:y,top:v,width:S,height:b}=m.getBoundingClientRect(),{width:T,height:O}=(0,i.default)(this,M).getSize(),{innerWidth:I,innerHeight:A}=this.hot.rootWindow,N=this.hot.rootDocument.documentElement;let P=y+g.scrollX+w,H=v+g.scrollY+E;this.hot.isRtl()&&(P-=T+w),this.hot.isLtr()&&y+S+T>I?P=y+g.scrollX-T-1:this.hot.isRtl()&&P<-(N.scrollWidth-N.clientWidth)&&(P=y+g.scrollX+w+1),v+O>A&&(H-=O-b+1),(0,i.default)(this,M).setPosition(P,H),(0,i.default)(this,M).setReadOnlyState(this.getCommentMeta(n,r,_))}focusEditor(){(0,i.default)(this,M).focus()}updateCommentMeta(e,t,o){const s=this.hot.getCellMeta(e,t)[v];let n;s?(n=(0,h.deepClone)(s),(0,h.deepExtend)(n,o)):n=o,this.hot.setCellMeta(e,t,v,n)}getCommentMeta(e,t,o){const s=this.hot.getCellMeta(e,t);if(s[v])return s[v][o]}onMouseDown(e){if(this.hot.view&&this.hot.view._wt&&!(0,i.default)(this,I)&&!this.targetIsCommentTextArea(e)){const t=(0,l.closest)(e.target,"TD","TBODY");let o=null;t&&(o=this.hot.getCoords(t)),(!t||this.range.from&&o&&(this.range.from.row!==o.row||this.range.from.col!==o.col))&&this.hide()}}onMouseOver(e){const{rootDocument:t}=this.hot;if(!((0,i.default)(this,I)||(0,i.default)(this,M).isFocused()||(0,l.hasClass)(e.target,"wtBorder")||(0,i.default)(this,P)===e.target)&&(0,i.default)(this,M))if((0,r.default)(this,P,t.elementFromPoint(e.clientX,e.clientY)),this.targetIsCellWithComment(e)){const t=this.hot._createCellRange(this.hot.getCoords(e.target));(0,i.default)(this,O).show(t)}else(0,l.isChildOf)(e.target,t)&&!this.targetIsCommentTextArea(e)&&(0,i.default)(this,O).hide()}onMouseUp(){(0,r.default)(this,I,!1)}onAfterRenderer(e,t){t[v]&&t[v][S]&&(0,l.addClass)(e,t.commentedCellClassName)}onEditorBlur(){(0,r.default)(this,H,""),this.hot.getShortcutManager().setActiveContextName("grid"),this.setComment()}onEditorFocus(){(0,r.default)(this,H,this.getComment()),this.hot.listen(),this.hot.getShortcutManager().setActiveContextName(T)}onEditorMouseDown(e){(0,r.default)(this,N,{width:(0,l.outerWidth)(e.target),height:(0,l.outerHeight)(e.target)})}onEditorMouseUp(e){const t=(0,l.outerWidth)(e.target),o=(0,l.outerHeight)(e.target);t===(0,i.default)(this,N).width+1&&o===(0,i.default)(this,N).height+2||this.updateCommentMeta(this.range.from.row,this.range.from.col,{[R]:{width:t,height:o}})}onAfterDocumentKeyDown(e){(0,i.default)(this,M).isVisible()&&(0,a.stopImmediatePropagation)(e)}onAfterScroll(){(0,i.default)(this,A)||this.hide()}addToContextMenu(e){e.items.push({name:f.SEPARATOR},(0,p.default)(this),(0,m.default)(this),(0,C.default)(this))}getDisplayDelaySetting(){const e=this.hot.getSettings()[E];if((0,h.isObject)(e))return e.displayDelay}getEditorInputElement(){return(0,i.default)(this,M).getInputElement()}destroy(){(0,i.default)(this,M)&&(0,i.default)(this,M).destroy(),(0,i.default)(this,O)&&(0,i.default)(this,O).destroy(),super.destroy()}}t.Comments=x},21190:(e,t,o)=>{"use strict";t.__esModule=!0,t.default=function(e){return{key:"commentsAddEdit",name(){var t;const o=null===(t=this.getSelectedRangeLast())||void 0===t?void 0:t.highlight;return null!=o&&o.isCell()&&e.getCommentAtCell(o.row,o.col)?this.getTranslatedPhrase(s.CONTEXTMENU_ITEMS_EDIT_COMMENT):this.getTranslatedPhrase(s.CONTEXTMENU_ITEMS_ADD_COMMENT)},callback(){const t=this.getSelectedRangeLast();this.deselectCell(),e.setRange(t),e.show(),e.focusEditor()},disabled(){const e=this.getSelectedRangeLast();return!e||(!!e.highlight.isHeader()||(0===this.countRenderedRows()||0===this.countRenderedCols()))}}};var s=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var o=n(t);if(o&&o.has(e))return o.get(e);var s={__proto__:null},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=r?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(s,i,l):s[i]=e[i]}return s.default=e,o&&o.set(e,s),s}(o(77516));function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,o=new WeakMap;return(n=function(e){return e?o:t})(e)}},57817:(e,t,o)=>{"use strict";t.__esModule=!0,t.default=function(e){return{key:"commentsReadOnly",name(){const t=this.getTranslatedPhrase(s.CONTEXTMENU_ITEMS_READ_ONLY_COMMENT);return(0,n.checkSelectionConsistency)(this.getSelectedRange(),((t,o)=>e.getCommentMeta(t,o,r.META_READONLY)))?(0,n.markLabelAsSelected)(t):t},callback(){this.getSelectedRangeLast().forAll(((t,o)=>{if(t>=0&&o>=0){const s=!!e.getCommentMeta(t,o,r.META_READONLY);e.updateCommentMeta(t,o,{[r.META_READONLY]:!s})}}))},disabled(){const t=this.getSelectedRangeLast();return!t||(!!t.highlight.isHeader()||(!e.getCommentAtCell(t.highlight.row,t.highlight.col)||(0===this.countRenderedRows()||0===this.countRenderedCols())))}}};var s=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var o=i(t);if(o&&o.has(e))return o.get(e);var s={__proto__:null},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if("default"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var l=n?Object.getOwnPropertyDescriptor(e,r):null;l&&(l.get||l.set)?Object.defineProperty(s,r,l):s[r]=e[r]}return s.default=e,o&&o.set(e,s),s}(o(77516)),n=o(80734),r=o(34745);function i(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,o=new WeakMap;return(i=function(e){return e?o:t})(e)}},74567:(e,t,o)=>{"use strict";t.__esModule=!0,t.default=function(e){return{key:"commentsRemove",name(){return this.getTranslatedPhrase(s.CONTEXTMENU_ITEMS_REMOVE_COMMENT)},callback(){this.getSelectedRangeLast().forAll(((t,o)=>{t>=0&&o>=0&&e.removeCommentAtCell(t,o,!1)})),this.render()},disabled(){const e=this.getSelectedRangeLast();return!e||(!!e.highlight.isHeader()||(0===this.countRenderedRows()||0===this.countRenderedCols()))}}};var s=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var o=n(t);if(o&&o.has(e))return o.get(e);var s={__proto__:null},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=r?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(s,i,l):s[i]=e[i]}return s.default=e,o&&o.set(e,s),s}(o(77516));function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,o=new WeakMap;return(n=function(e){return e?o:t})(e)}},71586:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=o(85015),r=o(22232),i=s(o(65718));class l{constructor(e){this.wasLastActionShow=!0,this.showDebounced=null,this.hidingTimer=null,this.updateDelay(e)}hide(){this.wasLastActionShow=!1,this.hidingTimer=setTimeout((()=>{!1===this.wasLastActionShow&&this.runLocalHooks("hide")}),250)}show(e){this.wasLastActionShow=!0,this.showDebounced(e)}cancelHiding(){this.wasLastActionShow=!0,clearTimeout(this.hidingTimer),this.hidingTimer=null}updateDelay(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:250;this.showDebounced=(0,n.debounce)((e=>{this.wasLastActionShow&&this.runLocalHooks("show",e.from.row,e.from.col)}),e)}destroy(){this.clearLocalHooks()}}(0,r.mixin)(l,i.default);t.default=l},76076:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(34745);t.PLUGIN_KEY=s.PLUGIN_KEY,t.PLUGIN_PRIORITY=s.PLUGIN_PRIORITY,t.Comments=s.Comments},26514:(e,t,o)=>{"use strict";t.__esModule=!0,o(91683),o(63517),o(57270);var s=o(50095),n=o(22232);t.CommandExecutor=class{constructor(e){this.hot=e,this.commands={},this.commonCallback=null}registerCommand(e,t){this.commands[e]=t}setCommonCallback(e){this.commonCallback=e}execute(e){for(var t=arguments.length,o=new Array(t>1?t-1:0),r=1;r<t;r++)o[r-1]=arguments[r];const i=e.split(":"),l=i[0],a=2===i.length?i[1]:null;let h=this.commands[l];if(!h)throw new Error(`Menu command '${l}' not exists.`);if(a&&h.submenu&&(h=function(e,t){let o;return(0,s.arrayEach)(t,(t=>{const s=t.key?t.key.split(":"):null;if(Array.isArray(s)&&s[1]===e)return o=t,!1})),o}(a,h.submenu.items)),!0===h.disabled)return;if("function"==typeof h.disabled&&!0===h.disabled.call(this.hot))return;if((0,n.hasOwnProperty)(h,"submenu"))return;const d=[];"function"==typeof h.callback&&d.push(h.callback),"function"==typeof this.commonCallback&&d.push(this.commonCallback),o.unshift(i.join(":")),(0,s.arrayEach)(d,(e=>e.apply(this.hot,o)))}}},52481:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0;var n=o(36026),r=s(o(56307)),i=o(50095),l=o(22232),a=o(26514),h=s(o(75244)),d=o(40255),c=o(90437),u=o(80734),g=o(83302),f=o(90500);o(79498);const p=t.PLUGIN_KEY="contextMenu",m=t.PLUGIN_PRIORITY=70,C=p;r.default.getSingleton().register("afterContextMenuDefaultOptions"),r.default.getSingleton().register("beforeContextMenuShow"),r.default.getSingleton().register("afterContextMenuShow"),r.default.getSingleton().register("afterContextMenuHide"),r.default.getSingleton().register("afterContextMenuExecute");class w extends n.BasePlugin{static get PLUGIN_KEY(){return p}static get PLUGIN_PRIORITY(){return m}static get PLUGIN_DEPS(){return["plugin:AutoColumnSize"]}static get DEFAULT_ITEMS(){return[f.ROW_ABOVE,f.ROW_BELOW,f.SEPARATOR,f.COLUMN_LEFT,f.COLUMN_RIGHT,f.SEPARATOR,f.REMOVE_ROW,f.REMOVE_COLUMN,f.SEPARATOR,f.UNDO,f.REDO,f.SEPARATOR,f.READ_ONLY,f.SEPARATOR,f.ALIGNMENT]}constructor(e){super(e),this.eventManager=new h.default(this),this.commandExecutor=new a.CommandExecutor(this.hot),this.itemsFactory=null,this.menu=null}isEnabled(){return!!this.hot.getSettings()[p]}enablePlugin(){var e=this;if(this.enabled)return;const t=this.hot.getSettings()[p];"function"==typeof t.callback&&this.commandExecutor.setCommonCallback(t.callback),this.menu=new c.Menu(this.hot,{className:"htContextMenu",keepInViewport:!0,container:t.uiContainer||this.hot.rootDocument.body}),this.menu.addLocalHook("beforeOpen",(()=>this.onMenuBeforeOpen())),this.menu.addLocalHook("afterOpen",(()=>this.onMenuAfterOpen())),this.menu.addLocalHook("afterClose",(()=>this.onMenuAfterClose())),this.menu.addLocalHook("executeCommand",(function(){for(var t=arguments.length,o=new Array(t),s=0;s<t;s++)o[s]=arguments[s];return e.executeCommand.call(e,...o)})),this.addHook("afterOnCellContextMenu",(e=>this.onAfterOnCellContextMenu(e))),this.registerShortcuts(),super.enablePlugin()}updatePlugin(){this.disablePlugin(),this.enablePlugin(),super.updatePlugin()}disablePlugin(){this.close(),this.menu&&(this.menu.destroy(),this.menu=null),this.unregisterShortcuts(),super.disablePlugin()}registerShortcuts(){this.hot.getShortcutManager().getContext("grid").addShortcut({keys:[["Control/Meta","Shift","\\"],["Shift","F10"]],callback:()=>{const{highlight:e}=this.hot.getSelectedRangeLast();this.hot.scrollToFocusedCell();const t=this.hot.getCell(e.row,e.col,!0).getBoundingClientRect(),o=(0,u.getDocumentOffsetByElement)(this.menu.container,this.hot.rootDocument);this.open({left:t.left+o.left,top:t.top+o.top-1+t.height},{left:t.width,above:-t.height})},runOnlyIf:()=>this.hot.getSelectedRangeLast()&&!this.menu.isOpened(),group:C})}unregisterShortcuts(){this.hot.getShortcutManager().getContext("grid").removeShortcutsByGroup(C)}open(e){var t;let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{above:0,below:0,left:0,right:0};null!==(t=this.menu)&&void 0!==t&&t.isOpened()||(this.prepareMenuItems(),this.menu.open(),(0,l.objectEach)(o,((e,t)=>{this.menu.setOffset(t,e)})),this.menu.setPosition(e))}close(){var e;null===(e=this.menu)||void 0===e||e.close(),this.itemsFactory=null}executeCommand(e){null===this.itemsFactory&&this.prepareMenuItems();for(var t=arguments.length,o=new Array(t>1?t-1:0),s=1;s<t;s++)o[s-1]=arguments[s];this.commandExecutor.execute(e,...o)}prepareMenuItems(){this.itemsFactory=new d.ItemsFactory(this.hot,w.DEFAULT_ITEMS);const e=this.hot.getSettings()[p],t={items:this.itemsFactory.getItems(e)};this.hot.runHooks("afterContextMenuDefaultOptions",t),this.itemsFactory.setPredefinedItems(t.items);const o=this.itemsFactory.getItems(e);this.hot.runHooks("beforeContextMenuSetItems",o),this.menu.setMenuItems(o),(0,i.arrayEach)(o,(e=>this.commandExecutor.registerCommand(e.key,e)))}onAfterOnCellContextMenu(e){const t=this.hot.getSettings(),o=t.rowHeaders,s=t.colHeaders;const n=e.target;if(this.close(),(0,g.hasClass)(n,"handsontableInput"))return;if(e.preventDefault(),e.stopPropagation(),!o&&!s&&!(function(e){return"TD"===e.nodeName||"TD"===e.parentNode.nodeName}(n)||(0,g.hasClass)(n,"current")&&(0,g.hasClass)(n,"wtBorder")))return;const r=(0,u.getDocumentOffsetByElement)(this.menu.container,this.hot.rootDocument);this.open({top:e.clientY+r.top,left:e.clientX+r.left})}onMenuBeforeOpen(){this.hot.runHooks("beforeContextMenuShow",this)}onMenuAfterOpen(){this.hot.runHooks("afterContextMenuShow",this)}onMenuAfterClose(){this.hot.listen(),this.hot.runHooks("afterContextMenuHide",this)}destroy(){this.close(),this.menu&&this.menu.destroy(),super.destroy()}}t.ContextMenu=w,w.SEPARATOR={name:f.SEPARATOR}},86738:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(52481);t.PLUGIN_KEY=s.PLUGIN_KEY,t.PLUGIN_PRIORITY=s.PLUGIN_PRIORITY,t.ContextMenu=s.ContextMenu},40255:(e,t,o)=>{"use strict";t.__esModule=!0,o(63517);var s=o(22232),n=o(50095),r=o(90500);t.ItemsFactory=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.hot=e,this.predefinedItems=(0,r.predefinedItems)(),this.defaultOrderPattern=t}setPredefinedItems(e){const t={};this.defaultOrderPattern.length=0,(0,s.objectEach)(e,((e,o)=>{let s="";e.name===r.SEPARATOR?(t[r.SEPARATOR]=e,s=r.SEPARATOR):isNaN(parseInt(o,10))?(e.key=void 0===e.key?o:e.key,t[o]=e,s=e.key):(t[e.key]=e,s=e.key),this.defaultOrderPattern.push(s)})),this.predefinedItems=t}getItems(){return function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=[];let l=e;l&&l.items?l=l.items:Array.isArray(l)||(l=t);(0,s.isObject)(l)?(0,s.objectEach)(l,((e,t)=>{let n=o["string"==typeof e?e:t];n||(n=e),(0,s.isObject)(e)?(0,s.extend)(n,e):"string"==typeof n&&(n={name:n}),void 0===n.key&&(n.key=t),i.push(n)})):(0,n.arrayEach)(l,((e,t)=>{let n=o[e];!n&&r.ITEMS.indexOf(e)>=0||(n||(n={name:e,key:`${t}`}),(0,s.isObject)(e)&&(0,s.extend)(n,e),void 0===n.key&&(n.key=t),i.push(n))}));return i}(arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,this.defaultOrderPattern,this.predefinedItems)}}},91801:(e,t)=>{"use strict";t.__esModule=!0;t.Cursor=class{constructor(e,t){const o=t.scrollY,s=t.scrollX;let n,r,i,l,a,h;this.rootWindow=t,this.type=this.getSourceType(e),"literal"===this.type?(n=parseInt(e.top,10),i=parseInt(e.left,10),a=e.height||0,h=e.width||0,r=n,l=i,n+=o,i+=s):"event"===this.type&&(n=parseInt(e.pageY,10),i=parseInt(e.pageX,10),a=e.target.clientHeight,h=e.target.clientWidth,r=n-o,l=i-s),this.top=n,this.topRelative=r,this.left=i,this.leftRelative=l,this.scrollTop=o,this.scrollLeft=s,this.cellHeight=a,this.cellWidth=h}getSourceType(e){let t="literal";return e instanceof Event&&(t="event"),t}fitsAbove(e){return this.topRelative>=e.offsetHeight}fitsBelow(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.rootWindow.innerHeight;return this.topRelative+e.offsetHeight<=t}fitsOnRight(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.rootWindow.innerWidth;return this.leftRelative+this.cellWidth+e.offsetWidth<=t}fitsOnLeft(e){return this.leftRelative>=e.offsetWidth}}},97818:(e,t)=>{"use strict";t.__esModule=!0,t.createDefaultShortcutsList=function(e){return[{keys:[["Tab"],["Shift","Tab"],["Control/Meta","A"]],forwardToContext:e.hot.getShortcutManager().getContext("grid"),callback:()=>e.close(!0)},{keys:[["Escape"]],callback:()=>e.close()},{keys:[["ArrowDown"]],callback:()=>e.getNavigator().toNextItem()},{keys:[["ArrowUp"]],callback:()=>e.getNavigator().toPreviousItem()},{keys:[["ArrowRight"]],callback:()=>{const t=e.hotMenu.getSelectedLast();if(t){const o=e.openSubMenu(t[0]);o&&o.getNavigator().toFirstItem()}}},{keys:[["ArrowLeft"]],callback:()=>{e.hotMenu.getSelectedLast()&&e.isSubMenu()&&(e.close(),e.isSubMenu()&&e.parentMenu.hotMenu.listen())}},{keys:[["Control/Meta","ArrowUp"],["Home"]],callback:()=>e.getNavigator().toFirstItem()},{keys:[["Control/Meta","ArrowDown"],["End"]],callback:()=>e.getNavigator().toLastItem()},{keys:[["Enter"],["Space"]],callback:t=>{const o=e.hotMenu.getSelectedLast();o&&(e.hotMenu.getSourceDataAtRow(o[0]).submenu?e.openSubMenu(o[0]).getNavigator().toFirstItem():(e.executeCommand(t),e.close(!0)))}},{keys:[["PageUp"]],callback:()=>{e.hotMenu.getSelectedLast()?e.hotMenu.selection.transformStart(-e.hotMenu.countVisibleRows(),0):e.getNavigator().toFirstItem()}},{keys:[["PageDown"]],callback:()=>{e.hotMenu.getSelectedLast()?e.hotMenu.selection.transformStart(e.hotMenu.countVisibleRows(),0):e.getNavigator().toLastItem()}}]}},90437:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(95369);Object.keys(s).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===s[e]||(t[e]=s[e]))}))},95369:(e,t,o)=>{"use strict";o(91683);var s=o(73203);t.__esModule=!0,o(63517);var n=s(o(48427)),r=s(o(42538)),i=o(62587),l=o(32967),a=o(58045),h=o(90500),d=o(69498),c=s(o(75244)),u=o(50095),g=o(37595),f=o(83302),p=o(24449),m=o(85015),C=o(93315),w=o(22232),E=s(o(65718)),y=o(77003),v=o(5386);function S(e,t,o){!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,o)}var R=new WeakMap,_=new WeakMap;class b{constructor(e,t){var o=this;S(this,R,{writable:!0,value:void 0}),S(this,_,{writable:!0,value:void 0}),this.hot=e,this.options=t||{parent:null,name:null,className:"",keepInViewport:!0,standalone:!1,minWidth:215,container:this.hot.rootDocument.documentElement},this.eventManager=new c.default(this),this.container=this.createContainer(this.options.name),this.positioner=new i.Positioner(this.options.keepInViewport),this.hotMenu=null,this.hotSubMenus={},this.parentMenu=this.options.parent||null,this.menuItems=null,this.origOutsideClickDeselects=null,this.registerEvents(),this.isSubMenu()&&this.addLocalHook("afterSelectionChange",(function(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return o.parentMenu.runLocalHooks("afterSelectionChange",...t)}))}registerEvents(){let e=this.hot.rootWindow;for(;e;)this.eventManager.addEventListener(e.document,"mousedown",(e=>this.onDocumentMouseDown(e))),this.eventManager.addEventListener(e.document,"contextmenu",(e=>this.onDocumentContextMenu(e))),e=(0,f.getParentWindow)(e)}setMenuItems(e){this.menuItems=e}getNavigator(){return(0,r.default)(this,R)}getKeyboardShortcutsCtrl(){return(0,r.default)(this,_)}getSelectedItem(){return this.hasSelectedItem()?this.hotMenu.getSourceDataAtRow(this.hotMenu.getSelectedLast()[0]):null}hasSelectedItem(){return Array.isArray(this.hotMenu.getSelectedLast())}isSubMenu(){return null!==this.parentMenu}open(){this.runLocalHooks("beforeOpen"),this.container.removeAttribute("style"),this.container.style.display="block";const e=(0,m.debounce)((e=>this.openSubMenu(e)),300),t=this.options.minWidth||215;let o=!1,s=(0,u.arrayFilter)(this.menuItems,(e=>(e.key===h.NO_ITEMS&&(o=!0),(0,d.isItemHidden)(e,this.hot))));if(s.length<1&&!o)s.push((0,h.predefinedItems)()[h.NO_ITEMS]);else if(0===s.length)return;s=(0,d.filterSeparators)(s,h.SEPARATOR);let i=!1;const c={data:s,colHeaders:!1,autoColumnSize:!0,autoWrapRow:!1,modifyColWidth:e=>(0,C.isDefined)(e)&&e<t?t:e,autoRowSize:!1,readOnly:!0,editor:!1,copyPaste:!1,hiddenRows:!0,maxCols:1,columns:[{data:"name",renderer:(0,y.createMenuItemRenderer)(this.hot)}],renderAllRows:!0,fragmentSelection:!1,outsideClickDeselects:!1,disableVisualSelection:"area",layoutDirection:this.hot.isRtl()?"rtl":"ltr",ariaTags:!1,beforeOnCellMouseOver:(e,t)=>{(0,r.default)(this,R).setCurrentPage(t.row)},afterOnCellMouseOver:(t,o)=>{this.isAllSubMenusClosed()?e(o.row):this.openSubMenu(o.row)},rowHeights:e=>s[e].name===h.SEPARATOR?1:23,afterOnCellContextMenu:e=>{e.preventDefault(),(0,g.isWindowsOS)()&&i&&this.hasSelectedItem()&&this.close(!0)},afterSelection:(e,t,o,s,n)=>{this.hotMenu.view.isMouseDown()&&(n.value=!0),this.runLocalHooks("afterSelectionChange",this.getSelectedItem())},beforeOnCellMouseUp:e=>{this.hasSelectedItem()&&(i=!this.isCommandPassive(this.getSelectedItem()),this.executeCommand(e))},afterOnCellMouseUp:e=>{(0,g.isWindowsOS)()&&(0,p.isRightClick)(e)||!i||!this.hasSelectedItem()||((0,g.isMobileBrowser)()||(0,g.isIpadOS)()?this.hot._registerTimeout((()=>this.close(!0)),325):this.close(!0))},afterUnlisten:()=>{!this.hasSelectedItem()&&this.isOpened()&&this.hotMenu.listen()}};this.origOutsideClickDeselects=this.hot.getSettings().outsideClickDeselects,this.hot.getSettings().outsideClickDeselects=!1,this.hotMenu=new this.hot.constructor(this.container,c),this.hotMenu.addHook("afterInit",(()=>this.onAfterInit())),this.hotMenu.init(),(0,n.default)(this,R,(0,l.createMenuNavigator)(this.hotMenu)),(0,n.default)(this,_,(0,a.createKeyboardShortcutsCtrl)(this)),(0,r.default)(this,_).listen(),this.focus(),this.isSubMenu()&&this.addLocalHook("afterOpen",(()=>this.parentMenu.runLocalHooks("afterSubmenuOpen",this))),this.runLocalHooks("afterOpen",this)}close(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.isOpened())if(e&&this.isSubMenu())this.parentMenu.close();else if((0,r.default)(this,R).clear(),this.closeAllSubMenus(),this.container.style.display="none",this.hotMenu.destroy(),this.hotMenu=null,this.hot.getSettings().outsideClickDeselects=this.origOutsideClickDeselects,this.runLocalHooks("afterClose"),this.isSubMenu()){if(this.hot.getSettings().ariaTags){const e=this.parentMenu.hotMenu.getSelectedLast();if(e){const t=this.parentMenu.hotMenu.getCell(e[0],0);(0,f.setAttribute)(t,[(0,v.A11Y_EXPANDED)(!1)])}}this.parentMenu.hotMenu.listen()}}openSubMenu(e){if(!this.hotMenu)return!1;const t=this.hotMenu.getCell(e,0);if(this.closeAllSubMenus(),!t||!(0,d.hasSubMenu)(t))return!1;const o=this.hotMenu.getSourceDataAtRow(e),s=new b(this.hot,{parent:this,name:o.name,className:this.options.className,keepInViewport:!0,container:this.options.container});return s.setMenuItems(o.submenu.items),s.open(),s.setPosition(t.getBoundingClientRect()),this.hotSubMenus[o.key]=s,this.hot.getSettings().ariaTags&&(0,f.setAttribute)(t,[(0,v.A11Y_EXPANDED)(!0)]),s}closeSubMenu(e){const t=this.hotMenu.getSourceDataAtRow(e),o=this.hotSubMenus[t.key];if(o){o.destroy(),delete this.hotSubMenus[t.key];const s=this.hotMenu.getCell(e,0);this.hot.getSettings().ariaTags&&(0,f.setAttribute)(s,[(0,v.A11Y_EXPANDED)(!1)])}}closeAllSubMenus(){(0,u.arrayEach)(this.hotMenu.getData(),((e,t)=>this.closeSubMenu(t)))}isAllSubMenusClosed(){return 0===Object.keys(this.hotSubMenus).length}focus(){this.isOpened()&&(this.hotMenu.rootElement.focus({preventScroll:!0}),this.getKeyboardShortcutsCtrl().listen(),this.hotMenu.listen())}destroy(){const e=this.container.parentNode;this.clearLocalHooks(),this.close(),this.parentMenu=null,this.eventManager.destroy(),e&&e.removeChild(this.container)}isOpened(){return null!==this.hotMenu}executeCommand(e){if(!this.isOpened()||!this.hasSelectedItem())return;const t=this.getSelectedItem();if(this.runLocalHooks("select",t,e),this.isCommandPassive(t))return;const o=this.hot.getSelectedRange(),s=o?(0,d.normalizeSelection)(o):[];this.runLocalHooks("executeCommand",t.key,s,e),this.isSubMenu()&&this.parentMenu.runLocalHooks("executeCommand",t.key,s,e)}isCommandPassive(e){return!1===e.isCommand||(0,d.isItemSeparator)(e)||(0,d.isItemDisabled)(e,this.hot)||(0,d.isItemSubMenu)(e)}setOffset(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.positioner.setOffset(e,t)}setPosition(e){this.isSubMenu()&&this.positioner.setParentElement(this.parentMenu.container),this.positioner.setElement(this.container).updatePosition(e)}createContainer(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;const t=this.options.container.ownerDocument;let o,s=e;return s&&((0,m.isFunction)(s)&&(s=s.call(this.hot),s=null===s||(0,C.isUndefined)(s)?"":s.toString()),s=s.replace(/[^A-z0-9]/g,"_"),s=`${this.options.className}Sub_${s}`,o=t.querySelector(`.${this.options.className}.${s}`)),o||(o=t.createElement("div"),(0,f.addClass)(o,`htMenu ${this.options.className}`),s&&(0,f.addClass)(o,s),this.options.container.appendChild(o)),o}onAfterInit(){const{wtTable:e}=this.hotMenu.view._wt,t=this.hotMenu.getSettings().data,o=e.hider.style,s=e.holder.style,n=parseInt(o.width,10),r=(0,u.arrayReduce)(t,((e,t)=>e+(t.name===h.SEPARATOR?1:26)),0);s.width=`${n+3}px`,s.height=`${r+3}px`,o.height=s.height,this.hot.getSettings().ariaTags&&(0,f.setAttribute)(this.hotMenu.rootElement,[(0,v.A11Y_MENU)(),(0,v.A11Y_TABINDEX)(-1)])}onDocumentMouseDown(e){this.isOpened()&&(this.options.standalone&&this.hotMenu&&!(0,f.isChildOf)(e.target,this.hotMenu.rootElement)?this.close(!0):!this.isAllSubMenusClosed()&&!this.isSubMenu()||(0,f.isChildOf)(e.target,".htMenu")||this.close(!0))}onDocumentContextMenu(e){this.isOpened()&&(0,f.hasClass)(e.target,"htCore")&&(0,f.isChildOf)(e.target,this.hotMenu.rootElement)&&e.preventDefault()}}t.Menu=b,(0,w.mixin)(b,E.default)},77003:(e,t,o)=>{"use strict";t.__esModule=!0,t.createMenuItemRenderer=function(e){return(t,o,l,a,h,d)=>{if(o.hasAttribute("ghost-table"))return;const c=t.getSourceDataAtRow(l),u=e.rootDocument.createElement("div"),g="function"==typeof d?d.call(e):d;if((0,n.empty)(o),(0,n.addClass)(u,"htItemWrapper"),e.getSettings().ariaTags){const t=!(0,s.isItemDisabled)(c,e)&&!(0,s.isItemSelectionDisabled)(c)&&!(0,s.isItemSeparator)(c);(0,n.setAttribute)(o,[(0,r.A11Y_MENU_ITEM)(),(0,r.A11Y_LABEL)(g),...t?[(0,r.A11Y_TABINDEX)(-1)]:[],...(0,s.isItemDisabled)(c,e)?[(0,r.A11Y_DISABLED)()]:[],...(0,s.isItemSubMenu)(c)?[(0,r.A11Y_EXPANDED)(!1)]:[]])}if((0,s.isItemSubMenu)(c)){o.querySelector(".submenuIndicator")||(0,n.appendElement)(o,{tagName:"div",attributes:e.getSettings().ariaTags?[(0,r.A11Y_HIDDEN)()]:[],className:i})}o.className="",o.appendChild(u),(0,s.isItemSeparator)(c)?(0,n.addClass)(o,"htSeparator"):"function"==typeof c.renderer?((0,n.addClass)(o,"htCustomMenuRenderer"),o.appendChild(c.renderer(t,u,l,a,h,g))):(0,n.fastInnerHTML)(u,g),(0,s.isItemDisabled)(c,e)?(0,n.addClass)(o,"htDisabled"):(0,s.isItemSelectionDisabled)(c)?(0,n.addClass)(o,"htSelectionDisabled"):(0,s.isItemSubMenu)(c)&&(0,n.addClass)(o,"htSubmenu")}};var s=o(69498),n=o(83302),r=o(5386);const i="submenuIndicator"},32967:(e,t,o)=>{"use strict";t.__esModule=!0,t.createMenuNavigator=function(e){return(0,s.createPaginator)({size:()=>e.countRows(),onItemSelect(t,o){const s=e.getCell(t,0);if(!s||(0,n.isSeparator)(s)||(0,n.isDisabled)(s)||(0,n.isSelectionDisabled)(s))return!1;e.selectCell(t,0,...o?[t,0,!1,!1]:[])},onClear(){e.deselectCell()}})};var s=o(29583),n=o(69498)},62587:(e,t,o)=>{"use strict";o(91683);var s=o(73203);t.__esModule=!0;var n=s(o(42538)),r=s(o(48427)),i=o(91801);function l(e,t,o){!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,o)}var a=new WeakMap,h=new WeakMap,d=new WeakMap,c=new WeakMap,u=new WeakMap;t.Positioner=class{constructor(e){l(this,a,{writable:!0,value:void 0}),l(this,h,{writable:!0,value:void 0}),l(this,d,{writable:!0,value:void 0}),l(this,c,{writable:!0,value:!1}),l(this,u,{writable:!0,value:{above:0,below:0,left:0,right:0}}),(0,r.default)(this,c,e)}setOffset(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(0,n.default)(this,u)[e]=t,this}setElement(e){return(0,r.default)(this,a,e),this}setParentElement(e){return(0,r.default)(this,h,e),this}updatePosition(e){(0,r.default)(this,d,new i.Cursor(e,(0,n.default)(this,a).ownerDocument.defaultView)),(0,n.default)(this,c)?((0,n.default)(this,d).fitsBelow((0,n.default)(this,a))?this.setPositionBelowCursor():(0,n.default)(this,d).fitsAbove((0,n.default)(this,a))?this.setPositionAboveCursor():this.setPositionBelowCursor(),this.updateHorizontalPosition()):(this.setPositionBelowCursor(),this.setPositionOnRightOfCursor())}updateHorizontalPosition(){"rtl"===(0,n.default)(this,a).dir?(0,n.default)(this,d).fitsOnLeft((0,n.default)(this,a))?this.setPositionOnLeftOfCursor():this.setPositionOnRightOfCursor():(0,n.default)(this,d).fitsOnRight((0,n.default)(this,a))?this.setPositionOnRightOfCursor():this.setPositionOnLeftOfCursor()}setPositionAboveCursor(){let e=(0,n.default)(this,u).above+(0,n.default)(this,d).top-(0,n.default)(this,a).offsetHeight;(0,n.default)(this,h)&&(e=(0,n.default)(this,d).top+(0,n.default)(this,d).cellHeight-(0,n.default)(this,a).offsetHeight+3),(0,n.default)(this,a).style.top=`${e}px`}setPositionBelowCursor(){let e=(0,n.default)(this,u).below+(0,n.default)(this,d).top+1;(0,n.default)(this,h)&&(e=(0,n.default)(this,d).top-1),(0,n.default)(this,a).style.top=`${e}px`}setPositionOnRightOfCursor(){let e=(0,n.default)(this,d).left;if((0,n.default)(this,h)){const{right:t}=(0,n.default)(this,h).getBoundingClientRect();e+=(0,n.default)(this,d).cellWidth+t-((0,n.default)(this,d).left+(0,n.default)(this,d).cellWidth)}else e+=(0,n.default)(this,u).right;(0,n.default)(this,a).style.left=`${e}px`}setPositionOnLeftOfCursor(){let e=(0,n.default)(this,u).left+(0,n.default)(this,d).left-(0,n.default)(this,a).offsetWidth;if((0,n.default)(this,h)){const{left:t}=(0,n.default)(this,h).getBoundingClientRect();e-=(0,n.default)(this,d).left-t}(0,n.default)(this,a).style.left=`${e}px`}}},58045:(e,t,o)=>{"use strict";t.__esModule=!0,t.createKeyboardShortcutsCtrl=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];const o=[];function i(e,t){h(t).addShortcuts(e,{group:n})}function l(e,t){const s=h(t);e.forEach((e=>{let{keys:t}=e;t.forEach((e=>s.removeShortcutsByKeys(e)))})),o.push({shortcuts:e,contextName:t}),i(e,t)}function a(e){return e?`${r}:${e}`:r}function h(t){var o;const s=e.hotMenu.getShortcutManager(),n=a(t);return null!==(o=s.getContext(n))&&void 0!==o?o:s.addContext(n)}return i((0,s.createDefaultShortcutsList)(e)),t.forEach((e=>{let{shortcuts:t,contextName:o}=e;l(t,o)})),{addCustomShortcuts:l,getCustomShortcuts:function(){return[...o]},getContext:h,listen:function(t){e.hotMenu.getShortcutManager().setActiveContextName(a(t))}}},o(63517);var s=o(97818);const n="menu",r=n},69498:(e,t,o)=>{"use strict";t.__esModule=!0,t.filterSeparators=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.SEPARATOR,o=e.slice(0);return o=l(o,t),o=function(e,t){let o=e.slice(0);return o.reverse(),o=l(o,t),o.reverse(),o}(o,t),o=function(e){const t=[];return(0,s.arrayEach)(e,((e,o)=>{o>0?t[t.length-1].name!==e.name&&t.push(e):t.push(e)})),t}(o),o},t.hasSubMenu=function(e){return(0,r.hasClass)(e,"htSubmenu")},t.isDisabled=function(e){return(0,r.hasClass)(e,"htDisabled")},t.isItemDisabled=function(e,t){return!0===e.disabled||"function"==typeof e.disabled&&!0===e.disabled.call(t)},t.isItemHidden=function(e,t){return!e.hidden||!("function"==typeof e.hidden&&e.hidden.call(t))},t.isItemSelectionDisabled=function(e){return(0,n.hasOwnProperty)(e,"disableSelection")},t.isItemSeparator=function(e){return new RegExp(i.SEPARATOR,"i").test(e.name)},t.isItemSubMenu=function(e){return(0,n.hasOwnProperty)(e,"submenu")},t.isSelectionDisabled=function(e){return(0,r.hasClass)(e,"htSelectionDisabled")},t.isSeparator=function(e){return(0,r.hasClass)(e,"htSeparator")},t.normalizeSelection=function(e){return(0,s.arrayMap)(e,(e=>({start:e.getTopStartCorner(),end:e.getBottomEndCorner()})))},o(63517);var s=o(50095),n=o(22232),r=o(83302),i=o(90500);function l(e,t){const o=e.slice(0);for(let e=0;e<o.length&&o[e].name===t;)o.shift();return o}},33439:(e,t,o)=>{"use strict";t.__esModule=!0,t.default=function(){return{key:l,name(){return this.getTranslatedPhrase(r.CONTEXTMENU_ITEMS_ALIGNMENT)},disabled(){if(0===this.countRows()||0===this.countCols())return!0;const e=this.getSelectedRangeLast();return!e||(!!e.isSingleHeader()||!(this.getSelectedRange()&&!this.selection.isSelectedByCorner()))},submenu:{items:[{key:`${l}:left`,name(){let e=this.getTranslatedPhrase(r.CONTEXTMENU_ITEMS_ALIGNMENT_LEFT);return(0,s.checkSelectionConsistency)(this.getSelectedRange(),((e,t)=>{const o=this.getCellMeta(e,t).className;if(o&&-1!==o.indexOf("htLeft"))return!0}))&&(e=(0,s.markLabelAsSelected)(e)),e},callback(){const e=this.getSelectedRange(),t=(0,s.getAlignmentClasses)(e,((e,t)=>this.getCellMeta(e,t).className)),o="horizontal",n="htLeft";this.runHooks("beforeCellAlignment",t,e,o,n),(0,s.align)(e,o,n,((e,t)=>this.getCellMeta(e,t)),((e,t,o,s)=>this.setCellMeta(e,t,o,s))),this.render()},disabled:!1},{key:`${l}:center`,name(){let e=this.getTranslatedPhrase(r.CONTEXTMENU_ITEMS_ALIGNMENT_CENTER);return(0,s.checkSelectionConsistency)(this.getSelectedRange(),((e,t)=>{const o=this.getCellMeta(e,t).className;if(o&&-1!==o.indexOf("htCenter"))return!0}))&&(e=(0,s.markLabelAsSelected)(e)),e},callback(){const e=this.getSelectedRange(),t=(0,s.getAlignmentClasses)(e,((e,t)=>this.getCellMeta(e,t).className)),o="horizontal",n="htCenter";this.runHooks("beforeCellAlignment",t,e,o,n),(0,s.align)(e,o,n,((e,t)=>this.getCellMeta(e,t)),((e,t,o,s)=>this.setCellMeta(e,t,o,s))),this.render()},disabled:!1},{key:`${l}:right`,name(){let e=this.getTranslatedPhrase(r.CONTEXTMENU_ITEMS_ALIGNMENT_RIGHT);return(0,s.checkSelectionConsistency)(this.getSelectedRange(),((e,t)=>{const o=this.getCellMeta(e,t).className;if(o&&-1!==o.indexOf("htRight"))return!0}))&&(e=(0,s.markLabelAsSelected)(e)),e},callback(){const e=this.getSelectedRange(),t=(0,s.getAlignmentClasses)(e,((e,t)=>this.getCellMeta(e,t).className)),o="horizontal",n="htRight";this.runHooks("beforeCellAlignment",t,e,o,n),(0,s.align)(e,o,n,((e,t)=>this.getCellMeta(e,t)),((e,t,o,s)=>this.setCellMeta(e,t,o,s))),this.render()},disabled:!1},{key:`${l}:justify`,name(){let e=this.getTranslatedPhrase(r.CONTEXTMENU_ITEMS_ALIGNMENT_JUSTIFY);return(0,s.checkSelectionConsistency)(this.getSelectedRange(),((e,t)=>{const o=this.getCellMeta(e,t).className;if(o&&-1!==o.indexOf("htJustify"))return!0}))&&(e=(0,s.markLabelAsSelected)(e)),e},callback(){const e=this.getSelectedRange(),t=(0,s.getAlignmentClasses)(e,((e,t)=>this.getCellMeta(e,t).className)),o="horizontal",n="htJustify";this.runHooks("beforeCellAlignment",t,e,o,n),(0,s.align)(e,o,n,((e,t)=>this.getCellMeta(e,t)),((e,t,o,s)=>this.setCellMeta(e,t,o,s))),this.render()},disabled:!1},{name:n.KEY},{key:`${l}:top`,name(){let e=this.getTranslatedPhrase(r.CONTEXTMENU_ITEMS_ALIGNMENT_TOP);return(0,s.checkSelectionConsistency)(this.getSelectedRange(),((e,t)=>{const o=this.getCellMeta(e,t).className;if(o&&-1!==o.indexOf("htTop"))return!0}))&&(e=(0,s.markLabelAsSelected)(e)),e},callback(){const e=this.getSelectedRange(),t=(0,s.getAlignmentClasses)(e,((e,t)=>this.getCellMeta(e,t).className)),o="vertical",n="htTop";this.runHooks("beforeCellAlignment",t,e,o,n),(0,s.align)(e,o,n,((e,t)=>this.getCellMeta(e,t)),((e,t,o,s)=>this.setCellMeta(e,t,o,s))),this.render()},disabled:!1},{key:`${l}:middle`,name(){let e=this.getTranslatedPhrase(r.CONTEXTMENU_ITEMS_ALIGNMENT_MIDDLE);return(0,s.checkSelectionConsistency)(this.getSelectedRange(),((e,t)=>{const o=this.getCellMeta(e,t).className;if(o&&-1!==o.indexOf("htMiddle"))return!0}))&&(e=(0,s.markLabelAsSelected)(e)),e},callback(){const e=this.getSelectedRange(),t=(0,s.getAlignmentClasses)(e,((e,t)=>this.getCellMeta(e,t).className)),o="vertical",n="htMiddle";this.runHooks("beforeCellAlignment",t,e,o,n),(0,s.align)(e,o,n,((e,t)=>this.getCellMeta(e,t)),((e,t,o,s)=>this.setCellMeta(e,t,o,s))),this.render()},disabled:!1},{key:`${l}:bottom`,name(){let e=this.getTranslatedPhrase(r.CONTEXTMENU_ITEMS_ALIGNMENT_BOTTOM);return(0,s.checkSelectionConsistency)(this.getSelectedRange(),((e,t)=>{const o=this.getCellMeta(e,t).className;if(o&&-1!==o.indexOf("htBottom"))return!0}))&&(e=(0,s.markLabelAsSelected)(e)),e},callback(){const e=this.getSelectedRange(),t=(0,s.getAlignmentClasses)(e,((e,t)=>this.getCellMeta(e,t).className)),o="vertical",n="htBottom";this.runHooks("beforeCellAlignment",t,e,o,n),(0,s.align)(e,o,n,((e,t)=>this.getCellMeta(e,t)),((e,t,o,s)=>this.setCellMeta(e,t,o,s))),this.render()},disabled:!1}]}}};var s=o(80734),n=o(11689),r=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var o=i(t);if(o&&o.has(e))return o.get(e);var s={__proto__:null},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if("default"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var l=n?Object.getOwnPropertyDescriptor(e,r):null;l&&(l.get||l.set)?Object.defineProperty(s,r,l):s[r]=e[r]}return s.default=e,o&&o.set(e,s),s}(o(77516));function i(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,o=new WeakMap;return(i=function(e){return e?o:t})(e)}const l=t.KEY="alignment"},8295:(e,t,o)=>{"use strict";t.__esModule=!0,t.default=function(){return{key:r,name(){return this.getTranslatedPhrase(s.CONTEXTMENU_ITEMS_CLEAR_COLUMN)},callback(e,t){const o=t[0].start.col,s=t[0].end.col;this.countRows()&&this.populateFromArray(0,o,[[null]],Math.max(t[0].start.row,t[0].end.row),s,"ContextMenu.clearColumn")},disabled(){const e=this.getSelectedRangeLast();return!e||(!!(e.isSingleHeader()&&e.highlight.col<0)||!this.selection.isSelectedByColumnHeader())}}};var s=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var o=n(t);if(o&&o.has(e))return o.get(e);var s={__proto__:null},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=r?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(s,i,l):s[i]=e[i]}return s.default=e,o&&o.set(e,s),s}(o(77516));function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,o=new WeakMap;return(n=function(e){return e?o:t})(e)}const r=t.KEY="clear_column"},19865:(e,t,o)=>{"use strict";t.__esModule=!0,t.default=function(){return{key:r,name(){return this.getTranslatedPhrase(s.CONTEXTMENU_ITEMS_INSERT_LEFT)},callback(){const e=this.getSelectedRangeLast().getTopLeftCorner(),t=this.isRtl()?"insert_col_end":"insert_col_start";this.alter(t,e.col,1,"ContextMenu.columnLeft")},disabled(){if(!this.isColumnModificationAllowed())return!0;const e=this.getSelectedRangeLast();if(!e)return!0;if(e.isSingleHeader()&&e.highlight.col<0)return!0;if(this.selection.isSelectedByCorner()){return 0===this.countCols()}return this.selection.isSelectedByRowHeader()||this.countCols()>=this.getSettings().maxCols},hidden(){return!this.getSettings().allowInsertColumn}}};var s=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var o=n(t);if(o&&o.has(e))return o.get(e);var s={__proto__:null},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=r?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(s,i,l):s[i]=e[i]}return s.default=e,o&&o.set(e,s),s}(o(77516));function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,o=new WeakMap;return(n=function(e){return e?o:t})(e)}const r=t.KEY="col_left"},27471:(e,t,o)=>{"use strict";t.__esModule=!0,t.default=function(){return{key:r,name(){return this.getTranslatedPhrase(s.CONTEXTMENU_ITEMS_INSERT_RIGHT)},callback(){const e=this.getSelectedRangeLast().getTopRightCorner(),t=this.isRtl()?"insert_col_start":"insert_col_end";this.alter(t,e.col,1,"ContextMenu.columnRight")},disabled(){if(!this.isColumnModificationAllowed())return!0;const e=this.getSelectedRangeLast();return!e||(!!(e.isSingleHeader()&&e.highlight.col<0)||!this.selection.isSelectedByCorner()&&(this.selection.isSelectedByRowHeader()||this.countCols()>=this.getSettings().maxCols))},hidden(){return!this.getSettings().allowInsertColumn}}};var s=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var o=n(t);if(o&&o.has(e))return o.get(e);var s={__proto__:null},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=r?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(s,i,l):s[i]=e[i]}return s.default=e,o&&o.set(e,s),s}(o(77516));function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,o=new WeakMap;return(n=function(e){return e?o:t})(e)}const r=t.KEY="col_right"},90500:(e,t,o)=>{"use strict";t.__esModule=!0,t.addItem=function(e,t){-1===E.indexOf(e)&&(y[e]=t)},t.predefinedItems=function(){const e={};return(0,s.objectEach)(y,((t,o)=>{e[o]=t()})),e};var s=o(22232),n=w(o(33439));t.ALIGNMENT=n.KEY;var r=w(o(8295));t.CLEAR_COLUMN=r.KEY;var i=w(o(19865));t.COLUMN_LEFT=i.KEY;var l=w(o(27471));t.COLUMN_RIGHT=l.KEY;var a=w(o(37010));t.READ_ONLY=a.KEY;var h=w(o(1687));t.REDO=h.KEY;var d=w(o(63665));t.REMOVE_COLUMN=d.KEY;var c=w(o(90458));t.REMOVE_ROW=c.KEY;var u=w(o(96604));t.ROW_ABOVE=u.KEY;var g=w(o(96599));t.ROW_BELOW=g.KEY;var f=w(o(11689));t.SEPARATOR=f.KEY;var p=w(o(10490));t.NO_ITEMS=p.KEY;var m=w(o(47872));function C(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,o=new WeakMap;return(C=function(e){return e?o:t})(e)}function w(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var o=C(t);if(o&&o.has(e))return o.get(e);var s={__proto__:null},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if("default"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var i=n?Object.getOwnPropertyDescriptor(e,r):null;i&&(i.get||i.set)?Object.defineProperty(s,r,i):s[r]=e[r]}return s.default=e,o&&o.set(e,s),s}t.UNDO=m.KEY;const E=t.ITEMS=[u.KEY,g.KEY,i.KEY,l.KEY,r.KEY,c.KEY,d.KEY,m.KEY,h.KEY,a.KEY,n.KEY,f.KEY,p.KEY],y={[f.KEY]:f.default,[p.KEY]:p.default,[u.KEY]:u.default,[g.KEY]:g.default,[i.KEY]:i.default,[l.KEY]:l.default,[r.KEY]:r.default,[c.KEY]:c.default,[d.KEY]:d.default,[m.KEY]:m.default,[h.KEY]:h.default,[a.KEY]:a.default,[n.KEY]:n.default}},10490:(e,t,o)=>{"use strict";t.__esModule=!0,t.default=function(){return{key:n,name(){return this.getTranslatedPhrase(s.CONTEXTMENU_ITEMS_NO_ITEMS)},disabled:!0,isCommand:!1}};var s=o(77516);const n=t.KEY="no_items"},37010:(e,t,o)=>{"use strict";t.__esModule=!0,t.default=function(){return{key:l,name(){let e=this.getTranslatedPhrase(r.CONTEXTMENU_ITEMS_READ_ONLY);return(0,s.checkSelectionConsistency)(this.getSelectedRange(),((e,t)=>this.getCellMeta(e,t).readOnly))&&(e=(0,s.markLabelAsSelected)(e)),e},callback(){const e=this.getSelectedRange(),t=(0,s.checkSelectionConsistency)(e,((e,t)=>this.getCellMeta(e,t).readOnly));(0,n.arrayEach)(e,(e=>{e.forAll(((e,o)=>{e>=0&&o>=0&&this.setCellMeta(e,o,"readOnly",!t)}))})),this.render()},disabled(){const e=this.getSelectedRangeLast();return!e||(!!e.isSingleHeader()||(!!this.selection.isSelectedByCorner()||(0===this.countRows()||0===this.countCols()||(!this.getSelectedRange()||0===this.getSelectedRange().length))))}}};var s=o(80734),n=o(50095),r=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var o=i(t);if(o&&o.has(e))return o.get(e);var s={__proto__:null},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if("default"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var l=n?Object.getOwnPropertyDescriptor(e,r):null;l&&(l.get||l.set)?Object.defineProperty(s,r,l):s[r]=e[r]}return s.default=e,o&&o.set(e,s),s}(o(77516));function i(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,o=new WeakMap;return(i=function(e){return e?o:t})(e)}const l=t.KEY="make_read_only"},1687:(e,t,o)=>{"use strict";t.__esModule=!0,t.default=function(){return{key:r,name(){return this.getTranslatedPhrase(s.CONTEXTMENU_ITEMS_REDO)},callback(){this.redo()},hidden(){const e=this.getPlugin("undoRedo");return!e||!e.isEnabled()},disabled(){return!this.getPlugin("undoRedo").isRedoAvailable()}}};var s=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var o=n(t);if(o&&o.has(e))return o.get(e);var s={__proto__:null},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=r?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(s,i,l):s[i]=e[i]}return s.default=e,o&&o.set(e,s),s}(o(77516));function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,o=new WeakMap;return(n=function(e){return e?o:t})(e)}const r=t.KEY="redo"},63665:(e,t,o)=>{"use strict";t.__esModule=!0,t.default=function(){return{key:i,name(){const e=this.getSelected();let t=0;if(e)if(e.length>1)t=1;else{const[,o,,s]=e[0];o-s!=0&&(t=1)}return this.getTranslatedPhrase(n.CONTEXTMENU_ITEMS_REMOVE_COLUMN,t)},callback(){this.alter("remove_col",(0,s.transformSelectionToColumnDistance)(this.getSelected()),null,"ContextMenu.removeColumn")},disabled(){if(!this.isColumnModificationAllowed())return!0;const e=this.getSelectedRangeLast();if(!e)return!0;if(e.isSingleHeader()&&e.highlight.col<0)return!0;const t=this.countCols();return this.selection.isSelectedByCorner()?0===t:this.selection.isSelectedByRowHeader()||0===t},hidden(){return!this.getSettings().allowRemoveColumn}}};var s=o(69248),n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var o=r(t);if(o&&o.has(e))return o.get(e);var s={__proto__:null},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=n?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(s,i,l):s[i]=e[i]}return s.default=e,o&&o.set(e,s),s}(o(77516));function r(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,o=new WeakMap;return(r=function(e){return e?o:t})(e)}const i=t.KEY="remove_col"},90458:(e,t,o)=>{"use strict";t.__esModule=!0,t.default=function(){return{key:i,name(){const e=this.getSelected();let t=0;if(e)if(e.length>1)t=1;else{const[o,,s]=e[0];o-s!=0&&(t=1)}return this.getTranslatedPhrase(n.CONTEXTMENU_ITEMS_REMOVE_ROW,t)},callback(){this.alter("remove_row",(0,s.transformSelectionToRowDistance)(this.getSelected()),1,"ContextMenu.removeRow")},disabled(){const e=this.getSelectedRangeLast();if(!e)return!0;if(e.isSingleHeader()&&e.highlight.row<0)return!0;const t=this.countRows();return this.selection.isSelectedByCorner()?0===t:this.selection.isSelectedByColumnHeader()||0===t},hidden(){return!this.getSettings().allowRemoveRow}}};var s=o(69248),n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var o=r(t);if(o&&o.has(e))return o.get(e);var s={__proto__:null},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=n?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(s,i,l):s[i]=e[i]}return s.default=e,o&&o.set(e,s),s}(o(77516));function r(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,o=new WeakMap;return(r=function(e){return e?o:t})(e)}const i=t.KEY="remove_row"},96604:(e,t,o)=>{"use strict";t.__esModule=!0,t.default=function(){return{key:r,name(){return this.getTranslatedPhrase(s.CONTEXTMENU_ITEMS_ROW_ABOVE)},callback(){const e=this.getSelectedRangeLast().getTopLeftCorner();this.alter("insert_row_above",e.row,1,"ContextMenu.rowAbove")},disabled(){const e=this.getSelectedRangeLast();if(!e)return!0;if(e.isSingleHeader()&&e.highlight.row<0)return!0;if(this.selection.isSelectedByCorner()){return 0===this.countRows()}return this.selection.isSelectedByColumnHeader()||this.countRows()>=this.getSettings().maxRows},hidden(){return!this.getSettings().allowInsertRow}}};var s=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var o=n(t);if(o&&o.has(e))return o.get(e);var s={__proto__:null},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=r?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(s,i,l):s[i]=e[i]}return s.default=e,o&&o.set(e,s),s}(o(77516));function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,o=new WeakMap;return(n=function(e){return e?o:t})(e)}const r=t.KEY="row_above"},96599:(e,t,o)=>{"use strict";t.__esModule=!0,t.default=function(){return{key:r,name(){return this.getTranslatedPhrase(s.CONTEXTMENU_ITEMS_ROW_BELOW)},callback(){const e=this.getSelectedRangeLast().getBottomRightCorner();this.alter("insert_row_below",e.row,1,"ContextMenu.rowBelow")},disabled(){const e=this.getSelectedRangeLast();return!e||(!!(e.isSingleHeader()&&e.highlight.row<0)||!this.selection.isSelectedByCorner()&&(this.selection.isSelectedByColumnHeader()||this.countRows()>=this.getSettings().maxRows))},hidden(){return!this.getSettings().allowInsertRow}}};var s=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var o=n(t);if(o&&o.has(e))return o.get(e);var s={__proto__:null},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=r?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(s,i,l):s[i]=e[i]}return s.default=e,o&&o.set(e,s),s}(o(77516));function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,o=new WeakMap;return(n=function(e){return e?o:t})(e)}const r=t.KEY="row_below"},11689:(e,t)=>{"use strict";t.__esModule=!0,t.default=function(){return{name:o}};const o=t.KEY="---------"},47872:(e,t,o)=>{"use strict";t.__esModule=!0,t.default=function(){return{key:r,name(){return this.getTranslatedPhrase(s.CONTEXTMENU_ITEMS_UNDO)},callback(){this.undo()},hidden(){const e=this.getPlugin("undoRedo");return!e||!e.isEnabled()},disabled(){return!this.getPlugin("undoRedo").isUndoAvailable()}}};var s=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var o=n(t);if(o&&o.has(e))return o.get(e);var s={__proto__:null},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=r?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(s,i,l):s[i]=e[i]}return s.default=e,o&&o.set(e,s),s}(o(77516));function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,o=new WeakMap;return(n=function(e){return e?o:t})(e)}const r=t.KEY="undo"},80734:(e,t,o)=>{"use strict";t.__esModule=!0,t.align=function(e,t,o,i,l){(0,s.arrayEach)(e,(e=>{e.forAll(((e,s)=>{e>=0&&s>=0&&function(e,t,o,s,i,l){const a=i(e,t);let h=s;a.className&&(h="vertical"===o?n(a.className,s):r(a.className,s));l(e,t,"className",h)}(e,s,t,o,i,l)}))}))},t.checkSelectionConsistency=function(e,t){let o=!1;Array.isArray(e)&&(0,s.arrayEach)(e,(e=>(e.forAll(((e,s)=>{if(e>=0&&s>=0&&t(e,s))return o=!0,!1})),o)));return o},t.getAlignmentClasses=function(e,t){const o={};return(0,s.arrayEach)(e,(e=>{e.forAll(((e,s)=>{e>=0&&s>=0&&(o[e]||(o[e]=[]),o[e][s]=t(e,s))}))})),o},t.getDocumentOffsetByElement=function(e,t){const o={top:0,left:0};if(t!==e.ownerDocument){const{frameElement:e}=t.defaultView,{top:s,left:n}=e.getBoundingClientRect();o.top=s,o.left=n}return o},t.markLabelAsSelected=function(e){return`<span class="selected">${String.fromCharCode(10003)}</span>${e}`},t.prepareHorizontalAlignClass=r,t.prepareVerticalAlignClass=n;var s=o(50095);function n(e,t){if(-1!==e.indexOf(t))return e;return`${e.replace("htTop","").replace("htMiddle","").replace("htBottom","").replace(" ","")} ${t}`}function r(e,t){if(-1!==e.indexOf(t))return e;return`${e.replace("htLeft","").replace("htCenter","").replace("htRight","").replace("htJustify","").replace(" ","")} ${t}`}},67822:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(91683);var n=s(o(93231)),r=o(93315),i=o(22232),l=o(28236),a=o(69173),h=o(52870);const d=t.META_HEAD=['<meta name="generator" content="Handsontable"/>','<style type="text/css">td{white-space:normal}br{mso-data-placement:same-cell}</style>'].join("");class c{constructor(){if((0,n.default)(this,"html",void 0),(0,n.default)(this,"data",void 0),this.constructor===c)throw new Error("The `ClipboardData` is an abstract class and it can't be instantiated. Please use `CopyClipboardData` or `PasteClipboardData` classes instead.")}getData(){return(0,i.deepClone)(this.data)}getMetaInfo(){return(0,h.htmlToGridSettings)(this.html)}overwriteInfo(e){this.html=[this.isSerializedHandsontable()?d:"",(0,h.getHTMLFromConfig)(e)].join(""),this.data=(0,h.getDataWithHeadersByConfig)(e)}adjustAfterColumnsRemoval(e,t){const o=e.mergeCells;!1!==(0,r.isDefined)(o)&&(e.mergeCells=o.reduce(((e,o)=>{const{col:s,colspan:n}=o,r=t.filter((e=>e>=s&&e<s+n)).length;return r===n?e:(n-r==1?delete o.colspan:r>0&&(o.colspan=n-r),Number.isInteger(o.rowspan)||Number.isInteger(o.colspan)?e.concat(o):e)}),[]),e.mergeCells.forEach((e=>{const o=t.filter((t=>t<e.col)).length;e.col=e.col-o})),0===e.mergeCells.length&&delete e.mergeCells)}adjustAfterRowRemoval(e,t){const o=e.mergeCells;!1!==(0,r.isDefined)(o)&&(e.mergeCells=o.reduce(((e,o)=>{const{row:s,rowspan:n}=o,r=t.filter((e=>e>=s&&e<s+n)).length;return r===n?e:(n-r==1?delete o.rowspan:r>0&&(o.rowspan=n-r),Number.isInteger(o.rowspan)||Number.isInteger(o.colspan)?e.concat(o):e)}),[]),e.mergeCells.forEach((e=>{const o=t.filter((t=>t<e.row)).length;e.row=e.row-o})),0===e.mergeCells.length&&delete e.mergeCells)}removeRows(e){if(!1===this.isSerializedTable())return;const t=this.getMetaInfo();this.adjustAfterRowRemoval(t,e);const o={...t,excludedRows:e};this.overwriteInfo(o)}removeColumns(e){if(!1===this.isSerializedTable())return;const t=this.getMetaInfo(),{nestedHeaders:o,colHeaders:s}=t;if(Array.isArray(o)&&e.length>0)return void(0,a.warn)("It's not possible to modify copied dataset containing nested headers.");Array.isArray(s)&&e.length>0&&(t.colHeaders=s.filter((t=>!1===e.includes(t)))),this.adjustAfterColumnsRemoval(t,e);const n={...t,excludedColumns:e};this.overwriteInfo(n)}getRowInsertionWarn(e,t){const o=this.getMetaInfo(),s=o.data,n=t.length;if(!1===Array.isArray(s)){const{nestedHeaders:t,colHeaders:s}=o;return e>0?l.toSingleLine`Invalid row insertion done inside some \`CopyPaste\` hook. There is no possibility to\x20
|
65
65
|
expand an empty dataset at position higher than zero.`:Array.isArray(t)&&t[0].length!==n||Array.isArray(s)&&s.length!==n?l.toSingleLine`Invalid row insertion done inside some \`CopyPaste\` hook. Please provide proper number\x20
|
66
66
|
of elements (corresponding to size of the dataset in other rows) for inserted rows.`:void 0}const r=s.length,i=s[0].length;return e>r?l.toSingleLine`Invalid row insertion done inside some \`CopyPaste\` hook. Please provide an valid row\x20
|
@@ -82,7 +82,7 @@
|
|
82
82
|
and "colspan" declared as "1", which makes it a single cell. It cannot be added to the collection.`}static ZERO_SPAN_WARNING(e){return s.toSingleLine`The merged cell declared at [${e.row}, ${e.col}] has "rowspan"\x20
|
83
83
|
or "colspan" declared as "0", which is not supported. It cannot be added to the collection.`}static containsNegativeValues(e){return e.row<0||e.col<0||e.rowspan<0||e.colspan<0}static isSingleCell(e){return 1===e.colspan&&1===e.rowspan}static containsZeroSpan(e){return 0===e.colspan||0===e.rowspan}static isOutOfBounds(e,t,o){return e.row<0||e.col<0||e.row>=t||e.row+e.rowspan-1>=t||e.col>=o||e.col+e.colspan-1>=o}normalize(e){const t=e.countRows(),o=e.countCols();this.row<0?this.row=0:this.row>t-1&&(this.row=t-1),this.col<0?this.col=0:this.col>o-1&&(this.col=o-1),this.row+this.rowspan>t-1&&(this.rowspan=t-this.row),this.col+this.colspan>o-1&&(this.colspan=o-this.col)}includes(e,t){return this.row<=e&&this.col<=t&&this.row+this.rowspan-1>=e&&this.col+this.colspan-1>=t}includesHorizontally(e){return this.col<=e&&this.col+this.colspan-1>=e}includesVertically(e){return this.row<=e&&this.row+this.rowspan-1>=e}shift(e,t){const o=e[0]||e[1],s=t+Math.abs(e[0]||e[1])-1,n=e[0]?"colspan":"rowspan",r=e[0]?"col":"row",i=Math.min(t,s),l=Math.max(t,s),a=this[r],h=this[r]+this[n]-1;if(a>=t&&(this[r]+=o),o>0)t<=h&&t>a&&(this[n]+=o);else if(o<0){if(i<=a&&l>=h)return this.removed=!0,!1;if(a>=i&&a<=l){const e=l-a+1,t=Math.abs(o)-e;this[r]-=t+o,this[n]-=e}else if(a<=i&&h>=l)this[n]+=o;else if(a<=i&&h>=i&&h<l){const e=h-i+1;this[n]-=e}}return!0}isFarther(e,t){return!e||("down"===t?e.row+e.rowspan-1<this.row+this.rowspan-1:"up"===t?e.row>this.row:"right"===t?e.col+e.colspan-1<this.col+this.colspan-1:"left"===t?e.col>this.col:null)}getLastRow(){return this.row+this.rowspan-1}getLastColumn(){return this.col+this.colspan-1}getRange(){return this.cellRangeFactory(this.cellCoordsFactory(this.row,this.col),this.cellCoordsFactory(this.row,this.col),this.cellCoordsFactory(this.getLastRow(),this.getLastColumn()))}}},22603:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(63517);var n=s(o(22951)),r=o(68145),i=o(69173),l=o(50095),a=o(23916),h=o(28236);class d{constructor(e){this.plugin=e,this.mergedCells=[],this.hot=e.hot}static IS_OVERLAPPING_WARNING(e){return h.toSingleLine`The merged cell declared at [${e.row}, ${e.col}], overlaps\x20
|
84
84
|
with the other declared merged cell. The overlapping merged cell was not added to the table, please\x20
|
85
|
-
fix your setup.`}get(e,t){const o=this.mergedCells;let s=!1;return(0,l.arrayEach)(o,(o=>!(o.row<=e&&o.row+o.rowspan-1>=e&&o.col<=t&&o.col+o.colspan-1>=t)||(s=o,!1))),s}getByRange(e){const t=this.mergedCells;let o=!1;return(0,l.arrayEach)(t,(t=>!(t.row<=e.from.row&&t.row+t.rowspan-1>=e.to.row&&t.col<=e.from.col&&t.col+t.colspan-1>=e.to.col)||(o=t,o))),o}getWithinRange(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const o=this.mergedCells,s=[];let n=e;if(!n.includesRange){const e=this.hot._createCellCoords(n.from.row,n.from.col),t=this.hot._createCellCoords(n.to.row,n.to.col);n=this.hot._createCellRange(e,e,t)}return(0,l.arrayEach)(o,(e=>{const o=this.hot._createCellCoords(e.row,e.col),r=this.hot._createCellCoords(e.row+e.rowspan-1,e.col+e.colspan-1),i=this.hot._createCellRange(o,o,r);t?n.overlaps(i)&&s.push(e):n.includesRange(i)&&s.push(e)})),!!s.length&&s}add(e){const t=this.mergedCells,o=e.row,s=e.col,r=e.rowspan,l=e.colspan,a=new n.default(o,s,r,l,this.hot._createCellCoords,this.hot._createCellRange),h=this.get(o,s),c=this.isOverlapping(a);return h||c?((0,i.warn)(d.IS_OVERLAPPING_WARNING(a)),!1):(this.hot&&a.normalize(this.hot),t.push(a),a)}remove(e,t){const o=this.mergedCells,s=this.get(e,t),n=s?this.mergedCells.indexOf(s):-1;return!(!s||-1===n)&&(o.splice(n,1),s)}clear(){const e=this.mergedCells,t=[],o=[];(0,l.arrayEach)(e,(e=>{const o=this.hot.getCell(e.row,e.col);o&&t.push([o,this.get(e.row,e.col),e.row,e.col])})),this.mergedCells.length=0,(0,l.arrayEach)(t,((e,s)=>{(0,r.rangeEach)(0,e.rowspan-1,(t=>{(0,r.rangeEach)(0,e.colspan-1,(s=>{if(0!==s||0!==t){const n=this.hot.getCell(e.row+t,e.col+s);n&&o.push([n,null,null,null])}}))})),t[s][1]=null})),(0,l.arrayEach)(t,(e=>{(0,a.applySpanProperties)(...e)})),(0,l.arrayEach)(o,(e=>{(0,a.applySpanProperties)(...e)}))}isOverlapping(e){const t=this.hot._createCellRange(this.hot._createCellCoords(0,0),this.hot._createCellCoords(e.row,e.col),this.hot._createCellCoords(e.row+e.rowspan-1,e.col+e.colspan-1));let o=!1;return(0,l.arrayEach)(this.mergedCells,(e=>!this.hot._createCellRange(this.hot._createCellCoords(0,0),this.hot._createCellCoords(e.row,e.col),this.hot._createCellCoords(e.row+e.rowspan-1,e.col+e.colspan-1)).overlaps(t)||(o=!0,!1))),o}isFirstRenderableMergedCell(e,t){const o=this.get(e,t);return o&&this.hot.rowIndexMapper.getNearestNotHiddenIndex(o.row,1)===e&&this.hot.columnIndexMapper.getNearestNotHiddenIndex(o.col,1)===t}getFirstRenderableCoords(e,t){const o=this.get(e,t);if(!o||this.isFirstRenderableMergedCell(e,t))return this.hot._createCellCoords(e,t);const s=this.hot.rowIndexMapper.getNearestNotHiddenIndex(o.row,1),n=this.hot.columnIndexMapper.getNearestNotHiddenIndex(o.col,1);return this.hot._createCellCoords(s,n)}shiftCollections(e,t,o){const s=[0,0];switch(e){case"right":s[0]+=o;break;case"left":s[0]-=o;break;case"down":s[1]+=o;break;case"up":s[1]-=o}(0,l.arrayEach)(this.mergedCells,(e=>{e.shift(s,t)})),(0,r.rangeEachReverse)(this.mergedCells.length-1,0,(e=>{const t=this.mergedCells[e];t&&t.removed&&this.mergedCells.splice(this.mergedCells.indexOf(t),1)}))}}t.default=d},4146:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,t.default=function(e){return{key:"mergeCells",name(){const t=this.getSelectedLast();if(t){const o=e.mergedCellsCollection.get(t[0],t[1]);if(o.row===t[0]&&o.col===t[1]&&o.row+o.rowspan-1===t[2]&&o.col+o.colspan-1===t[3])return this.getTranslatedPhrase(n.CONTEXTMENU_ITEMS_UNMERGE_CELLS)}return this.getTranslatedPhrase(n.CONTEXTMENU_ITEMS_MERGE_CELLS)},callback(){e.toggleMergeOnSelection()},disabled(){const e=this.getSelectedLast();if(!e)return!0;return r.default.isSingleCell({row:e[0],col:e[1],rowspan:e[2]-e[0]+1,colspan:e[3]-e[1]+1})||this.selection.isSelectedByCorner()},hidden:!1}};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 o=i(t);if(o&&o.has(e))return o.get(e);var s={__proto__:null},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if("default"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var l=n?Object.getOwnPropertyDescriptor(e,r):null;l&&(l.get||l.set)?Object.defineProperty(s,r,l):s[r]=e[r]}return s.default=e,o&&o.set(e,s),s}(o(77516)),r=s(o(22951));function i(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,o=new WeakMap;return(i=function(e){return e?o:t})(e)}},95896:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(53544);t.PLUGIN_KEY=s.PLUGIN_KEY,t.PLUGIN_PRIORITY=s.PLUGIN_PRIORITY,t.MergeCells=s.MergeCells},53544:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(63517);var n=o(36026),r=s(o(56307)),i=s(o(22603)),l=s(o(22951)),a=s(o(86805)),h=s(o(21989)),d=s(o(4146)),c=o(50095),u=o(22232),g=o(69173),f=o(68145),p=o(23916);o(70980);var m=o(83302),C=o(37595);r.default.getSingleton().register("beforeMergeCells"),r.default.getSingleton().register("afterMergeCells"),r.default.getSingleton().register("beforeUnmergeCells"),r.default.getSingleton().register("afterUnmergeCells");const w=t.PLUGIN_KEY="mergeCells",E=t.PLUGIN_PRIORITY=150,y=new WeakMap,v=w;class S extends n.BasePlugin{static get PLUGIN_KEY(){return w}static get PLUGIN_PRIORITY(){return E}constructor(e){super(e),y.set(this,{lastDesiredCoords:null}),this.mergedCellsCollection=null,this.autofillCalculations=null,this.selectionCalculations=null}isEnabled(){return!!this.hot.getSettings()[w]}enablePlugin(){var e=this;this.enabled||(this.mergedCellsCollection=new i.default(this),this.autofillCalculations=new a.default(this),this.selectionCalculations=new h.default(this),this.addHook("afterInit",(function(){return e.onAfterInit(...arguments)})),this.addHook("modifyTransformStart",(function(){return e.onModifyTransformStart(...arguments)})),this.addHook("afterModifyTransformStart",(function(){return e.onAfterModifyTransformStart(...arguments)})),this.addHook("modifyTransformEnd",(function(){return e.onModifyTransformEnd(...arguments)})),this.addHook("modifyGetCellCoords",(function(){return e.onModifyGetCellCoords(...arguments)})),this.addHook("beforeSetRangeStart",(function(){return e.onBeforeSetRangeStart(...arguments)})),this.addHook("beforeSetRangeStartOnly",(function(){return e.onBeforeSetRangeStart(...arguments)})),this.addHook("beforeSetRangeEnd",(function(){return e.onBeforeSetRangeEnd(...arguments)})),this.addHook("afterIsMultipleSelection",(function(){return e.onAfterIsMultipleSelection(...arguments)})),this.addHook("afterRenderer",(function(){return e.onAfterRenderer(...arguments)})),this.addHook("afterContextMenuDefaultOptions",(function(){return e.addMergeActionsToContextMenu(...arguments)})),this.addHook("afterGetCellMeta",(function(){return e.onAfterGetCellMeta(...arguments)})),this.addHook("afterViewportRowCalculatorOverride",(function(){return e.onAfterViewportRowCalculatorOverride(...arguments)})),this.addHook("afterViewportColumnCalculatorOverride",(function(){return e.onAfterViewportColumnCalculatorOverride(...arguments)})),this.addHook("modifyAutofillRange",(function(){return e.onModifyAutofillRange(...arguments)})),this.addHook("afterCreateCol",(function(){return e.onAfterCreateCol(...arguments)})),this.addHook("afterRemoveCol",(function(){return e.onAfterRemoveCol(...arguments)})),this.addHook("afterCreateRow",(function(){return e.onAfterCreateRow(...arguments)})),this.addHook("afterRemoveRow",(function(){return e.onAfterRemoveRow(...arguments)})),this.addHook("afterChange",(function(){return e.onAfterChange(...arguments)})),this.addHook("beforeDrawBorders",(function(){return e.onBeforeDrawAreaBorders(...arguments)})),this.addHook("afterDrawSelection",(function(){return e.onAfterDrawSelection(...arguments)})),this.addHook("beforeUndoStackChange",((e,t)=>{if("MergeCells"===t)return!1})),this.registerShortcuts(),super.enablePlugin())}disablePlugin(){this.clearCollections(),this.unregisterShortcuts(),this.hot.render(),super.disablePlugin()}updatePlugin(){const e=this.hot.getSettings()[w];this.disablePlugin(),this.enablePlugin(),this.generateFromSettings(e),super.updatePlugin()}ifChromeForceRepaint(){if(!(0,C.isChrome)())return;const e=[];let t=[];this.mergedCellsCollection.mergedCells.forEach((e=>{const{row:o,rowspan:s}=e;for(let e=o+1;e<o+s;e++)t.push(e)})),t=[...new Set(t)],t.forEach((t=>{const o=this.hot.rowIndexMapper.getRenderableFromVisualIndex(t);this.hot.view._wt.wtOverlays.getOverlays(!0).map((e=>"master"===(null==e?void 0:e.name)?e:e.clone.wtTable)).forEach((t=>{const s=t.getRow(o);s&&(s.style.background=(0,m.getStyle)(s,"backgroundColor").replace(")",", 0.99)"),e.push(s))}))})),this.hot._registerTimeout((()=>{e.forEach((e=>{e.style.background=(0,m.getStyle)(e,"backgroundColor").replace(", 0.99)",")")}))}),1)}validateSetting(e){let t=!0;return!!e&&(l.default.containsNegativeValues(e)?((0,g.warn)(l.default.NEGATIVE_VALUES_WARNING(e)),t=!1):l.default.isOutOfBounds(e,this.hot.countRows(),this.hot.countCols())?((0,g.warn)(l.default.IS_OUT_OF_BOUNDS_WARNING(e)),t=!1):l.default.isSingleCell(e)?((0,g.warn)(l.default.IS_SINGLE_CELL(e)),t=!1):l.default.containsZeroSpan(e)&&((0,g.warn)(l.default.ZERO_SPAN_WARNING(e)),t=!1),t)}generateFromSettings(e){if(Array.isArray(e)){const t=[];if((0,c.arrayEach)(e,(e=>{if(!this.validateSetting(e))return;const o=this.hot._createCellCoords(e.row,e.col),s=this.hot._createCellCoords(e.row+e.rowspan-1,e.col+e.colspan-1),n=this.hot._createCellRange(o,o,s);this.mergeRange(n,!0,!0),(0,f.rangeEach)(e.row,e.row+e.rowspan-1,(o=>{(0,f.rangeEach)(e.col,e.col+e.colspan-1,(s=>{!1==(o===e.row&&s===e.col)&&t.push([o,s,null])}))}))})),0===t.length)return;this.hot.setDataAtCell(t)}}clearCollections(){this.mergedCellsCollection.clear()}canMergeRange(e){return!!(arguments.length>1&&void 0!==arguments[1]&&arguments[1])||this.validateSetting(e)}toggleMergeOnSelection(){const e=this.hot.getSelectedRangeLast();if(!e)return;e.setDirection(this.hot.isRtl()?"NE-SW":"NW-SE");const{from:t,to:o}=e;this.toggleMerge(e),this.hot.selectCell(t.row,t.col,o.row,o.col,!1)}mergeSelection(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.hot.getSelectedRangeLast();if(!e)return;e.setDirection(this.hot.isRtl()?"NE-SW":"NW-SE");const{from:t,to:o}=e;this.unmergeRange(e,!0),this.mergeRange(e),this.hot.selectCell(t.row,t.col,o.row,o.col,!1)}unmergeSelection(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.hot.getSelectedRangeLast();if(!e)return;const{from:t,to:o}=e;this.unmergeRange(e,!0),this.hot.selectCell(t.row,t.col,o.row,o.col,!1)}mergeRange(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const s=e.getTopStartCorner(),n=e.getBottomEndCorner(),r={row:s.row,col:s.col,rowspan:n.row-s.row+1,colspan:n.col-s.col+1},i=[];let l=null;if(!this.canMergeRange(r,t))return!1;this.hot.runHooks("beforeMergeCells",e,t),(0,f.rangeEach)(0,r.rowspan-1,(e=>{(0,f.rangeEach)(0,r.colspan-1,(t=>{let o=null;i[e]||(i[e]=[]),0===e&&0===t?o=this.hot.getSourceDataAtCell(this.hot.toPhysicalRow(r.row),this.hot.toPhysicalColumn(r.col)):this.hot.setCellMeta(r.row+e,r.col+t,"hidden",!0),i[e][t]=o}))})),this.hot.setCellMeta(r.row,r.col,"spanned",!0);return!this.mergedCellsCollection.add(r)||(o?l=[r.row,r.col,i]:this.hot.populateFromArray(r.row,r.col,i,void 0,void 0,this.pluginName),t||this.ifChromeForceRepaint(),this.hot.runHooks("afterMergeCells",e,r,t),l)}unmergeRange(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const o=this.mergedCellsCollection.getWithinRange(e);o&&(this.hot.runHooks("beforeUnmergeCells",e,t),(0,c.arrayEach)(o,(e=>{this.mergedCellsCollection.remove(e.row,e.col),(0,f.rangeEach)(0,e.rowspan-1,(t=>{(0,f.rangeEach)(0,e.colspan-1,(o=>{this.hot.removeCellMeta(e.row+t,e.col+o,"hidden"),this.hot.removeCellMeta(e.row+t,e.col+o,"copyable")}))})),this.hot.removeCellMeta(e.row,e.col,"spanned")})),this.hot.runHooks("afterUnmergeCells",e,t),this.hot.render())}toggleMerge(e){const t=this.mergedCellsCollection.get(e.from.row,e.from.col);t.row===e.from.row&&t.col===e.from.col&&t.row+t.rowspan-1===e.to.row&&t.col+t.colspan-1===e.to.col?this.unmergeRange(e):this.mergeSelection(e)}merge(e,t,o,s){const n=this.hot._createCellCoords(e,t),r=this.hot._createCellCoords(o,s);this.mergeRange(this.hot._createCellRange(n,n,r))}unmerge(e,t,o,s){const n=this.hot._createCellCoords(e,t),r=this.hot._createCellCoords(o,s);this.unmergeRange(this.hot._createCellRange(n,n,r))}onAfterInit(){this.generateFromSettings(this.hot.getSettings()[w]),this.hot.render()}registerShortcuts(){this.hot.getShortcutManager().getContext("grid").addShortcut({keys:[["Control","m"]],callback:()=>{const e=this.hot.getSelectedRangeLast();e&&!e.isSingleHeader()&&(this.toggleMerge(e),this.hot.render())},runOnlyIf:e=>!e.altKey,group:v})}unregisterShortcuts(){this.hot.getShortcutManager().getContext("grid").removeShortcutsByGroup(v)}onAfterIsMultipleSelection(e){if(e){const e=this.mergedCellsCollection.mergedCells,t=this.hot.getSelectedRangeLast();for(let o=0;o<e.length;o+=1)if(t.from.row===e[o].row&&t.from.col===e[o].col&&t.to.row===e[o].row+e[o].rowspan-1&&t.to.col===e[o].col+e[o].colspan-1)return!1}return e}onModifyTransformStart(e){const t=y.get(this),o=this.hot.getSelectedRangeLast();let s={row:e.row,col:e.col},n=null;const r=this.hot._createCellCoords(o.highlight.row,o.highlight.col),i=this.mergedCellsCollection.get(r.row,r.col);if(t.lastDesiredCoords||(t.lastDesiredCoords=this.hot._createCellCoords(null,null)),i){const o=this.hot._createCellCoords(i.row,i.col),n=this.hot._createCellCoords(i.row+i.rowspan-1,i.col+i.colspan-1);this.hot._createCellRange(o,o,n).includes(t.lastDesiredCoords)||(t.lastDesiredCoords=this.hot._createCellCoords(null,null)),s.row=t.lastDesiredCoords.row?t.lastDesiredCoords.row-r.row:s.row,s.col=t.lastDesiredCoords.col?t.lastDesiredCoords.col-r.col:s.col,e.row>0?s.row=i.row+i.rowspan-1-r.row+e.row:e.row<0&&(s.row=r.row-i.row+e.row),e.col>0?s.col=i.col+i.colspan-1-r.col+e.col:e.col<0&&(s.col=r.col-i.col+e.col)}n=this.hot._createCellCoords(o.highlight.row+s.row,o.highlight.col+s.col);const l=this.mergedCellsCollection.get(n.row,n.col);if(l){const e=this.mergedCellsCollection.getFirstRenderableCoords(l.row,l.col);t.lastDesiredCoords=n,s={row:e.row-r.row,col:e.col-r.col}}0!==s.row&&(e.row=s.row),0!==s.col&&(e.col=s.col)}onModifyTransformEnd(e){const t=this.hot.getSelectedRangeLast(),o=(0,u.clone)(e),s=this.selectionCalculations.getUpdatedSelectionRange(t,e);let n=(0,u.clone)(o);const r=this.mergedCellsCollection.getWithinRange(s,!0);do{n=(0,u.clone)(o),this.selectionCalculations.getUpdatedSelectionRange(t,o),(0,c.arrayEach)(r,(e=>{this.selectionCalculations.snapDelta(o,t,e)}))}while(o.row!==n.row||o.col!==n.col);e.row=o.row,e.col=o.col}onModifyGetCellCoords(e,t){if(e<0||t<0)return;const o=this.mergedCellsCollection.get(e,t);if(!o)return;const{row:s,col:n,colspan:r,rowspan:i}=o;return[s,n,s+i-1,n+r-1]}addMergeActionsToContextMenu(e){e.items.push({name:"---------"},(0,d.default)(this))}onAfterRenderer(e,t,o){const s=this.mergedCellsCollection.get(t,o),n=(0,u.isObject)(s)?(0,u.clone)(s):void 0;if((0,u.isObject)(n)){const{rowIndexMapper:e,columnIndexMapper:s}=this.hot,{row:r,col:i,colspan:l,rowspan:a}=n,[h,d]=this.translateMergedCellToRenderable(r,a,i,l),c=h-e.getRenderableFromVisualIndex(t)+1,u=d-s.getRenderableFromVisualIndex(o)+1;n.row=e.getNearestNotHiddenIndex(n.row,1),n.col=s.getNearestNotHiddenIndex(n.col,1),n.rowspan=Math.min(n.rowspan,c),n.colspan=Math.min(n.colspan,u)}(0,p.applySpanProperties)(e,n,t,o)}onBeforeSetRangeStart(e){if(this.mergedCellsCollection.isFirstRenderableMergedCell(e.row,e.col)){const t=this.mergedCellsCollection.get(e.row,e.col);[e.row,e.col]=[t.row,t.col]}}onBeforeSetRangeEnd(e){const t=this.hot.getSelectedRangeLast();t.highlight=this.hot._createCellCoords(t.highlight.row,t.highlight.col),t.to=e;let o=!1;if(!this.hot.selection.isSelectedByColumnHeader()&&!this.hot.selection.isSelectedByRowHeader())do{o=!1;for(let s=0;s<this.mergedCellsCollection.mergedCells.length;s+=1){const n=this.mergedCellsCollection.mergedCells[s].getRange();t.expandByRange(n)&&(e.row=t.to.row,e.col=t.to.col,o=!0)}}while(o)}onAfterGetCellMeta(e,t,o){const s=this.mergedCellsCollection.get(e,t);s&&(s.row!==e||s.col!==t?o.copyable=!1:(o.rowspan=s.rowspan,o.colspan=s.colspan))}onAfterViewportRowCalculatorOverride(e){const t=this.hot.countCols();this.modifyViewportRowStart(e,t),this.modifyViewportRowEnd(e,t)}modifyViewportRowStart(e,t){const o=this.hot.rowIndexMapper,s=o.getVisualFromRenderableIndex(e.startRow);for(let n=0;n<t;n+=1){const r=this.mergedCellsCollection.get(s,n);if((0,u.isObject)(r)){const s=o.getRenderableFromVisualIndex(o.getNearestNotHiddenIndex(r.row,1));if(s<e.startRow)return e.startRow=s,void this.modifyViewportRowStart(e,t)}}}modifyViewportRowEnd(e,t){const o=this.hot.rowIndexMapper,s=o.getVisualFromRenderableIndex(e.endRow);for(let n=0;n<t;n+=1){const r=this.mergedCellsCollection.get(s,n);if((0,u.isObject)(r)){const s=r.row+r.rowspan-1,n=o.getRenderableFromVisualIndex(o.getNearestNotHiddenIndex(s,-1));if(n>e.endRow)return e.endRow=n,void this.modifyViewportRowEnd(e,t)}}}onAfterViewportColumnCalculatorOverride(e){const t=this.hot.countRows();this.modifyViewportColumnStart(e,t),this.modifyViewportColumnEnd(e,t)}modifyViewportColumnStart(e,t){const o=this.hot.columnIndexMapper,s=o.getVisualFromRenderableIndex(e.startColumn);for(let n=0;n<t;n+=1){const r=this.mergedCellsCollection.get(n,s);if((0,u.isObject)(r)){const s=o.getRenderableFromVisualIndex(o.getNearestNotHiddenIndex(r.col,1));if(s<e.startColumn)return e.startColumn=s,void this.modifyViewportColumnStart(e,t)}}}modifyViewportColumnEnd(e,t){const o=this.hot.columnIndexMapper,s=o.getVisualFromRenderableIndex(e.endColumn);for(let n=0;n<t;n+=1){const r=this.mergedCellsCollection.get(n,s);if((0,u.isObject)(r)){const s=r.col+r.colspan-1,n=o.getRenderableFromVisualIndex(o.getNearestNotHiddenIndex(s,-1));if(n>e.endColumn)return e.endColumn=n,void this.modifyViewportColumnEnd(e,t)}}}translateMergedCellToRenderable(e,t,o,s){const{rowIndexMapper:n,columnIndexMapper:r}=this.hot;let i,l;i=0===t?n.getNearestNotHiddenIndex(e,1):n.getNearestNotHiddenIndex(e+t-1,-1),l=0===s?r.getNearestNotHiddenIndex(o,1):r.getNearestNotHiddenIndex(o+s-1,-1);return[e>=0?n.getRenderableFromVisualIndex(i):e,o>=0?r.getRenderableFromVisualIndex(l):o]}onModifyAutofillRange(e,t){this.autofillCalculations.correctSelectionAreaSize(t);const o=this.autofillCalculations.getDirection(t,e);let s=e;if(this.autofillCalculations.dragAreaOverlapsCollections(t,s,o))return s=t,s;const n=this.mergedCellsCollection.getWithinRange({from:{row:t[0],col:t[1]},to:{row:t[2],col:t[3]}});return n?(s=this.autofillCalculations.snapDragArea(t,s,o,n),s):s}onAfterCreateCol(e,t){this.mergedCellsCollection.shiftCollections("right",e,t)}onAfterRemoveCol(e,t){this.mergedCellsCollection.shiftCollections("left",e,t)}onAfterCreateRow(e,t,o){"auto"!==o&&this.mergedCellsCollection.shiftCollections("down",e,t)}onAfterRemoveRow(e,t){this.mergedCellsCollection.shiftCollections("up",e,t)}onAfterChange(e,t){"Autofill.fill"===t&&this.autofillCalculations.recreateAfterDataPopulation(e)}onBeforeDrawAreaBorders(e,t){if(t&&"area"===t){const t=this.hot.getSelectedRangeLast(),o=this.mergedCellsCollection.getWithinRange(t);(0,c.arrayEach)(o,(o=>{t.getBottomEndCorner().row===o.getLastRow()&&t.getBottomEndCorner().col===o.getLastColumn()&&(e[2]=o.row,e[3]=o.col)}))}}onAfterModifyTransformStart(e,t,o){if(!this.enabled)return;const s=this.mergedCellsCollection.get(e.row,e.col);if(!s)return;const n=t>0,r=t<0,i=o<0,l=o>0,a=s.row+s.rowspan-1==this.hot.countRows()-1,h=0===s.row,d=s.col+s.colspan-1==this.hot.countCols()-1,c=0===s.col;(n&&a||r&&h||l&&d||i&&c)&&(e.row=s.row,e.col=s.col)}onAfterDrawSelection(e,t,o,s){if(o)return this.selectionCalculations.getSelectedMergedCellClassName(e,t,o,s)}}t.MergeCells=S},23916:(e,t)=>{"use strict";t.__esModule=!0,t.applySpanProperties=function(e,t,o,s){t?t.row===o&&t.col===s?(e.setAttribute("rowspan",t.rowspan.toString()),e.setAttribute("colspan",t.colspan.toString())):(e.removeAttribute("rowspan"),e.removeAttribute("colspan"),e.style.display="none"):(e.removeAttribute("rowspan"),e.removeAttribute("colspan"),e.style.display="")}},82546:(e,t,o)=>{"use strict";t.__esModule=!0,t.getClassesToAdd=function(e,t,o){const n=[];if(!1===o)return n;e.isColumnSorted(t)&&e.getNumberOfSortedColumns()>1&&n.push(`${s}-${e.getIndexOfColumnInSortQueue(t)+1}`);return n},t.getClassesToRemove=function(e){const t=e.className.split(" "),o=new RegExp(`^${s}-[0-9]{1,2}$`);return t.filter((e=>o.test(e)))},o(63517);const s="sort"},13620:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(14755);t.PLUGIN_KEY=s.PLUGIN_KEY,t.PLUGIN_PRIORITY=s.PLUGIN_PRIORITY,t.MultiColumnSorting=s.MultiColumnSorting},14755:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(1902),n=o(51510),r=o(64951),i=o(83302),l=o(54639),a=o(67012),h=o(82546),d=o(5386),c=o(77516);o(2049);const u=t.PLUGIN_KEY="multiColumnSorting",g=t.PLUGIN_PRIORITY=170,f="columnSorting",p=u;(0,n.registerRootComparator)(u,l.rootComparator);class m extends s.ColumnSorting{static get PLUGIN_KEY(){return u}static get PLUGIN_PRIORITY(){return g}constructor(e){super(e),this.pluginKey=u}isEnabled(){return super.isEnabled()}enablePlugin(){!this.enabled&&this.hot.getSettings()[this.pluginKey]&&this.hot.getSettings()[f]&&(0,a.warnAboutPluginsConflict)(),super.enablePlugin()}disablePlugin(){super.disablePlugin()}registerShortcuts(){super.registerShortcuts(),this.hot.getShortcutManager().getContext("grid").addShortcut({keys:[["Shift","Enter"]],callback:()=>{const{highlight:e}=this.hot.getSelectedRangeLast();-1===e.row&&e.col>=0&&this.sort(this.getNextSortConfig(e.col,s.APPEND_COLUMN_CONFIG_STRATEGY))},runOnlyIf:()=>{var e;return null===(e=this.hot.getSelectedRangeLast())||void 0===e?void 0:e.highlight.isHeader()},group:p})}unregisterShortcuts(){super.unregisterShortcuts(),this.hot.getShortcutManager().getContext("grid").removeShortcutsByGroup(p)}sort(e){super.sort(e)}clearSort(){super.clearSort()}isSorted(){return super.isSorted()}getSortConfig(e){return super.getSortConfig(e)}setSortConfig(e){super.setSortConfig(e)}getNormalizedSortConfigs(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return Array.isArray(e)?e:[e]}updateHeaderClasses(e){for(var t=arguments.length,o=new Array(t>1?t-1:0),s=1;s<t;s++)o[s-1]=arguments[s];super.updateHeaderClasses(e,...o),(0,i.removeClass)(e,(0,h.getClassesToRemove)(e)),!1!==this.enabled&&(0,i.addClass)(e,(0,h.getClassesToAdd)(...o))}updateSortingIndicator(e,t){super.updateSortingIndicator(e,t);const o=t.querySelector(".columnSortingIndicator");if(!o||!this.hot.getSettings().ariaTags||!this.columnStatesManager.isColumnSorted(e)||this.columnStatesManager.getNumberOfSortedColumns()<=1)return;const s=this.columnStatesManager.getIndexOfColumnInSortQueue(e)+1,n=(0,d.A11Y_LABEL)(`${this.hot.getTranslatedPhrase(c.COLUMN_HEADER_LABEL_MULTI_COLUMN_SORT_ORDER)} ${s}.`);(0,i.removeAttribute)(o,(0,d.A11Y_HIDDEN)()[0]),(0,i.setAttribute)(o,...n)}onUpdateSettings(e){this.hot.getSettings()[this.pluginKey]&&this.hot.getSettings()[f]&&(0,a.warnAboutPluginsConflict)(),super.onUpdateSettings(e)}onAfterOnCellMouseDown(e,t){!1!==(0,r.wasHeaderClickedProperly)(t.row,t.col,e)&&this.wasClickableHeaderClicked(e,t.col)&&(this.hot.getShortcutManager().isCtrlPressed()?(this.hot.deselectCell(),this.hot.selectColumns(t.col),this.sort(this.getNextSortConfig(t.col,s.APPEND_COLUMN_CONFIG_STRATEGY))):this.sort(this.getColumnNextConfig(t.col)))}}t.MultiColumnSorting=m},54639:(e,t,o)=>{"use strict";t.__esModule=!0,t.rootComparator=function(e,t){return function(o,n){const[,...r]=o,[,...i]=n;return function o(n){const l=e[n],a=t[n],h=r[n],d=i[n],c=a.multiColumnSorting,u=(c.compareFunctionFactory?c.compareFunctionFactory:(0,s.getCompareFunctionFactory)(a.type))(l,a,c)(h,d);if(u===s.DO_NOT_SWAP){const e=n+1;if(void 0!==t[e])return o(e)}return u}(0)}};var s=o(51510)},67012:(e,t,o)=>{"use strict";t.__esModule=!0,t.warnAboutPluginsConflict=function(){(0,s.warn)(n.toSingleLine`Plugins \`columnSorting\` and \`multiColumnSorting\` should not be enabled simultaneously.
|
85
|
+
fix your setup.`}get(e,t){const o=this.mergedCells;let s=!1;return(0,l.arrayEach)(o,(o=>!(o.row<=e&&o.row+o.rowspan-1>=e&&o.col<=t&&o.col+o.colspan-1>=t)||(s=o,!1))),s}getByRange(e){const t=this.mergedCells;let o=!1;return(0,l.arrayEach)(t,(t=>!(t.row<=e.from.row&&t.row+t.rowspan-1>=e.to.row&&t.col<=e.from.col&&t.col+t.colspan-1>=e.to.col)||(o=t,o))),o}getWithinRange(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const o=this.mergedCells,s=[];let n=e;if(!n.includesRange){const e=this.hot._createCellCoords(n.from.row,n.from.col),t=this.hot._createCellCoords(n.to.row,n.to.col);n=this.hot._createCellRange(e,e,t)}return(0,l.arrayEach)(o,(e=>{const o=this.hot._createCellCoords(e.row,e.col),r=this.hot._createCellCoords(e.row+e.rowspan-1,e.col+e.colspan-1),i=this.hot._createCellRange(o,o,r);t?n.overlaps(i)&&s.push(e):n.includesRange(i)&&s.push(e)})),!!s.length&&s}add(e){const t=this.mergedCells,o=e.row,s=e.col,r=e.rowspan,l=e.colspan,a=new n.default(o,s,r,l,this.hot._createCellCoords,this.hot._createCellRange),h=this.get(o,s),c=this.isOverlapping(a);return h||c?((0,i.warn)(d.IS_OVERLAPPING_WARNING(a)),!1):(this.hot&&a.normalize(this.hot),t.push(a),a)}remove(e,t){const o=this.mergedCells,s=this.get(e,t),n=s?this.mergedCells.indexOf(s):-1;return!(!s||-1===n)&&(o.splice(n,1),s)}clear(){const e=this.mergedCells,t=[],o=[];(0,l.arrayEach)(e,(e=>{const o=this.hot.getCell(e.row,e.col);o&&t.push([o,this.get(e.row,e.col),e.row,e.col])})),this.mergedCells.length=0,(0,l.arrayEach)(t,((e,s)=>{(0,r.rangeEach)(0,e.rowspan-1,(t=>{(0,r.rangeEach)(0,e.colspan-1,(s=>{if(0!==s||0!==t){const n=this.hot.getCell(e.row+t,e.col+s);n&&o.push([n,null,null,null])}}))})),t[s][1]=null})),(0,l.arrayEach)(t,(e=>{(0,a.applySpanProperties)(...e)})),(0,l.arrayEach)(o,(e=>{(0,a.applySpanProperties)(...e)}))}isOverlapping(e){const t=this.hot._createCellRange(this.hot._createCellCoords(0,0),this.hot._createCellCoords(e.row,e.col),this.hot._createCellCoords(e.row+e.rowspan-1,e.col+e.colspan-1));let o=!1;return(0,l.arrayEach)(this.mergedCells,(e=>!this.hot._createCellRange(this.hot._createCellCoords(0,0),this.hot._createCellCoords(e.row,e.col),this.hot._createCellCoords(e.row+e.rowspan-1,e.col+e.colspan-1)).overlaps(t)||(o=!0,!1))),o}isFirstRenderableMergedCell(e,t){const o=this.get(e,t);return o&&this.hot.rowIndexMapper.getNearestNotHiddenIndex(o.row,1)===e&&this.hot.columnIndexMapper.getNearestNotHiddenIndex(o.col,1)===t}getFirstRenderableCoords(e,t){const o=this.get(e,t);if(!o||this.isFirstRenderableMergedCell(e,t))return this.hot._createCellCoords(e,t);const s=this.hot.rowIndexMapper.getNearestNotHiddenIndex(o.row,1),n=this.hot.columnIndexMapper.getNearestNotHiddenIndex(o.col,1);return this.hot._createCellCoords(s,n)}shiftCollections(e,t,o){const s=[0,0];switch(e){case"right":s[0]+=o;break;case"left":s[0]-=o;break;case"down":s[1]+=o;break;case"up":s[1]-=o}(0,l.arrayEach)(this.mergedCells,(e=>{e.shift(s,t)})),(0,r.rangeEachReverse)(this.mergedCells.length-1,0,(e=>{const t=this.mergedCells[e];t&&t.removed&&this.mergedCells.splice(this.mergedCells.indexOf(t),1)}))}}t.default=d},4146:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,t.default=function(e){return{key:"mergeCells",name(){const t=this.getSelectedLast();if(t){const o=e.mergedCellsCollection.get(t[0],t[1]);if(o.row===t[0]&&o.col===t[1]&&o.row+o.rowspan-1===t[2]&&o.col+o.colspan-1===t[3])return this.getTranslatedPhrase(n.CONTEXTMENU_ITEMS_UNMERGE_CELLS)}return this.getTranslatedPhrase(n.CONTEXTMENU_ITEMS_MERGE_CELLS)},callback(){e.toggleMergeOnSelection()},disabled(){const e=this.getSelectedLast();if(!e)return!0;return r.default.isSingleCell({row:e[0],col:e[1],rowspan:e[2]-e[0]+1,colspan:e[3]-e[1]+1})||this.selection.isSelectedByCorner()},hidden:!1}};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 o=i(t);if(o&&o.has(e))return o.get(e);var s={__proto__:null},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if("default"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var l=n?Object.getOwnPropertyDescriptor(e,r):null;l&&(l.get||l.set)?Object.defineProperty(s,r,l):s[r]=e[r]}return s.default=e,o&&o.set(e,s),s}(o(77516)),r=s(o(22951));function i(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,o=new WeakMap;return(i=function(e){return e?o:t})(e)}},95896:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(53544);t.PLUGIN_KEY=s.PLUGIN_KEY,t.PLUGIN_PRIORITY=s.PLUGIN_PRIORITY,t.MergeCells=s.MergeCells},53544:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(63517);var n=o(36026),r=s(o(56307)),i=s(o(22603)),l=s(o(22951)),a=s(o(86805)),h=s(o(21989)),d=s(o(4146)),c=o(50095),u=o(22232),g=o(69173),f=o(68145),p=o(23916);o(70980);var m=o(83302),C=o(37595);r.default.getSingleton().register("beforeMergeCells"),r.default.getSingleton().register("afterMergeCells"),r.default.getSingleton().register("beforeUnmergeCells"),r.default.getSingleton().register("afterUnmergeCells");const w=t.PLUGIN_KEY="mergeCells",E=t.PLUGIN_PRIORITY=150,y=new WeakMap,v=w;class S extends n.BasePlugin{static get PLUGIN_KEY(){return w}static get PLUGIN_PRIORITY(){return E}constructor(e){super(e),y.set(this,{lastDesiredCoords:null}),this.mergedCellsCollection=null,this.autofillCalculations=null,this.selectionCalculations=null}isEnabled(){return!!this.hot.getSettings()[w]}enablePlugin(){var e=this;this.enabled||(this.mergedCellsCollection=new i.default(this),this.autofillCalculations=new a.default(this),this.selectionCalculations=new h.default(this),this.addHook("afterInit",(function(){return e.onAfterInit(...arguments)})),this.addHook("modifyTransformStart",(function(){return e.onModifyTransformStart(...arguments)})),this.addHook("afterModifyTransformStart",(function(){return e.onAfterModifyTransformStart(...arguments)})),this.addHook("modifyTransformEnd",(function(){return e.onModifyTransformEnd(...arguments)})),this.addHook("modifyGetCellCoords",(function(){return e.onModifyGetCellCoords(...arguments)})),this.addHook("beforeSetRangeStart",(function(){return e.onBeforeSetRangeStart(...arguments)})),this.addHook("beforeSetRangeStartOnly",(function(){return e.onBeforeSetRangeStart(...arguments)})),this.addHook("beforeSetRangeEnd",(function(){return e.onBeforeSetRangeEnd(...arguments)})),this.addHook("afterIsMultipleSelection",(function(){return e.onAfterIsMultipleSelection(...arguments)})),this.addHook("afterRenderer",(function(){return e.onAfterRenderer(...arguments)})),this.addHook("afterContextMenuDefaultOptions",(function(){return e.addMergeActionsToContextMenu(...arguments)})),this.addHook("afterGetCellMeta",(function(){return e.onAfterGetCellMeta(...arguments)})),this.addHook("afterViewportRowCalculatorOverride",(function(){return e.onAfterViewportRowCalculatorOverride(...arguments)})),this.addHook("afterViewportColumnCalculatorOverride",(function(){return e.onAfterViewportColumnCalculatorOverride(...arguments)})),this.addHook("modifyAutofillRange",(function(){return e.onModifyAutofillRange(...arguments)})),this.addHook("afterCreateCol",(function(){return e.onAfterCreateCol(...arguments)})),this.addHook("afterRemoveCol",(function(){return e.onAfterRemoveCol(...arguments)})),this.addHook("afterCreateRow",(function(){return e.onAfterCreateRow(...arguments)})),this.addHook("afterRemoveRow",(function(){return e.onAfterRemoveRow(...arguments)})),this.addHook("afterChange",(function(){return e.onAfterChange(...arguments)})),this.addHook("beforeDrawBorders",(function(){return e.onBeforeDrawAreaBorders(...arguments)})),this.addHook("afterDrawSelection",(function(){return e.onAfterDrawSelection(...arguments)})),this.addHook("beforeRemoveCellClassNames",(function(){return e.onBeforeRemoveCellClassNames(...arguments)})),this.addHook("beforeUndoStackChange",((e,t)=>{if("MergeCells"===t)return!1})),this.registerShortcuts(),super.enablePlugin())}disablePlugin(){this.clearCollections(),this.unregisterShortcuts(),this.hot.render(),super.disablePlugin()}updatePlugin(){const e=this.hot.getSettings()[w];this.disablePlugin(),this.enablePlugin(),this.generateFromSettings(e),super.updatePlugin()}ifChromeForceRepaint(){if(!(0,C.isChrome)())return;const e=[];let t=[];this.mergedCellsCollection.mergedCells.forEach((e=>{const{row:o,rowspan:s}=e;for(let e=o+1;e<o+s;e++)t.push(e)})),t=[...new Set(t)],t.forEach((t=>{const o=this.hot.rowIndexMapper.getRenderableFromVisualIndex(t);this.hot.view._wt.wtOverlays.getOverlays(!0).map((e=>"master"===(null==e?void 0:e.name)?e:e.clone.wtTable)).forEach((t=>{const s=t.getRow(o);s&&(s.style.background=(0,m.getStyle)(s,"backgroundColor").replace(")",", 0.99)"),e.push(s))}))})),this.hot._registerTimeout((()=>{e.forEach((e=>{e.style.background=(0,m.getStyle)(e,"backgroundColor").replace(", 0.99)",")")}))}),1)}validateSetting(e){let t=!0;return!!e&&(l.default.containsNegativeValues(e)?((0,g.warn)(l.default.NEGATIVE_VALUES_WARNING(e)),t=!1):l.default.isOutOfBounds(e,this.hot.countRows(),this.hot.countCols())?((0,g.warn)(l.default.IS_OUT_OF_BOUNDS_WARNING(e)),t=!1):l.default.isSingleCell(e)?((0,g.warn)(l.default.IS_SINGLE_CELL(e)),t=!1):l.default.containsZeroSpan(e)&&((0,g.warn)(l.default.ZERO_SPAN_WARNING(e)),t=!1),t)}generateFromSettings(e){if(Array.isArray(e)){const t=[];if((0,c.arrayEach)(e,(e=>{if(!this.validateSetting(e))return;const o=this.hot._createCellCoords(e.row,e.col),s=this.hot._createCellCoords(e.row+e.rowspan-1,e.col+e.colspan-1),n=this.hot._createCellRange(o,o,s);this.mergeRange(n,!0,!0),(0,f.rangeEach)(e.row,e.row+e.rowspan-1,(o=>{(0,f.rangeEach)(e.col,e.col+e.colspan-1,(s=>{!1==(o===e.row&&s===e.col)&&t.push([o,s,null])}))}))})),0===t.length)return;this.hot.setDataAtCell(t)}}clearCollections(){this.mergedCellsCollection.clear()}canMergeRange(e){return!!(arguments.length>1&&void 0!==arguments[1]&&arguments[1])||this.validateSetting(e)}toggleMergeOnSelection(){const e=this.hot.getSelectedRangeLast();if(!e)return;e.setDirection(this.hot.isRtl()?"NE-SW":"NW-SE");const{from:t,to:o}=e;this.toggleMerge(e),this.hot.selectCell(t.row,t.col,o.row,o.col,!1)}mergeSelection(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.hot.getSelectedRangeLast();if(!e)return;e.setDirection(this.hot.isRtl()?"NE-SW":"NW-SE");const{from:t,to:o}=e;this.unmergeRange(e,!0),this.mergeRange(e),this.hot.selectCell(t.row,t.col,o.row,o.col,!1)}unmergeSelection(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.hot.getSelectedRangeLast();if(!e)return;const{from:t,to:o}=e;this.unmergeRange(e,!0),this.hot.selectCell(t.row,t.col,o.row,o.col,!1)}mergeRange(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const s=e.getTopStartCorner(),n=e.getBottomEndCorner(),r={row:s.row,col:s.col,rowspan:n.row-s.row+1,colspan:n.col-s.col+1},i=[];let l=null;if(!this.canMergeRange(r,t))return!1;this.hot.runHooks("beforeMergeCells",e,t),(0,f.rangeEach)(0,r.rowspan-1,(e=>{(0,f.rangeEach)(0,r.colspan-1,(t=>{let o=null;i[e]||(i[e]=[]),0===e&&0===t?o=this.hot.getSourceDataAtCell(this.hot.toPhysicalRow(r.row),this.hot.toPhysicalColumn(r.col)):this.hot.setCellMeta(r.row+e,r.col+t,"hidden",!0),i[e][t]=o}))})),this.hot.setCellMeta(r.row,r.col,"spanned",!0);return!this.mergedCellsCollection.add(r)||(o?l=[r.row,r.col,i]:this.hot.populateFromArray(r.row,r.col,i,void 0,void 0,this.pluginName),t||this.ifChromeForceRepaint(),this.hot.runHooks("afterMergeCells",e,r,t),l)}unmergeRange(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const o=this.mergedCellsCollection.getWithinRange(e);o&&(this.hot.runHooks("beforeUnmergeCells",e,t),(0,c.arrayEach)(o,(e=>{this.mergedCellsCollection.remove(e.row,e.col),(0,f.rangeEach)(0,e.rowspan-1,(t=>{(0,f.rangeEach)(0,e.colspan-1,(o=>{this.hot.removeCellMeta(e.row+t,e.col+o,"hidden"),this.hot.removeCellMeta(e.row+t,e.col+o,"copyable")}))})),this.hot.removeCellMeta(e.row,e.col,"spanned")})),this.hot.runHooks("afterUnmergeCells",e,t),this.hot.render())}toggleMerge(e){const t=this.mergedCellsCollection.get(e.from.row,e.from.col);t.row===e.from.row&&t.col===e.from.col&&t.row+t.rowspan-1===e.to.row&&t.col+t.colspan-1===e.to.col?this.unmergeRange(e):this.mergeSelection(e)}merge(e,t,o,s){const n=this.hot._createCellCoords(e,t),r=this.hot._createCellCoords(o,s);this.mergeRange(this.hot._createCellRange(n,n,r))}unmerge(e,t,o,s){const n=this.hot._createCellCoords(e,t),r=this.hot._createCellCoords(o,s);this.unmergeRange(this.hot._createCellRange(n,n,r))}onAfterInit(){this.generateFromSettings(this.hot.getSettings()[w]),this.hot.render()}registerShortcuts(){this.hot.getShortcutManager().getContext("grid").addShortcut({keys:[["Control","m"]],callback:()=>{const e=this.hot.getSelectedRangeLast();e&&!e.isSingleHeader()&&(this.toggleMerge(e),this.hot.render())},runOnlyIf:e=>!e.altKey,group:v})}unregisterShortcuts(){this.hot.getShortcutManager().getContext("grid").removeShortcutsByGroup(v)}onAfterIsMultipleSelection(e){if(e){const e=this.mergedCellsCollection.mergedCells,t=this.hot.getSelectedRangeLast();for(let o=0;o<e.length;o+=1)if(t.from.row===e[o].row&&t.from.col===e[o].col&&t.to.row===e[o].row+e[o].rowspan-1&&t.to.col===e[o].col+e[o].colspan-1)return!1}return e}onModifyTransformStart(e){const t=y.get(this),o=this.hot.getSelectedRangeLast();let s={row:e.row,col:e.col},n=null;const r=this.hot._createCellCoords(o.highlight.row,o.highlight.col),i=this.mergedCellsCollection.get(r.row,r.col);if(t.lastDesiredCoords||(t.lastDesiredCoords=this.hot._createCellCoords(null,null)),i){const o=this.hot._createCellCoords(i.row,i.col),n=this.hot._createCellCoords(i.row+i.rowspan-1,i.col+i.colspan-1);this.hot._createCellRange(o,o,n).includes(t.lastDesiredCoords)||(t.lastDesiredCoords=this.hot._createCellCoords(null,null)),s.row=t.lastDesiredCoords.row?t.lastDesiredCoords.row-r.row:s.row,s.col=t.lastDesiredCoords.col?t.lastDesiredCoords.col-r.col:s.col,e.row>0?s.row=i.row+i.rowspan-1-r.row+e.row:e.row<0&&(s.row=r.row-i.row+e.row),e.col>0?s.col=i.col+i.colspan-1-r.col+e.col:e.col<0&&(s.col=r.col-i.col+e.col)}n=this.hot._createCellCoords(o.highlight.row+s.row,o.highlight.col+s.col);const l=this.mergedCellsCollection.get(n.row,n.col);if(l){const e=this.mergedCellsCollection.getFirstRenderableCoords(l.row,l.col);t.lastDesiredCoords=n,s={row:e.row-r.row,col:e.col-r.col}}0!==s.row&&(e.row=s.row),0!==s.col&&(e.col=s.col)}onModifyTransformEnd(e){const t=this.hot.getSelectedRangeLast(),o=(0,u.clone)(e),s=this.selectionCalculations.getUpdatedSelectionRange(t,e);let n=(0,u.clone)(o);const r=this.mergedCellsCollection.getWithinRange(s,!0);do{n=(0,u.clone)(o),this.selectionCalculations.getUpdatedSelectionRange(t,o),(0,c.arrayEach)(r,(e=>{this.selectionCalculations.snapDelta(o,t,e)}))}while(o.row!==n.row||o.col!==n.col);e.row=o.row,e.col=o.col}onModifyGetCellCoords(e,t){if(e<0||t<0)return;const o=this.mergedCellsCollection.get(e,t);if(!o)return;const{row:s,col:n,colspan:r,rowspan:i}=o;return[s,n,s+i-1,n+r-1]}addMergeActionsToContextMenu(e){e.items.push({name:"---------"},(0,d.default)(this))}onAfterRenderer(e,t,o){const s=this.mergedCellsCollection.get(t,o),n=(0,u.isObject)(s)?(0,u.clone)(s):void 0;if((0,u.isObject)(n)){const{rowIndexMapper:e,columnIndexMapper:s}=this.hot,{row:r,col:i,colspan:l,rowspan:a}=n,[h,d]=this.translateMergedCellToRenderable(r,a,i,l),c=h-e.getRenderableFromVisualIndex(t)+1,u=d-s.getRenderableFromVisualIndex(o)+1;n.row=e.getNearestNotHiddenIndex(n.row,1),n.col=s.getNearestNotHiddenIndex(n.col,1),n.rowspan=Math.min(n.rowspan,c),n.colspan=Math.min(n.colspan,u)}(0,p.applySpanProperties)(e,n,t,o)}onBeforeSetRangeStart(e){if(this.mergedCellsCollection.isFirstRenderableMergedCell(e.row,e.col)){const t=this.mergedCellsCollection.get(e.row,e.col);[e.row,e.col]=[t.row,t.col]}}onBeforeSetRangeEnd(e){const t=this.hot.getSelectedRangeLast();t.highlight=this.hot._createCellCoords(t.highlight.row,t.highlight.col),t.to=e;let o=!1;if(!this.hot.selection.isSelectedByColumnHeader()&&!this.hot.selection.isSelectedByRowHeader())do{o=!1;for(let s=0;s<this.mergedCellsCollection.mergedCells.length;s+=1){const n=this.mergedCellsCollection.mergedCells[s].getRange();t.expandByRange(n)&&(e.row=t.to.row,e.col=t.to.col,o=!0)}}while(o)}onAfterGetCellMeta(e,t,o){const s=this.mergedCellsCollection.get(e,t);s&&(s.row!==e||s.col!==t?o.copyable=!1:(o.rowspan=s.rowspan,o.colspan=s.colspan))}onAfterViewportRowCalculatorOverride(e){const t=this.hot.countCols();this.modifyViewportRowStart(e,t),this.modifyViewportRowEnd(e,t)}modifyViewportRowStart(e,t){const o=this.hot.rowIndexMapper,s=o.getVisualFromRenderableIndex(e.startRow);for(let n=0;n<t;n+=1){const r=this.mergedCellsCollection.get(s,n);if((0,u.isObject)(r)){const s=o.getRenderableFromVisualIndex(o.getNearestNotHiddenIndex(r.row,1));if(s<e.startRow)return e.startRow=s,void this.modifyViewportRowStart(e,t)}}}modifyViewportRowEnd(e,t){const o=this.hot.rowIndexMapper,s=o.getVisualFromRenderableIndex(e.endRow);for(let n=0;n<t;n+=1){const r=this.mergedCellsCollection.get(s,n);if((0,u.isObject)(r)){const s=r.row+r.rowspan-1,n=o.getRenderableFromVisualIndex(o.getNearestNotHiddenIndex(s,-1));if(n>e.endRow)return e.endRow=n,void this.modifyViewportRowEnd(e,t)}}}onAfterViewportColumnCalculatorOverride(e){const t=this.hot.countRows();this.modifyViewportColumnStart(e,t),this.modifyViewportColumnEnd(e,t)}modifyViewportColumnStart(e,t){const o=this.hot.columnIndexMapper,s=o.getVisualFromRenderableIndex(e.startColumn);for(let n=0;n<t;n+=1){const r=this.mergedCellsCollection.get(n,s);if((0,u.isObject)(r)){const s=o.getRenderableFromVisualIndex(o.getNearestNotHiddenIndex(r.col,1));if(s<e.startColumn)return e.startColumn=s,void this.modifyViewportColumnStart(e,t)}}}modifyViewportColumnEnd(e,t){const o=this.hot.columnIndexMapper,s=o.getVisualFromRenderableIndex(e.endColumn);for(let n=0;n<t;n+=1){const r=this.mergedCellsCollection.get(n,s);if((0,u.isObject)(r)){const s=r.col+r.colspan-1,n=o.getRenderableFromVisualIndex(o.getNearestNotHiddenIndex(s,-1));if(n>e.endColumn)return e.endColumn=n,void this.modifyViewportColumnEnd(e,t)}}}translateMergedCellToRenderable(e,t,o,s){const{rowIndexMapper:n,columnIndexMapper:r}=this.hot;let i,l;i=0===t?n.getNearestNotHiddenIndex(e,1):n.getNearestNotHiddenIndex(e+t-1,-1),l=0===s?r.getNearestNotHiddenIndex(o,1):r.getNearestNotHiddenIndex(o+s-1,-1);return[e>=0?n.getRenderableFromVisualIndex(i):e,o>=0?r.getRenderableFromVisualIndex(l):o]}onModifyAutofillRange(e,t){this.autofillCalculations.correctSelectionAreaSize(t);const o=this.autofillCalculations.getDirection(t,e);let s=e;if(this.autofillCalculations.dragAreaOverlapsCollections(t,s,o))return s=t,s;const n=this.mergedCellsCollection.getWithinRange({from:{row:t[0],col:t[1]},to:{row:t[2],col:t[3]}});return n?(s=this.autofillCalculations.snapDragArea(t,s,o,n),s):s}onAfterCreateCol(e,t){this.mergedCellsCollection.shiftCollections("right",e,t)}onAfterRemoveCol(e,t){this.mergedCellsCollection.shiftCollections("left",e,t)}onAfterCreateRow(e,t,o){"auto"!==o&&this.mergedCellsCollection.shiftCollections("down",e,t)}onAfterRemoveRow(e,t){this.mergedCellsCollection.shiftCollections("up",e,t)}onAfterChange(e,t){"Autofill.fill"===t&&this.autofillCalculations.recreateAfterDataPopulation(e)}onBeforeDrawAreaBorders(e,t){if(t&&"area"===t){const t=this.hot.getSelectedRangeLast(),o=this.mergedCellsCollection.getWithinRange(t);(0,c.arrayEach)(o,(o=>{t.getBottomEndCorner().row===o.getLastRow()&&t.getBottomEndCorner().col===o.getLastColumn()&&(e[2]=o.row,e[3]=o.col)}))}}onAfterModifyTransformStart(e,t,o){if(!this.enabled)return;const s=this.mergedCellsCollection.get(e.row,e.col);if(!s)return;const n=t>0,r=t<0,i=o<0,l=o>0,a=s.row+s.rowspan-1==this.hot.countRows()-1,h=0===s.row,d=s.col+s.colspan-1==this.hot.countCols()-1,c=0===s.col;(n&&a||r&&h||l&&d||i&&c)&&(e.row=s.row,e.col=s.col)}onAfterDrawSelection(e,t,o,s){if(o)return this.selectionCalculations.getSelectedMergedCellClassName(e,t,o,s)}onBeforeRemoveCellClassNames(){return this.selectionCalculations.getSelectedMergedCellClassNameToRemove()}}t.MergeCells=S},23916:(e,t)=>{"use strict";t.__esModule=!0,t.applySpanProperties=function(e,t,o,s){t?t.row===o&&t.col===s?(e.setAttribute("rowspan",t.rowspan.toString()),e.setAttribute("colspan",t.colspan.toString())):(e.removeAttribute("rowspan"),e.removeAttribute("colspan"),e.style.display="none"):(e.removeAttribute("rowspan"),e.removeAttribute("colspan"),e.style.display="")}},82546:(e,t,o)=>{"use strict";t.__esModule=!0,t.getClassesToAdd=function(e,t,o){const n=[];if(!1===o)return n;e.isColumnSorted(t)&&e.getNumberOfSortedColumns()>1&&n.push(`${s}-${e.getIndexOfColumnInSortQueue(t)+1}`);return n},t.getClassesToRemove=function(e){const t=e.className.split(" "),o=new RegExp(`^${s}-[0-9]{1,2}$`);return t.filter((e=>o.test(e)))},o(63517);const s="sort"},13620:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(14755);t.PLUGIN_KEY=s.PLUGIN_KEY,t.PLUGIN_PRIORITY=s.PLUGIN_PRIORITY,t.MultiColumnSorting=s.MultiColumnSorting},14755:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(1902),n=o(51510),r=o(64951),i=o(83302),l=o(54639),a=o(67012),h=o(82546),d=o(5386),c=o(77516);o(2049);const u=t.PLUGIN_KEY="multiColumnSorting",g=t.PLUGIN_PRIORITY=170,f="columnSorting",p=u;(0,n.registerRootComparator)(u,l.rootComparator);class m extends s.ColumnSorting{static get PLUGIN_KEY(){return u}static get PLUGIN_PRIORITY(){return g}constructor(e){super(e),this.pluginKey=u}isEnabled(){return super.isEnabled()}enablePlugin(){!this.enabled&&this.hot.getSettings()[this.pluginKey]&&this.hot.getSettings()[f]&&(0,a.warnAboutPluginsConflict)(),super.enablePlugin()}disablePlugin(){super.disablePlugin()}registerShortcuts(){super.registerShortcuts(),this.hot.getShortcutManager().getContext("grid").addShortcut({keys:[["Shift","Enter"]],callback:()=>{const{highlight:e}=this.hot.getSelectedRangeLast();-1===e.row&&e.col>=0&&this.sort(this.getNextSortConfig(e.col,s.APPEND_COLUMN_CONFIG_STRATEGY))},runOnlyIf:()=>{var e;return null===(e=this.hot.getSelectedRangeLast())||void 0===e?void 0:e.highlight.isHeader()},group:p})}unregisterShortcuts(){super.unregisterShortcuts(),this.hot.getShortcutManager().getContext("grid").removeShortcutsByGroup(p)}sort(e){super.sort(e)}clearSort(){super.clearSort()}isSorted(){return super.isSorted()}getSortConfig(e){return super.getSortConfig(e)}setSortConfig(e){super.setSortConfig(e)}getNormalizedSortConfigs(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return Array.isArray(e)?e:[e]}updateHeaderClasses(e){for(var t=arguments.length,o=new Array(t>1?t-1:0),s=1;s<t;s++)o[s-1]=arguments[s];super.updateHeaderClasses(e,...o),(0,i.removeClass)(e,(0,h.getClassesToRemove)(e)),!1!==this.enabled&&(0,i.addClass)(e,(0,h.getClassesToAdd)(...o))}updateSortingIndicator(e,t){super.updateSortingIndicator(e,t);const o=t.querySelector(".columnSortingIndicator");if(!o||!this.hot.getSettings().ariaTags||!this.columnStatesManager.isColumnSorted(e)||this.columnStatesManager.getNumberOfSortedColumns()<=1)return;const s=this.columnStatesManager.getIndexOfColumnInSortQueue(e)+1,n=(0,d.A11Y_LABEL)(`${this.hot.getTranslatedPhrase(c.COLUMN_HEADER_LABEL_MULTI_COLUMN_SORT_ORDER)} ${s}.`);(0,i.removeAttribute)(o,(0,d.A11Y_HIDDEN)()[0]),(0,i.setAttribute)(o,...n)}onUpdateSettings(e){this.hot.getSettings()[this.pluginKey]&&this.hot.getSettings()[f]&&(0,a.warnAboutPluginsConflict)(),super.onUpdateSettings(e)}onAfterOnCellMouseDown(e,t){!1!==(0,r.wasHeaderClickedProperly)(t.row,t.col,e)&&this.wasClickableHeaderClicked(e,t.col)&&(this.hot.getShortcutManager().isCtrlPressed()?(this.hot.deselectCell(),this.hot.selectColumns(t.col),this.sort(this.getNextSortConfig(t.col,s.APPEND_COLUMN_CONFIG_STRATEGY))):this.sort(this.getColumnNextConfig(t.col)))}}t.MultiColumnSorting=m},54639:(e,t,o)=>{"use strict";t.__esModule=!0,t.rootComparator=function(e,t){return function(o,n){const[,...r]=o,[,...i]=n;return function o(n){const l=e[n],a=t[n],h=r[n],d=i[n],c=a.multiColumnSorting,u=(c.compareFunctionFactory?c.compareFunctionFactory:(0,s.getCompareFunctionFactory)(a.type))(l,a,c)(h,d);if(u===s.DO_NOT_SWAP){const e=n+1;if(void 0!==t[e])return o(e)}return u}(0)}};var s=o(51510)},67012:(e,t,o)=>{"use strict";t.__esModule=!0,t.warnAboutPluginsConflict=function(){(0,s.warn)(n.toSingleLine`Plugins \`columnSorting\` and \`multiColumnSorting\` should not be enabled simultaneously.
|
86
86
|
Only \`multiColumnSorting\` will work.`)};var s=o(69173),n=o(28236)},98481:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(72774);t.PLUGIN_KEY=s.PLUGIN_KEY,t.PLUGIN_PRIORITY=s.PLUGIN_PRIORITY,t.MultipleSelectionHandles=s.MultipleSelectionHandles},72774:(e,t,o)=>{"use strict";var s=o(73203);t.__esModule=!0,o(63517);var n=o(83302),r=o(37595),i=o(36026),l=s(o(75244));const a=t.PLUGIN_KEY="multipleSelectionHandles",h=t.PLUGIN_PRIORITY=160;class d extends i.BasePlugin{static get PLUGIN_KEY(){return a}static get PLUGIN_PRIORITY(){return h}constructor(e){super(e),this.dragged=[],this.eventManager=null,this.lastSetCell=null}isEnabled(){return(0,r.isMobileBrowser)()}enablePlugin(){this.enabled||(this.eventManager||(this.eventManager=new l.default(this)),this.registerListeners(),super.enablePlugin())}registerListeners(){const e=this,{rootElement:t}=this.hot;function o(t){if(1===e.dragged.length)return e.dragged.splice(0,e.dragged.length),!0;const o=e.dragged.indexOf(t);if(-1===o)return!1;0===o?e.dragged=e.dragged.slice(0,1):1===o&&(e.dragged=e.dragged.slice(-1))}this.eventManager.addEventListener(t,"touchstart",(t=>{let o;return(0,n.hasClass)(t.target,"topSelectionHandle-HitArea")?(o=e.hot.getSelectedRangeLast(),e.dragged.push("top"),e.touchStartRange={width:o.getWidth(),height:o.getHeight(),direction:o.getDirection()},t.preventDefault(),!1):(0,n.hasClass)(t.target,"bottomSelectionHandle-HitArea")?(o=e.hot.getSelectedRangeLast(),e.dragged.push("bottom"),e.touchStartRange={width:o.getWidth(),height:o.getHeight(),direction:o.getDirection()},t.preventDefault(),!1):void 0})),this.eventManager.addEventListener(t,"touchend",(t=>(0,n.hasClass)(t.target,"topSelectionHandle-HitArea")?(o.call(e,"top"),e.touchStartRange=void 0,t.preventDefault(),!1):(0,n.hasClass)(t.target,"bottomSelectionHandle-HitArea")?(o.call(e,"bottom"),e.touchStartRange=void 0,t.preventDefault(),!1):void 0)),this.eventManager.addEventListener(t,"touchmove",(t=>{const{rootDocument:o}=this.hot;let s,n,r,i,l,a;if(0===e.dragged.length)return;const h=o.elementFromPoint(t.touches[0].clientX,t.touches[0].clientY);h&&h!==e.lastSetCell&&("TD"!==h.nodeName&&"TH"!==h.nodeName||(s=e.hot.getCoords(h),-1===s.col&&(s.col=0),n=e.hot.getSelectedRangeLast(),r=n.getWidth(),i=n.getHeight(),l=n.getDirection(),1===r&&1===i&&e.hot.selection.setRangeEnd(s),a=e.getCurrentRangeCoords(n,s,e.touchStartRange.direction,l,e.dragged[0]),null!==a.start&&e.hot.selection.setRangeStart(a.start),e.hot.selection.setRangeEnd(a.end),e.lastSetCell=h),t.preventDefault())}))}getCurrentRangeCoords(e,t,o,s,n){const r=e.getTopStartCorner(),i=e.getBottomEndCorner(),l=e.getBottomStartCorner(),a=e.getTopEndCorner();let h={start:null,end:null};switch(o){case"NE-SW":switch(s){case"NE-SW":case"NW-SE":h="top"===n?{start:this.hot._createCellCoords(t.row,e.highlight.col),end:this.hot._createCellCoords(l.row,t.col)}:{start:this.hot._createCellCoords(e.highlight.row,t.col),end:this.hot._createCellCoords(t.row,r.col)};break;case"SE-NW":"bottom"===n&&(h={start:this.hot._createCellCoords(i.row,t.col),end:this.hot._createCellCoords(t.row,r.col)})}break;case"NW-SE":switch(s){case"NE-SW":"top"===n?h={start:t,end:l}:h.end=t;break;case"NW-SE":"top"===n?h={start:t,end:i}:h.end=t;break;case"SE-NW":"top"===n?h={start:t,end:r}:h.end=t;break;case"SW-NE":"top"===n?h={start:t,end:a}:h.end=t}break;case"SW-NE":switch(s){case"NW-SE":h="bottom"===n?{start:this.hot._createCellCoords(t.row,r.col),end:this.hot._createCellCoords(l.row,t.col)}:{start:this.hot._createCellCoords(r.row,t.col),end:this.hot._createCellCoords(t.row,i.col)};break;case"SW-NE":h="top"===n?{start:this.hot._createCellCoords(e.highlight.row,t.col),end:this.hot._createCellCoords(t.row,i.col)}:{start:this.hot._createCellCoords(t.row,r.col),end:this.hot._createCellCoords(r.row,t.col)};break;case"SE-NW":"bottom"===n?h={start:this.hot._createCellCoords(t.row,a.col),end:this.hot._createCellCoords(r.row,t.col)}:"top"===n&&(h={start:l,end:t})}break;case"SE-NW":switch(s){case"NW-SE":case"NE-SW":case"SW-NE":"top"===n&&(h.end=t);break;case"SE-NW":"top"===n?h.end=t:h={start:t,end:r}}}return h}isDragged(){return this.dragged.length>0}}t.MultipleSelectionHandles=d},37499:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(25665);t.PLUGIN_KEY=s.PLUGIN_KEY,t.PLUGIN_PRIORITY=s.PLUGIN_PRIORITY,t.NestedHeaders=s.NestedHeaders},25665:(e,t,o)=>{"use strict";o(91683);var s=o(73203);t.__esModule=!0,o(63517);var n=s(o(93231)),r=s(o(48427)),i=s(o(42538)),l=o(83302),a=o(68145),h=o(28236),d=o(24449),c=o(69173),u=o(69167),g=o(36026),f=s(o(24768)),p=s(o(45404));function m(e,t,o){!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,o)}o(10596);const C=t.PLUGIN_KEY="nestedHeaders",w=t.PLUGIN_PRIORITY=280;var E=new WeakMap,y=new WeakMap,v=new WeakMap,S=new WeakMap;class R extends g.BasePlugin{constructor(){super(...arguments),m(this,E,{writable:!0,value:new f.default}),m(this,y,{writable:!0,value:null}),m(this,v,{writable:!0,value:null}),m(this,S,{writable:!0,value:!1}),(0,n.default)(this,"ghostTable",new p.default(this.hot,((e,t)=>this.getHeaderSettings(e,t)))),(0,n.default)(this,"detectedOverlappedHeaders",!1)}static get PLUGIN_KEY(){return C}static get PLUGIN_PRIORITY(){return w}isEnabled(){return!!this.hot.getSettings()[C]}enablePlugin(){var e=this;if(this.enabled)return;const{nestedHeaders:t}=this.hot.getSettings();Array.isArray(t)&&Array.isArray(t[0])||(0,c.warn)(h.toSingleLine`Your Nested Headers plugin configuration is invalid. The settings has to be\x20
|
87
87
|
passed as an array of arrays e.q. [['A1', { label: 'A2', colspan: 2 }]]`),this.addHook("init",(()=>this.onInit())),this.addHook("afterLoadData",(function(){return e.onAfterLoadData(...arguments)})),this.addHook("beforeOnCellMouseDown",(function(){return e.onBeforeOnCellMouseDown(...arguments)})),this.addHook("afterOnCellMouseDown",(function(){return e.onAfterOnCellMouseDown(...arguments)})),this.addHook("beforeOnCellMouseOver",(function(){return e.onBeforeOnCellMouseOver(...arguments)})),this.addHook("beforeOnCellMouseUp",(function(){return e.onBeforeOnCellMouseUp(...arguments)})),this.addHook("beforeSelectionHighlightSet",(function(){return e.onBeforeSelectionHighlightSet(...arguments)})),this.addHook("modifyTransformStart",(function(){return e.onModifyTransformStart(...arguments)})),this.addHook("afterSelection",(()=>this.updateFocusHighlightPosition())),this.addHook("beforeViewportScrollHorizontally",(function(){return e.onBeforeViewportScrollHorizontally(...arguments)})),this.addHook("afterGetColumnHeaderRenderers",(e=>this.onAfterGetColumnHeaderRenderers(e))),this.addHook("modifyColWidth",(function(){return e.onModifyColWidth(...arguments)})),this.addHook("modifyColumnHeaderValue",(function(){return e.onModifyColumnHeaderValue(...arguments)})),this.addHook("beforeHighlightingColumnHeader",(function(){return e.onBeforeHighlightingColumnHeader(...arguments)})),this.addHook("beforeCopy",(function(){return e.onBeforeCopy(...arguments)})),this.addHook("beforeSelectColumns",(function(){return e.onBeforeSelectColumns(...arguments)})),this.addHook("afterViewportColumnCalculatorOverride",(function(){return e.onAfterViewportColumnCalculatorOverride(...arguments)})),this.addHook("modifyFocusedElement",(function(){return e.onModifyFocusedElement(...arguments)})),this.hot.columnIndexMapper.addLocalHook("cacheUpdated",(()=>this.updateFocusHighlightPosition())),this.hot.rowIndexMapper.addLocalHook("cacheUpdated",(()=>this.updateFocusHighlightPosition())),super.enablePlugin(),this.updatePlugin()}updatePlugin(){if(!this.hot.view)return;const{nestedHeaders:e}=this.hot.getSettings();(0,i.default)(this,E).setColumnsLimit(this.hot.countCols()),Array.isArray(e)&&(this.detectedOverlappedHeaders=(0,i.default)(this,E).setState(e)),this.detectedOverlappedHeaders&&(0,c.warn)(h.toSingleLine`Your Nested Headers plugin setup contains overlapping headers. This kind of configuration\x20
|
88
88
|
is currently not supported.`),this.enabled&&this.hot.columnIndexMapper.hidingMapsCollection.getMergedValues().forEach(((e,t)=>{const o=!0===e?"hide-column":"show-column";(0,i.default)(this,E).triggerColumnModification(o,t)})),!(0,i.default)(this,y)&&this.enabled&&(0,r.default)(this,y,this.hot.columnIndexMapper.createChangesObserver("hiding").subscribe((e=>{e.forEach((e=>{let{op:t,index:o,newValue:s}=e;if("replace"===t){const e=!0===s?"hide-column":"show-column";(0,i.default)(this,E).triggerColumnModification(e,o)}})),this.ghostTable.buildWidthsMap()}))),this.ghostTable.setLayersCount(this.getLayersCount()).buildWidthsMap(),super.updatePlugin()}disablePlugin(){this.clearColspans(),(0,i.default)(this,E).clear(),(0,i.default)(this,y).unsubscribe(),(0,r.default)(this,y,null),this.ghostTable.clear(),super.disablePlugin()}getStateManager(){return(0,i.default)(this,E)}getLayersCount(){return(0,i.default)(this,E).getLayersCount()}getHeaderSettings(e,t){return(0,i.default)(this,E).getHeaderSettings(e,t)}clearColspans(){if(!this.hot.view)return;const{_wt:e}=this.hot.view,t=e.getSetting("columnHeaders").length,o=e.wtTable.THEAD,s=e.wtOverlays.topOverlay.clone.wtTable.THEAD,n=e.wtOverlays.topInlineStartCornerOverlay?e.wtOverlays.topInlineStartCornerOverlay.clone.wtTable.THEAD:null;for(let e=0;e<t;e++){const t=o.childNodes[e];if(!t)break;const r=s.childNodes[e],i=n?n.childNodes[e]:null;for(let e=0,o=t.childNodes.length;e<o;e++)t.childNodes[e].removeAttribute("colspan"),(0,l.removeClass)(t.childNodes[e],"hiddenHeader"),r&&r.childNodes[e]&&(r.childNodes[e].removeAttribute("colspan"),(0,l.removeClass)(r.childNodes[e],"hiddenHeader")),n&&i&&i.childNodes[e]&&(i.childNodes[e].removeAttribute("colspan"),(0,l.removeClass)(i.childNodes[e],"hiddenHeader"))}}headerRendererFactory(e){var t=this;const o=this.hot.view._wt.getSetting("fixedColumnsStart");return(s,n)=>{var r;const{columnIndexMapper:a,view:h}=this.hot;let d=a.getVisualFromRenderableIndex(s);null===d&&(d=s),n.removeAttribute("colspan"),(0,l.removeClass)(n,"hiddenHeader");const{colspan:c,isHidden:u,isPlaceholder:g}=null!==(r=(0,i.default)(this,E).getHeaderSettings(e,d))&&void 0!==r?r:{label:""};if(g||u)(0,l.addClass)(n,"hiddenHeader");else if(c>1){var f,p;const{wtOverlays:e}=h._wt,t=null===(f=e.topInlineStartCornerOverlay)||void 0===f?void 0:f.clone.wtTable.THEAD.contains(n),r=null===(p=e.inlineStartOverlay)||void 0===p?void 0:p.clone.wtTable.THEAD.contains(n),i=t||r?Math.min(c,o-s):c;i>1&&n.setAttribute("colspan",i)}this.hot.view.appendColHeader(d,n,(function(){return t.getColumnHeaderValue(...arguments)}),e)}}getColumnHeaderValue(e,t){var o;const{isHidden:s,isPlaceholder:n}=null!==(o=(0,i.default)(this,E).getHeaderSettings(t,e))&&void 0!==o?o:{};return n||s?"":this.hot.getColHeader(e,t)}updateFocusHighlightPosition(){var e;const t=null===(e=this.hot)||void 0===e?void 0:e.getSelectedRangeLast();if(!t)return;const{highlight:o}=t;if(o.isHeader()&&o.col>=0){const e=(0,i.default)(this,E).findLeftMostColumnIndex(o.row,o.col),t=this.hot.selection.highlight.getFocus();t.visualCellRange.highlight.col=e,t.visualCellRange.from.col=e,t.visualCellRange.to.col=e,t.commit()}}onBeforeViewportScrollHorizontally(e){const t=this.hot.getSelectedRangeLast();if(!t)return e;const{highlight:o}=t;if(!(o.isHeader()&&o.col>=0))return e;const s=this.hot.view.getFirstFullyVisibleColumn(),n=this.hot.view.getLastFullyVisibleColumn(),r=(0,i.default)(this,E).findLeftMostColumnIndex(o.row,o.col),l=(0,i.default)(this,E).findRightMostColumnIndex(o.row,o.col);return r<s&&l>n?e:r<s?r:l}onBeforeHighlightingColumnHeader(e,t,o){const s=(0,i.default)(this,E).getHeaderTreeNodeData(t,e);if(!s)return e;const{columnCursor:n,selectionType:r,selectionWidth:l}=o,{isRoot:a,colspan:h}=(0,i.default)(this,E).getHeaderSettings(t,e);if(r===u.HEADER_TYPE){if(!a)return s.columnIndex}else if(r===u.ACTIVE_HEADER_TYPE&&(h>l-n||!a))return null;return e}onBeforeCopy(e){const t=e.getRanges();for(let n=0;n<t.length;n+=1){const{startRow:r,startCol:l,endRow:a,endCol:h}=t[n];if(r>=0||1===l-h+1)break;for(let t=l;t<=h;t+=1)for(let n=r;n<=a;n+=1){var o,s;const r=t-l;if(0===r)continue;const a=null===(o=(0,i.default)(this,E).getHeaderTreeNodeData(n,t))||void 0===o?void 0:o.isRoot;!0===(null===(s=(0,i.default)(this,E).getHeaderTreeNodeData(n,t))||void 0===s?void 0:s.collapsible)&&!1===a&&e.setCellAt(n,r,"")}}}onBeforeOnCellMouseDown(e,t,o,s){this._getHeaderTreeNodeDataByCoords(t)&&(s.column=!0)}onAfterOnCellMouseDown(e,t){const o=this._getHeaderTreeNodeDataByCoords(t);if(!o)return;(0,r.default)(this,v,t.clone()),(0,r.default)(this,S,!0);const{selection:s}=this.hot,n=s.isSelected()?s.getSelectedRange().current():null,i=[],{columnIndex:l,origColspan:a}=o,h=!s.inInSelection(t);e.shiftKey&&n?t.col<n.from.col?i.push(n.getTopEndCorner().col,l,t.row):t.col>n.from.col?i.push(n.getTopStartCorner().col,l+a-1,t.row):i.push(l,l+a-1,t.row):((0,d.isLeftClick)(e)||(0,d.isRightClick)(e)&&h)&&i.push(l,l+a-1,t.row),s.selectColumns(...i)}onBeforeOnCellMouseOver(e,t,o,s){if(!this.hot.view.isMouseDown())return;const n=this._getHeaderTreeNodeDataByCoords(t);if(!n)return;const{columnIndex:r,origColspan:i}=n,l=this.hot.getSelectedRangeLast(),h=l.getTopStartCorner(),d=l.getBottomEndCorner(),{from:c}=l;s.column=!0,s.cell=!0;const u=[],g=(0,a.clamp)(t.row,-1/0,-1);t.col<c.col?u.push(d.col,r,g):t.col>c.col?u.push(h.col,r+i-1,g):u.push(r,r+i-1,g),this.hot.selection.selectColumns(...u)}onBeforeOnCellMouseUp(){(0,r.default)(this,S,!1)}onBeforeSelectionHighlightSet(){const{navigableHeaders:e}=this.hot.getSettings();if(!this.hot.view.isMouseDown()||!(0,i.default)(this,S)||!e)return;const t=this.hot.getSelectedRangeLast(),o=t.getTopStartCorner().col,s=t.getBottomEndCorner().col,{columnIndex:n,origColspan:r}=(0,i.default)(this,E).getHeaderTreeNodeData((0,i.default)(this,v).row,(0,i.default)(this,v).col);if(t.setHighlight((0,i.default)(this,v)),r>t.getWidth()||n<o||n+r-1>s){const e=(0,i.default)(this,E).findTopMostEntireHeaderLevel((0,a.clamp)(o,n,n+r-1),(0,a.clamp)(s,n,n+r-1));t.highlight.row=e,t.highlight.col=t.from.col}}onModifyTransformStart(e){const{highlight:t}=this.hot.getSelectedRangeLast(),o=this.hot._createCellCoords(t.row+e.row,t.col+e.col);if(!(o.isHeader()&&o.col>=0))return;const s=(0,i.default)(this,E).findLeftMostColumnIndex(o.row,o.col),n=(0,i.default)(this,E).findRightMostColumnIndex(o.row,o.col);if(e.col<0){const o=t.col>=s&&t.col<=n?s-1:n,r=this.hot.columnIndexMapper.getNearestNotHiddenIndex(o,-1);e.col=null===r?-this.hot.view.countRenderableColumnsInRange(0,t.col):-Math.max(this.hot.view.countRenderableColumnsInRange(r,t.col)-1,1)}else if(e.col>0){const o=t.col>=s&&t.col<=n?n+1:s,r=this.hot.columnIndexMapper.getNearestNotHiddenIndex(o,1);e.col=null===r?this.hot.view.countRenderableColumnsInRange(t.col,this.hot.countCols()):Math.max(this.hot.view.countRenderableColumnsInRange(t.col,r)-1,1)}}onBeforeSelectColumns(e,t){const o=e.row,s=this._getHeaderTreeNodeDataByCoords({row:o,col:e.col}),n=this._getHeaderTreeNodeDataByCoords({row:o,col:t.col});t.col<e.col?(s&&(e.col=s.columnIndex+s.origColspan-1),n&&(t.col=n.columnIndex)):t.col>=e.col&&(s&&(e.col=s.columnIndex),n&&(t.col=n.columnIndex+n.origColspan-1))}onAfterGetColumnHeaderRenderers(e){e.length=0;for(let t=0;t<(0,i.default)(this,E).getLayersCount();t++)e.push(this.headerRendererFactory(t))}onAfterViewportColumnCalculatorOverride(e){const t=(0,i.default)(this,E).getLayersCount();let o=e.startColumn,s=!!t;for(let n=0;n<t;n++){const t=(0,i.default)(this,E).findLeftMostColumnIndex(n,e.startColumn),r=this.hot.columnIndexMapper.getRenderableFromVisualIndex(t);if(t>=0&&(s=!1),(0,a.isNumeric)(r)&&r<e.startColumn){o=r;break}}e.startColumn=s?(0,i.default)(this,E).getHeaderTreeNodeData(0,o).columnIndex:o}onModifyColWidth(e,t){const o=this.ghostTable.getWidth(t);return e>o?e:o}onModifyColumnHeaderValue(e,t,o){var s;const{label:n}=null!==(s=(0,i.default)(this,E).getHeaderTreeNodeData(o,t))&&void 0!==s?s:{label:""};return n}onModifyFocusedElement(e,t){if(e<0)return this.hot.getCell(e,(0,i.default)(this,E).findLeftMostColumnIndex(e,t),!0)}onInit(){this.updatePlugin()}onAfterLoadData(e,t){t||this.updatePlugin()}destroy(){(0,r.default)(this,E,null),null!==(0,i.default)(this,y)&&((0,i.default)(this,y).unsubscribe(),(0,r.default)(this,y,null)),super.destroy()}_getHeaderTreeNodeDataByCoords(e){if(!(e.row>=0||e.col<0))return(0,i.default)(this,E).getHeaderTreeNodeData(e.row,e.col)}}t.NestedHeaders=R},56803:(e,t,o)=>{"use strict";o(91683);var s=o(73203);t.__esModule=!0;var n=s(o(42538)),r=s(o(48427)),i=o(50095),l=s(o(88725));function a(e,t,o){!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,o)}var h=new WeakMap,d=new WeakMap,c=new WeakMap;t.default=class{constructor(e){a(this,h,{writable:!0,value:new Map}),a(this,d,{writable:!0,value:new Map}),a(this,c,{writable:!0,value:null}),(0,r.default)(this,c,e)}getRoots(){return Array.from((0,n.default)(this,h).values())}getRootByColumn(e){let t;return(0,n.default)(this,d).has(e)&&(t=(0,n.default)(this,h).get((0,n.default)(this,d).get(e))),t}getNode(e,t){const o=this.getRootByColumn(t);if(!o)return;const s=t-(0,n.default)(this,d).get(t);let r,i=0;return o.walkDown((o=>{const{data:{origColspan:n,headerLevel:l}}=o;if(e===l){if(s>=i&&s<=i+n-1)return r=o,r.data.isRoot=t===r.data.columnIndex,!1;i+=n}})),r}rebuildTreeIndex(){let e=0;(0,n.default)(this,d).clear(),(0,i.arrayEach)((0,n.default)(this,h),(t=>{let[,{data:{colspan:o}}]=t;for(let t=e;t<e+o;t++)(0,n.default)(this,d).set(t,e);e+=o}))}buildTree(){this.clear();const e=(0,n.default)(this,c).getColumnsCount();let t=0;for(;t<e;){const e=(0,n.default)(this,c).getHeaderSettings(0,t),o=new l.default;(0,n.default)(this,h).set(t,o),this.buildLeaves(o,t,0,e.origColspan),t+=e.origColspan}this.rebuildTreeIndex()}buildLeaves(e,t,o){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;const r=(0,n.default)(this,c).getHeadersSettings(o,t,s);o+=1,(0,i.arrayEach)(r,(s=>{const r={...s,headerLevel:o-1,columnIndex:t};let i;1===o?(e.data=r,i=e):(i=new l.default(r),e.addChild(i)),o<(0,n.default)(this,c).getLayersCount()&&this.buildLeaves(i,t,o,s.origColspan),t+=s.origColspan}))}clear(){(0,n.default)(this,h).clear(),(0,n.default)(this,d).clear()}}},24768:(e,t,o)=>{"use strict";o(91683);var s=o(73203);t.__esModule=!0,o(63517);var n=s(o(48427)),r=s(o(42538)),i=o(50095),l=s(o(44137)),a=s(o(56803)),h=o(33987),d=o(59753),c=o(88725);function u(e,t,o){!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,o)}var g=new WeakMap,f=new WeakMap,p=new WeakMap;t.default=class{constructor(){u(this,g,{writable:!0,value:new l.default}),u(this,f,{writable:!0,value:new a.default((0,r.default)(this,g))}),u(this,p,{writable:!0,value:[[]]})}setState(e){(0,r.default)(this,g).setData(e);let t=!1;try{(0,r.default)(this,f).buildTree()}catch(e){(0,r.default)(this,f).clear(),(0,r.default)(this,g).clear(),t=!0}return(0,n.default)(this,p,(0,d.generateMatrix)((0,r.default)(this,f).getRoots())),t}setColumnsLimit(e){(0,r.default)(this,g).setColumnsLimit(e)}mergeStateWith(e){const t=(0,i.arrayMap)(e,(e=>{let{row:t,...o}=e;return{row:t<0?this.rowCoordsToLevel(t):t,...o}}));(0,r.default)(this,g).mergeWith(t),(0,r.default)(this,f).buildTree(),(0,n.default)(this,p,(0,d.generateMatrix)((0,r.default)(this,f).getRoots()))}mapState(e){(0,r.default)(this,g).map(e),(0,r.default)(this,f).buildTree(),(0,n.default)(this,p,(0,d.generateMatrix)((0,r.default)(this,f).getRoots()))}mapNodes(e){return(0,i.arrayReduce)((0,r.default)(this,f).getRoots(),((t,o)=>(o.walkDown((o=>{const s=e(o.data);void 0!==s&&t.push(s)})),t)),[])}triggerNodeModification(e,t,o){t<0&&(t=this.rowCoordsToLevel(t));const s=(0,r.default)(this,f).getNode(t,o);let i;return s&&(i=(0,h.triggerNodeModification)(e,s,o),(0,n.default)(this,p,(0,d.generateMatrix)((0,r.default)(this,f).getRoots()))),i}triggerColumnModification(e,t){return this.triggerNodeModification(e,-1,t)}rowCoordsToLevel(e){if(e>=0)return null;const t=e+Math.max(this.getLayersCount(),1);return t<0?null:t}levelToRowCoords(e){if(e<0)return null;const t=e-Math.max(this.getLayersCount(),1);return t>=0?null:t}getHeaderSettings(e,t){var o,s;return e<0&&(e=this.rowCoordsToLevel(e)),null===e||e>=this.getLayersCount()?null:null!==(o=null===(s=(0,r.default)(this,p)[e])||void 0===s?void 0:s[t])&&void 0!==o?o:null}getHeaderTreeNodeData(e,t){const o=this.getHeaderTreeNode(e,t);return o?{...o.data}:null}getHeaderTreeNode(e,t){if(e<0&&(e=this.rowCoordsToLevel(e)),null===e||e>=this.getLayersCount())return null;const o=(0,r.default)(this,f).getNode(e,t);return o||null}findTopMostEntireHeaderLevel(e){var t;let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;const s=o-e+1;let n=!1,i=null;for(let t=e;t<=o;t++){const l=(0,r.default)(this,f).getRootByColumn(t);if(!l)break;n=!0,l.walkDown((t=>{const{columnIndex:n,headerLevel:r,origColspan:l,isHidden:a}=t.data;a||l<=s&&n>=e&&n+l-1<=o&&(null===i||r<i)&&(i=r)}),c.TRAVERSAL_DF_PRE)}return n&&null===i?-1:this.levelToRowCoords(null!==(t=i)&&void 0!==t?t:0)}findLeftMostColumnIndex(e,t){var o;const{isRoot:s}=null!==(o=this.getHeaderSettings(e,t))&&void 0!==o?o:{isRoot:!0};if(s)return t;let n=t-1;for(;n>=0;){var r;const{isRoot:t}=null!==(r=this.getHeaderSettings(e,n))&&void 0!==r?r:{isRoot:!0};if(t)break;n-=1}return n}findRightMostColumnIndex(e,t){var o;const{isRoot:s,origColspan:n}=null!==(o=this.getHeaderSettings(e,t))&&void 0!==o?o:{isRoot:!0,origColspan:1};if(s)return t+n-1;let r=t+1;for(;r<this.getColumnsCount();){var i;const{isRoot:t}=null!==(i=this.getHeaderSettings(e,r))&&void 0!==i?i:{isRoot:!0};if(t)break;r+=1}return r-1}getLayersCount(){return(0,r.default)(this,g).getLayersCount()}getColumnsCount(){return(0,r.default)(this,g).getColumnsCount()}clear(){(0,n.default)(this,p,[]),(0,r.default)(this,g).clear(),(0,r.default)(this,f).clear()}}},59753:(e,t,o)=>{"use strict";t.__esModule=!0,t.generateMatrix=function(e){const t=[];return(0,s.arrayEach)(e,(e=>{e.walkDown((e=>{const o=e.data,{origColspan:s,columnIndex:i,headerLevel:l,crossHiddenColumns:a}=o,h=function(e,t){let o;Array.isArray(e[t])?o=e[t]:(o=[],e[t]=o);return o}(t,l);let d=!1;for(let e=i;e<i+s;e++){if(a.includes(e)||d)h.push((0,n.createPlaceholderHeaderSettings)(o));else{const e=r(o);e.isRoot=!0,h.push(e),d=!0}}}))})),t},o(63517);var s=o(50095),n=o(47687);function r(e){const{crossHiddenColumns:t,...o}=(0,n.createDefaultHeaderSettings)(e);return o}},70014:(e,t,o)=>{"use strict";t.__esModule=!0,t.collapseNode=function e(t){var o;const{data:i,childs:l}=t;if(i.isCollapsed||i.isHidden||i.origColspan<=1)return{rollbackModification:()=>{},affectedColumns:[],colspanCompensation:0};if((0,r.isNodeReflectsFirstChildColspan)(t))return e(l[0]);i.isCollapsed=!0;const a=l.slice(1),h=new Set;if(a.length>0)(0,s.arrayEach)(a,(e=>{(0,r.traverseHiddenNodeColumnIndexes)(e,(e=>{h.add(e)})),e.data.clonedTree=e.cloneTree(),e.walkDown((e=>{let{data:t}=e;t.isHidden=!0}))}));else{const{origColspan:e,columnIndex:t}=i;for(let o=1;o<e;o++){const e=t+o;h.add(e)}}const d=i.colspan-(null!==(o=(0,r.getFirstChildProperty)(t,"colspan"))&&void 0!==o?o:1);return t.walkUp((e=>{const{data:t}=e;t.colspan-=d,t.colspan<=1?(t.colspan=1,t.isCollapsed=!0):(0,r.isNodeReflectsFirstChildColspan)(e)&&(t.isCollapsed=(0,r.getFirstChildProperty)(e,"isCollapsed"))})),{rollbackModification:()=>(0,n.expandNode)(t),affectedColumns:Array.from(h),colspanCompensation:d}};var s=o(50095),n=o(76885),r=o(1505)},76885:(e,t,o)=>{"use strict";t.__esModule=!0,t.expandNode=function e(t){const{data:o,childs:i}=t;if(!o.isCollapsed||o.isHidden||o.origColspan<=1)return{rollbackModification:()=>{},affectedColumns:[],colspanCompensation:0};if((0,r.isNodeReflectsFirstChildColspan)(t))return e(i[0]);o.isCollapsed=!1;const l=i.slice(1),a=new Set;let h=0;if(l.length>0)(0,s.arrayEach)(l,(e=>{e.replaceTreeWith(e.data.clonedTree),e.data.clonedTree=null;const t=e.data;h+=t.colspan,(0,r.traverseHiddenNodeColumnIndexes)(e,(e=>{a.add(e)}))}));else{const{colspan:e,origColspan:t,columnIndex:s}=o;h=t-e;for(let e=1;e<t;e++)a.add(s+e)}return t.walkUp((e=>{const{data:t}=e;t.colspan+=h,t.colspan>=t.origColspan?(t.colspan=t.origColspan,t.isCollapsed=!1):(0,r.isNodeReflectsFirstChildColspan)(e)&&(t.isCollapsed=(0,r.getFirstChildProperty)(e,"isCollapsed"))})),{rollbackModification:()=>(0,n.collapseNode)(t),affectedColumns:Array.from(a),colspanCompensation:h}};var s=o(50095),n=o(70014),r=o(1505)},82807:(e,t,o)=>{"use strict";t.__esModule=!0,t.hideColumn=function(e,t){if(!Number.isInteger(t))throw new Error("The passed gridColumnIndex argument has invalid type.");if(e.childs.length>0)throw new Error(s.toSingleLine`The passed node is not the last node on the tree. Only for\x20
|