handsontable 15.0.0-next-c7f1716-20241209 → 15.0.0-next-4a763a3-20241210

Sign up to get free protection for your applications and to get access to all the features.
@@ -25,16 +25,16 @@
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: 15.0.0-next-c7f1716-20241209
29
- * Release date: 11/12/2024 (built at 09/12/2024 14:36:56)
28
+ * Version: 15.0.0-next-4a763a3-20241210
29
+ * Release date: 12/12/2024 (built at 10/12/2024 09:27:32)
30
30
  */
31
31
  !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("dompurify"),require("@handsontable/pikaday"),require("moment"),require("numbro")):"function"==typeof define&&define.amd?define("Handsontable",["dompurify","@handsontable/pikaday","moment","numbro"],t):"object"==typeof exports?exports.Handsontable=t(require("dompurify"),require("@handsontable/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={96656:(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/},74961:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(96656);t.parse=s.parse,t.stringify=s.stringify},95113:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(95913),o(12587);var n=s(o(85707));t.FullyVisibleColumnsCalculationType=class{constructor(){(0,n.default)(this,"count",0),(0,n.default)(this,"startColumn",null),(0,n.default)(this,"endColumn",null),(0,n.default)(this,"startPosition",null),(0,n.default)(this,"isVisibleInTrimmingContainer",!1)}initialize(){}process(e,t){const{totalCalculatedWidth:o,zeroBasedScrollOffset:s,viewportWidth:n,columnWidth:r}=t;o>=s&&o+r<=s+(s>0?n+1:n)&&(null!==this.startColumn&&void 0!==this.startColumn||(this.startColumn=e),this.endColumn=e)}finalize(e){var t;const{scrollOffset:o,viewportWidth:s,inlineStartOffset:n,zeroBasedScrollOffset:r,totalColumns:i,needReverse:l,startPositions:a,columnWidth:h}=e;if(this.endColumn===i-1&&l)for(this.startColumn=this.endColumn;this.startColumn>0;){const e=a[this.endColumn]+h-a[this.startColumn-1];if(e<=s&&(this.startColumn-=1),e>=s)break}this.startPosition=null!==(t=a[this.startColumn])&&void 0!==t?t:null;const c=o+s-(r>0?s+1:s),u=null===this.startColumn?0:e.getColumnWidth(this.startColumn);c<-1*n||o>a.at(-1)||-1*o-s>-1*u?this.isVisibleInTrimmingContainer=!1:this.isVisibleInTrimmingContainer=!0,i<this.endColumn&&(this.endColumn=i-1),null!==this.startColumn&&(this.count=this.endColumn-this.startColumn+1)}}},67977:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(95913),o(12587);var n=s(o(85707));t.FullyVisibleRowsCalculationType=class{constructor(){(0,n.default)(this,"count",0),(0,n.default)(this,"startRow",null),(0,n.default)(this,"endRow",null),(0,n.default)(this,"startPosition",null),(0,n.default)(this,"isVisibleInTrimmingContainer",!1)}initialize(){}process(e,t){const{totalCalculatedHeight:o,zeroBasedScrollOffset:s,innerViewportHeight:n,rowHeight:r}=t;o>=s&&o+r<=n&&(null===this.startRow&&(this.startRow=e),this.endRow=e)}finalize(e){var t;const{scrollOffset:o,viewportHeight:s,horizontalScrollbarHeight:n,totalRows:r,needReverse:i,startPositions:l,rowHeight:a}=e;if(this.endRow===r-1&&i)for(this.startRow=this.endRow;this.startRow>0;){const e=l[this.endRow]+a-l[this.startRow-1];if(e<=s-n&&(this.startRow-=1),e>=s-n)break}this.startPosition=null!==(t=l[this.startRow])&&void 0!==t?t:null;o+s-n<(null===this.startRow?0:e.getRowHeight(this.startRow))||o>l.at(-1)?this.isVisibleInTrimmingContainer=!1:this.isVisibleInTrimmingContainer=!0,r<this.endRow&&(this.endRow=r-1),null!==this.startRow&&(this.count=this.endRow-this.startRow+1)}}},69347:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(95913),o(12587);var n=s(o(85707));t.PartiallyVisibleColumnsCalculationType=class{constructor(){(0,n.default)(this,"count",0),(0,n.default)(this,"startColumn",null),(0,n.default)(this,"endColumn",null),(0,n.default)(this,"startPosition",null),(0,n.default)(this,"isVisibleInTrimmingContainer",!1)}initialize(){}process(e,t){const{totalCalculatedWidth:o,zeroBasedScrollOffset:s,viewportWidth:n}=t;o<=s&&(this.startColumn=e);o>=s&&o<=s+(s>0?n+1:n)&&(null!==this.startColumn&&void 0!==this.startColumn||(this.startColumn=e)),this.endColumn=e}finalize(e){var t;const{scrollOffset:o,viewportWidth:s,inlineStartOffset:n,zeroBasedScrollOffset:r,totalColumns:i,needReverse:l,startPositions:a,columnWidth:h}=e;if(this.endColumn===i-1&&l)for(this.startColumn=this.endColumn;this.startColumn>0;){const e=a[this.endColumn]+h-a[this.startColumn-1];if(this.startColumn-=1,e>s)break}this.startPosition=null!==(t=a[this.startColumn])&&void 0!==t?t:null;o+s-(r>0?s+1:s)<-1*n||o>a.at(-1)+h||-1*o-s>0?this.isVisibleInTrimmingContainer=!1:this.isVisibleInTrimmingContainer=!0,i<this.endColumn&&(this.endColumn=i-1),null!==this.startColumn&&(this.count=this.endColumn-this.startColumn+1)}}},5271:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(95913),o(12587);var n=s(o(85707));t.PartiallyVisibleRowsCalculationType=class{constructor(){(0,n.default)(this,"count",0),(0,n.default)(this,"startRow",null),(0,n.default)(this,"endRow",null),(0,n.default)(this,"startPosition",null),(0,n.default)(this,"isVisibleInTrimmingContainer",!1)}initialize(){}process(e,t){const{totalCalculatedHeight:o,zeroBasedScrollOffset:s,innerViewportHeight:n}=t;o<=s&&(this.startRow=e),o>=s&&o<=n&&null===this.startRow&&(this.startRow=e),this.endRow=e}finalize(e){var t;const{scrollOffset:o,viewportHeight:s,horizontalScrollbarHeight:n,totalRows:r,needReverse:i,startPositions:l,rowHeight:a}=e;if(this.endRow===r-1&&i)for(this.startRow=this.endRow;this.startRow>0;){const e=l[this.endRow]+a-l[this.startRow-1];if(this.startRow-=1,e>=s-n)break}this.startPosition=null!==(t=l[this.startRow])&&void 0!==t?t:null;o+s-n<0||o>l.at(-1)+a?this.isVisibleInTrimmingContainer=!1:this.isVisibleInTrimmingContainer=!0,r<this.endRow&&(this.endRow=r-1),null!==this.startRow&&(this.count=this.endRow-this.startRow+1)}}},18349:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(85707));t.RenderedAllColumnsCalculationType=class{constructor(){(0,n.default)(this,"count",0),(0,n.default)(this,"startColumn",0),(0,n.default)(this,"endColumn",0),(0,n.default)(this,"startPosition",0),(0,n.default)(this,"isVisibleInTrimmingContainer",!0)}initialize(e){let{totalColumns:t}=e;this.count=t,this.endColumn=this.count-1}process(){}finalize(){}}},89613:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(85707));t.RenderedAllRowsCalculationType=class{constructor(){(0,n.default)(this,"count",0),(0,n.default)(this,"startRow",0),(0,n.default)(this,"endRow",0),(0,n.default)(this,"startPosition",0),(0,n.default)(this,"isVisibleInTrimmingContainer",!0)}initialize(e){let{totalRows:t}=e;this.count=t,this.endRow=this.count-1}process(){}finalize(){}}},18180:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(85707)),r=o(69347);class i extends r.PartiallyVisibleColumnsCalculationType{constructor(){super(...arguments),(0,n.default)(this,"columnStartOffset",0),(0,n.default)(this,"columnEndOffset",0)}finalize(e){var t;super.finalize(e);const{overrideFn:o,totalColumns:s,startPositions:n}=e;if(null!==this.startColumn&&"function"==typeof o){const e=this.startColumn,t=this.endColumn;o(this),this.columnStartOffset=e-this.startColumn,this.columnEndOffset=this.endColumn-t}this.startColumn<0&&(this.startColumn=0),this.startPosition=null!==(t=n[this.startColumn])&&void 0!==t?t:null,s<this.endColumn&&(this.endColumn=s-1),null!==this.startColumn&&(this.count=this.endColumn-this.startColumn+1)}}t.RenderedColumnsCalculationType=i},36906:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(85707)),r=o(5271);class i extends r.PartiallyVisibleRowsCalculationType{constructor(){super(...arguments),(0,n.default)(this,"rowStartOffset",0),(0,n.default)(this,"rowEndOffset",0)}finalize(e){var t;super.finalize(e);const{overrideFn:o,totalRows:s,startPositions:n}=e;if(null!==this.startRow&&"function"==typeof o){const e=this.startRow,t=this.endRow;o(this),this.rowStartOffset=e-this.startRow,this.rowEndOffset=this.endRow-t}this.startRow<0&&(this.startRow=0),this.startPosition=null!==(t=n[this.startRow])&&void 0!==t?t:null,s<this.endRow&&(this.endRow=s-1),null!==this.startRow&&(this.count=this.endRow-this.startRow+1)}}t.RenderedRowsCalculationType=i},14426:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(95113);t.FullyVisibleColumnsCalculationType=s.FullyVisibleColumnsCalculationType;var n=o(67977);t.FullyVisibleRowsCalculationType=n.FullyVisibleRowsCalculationType;var r=o(69347);t.PartiallyVisibleColumnsCalculationType=r.PartiallyVisibleColumnsCalculationType;var i=o(5271);t.PartiallyVisibleRowsCalculationType=i.PartiallyVisibleRowsCalculationType;var l=o(18349);t.RenderedAllColumnsCalculationType=l.RenderedAllColumnsCalculationType;var a=o(89613);t.RenderedAllRowsCalculationType=a.RenderedAllRowsCalculationType;var h=o(18180);t.RenderedColumnsCalculationType=h.RenderedColumnsCalculationType;var c=o(36906);t.RenderedRowsCalculationType=c.RenderedRowsCalculationType;var u=o(67623);t.ViewportColumnsCalculator=u.ViewportColumnsCalculator,t.DEFAULT_COLUMN_WIDTH=u.DEFAULT_WIDTH;var d=o(72459);t.ViewportRowsCalculator=d.ViewportRowsCalculator},99163:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(14846),o(69655);var n=s(o(85707));t.ViewportBaseCalculator=class{constructor(e){(0,n.default)(this,"calculationTypes",[]),(0,n.default)(this,"calculationResults",new Map),this.calculationTypes=e}_initialize(e){this.calculationTypes.forEach((t=>{let[o,s]=t;this.calculationResults.set(o,s),s.initialize(e)}))}_process(e,t){this.calculationTypes.forEach((o=>{let[,s]=o;return s.process(e,t)}))}_finalize(e){this.calculationTypes.forEach((t=>{let[,o]=t;return o.finalize(e)}))}getResultsFor(e){return this.calculationResults.get(e)}}},67623:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(15724);var n=s(o(85707)),r=o(99163);const i=t.DEFAULT_WIDTH=50;class l extends r.ViewportBaseCalculator{constructor(e){let{calculationTypes:t,viewportWidth:o,scrollOffset:s,totalColumns:r,columnWidthFn:i,overrideFn:l,inlineStartOffset:a}=e;super(t),(0,n.default)(this,"viewportWidth",0),(0,n.default)(this,"scrollOffset",0),(0,n.default)(this,"zeroBasedScrollOffset",0),(0,n.default)(this,"totalColumns",0),(0,n.default)(this,"columnWidthFn",null),(0,n.default)(this,"columnWidth",0),(0,n.default)(this,"overrideFn",null),(0,n.default)(this,"inlineStartOffset",0),(0,n.default)(this,"totalCalculatedWidth",0),(0,n.default)(this,"startPositions",[]),(0,n.default)(this,"needReverse",!0),this.viewportWidth=o,this.scrollOffset=s,this.zeroBasedScrollOffset=Math.max(s,0),this.totalColumns=r,this.columnWidthFn=i,this.overrideFn=l,this.inlineStartOffset=a,this.calculate()}calculate(){this._initialize(this);for(let e=0;e<this.totalColumns;e++)if(this.columnWidth=this.getColumnWidth(e),this._process(e,this),this.startPositions.push(this.totalCalculatedWidth),this.totalCalculatedWidth+=this.columnWidth,this.totalCalculatedWidth>=this.zeroBasedScrollOffset+this.viewportWidth){this.needReverse=!1;break}this._finalize(this)}getColumnWidth(e){const t=this.columnWidthFn(e);return isNaN(t)?i:t}}t.ViewportColumnsCalculator=l},72459:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(15724);var n=s(o(85707)),r=o(99163);class i extends r.ViewportBaseCalculator{constructor(e){let{calculationTypes:t,viewportHeight:o,scrollOffset:s,totalRows:r,defaultRowHeight:i,rowHeightFn:l,overrideFn:a,horizontalScrollbarHeight:h}=e;super(t),(0,n.default)(this,"viewportHeight",0),(0,n.default)(this,"scrollOffset",0),(0,n.default)(this,"zeroBasedScrollOffset",0),(0,n.default)(this,"totalRows",0),(0,n.default)(this,"rowHeightFn",null),(0,n.default)(this,"rowHeight",0),(0,n.default)(this,"overrideFn",null),(0,n.default)(this,"horizontalScrollbarHeight",0),(0,n.default)(this,"innerViewportHeight",0),(0,n.default)(this,"totalCalculatedHeight",0),(0,n.default)(this,"startPositions",[]),(0,n.default)(this,"needReverse",!0),this.defaultHeight=i,this.viewportHeight=o,this.scrollOffset=s,this.zeroBasedScrollOffset=Math.max(s,0),this.totalRows=r,this.rowHeightFn=l,this.overrideFn=a,this.horizontalScrollbarHeight=null!=h?h:0,this.innerViewportHeight=this.zeroBasedScrollOffset+this.viewportHeight-this.horizontalScrollbarHeight,this.calculate()}calculate(){this._initialize(this);for(let e=0;e<this.totalRows;e++)if(this.rowHeight=this.getRowHeight(e),this._process(e,this),this.startPositions.push(this.totalCalculatedHeight),this.totalCalculatedHeight+=this.rowHeight,this.totalCalculatedHeight>=this.innerViewportHeight){this.needReverse=!1;break}this._finalize(this)}getRowHeight(e){const t=this.rowHeightFn(e);return isNaN(t)?this.defaultHeight:t}}t.ViewportRowsCalculator=i},53666:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(67834);var n=s(o(85707));function r(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)}function i(e,t){return e.get(a(e,t))}function l(e,t,o){return e.set(a(e,t),o),o}function a(e,t,o){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:o;throw new TypeError("Private element is not present on this object")}var h=new WeakMap;class c{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),r(this,h,!1),l(h,this,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 i(h,this)}isSouthEastOf(e){return this.row>=e.row&&(i(h,this)?this.col<=e.col:this.col>=e.col)}isNorthWestOf(e){return this.row<=e.row&&(i(h,this)?this.col>=e.col:this.col<=e.col)}isSouthWestOf(e){return this.row>=e.row&&(i(h,this)?this.col>=e.col:this.col<=e.col)}isNorthEastOf(e){return this.row<=e.row&&(i(h,this)?this.col<=e.col:this.col>=e.col)}normalize(){return this.row=null===this.row?this.row:Math.max(this.row,0),this.col=null===this.col?this.col:Math.max(this.col,0),this}assign(e){return Number.isInteger(null==e?void 0:e.row)&&(this.row=e.row),Number.isInteger(null==e?void 0:e.col)&&(this.col=e.col),e instanceof c&&l(h,this,e.isRtl()),this}clone(){return new c(this.row,this.col,i(h,this))}toObject(){return{row:this.row,col:this.col}}}t.default=c},35175:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(67834),o(15724);var n=s(o(85707)),r=s(o(53666));function i(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)}function l(e,t){return e.get(a(e,t))}function a(e,t,o){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:o;throw new TypeError("Private element is not present on this object")}var h=new WeakMap;class c{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];var r,l,c;(0,n.default)(this,"highlight",null),(0,n.default)(this,"from",null),(0,n.default)(this,"to",null),i(this,h,!1),this.highlight=e.clone(),this.from=t.clone(),this.to=o.clone(),l=this,c=s,(r=h).set(a(r,l),c)}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}isHeader(){return!(!this.from.isHeader()||!this.to.isHeader())||(this.from.col<0&&this.to.col<0||this.from.row<0&&this.to.row<0)}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.getOuterTopEndCorner().col>=e.getOuterTopStartCorner().col&&this.getOuterTopEndCorner().col<=e.getOuterTopEndCorner().col||this.getOuterTopStartCorner().col<=e.getOuterTopEndCorner().col&&this.getOuterTopStartCorner().col>=e.getOuterTopStartCorner().col}isOverlappingVertically(e){return this.getOuterBottomStartCorner().row>=e.getOuterTopRightCorner().row&&this.getOuterBottomStartCorner().row<=e.getOuterBottomStartCorner().row||this.getOuterTopEndCorner().row<=e.getOuterBottomStartCorner().row&&this.getOuterTopEndCorner().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){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(this.includesRange(e)||!this.overlaps(e))return!1;const o=this.getOuterTopStartCorner(),s=this.getOuterBottomEndCorner(),n=this.getDirection(),r=e.getOuterTopStartCorner(),i=e.getOuterBottomEndCorner(),l=Math.min(o.row,r.row),a=Math.min(o.col,r.col),h=Math.max(s.row,i.row),c=Math.max(s.col,i.col),u=this._createCellCoords(l,a),d=this._createCellCoords(h,c);return this.from=u,this.to=d,this.setDirection(n),t&&(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 l(h,this)?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 l(h,this)?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 l(h,this)?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 l(h,this)?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 l(h,this)?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 l(h,this)?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 l(h,this)?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 l(h,this)?this.getOuterBottomEndCorner():this.getOuterBottomStartCorner()}isCorner(e){return e.isEqual(this.getOuterTopLeftCorner())||e.isEqual(this.getOuterTopRightCorner())||e.isEqual(this.getOuterBottomLeftCorner())||e.isEqual(this.getOuterBottomRightCorner())}getOppositeCorner(e){return e instanceof r.default&&(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),a=Math.min(e.from.col,e.to.col),c=Math.max(e.from.col,e.to.col),u=[];return t===r&&u.push("top"),n===c&&u.push(l(h,this)?"left":"right"),o===i&&u.push("bottom"),s===a&&u.push(l(h,this)?"right":"left"),u}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 c(this.highlight,this.from,this.to,l(h,this))}toObject(){return{from:this.from.toObject(),to:this.to.toObject()}}_createCellCoords(e,t){return new r.default(e,t,l(h,this))}}t.default=c},3885:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(15724);var n=s(o(85707)),r=o(94916),i=o(83414),l=s(o(12370)),a=s(o(82276)),h=s(o(53666)),c=s(o(35175));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,"activeOverlayName","master"),(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 c.default(e,t,o,this.wtSettings.getSetting("rtlMode"))}draw(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.drawInterrupted=!1,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){return this.wtScroll.scrollViewport(e,t,o)}scrollViewportHorizontally(e,t){return this.wtScroll.scrollViewportHorizontally(e,t)}scrollViewportVertically(e,t){return this.wtScroll.scrollViewportVertically(e,t)}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 stylesHandler(){return e.stylesHandler},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 startColumnPartiallyVisible(){return e.wtViewport.columnsPartiallyVisibleCalculator.startColumn},get endColumnRendered(){return e.wtViewport.columnsRenderCalculator.endColumn},get endColumnVisible(){return e.wtViewport.columnsVisibleCalculator.endColumn},get endColumnPartiallyVisible(){return e.wtViewport.columnsPartiallyVisibleCalculator.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 startRowPartiallyVisible(){return e.wtViewport.rowsPartiallyVisibleCalculator.startRow},get endRowRendered(){return e.wtViewport.rowsRenderCalculator.endRow},get endRowVisible(){return e.wtViewport.rowsVisibleCalculator.endRow},get endRowPartiallyVisible(){return e.wtViewport.rowsPartiallyVisibleCalculator.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")}}}}},98900:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(85707)),r=s(o(87597)),i=s(o(3885));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.stylesHandler=o.stylesHandler,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},31278:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(15724);var n=s(o(87597)),r=s(o(7052)),i=o(19938),l=s(o(5352)),a=s(o(69910)),h=s(o(4255)),c=s(o(3885)),u=o(47491),d=o(95016),g=o(94916),f=o(47873);class p extends c.default{constructor(e,t){super(e,new l.default(t)),this.stylesHandler=new f.StylesHandler(this.domBindings);const o=this.wtSettings.getSetting("facade",this);this.wtTable=new a.default(this.getTableDao(),o,this.domBindings,this.wtSettings),this.wtViewport=new h.default(this.getViewportDao(),this.domBindings,this.wtSettings,this.eventManager,this.wtTable),this.selectionManager=new u.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,d.objectEach)({rowHeaders:"htRowHeaders",columnHeaders:"htColumnHeaders"},((o,s)=>{this.wtSettings.getSetting(s).length&&t.push(o),e.push(o)})),(0,g.removeClass)(this.wtTable.wtRootElement.parentNode,e),(0,g.addClass)(this.wtTable.wtRootElement.parentNode,t)}getOverlayByName(e){var t;if(!i.CLONE_TYPES.includes(e))return null;const o=e.replace(/_([a-z])/g,(e=>e[1].toUpperCase()));return null!==(t=this.wtOverlays[`${o}Overlay`])&&void 0!==t?t:null}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=p},87597:(e,t,o)=>{"use strict";t.__esModule=!0,o(67834);var s=o(94916),n=o(77515),r=o(37725),i=o(99275),l=o(95768);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)}function h(e,t){return e.get(u(e,t))}function c(e,t,o){return e.set(u(e,t),o),o}function u(e,t,o){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:o;throw new TypeError("Private element is not present on this object")}var d=new WeakMap,g=new WeakMap,f=new WeakMap,p=new WeakMap,m=new WeakMap,w=new WeakMap,C=new WeakMap,v=new WeakMap,y=new WeakMap,E=new WeakMap;t.default=class{constructor(e,t,o,s,n,r){let i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null;a(this,d,void 0),a(this,g,void 0),a(this,f,void 0),a(this,p,void 0),a(this,m,void 0),a(this,w,void 0),a(this,C,void 0),a(this,v,void 0),a(this,y,[null,null]),a(this,E,[null,null]),c(d,this,o),c(g,this,t),c(f,this,n),c(p,this,r),c(m,this,i),c(w,this,s),c(C,this,e),this.registerEvents()}registerEvents(){h(w,this).addEventListener(h(f,this).holder,"contextmenu",(e=>this.onContextMenu(e))),h(w,this).addEventListener(h(f,this).TABLE,"mouseover",(e=>this.onMouseOver(e))),h(w,this).addEventListener(h(f,this).TABLE,"mouseout",(e=>this.onMouseOut(e)));const e=()=>{h(w,this).addEventListener(h(f,this).holder,"touchstart",(e=>this.onTouchStart(e))),h(w,this).addEventListener(h(f,this).holder,"touchend",(e=>this.onTouchEnd(e))),this.momentumScrolling||(this.momentumScrolling={}),h(w,this).addEventListener(h(f,this).holder,"scroll",(()=>{clearTimeout(this.momentumScrolling._timeout),this.momentumScrolling.ongoing||h(d,this).getSetting("onBeforeTouchScroll"),this.momentumScrolling.ongoing=!0,this.momentumScrolling._timeout=setTimeout((()=>{this.touchApplied||(this.momentumScrolling.ongoing=!1,h(d,this).getSetting("onAfterMomentumScroll"))}),200)}))},t=()=>{h(w,this).addEventListener(h(f,this).holder,"mouseup",(e=>this.onMouseUp(e))),h(w,this).addEventListener(h(f,this).holder,"mousedown",(e=>this.onMouseDown(e)))};(0,i.isMobileBrowser)()?e():((0,r.isTouchSupported)()&&e(),t())}selectedCellWasTouched(e){const t=this.parentCell(e).coords;if(h(v,this)&&t){const[e,o]=[t.row,h(v,this).from.row],[s,n]=[t.col,h(v,this).from.col];return e===o&&s===n}return!1}parentCell(e){const t={},o=h(f,this).TABLE,n=(0,s.closestDown)(e,["TD","TH"],o);return n?(t.coords=h(f,this).getCoords(n),t.TD=n):(0,s.hasClass)(e,"wtBorder")&&(0,s.hasClass)(e,"current")?(t.coords=h(p,this).getFocusSelection().cellRange.highlight,t.TD=h(f,this).getCell(t.coords)):(0,s.hasClass)(e,"wtBorder")&&(0,s.hasClass)(e,"area")&&h(p,this).getAreaSelection().cellRange&&(t.coords=h(p,this).getAreaSelection().cellRange.to,t.TD=h(f,this).getCell(t.coords)),t}onMouseDown(e){const t=h(g,this).rootDocument.activeElement,o=(0,n.partial)(s.getParent,e.target),r=e.target;if(!["TD","TH"].includes(t.nodeName)&&(r===t||o(0)===t||o(1)===t))return;const i=this.parentCell(r);(0,s.hasClass)(r,"corner")?h(d,this).getSetting("onCellCornerMouseDown",e,r):i.TD&&h(d,this).has("onCellMouseDown")&&this.callListener("onCellMouseDown",e,i.coords,i.TD),(0===e.button||this.touchApplied)&&i.TD&&(h(E,this)[0]=i.TD,clearTimeout(h(y,this)[0]),h(y,this)[0]=setTimeout((()=>{h(E,this)[0]=null}),1e3))}onContextMenu(e){if(h(d,this).has("onCellContextMenu")){const t=this.parentCell(e.target);t.TD&&this.callListener("onCellContextMenu",e,t.coords,t.TD)}}onMouseOver(e){if(!h(d,this).has("onCellMouseOver"))return;const t=h(f,this).TABLE,o=(0,s.closestDown)(e.target,["TD","TH"],t),n=h(m,this)||this;o&&o!==n.lastMouseOver&&(0,s.isChildOf)(o,t)&&(n.lastMouseOver=o,this.callListener("onCellMouseOver",e,h(f,this).getCoords(o),o))}onMouseOut(e){if(!h(d,this).has("onCellMouseOut"))return;const t=h(f,this).TABLE,o=(0,s.closestDown)(e.target,["TD","TH"],t),n=(0,s.closestDown)(e.relatedTarget,["TD","TH"],t),r=h(m,this)||this;o&&o!==n&&(0,s.isChildOf)(o,t)&&(this.callListener("onCellMouseOut",e,h(f,this).getCoords(o),o),null===n&&(r.lastMouseOver=null))}onMouseUp(e){const t=this.parentCell(e.target);t.TD&&h(d,this).has("onCellMouseUp")&&this.callListener("onCellMouseUp",e,t.coords,t.TD),(0===e.button||this.touchApplied)&&(t.TD===h(E,this)[0]&&t.TD===h(E,this)[1]?((0,s.hasClass)(e.target,"corner")?this.callListener("onCellCornerDblClick",e,t.coords,t.TD):this.callListener("onCellDblClick",e,t.coords,t.TD),h(E,this)[0]=null,h(E,this)[1]=null):t.TD===h(E,this)[0]&&(h(E,this)[1]=t.TD,clearTimeout(h(y,this)[1]),h(y,this)[1]=setTimeout((()=>{h(E,this)[1]=null}),500)))}onTouchStart(e){c(v,this,h(p,this).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&&h(d,this).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=h(d,this).getSettingPure(e);n&&n(t,o,s,h(C,this).call(this))}destroy(){clearTimeout(h(y,this)[0]),clearTimeout(h(y,this)[1]),h(w,this).destroy()}}},41009:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(31278)),r=s(o(3885));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 activeOverlayName(){return this._wot.activeOverlayName}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}get stylesHandler(){return this._wot.stylesHandler}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){return this._wot.scrollViewport(e,t,o)}scrollViewportHorizontally(e,t){return this._wot.scrollViewportHorizontally(e,t)}scrollViewportVertically(e,t){return this._wot.scrollViewportVertically(e,t)}getViewport(){return this._wot.getViewport()}getOverlayName(){return this._wot.cloneOverlay?this._wot.cloneOverlay.type:"master"}getOverlayByName(e){return this._wot.getOverlayByName(e)}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},18316:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(85707));t.default=class{constructor(e,t,o){(0,n.default)(this,"offset",void 0),(0,n.default)(this,"total",void 0),(0,n.default)(this,"countTH",void 0),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))}}},25800:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(85707));t.default=class{constructor(e,t,o){(0,n.default)(this,"offset",void 0),(0,n.default)(this,"total",void 0),(0,n.default)(this,"countTH",void 0),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))}}},7749:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=o(14426);t.ViewportColumnsCalculator=n.ViewportColumnsCalculator,t.ViewportRowsCalculator=n.ViewportRowsCalculator,t.DEFAULT_COLUMN_WIDTH=n.DEFAULT_COLUMN_WIDTH;var r=s(o(53666));t.CellCoords=r.default;var i=s(o(35175));t.CellRange=i.default;var l=s(o(41009));t.default=l.default,t.Core=l.default;var a=o(39304);t.Selection=a.Selection,t.HIGHLIGHT_ACTIVE_HEADER_TYPE=a.ACTIVE_HEADER_TYPE,t.HIGHLIGHT_AREA_TYPE=a.AREA_TYPE,t.HIGHLIGHT_FOCUS_TYPE=a.FOCUS_TYPE,t.HIGHLIGHT_FILL_TYPE=a.FILL_TYPE,t.HIGHLIGHT_HEADER_TYPE=a.HEADER_TYPE,t.HIGHLIGHT_ROW_TYPE=a.ROW_TYPE,t.HIGHLIGHT_COLUMN_TYPE=a.COLUMN_TYPE,t.HIGHLIGHT_CUSTOM_SELECTION_TYPE=a.CUSTOM_SELECTION_TYPE;var h=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var o=d(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&&{}.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(39597));t.Renderer=h;var c=o(95397);t.OrderView=c.OrderView,t.SharedOrderView=c.SharedOrderView;var u=o(12370);function d(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,o=new WeakMap;return(d=function(e){return e?o:t})(e)}t.getListenersCounter=u.getListenersCounter},63074:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(67834),o(14846),o(69655);var n=s(o(85707)),r=o(94916),i=o(95016),l=o(59350),a=o(72787),h=s(o(98900)),c=o(45551);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:c,holder:u,wtRootElement:d}=this.wot.wtTable;this.instance=this.wot,this.type=o,this.mainTableScrollableElement=null,this.TABLE=a,this.hider=h,this.spreader=c,this.holder=u,this.wtRootElement=d,this.trimmingContainer=(0,r.getTrimmingContainer)(this.hider.parentNode.parentNode),this.needFullRender=this.shouldBeRendered(),this.clone=this.makeClone()}hasRenderingStateChanged(){return this.needFullRender!==this.shouldBeRendered()}updateStateOfRendering(e){"before"===e&&this.shouldBeRendered()?this.needFullRender=!0:"after"!==e||this.shouldBeRendered()||(this.needFullRender=!1)}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,l.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"),a=this.clone.wtTable.spreader,h={start:this.getRelativeStartPosition(a),top:a.offsetTop},c={start:this.getRelativeStartPosition(e),top:e.offsetTop};let u=null;return u=s?this.getRelativeCellPositionWithinWindow(r,n,c,h):this.getRelativeCellPositionWithinHolder(r,i,n,c,h),u}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===a.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=`${a.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 u=this.wtSettings.getSetting("preventOverflow");return!0===u||"horizontal"===u&&this.type===a.CLONE_TOP||"vertical"===u&&this.type===a.CLONE_INLINE_START?this.mainTableScrollableElement=s:"hidden"===s.getComputedStyle(l).getPropertyValue("overflow")?this.mainTableScrollableElement=e.holder:this.mainTableScrollableElement=(0,r.getScrollableElement)(e.TABLE),new h.default(i,this.wtSettings,{source:this.wot,overlay:this,viewport:this.wot.wtViewport,event:this.wot.wtEvent,selectionManager:this.wot.selectionManager,stylesHandler:this.wot.stylesHandler})}refresh(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.needFullRender){const t=this.clone.cloneSource;t.activeOverlayName=this.clone.wtTable.name,this.clone.draw(e),t.activeOverlayName="master"}}reset(){const e=this.clone.wtTable.holder,t=this.clone.wtTable.hider;[e.style,t.style,e.parentNode.style].forEach((e=>{e.width="",e.height=""}))}isRtl(){return this.wtSettings.getSetting("rtlMode")}destroy(){this.clone.eventManager.destroy()}}},45323:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(67834);var n=s(o(85707)),r=o(94916),i=s(o(12207)),l=o(63074),a=o(72787);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.shouldBeRendered()||!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,stylesHandler:s}=this.wot,n=s.getDefaultRowHeight();let r=e,i=0;for(;r<t;){const e=o.getRowHeight(r);i+=void 0===e?n:e,r+=1}return i}adjustElementsSize(){this.updateTrimmingContainer(),this.needFullRender&&(this.adjustRootElementSize(),this.adjustRootChildrenSize())}adjustRootElementSize(){const{wtTable:e,wtViewport:t}=this.wot,{rootDocument:o,rootWindow:s}=this.domBindings,n=this.clone.wtTable.holder.parentNode.style,i=this.wtSettings.getSetting("preventOverflow");if(this.trimmingContainer!==s||"horizontal"===i){let s=t.getWorkspaceWidth();t.hasVerticalScroll()&&(s-=(0,r.getScrollbarWidth)(o)),s=Math.min(s,e.wtRootElement.scrollWidth),n.width=`${s}px`}else n.width="";this.clone.wtTable.holder.style.width=n.width;let l=(0,r.outerHeight)(this.clone.wtTable.TABLE);e.hasDefinedSize()||(l=0),n.height=`${l}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},3813:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=o(94916),r=s(o(89353)),i=o(63074),l=o(72787);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},72787:(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`]])},19938:(e,t,o)=>{"use strict";o(14846),o(69655),t.__esModule=!0;var s={BottomInlineStartCornerOverlay:!0,BottomOverlay:!0,InlineStartOverlay:!0,Overlay:!0,TopInlineStartCornerOverlay:!0,TopOverlay:!0},n=o(3813);t.BottomInlineStartCornerOverlay=n.BottomInlineStartCornerOverlay;var r=o(45323);t.BottomOverlay=r.BottomOverlay;var i=o(71197);t.InlineStartOverlay=i.InlineStartOverlay;var l=o(63074);t.Overlay=l.Overlay;var a=o(52895);t.TopInlineStartCornerOverlay=a.TopInlineStartCornerOverlay;var h=o(29253);t.TopOverlay=h.TopOverlay;var c=o(72787);Object.keys(c).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(s,e)||e in t&&t[e]===c[e]||(t[e]=c[e]))}))},71197:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(67834);var n=o(94916),r=s(o(83281)),i=o(63074),l=o(39304),a=o(72787);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||!this.shouldBeRendered()||!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.getColumnWidth(s)||o,s+=1;return n}adjustElementsSize(){this.updateTrimmingContainer(),this.needFullRender&&(this.adjustRootElementSize(),this.adjustRootChildrenSize())}adjustRootElementSize(){const{wtTable:e,wtViewport:t}=this.wot,{rootDocument:o,rootWindow:s}=this.domBindings,r=this.clone.wtTable.holder.parentNode.style,i=this.wtSettings.getSetting("preventOverflow");if(this.trimmingContainer!==s||"vertical"===i){let s=t.getWorkspaceHeight();t.hasHorizontalScroll()&&(s-=(0,n.getScrollbarWidth)(o)),s=Math.min(s,e.wtRootElement.scrollHeight),r.height=`${s}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=(0,l.getCornerStyle)(this.wot),o=this.wot.selectionManager.getFocusSelection()?parseInt(t.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)+o}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){const{wtSettings:o}=this,s=o.getSetting("rowHeaders"),r=o.getSetting("fixedColumnsStart"),i=(this.wot.cloneSource?this.wot.cloneSource:this.wot).wtTable.holder,l=0===r&&s.length>0&&!(0,n.hasClass)(i.parentNode,"innerBorderInlineStart")?1:0;let a=this.getTableParentOffset(),h=0;if(t){this.wot.wtTable.getColumnWidth(e)>this.wot.wtViewport.getViewportWidth()&&(t=!1)}return t&&i.offsetWidth!==i.clientWidth&&(h=(0,n.getScrollbarWidth)(this.domBindings.rootDocument)),t?(a+=this.sumCellSizes(0,e+1),a-=this.wot.wtViewport.getViewportWidth(),a+=l):a+=this.sumCellSizes(this.wtSettings.getSetting("fixedColumnsStart"),e),a+=h,(0,n.getMaximumScrollLeft)(this.mainTableScrollableElement)===a-l&&l>0&&this.wot.wtOverlays.expandHiderHorizontallyBy(l),this.setScrollPosition(a)}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{wtSettings:t}=this,o=this.wot.wtTable.holder.parentNode,s=t.getSetting("rowHeaders"),r=t.getSetting("fixedColumnsStart"),i=t.getSetting("totalRows"),l="vertical"===t.getSetting("preventOverflow");i?(0,n.removeClass)(o,"emptyRows"):(0,n.addClass)(o,"emptyRows");let a=!1;if(!l)if(r&&!s.length)(0,n.addClass)(o,"innerBorderLeft innerBorderInlineStart");else if(!r&&s.length){const t=(0,n.hasClass)(o,"innerBorderInlineStart");e?((0,n.addClass)(o,"innerBorderLeft innerBorderInlineStart"),a=!t):((0,n.removeClass)(o,"innerBorderLeft innerBorderInlineStart"),a=t)}return a}}t.InlineStartOverlay=h},29253:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(67834);var n=s(o(85707)),r=o(94916),i=s(o(39001)),l=o(63074),a=o(39304),h=o(72787);class c 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.shouldBeRendered()||!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.wot.stylesHandler.getDefaultRowHeight();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(){this.updateTrimmingContainer(),this.needFullRender&&(this.adjustRootElementSize(),this.adjustRootChildrenSize())}adjustRootElementSize(){const{wtTable:e,wtViewport:t}=this.wot,{rootDocument:o,rootWindow:s}=this.domBindings,n=this.clone.wtTable.holder.parentNode.style,i=this.wtSettings.getSetting("preventOverflow");if(this.trimmingContainer!==s||"horizontal"===i){let s=t.getWorkspaceWidth();t.hasVerticalScroll()&&(s-=(0,r.getScrollbarWidth)(o)),s=Math.min(s,e.wtRootElement.scrollWidth),n.width=`${s}px`}else n.width="";this.clone.wtTable.holder.style.width=n.width;let l=(0,r.outerHeight)(this.clone.wtTable.TABLE);e.hasDefinedSize()||(l=0),n.height=`${l}px`}adjustRootChildrenSize(){const{holder:e}=this.clone.wtTable,t=(0,a.getCornerStyle)(this.wot),o=this.wot.selectionManager.getFocusSelection()?parseInt(t.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)+o}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,i=s.getSetting("columnHeaders"),l=0===s.getSetting("fixedRowsTop")&&i.length>0&&!(0,r.hasClass)(n.parentNode,"innerBorderTop")?1:0;let a=this.getTableParentOffset(),h=0;if(t){this.wot.wtTable.getRowHeight(e)>this.wot.wtViewport.getViewportHeight()&&(t=!1)}if(t&&n.offsetHeight!==n.clientHeight&&(h=(0,r.getScrollbarWidth)(this.domBindings.rootDocument)),t){const t=s.getSetting("fixedRowsBottom"),n=s.getSetting("totalRows");a+=this.sumCellSizes(0,e+1),a-=o.wtViewport.getViewportHeight()-this.sumCellSizes(n-t,n),a+=1,a+=l}else a+=this.sumCellSizes(s.getSetting("fixedRowsTop"),e);return a+=h,(0,r.getMaximumScrollTop)(this.mainTableScrollableElement)===a-l&&l>0&&this.wot.wtOverlays.expandHiderVerticallyBy(l),this.setScrollPosition(a)}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{wtSettings:o}=this,s=this.wot.wtTable.holder.parentNode,n=o.getSetting("totalColumns"),i="horizontal"===o.getSetting("preventOverflow");n?(0,r.removeClass)(s,"emptyColumns"):(0,r.addClass)(s,"emptyColumns");let l=!1;if(!t&&!i){const t=o.getSetting("fixedRowsTop"),n=this.cachedFixedRowsTop!==t,i=o.getSetting("columnHeaders");if((n||0===t)&&i.length>0){const t=(0,r.hasClass)(s,"innerBorderTop");this.cachedFixedRowsTop=o.getSetting("fixedRowsTop"),e||0===o.getSetting("totalRows")?((0,r.addClass)(s,"innerBorderTop"),l=!t):((0,r.removeClass)(s,"innerBorderTop"),l=t)}}return l}}t.TopOverlay=c},52895:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(85707)),r=o(94916),i=s(o(76547)),l=o(63074),a=o(72787);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},7052:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(67834),o(15724),o(14846),o(69655),o(90458);var n=s(o(85707)),r=o(94916),i=o(37725),l=o(47154),a=o(83644),h=o(99275),c=o(59350),u=o(19938);function d(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)}function g(e,t,o){return e.set(p(e,t),o),o}function f(e,t){return e.get(p(e,t))}function p(e,t,o){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:o;throw new TypeError("Private element is not present on this object")}var m=new WeakMap,w=new WeakMap,C=new WeakMap,v=new WeakMap;t.default=class{constructor(e,t,o,s,l,a){(0,n.default)(this,"wot",null),d(this,m,[]),(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),d(this,w,!1),d(this,C,0),d(this,v,null),(0,n.default)(this,"resizeObserver",new ResizeObserver((e=>{(0,i.requestAnimationFrame)((()=>{Array.isArray(e)&&e.length&&(g(C,this,f(C,this)+1),100===f(C,this)&&((0,c.warn)("The ResizeObserver callback was fired too many times in direct succession.\nThis may be due to an infinite loop caused by setting a dynamic height/width (for example, with the `dvh` units) to a Handsontable container's parent. \nThe observer will be disconnected."),this.resizeObserver.disconnect()),null!==f(v,this)&&clearTimeout(f(v,this)),g(v,this,setTimeout((()=>{g(C,this,0)}),100)),this.wtSettings.getSetting("onContainerElementResize"))}))}))),this.wot=e,this.wtSettings=s,this.domBindings=o,this.facadeGetter=t,this.wtTable=a;const{rootDocument:h,rootWindow:u}=this.domBindings;this.instance=this.wot,this.eventManager=l,this.scrollbarSize=(0,r.getScrollbarWidth)(h);const p="hidden"===u.getComputedStyle(a.wtRootElement.parentNode).getPropertyValue("overflow");this.scrollableElement=p?a.holder:(0,r.getScrollableElement)(a.TABLE),this.initOverlays(),this.destroyed=!1,this.keyPressed=!1,this.spreaderLastSize={width:null,height:null},this.verticalScrolling=!1,this.horizontalScrolling=!1,this.initBrowserLineHeight(),this.registerListeners(),this.lastScrollX=u.scrollX,this.lastScrollY=u.scrollY}getOverlays(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=[...f(m,this)];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 u.TopOverlay(...e),this.bottomOverlay=new u.BottomOverlay(...e),this.inlineStartOverlay=new u.InlineStartOverlay(...e),this.topInlineStartCornerOverlay=new u.TopInlineStartCornerOverlay(...e,this.topOverlay,this.inlineStartOverlay),this.bottomInlineStartCornerOverlay=new u.BottomInlineStartCornerOverlay(...e,this.bottomOverlay,this.inlineStartOverlay),g(m,this,[this.topOverlay,this.bottomOverlay,this.inlineStartOverlay,this.topInlineStartCornerOverlay,this.bottomInlineStartCornerOverlay])}beforeDraw(){g(w,this,f(m,this).reduce(((e,t)=>t.hasRenderingStateChanged()||e),!1)),f(m,this).forEach((e=>e.updateStateOfRendering("before")))}afterDraw(){this.syncScrollWithMaster(),f(m,this).forEach((e=>{const t=e.hasRenderingStateChanged();e.updateStateOfRendering("after"),t&&!e.needFullRender&&e.reset()}))}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,l=this.wtSettings.getSetting("preventWheel"),a={passive:r};(l||n||!(0,h.isChrome)())&&this.eventManager.addEventListener(this.wtTable.wtRootElement,"wheel",(e=>this.onCloneWheel(e,l)),a);let c;[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,l)),a)}})),this.eventManager.addEventListener(t,"resize",(()=>{(0,i.requestAnimationFrame)((()=>{clearTimeout(c),this.wtSettings.getSetting("onWindowResize"),c=setTimeout((()=>{g(C,this,0)}),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)||this.scrollableElement===o)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(){if(!f(w,this))return;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),g(w,this,!1)}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(){const{wtViewport:e}=this.wot,{wtTable:t}=this,{rootWindow:o}=this.domBindings,s=this.scrollableElement===o,n=this.wtSettings.getSetting("totalColumns"),r=this.wtSettings.getSetting("totalRows"),i=e.getRowHeaderWidth(),l=e.getColumnHeaderHeight()+this.topOverlay.sumCellSizes(0,r)+1,a=i+this.inlineStartOverlay.sumCellSizes(0,n),h=t.hider.style,c=(()=>!s&&this.scrollableElement.scrollTop>Math.max(0,l-t.holder.clientHeight))()?1:0,u=(()=>!s&&this.scrollableElement.scrollLeft>Math.max(0,a-t.holder.clientWidth))()?1:0;h.width=`${a+u}px`,h.height=`${l+c}px`,this.topOverlay.adjustElementsSize(),this.inlineStartOverlay.adjustElementsSize(),this.bottomOverlay.adjustElementsSize()}expandHiderVerticallyBy(e){const{wtTable:t}=this;t.hider.style.height=`${parseInt(t.hider.style.height,10)+e}px`}expandHiderHorizontallyBy(e){const{wtTable:t}=this;t.hider.style.width=`${parseInt(t.hider.style.width,10)+e}px`}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)}))}}},20601:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(85707)),r=s(o(87300));t.default=class{constructor(e,t){(0,n.default)(this,"nodesPool",null),(0,n.default)(this,"nodeType",void 0),(0,n.default)(this,"rootNode",void 0),(0,n.default)(this,"table",null),(0,n.default)(this,"renderedNodes",0),this.nodesPool="string"==typeof e?new r.default(e):null,this.nodeType=e,this.rootNode=t}setTable(e){this.nodesPool&&this.nodesPool.setRootDocument(e.rootDocument),this.table=e}adjust(){}render(){}}},3988:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(85707)),r=o(94916),i=o(95397),l=s(o(20601)),a=o(45551);class h extends l.default{constructor(){super("TD"),(0,n.default)(this,"orderViews",new WeakMap),(0,n.default)(this,"sourceRowIndex",0)}obtainOrderView(e){let t;return this.orderViews.has(e)?t=this.orderViews.get(e):(t=new i.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 l=0;l<e;l++){const e=this.table.renderedRowToSource(l),h=o.getRenderedNode(l);this.sourceRowIndex=e;const c=this.obtainOrderView(h),u=s.obtainOrderView(h);c.prependView(u).setSize(t).setOffset(this.table.renderedColumnToSource(0)).start();for(let o=0;o<t;o++){c.render();const t=c.getCurrentNode(),s=this.table.renderedColumnToSource(o);var n,i;if((0,r.hasClass)(t,"hide")||(t.className=""),t.removeAttribute("style"),t.removeAttribute("dir"),(0,r.removeAttribute)(t,[new RegExp("aria-(.*)"),new RegExp("role")]),this.table.cellRenderer(e,s,t),this.table.isAriaEnabled())(0,r.setAttribute)(t,[...t.hasAttribute("role")?[]:[(0,a.A11Y_GRIDCELL)()],(0,a.A11Y_TABINDEX)(-1),(0,a.A11Y_COLINDEX)(s+(null!==(n=null===(i=this.table.rowUtils)||void 0===i||null===(i=i.dataAccessObject)||void 0===i?void 0:i.rowHeaders.length)&&void 0!==n?n:0)+1)])}c.end()}}}t.default=h},61836:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(20601)),r=o(59350),i=o(20944),l=o(94916);let a=!1;class h 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;!a&&e>1e3&&(a=!0,(0,r.warn)(i.toSingleLine`Performance tip: Handsontable rendered more than 1000 visible columns.\x20
32
32
  Consider limiting the number of rendered columns by specifying the table width and/or\x20
33
33
  turning off the "renderAllColumns" option.`));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.getWidth(e);this.rootNode.childNodes[o+t].style.width=`${s}px`}const o=this.rootNode.firstChild;o&&(0,l.addClass)(o,"rowHeader")}}t.default=h},97297:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=o(94916),r=s(o(20601)),i=o(45551);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_ROWGROUP)()]);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),(0,i.A11Y_COLUMNHEADER)(),...l>=0?[(0,i.A11Y_SCOPE_COL)()]:[(0,i.A11Y_ROW)()]]),e[t](o,a,t)}}}}t.default=l},39597:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(53495));t.RowHeadersRenderer=n.default;var r=s(o(97297));t.ColumnHeadersRenderer=r.default;var i=s(o(61836));t.ColGroupRenderer=i.default;var l=s(o(67344));t.RowsRenderer=l.default;var a=s(o(3988));t.CellsRenderer=a.default;var h=s(o(73229));t.TableRenderer=h.default;t.Renderer=class{constructor(){let{TABLE:e,THEAD:t,COLGROUP:o,TBODY:s,rowUtils:c,columnUtils:u,cellRenderer:d,stylesHandler:g}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.renderer=new h.default(e,{cellRenderer:d,stylesHandler:g}),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(c,u)}setActiveOverlayName(e){return this.renderer.setActiveOverlayName(e),this}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()}}},53495:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(85707)),r=o(95397),i=s(o(20601)),l=o(94916),a=o(45551);class h extends i.default{constructor(){super("TH"),(0,n.default)(this,"orderViews",new WeakMap),(0,n.default)(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,rowHeaderFunctions:t,rowHeadersCount:o,rows:s,cells:n}=this.table;for(let r=0;r<e;r++){const e=this.table.renderedRowToSource(r),i=s.getRenderedNode(r);this.sourceRowIndex=e;const h=this.obtainOrderView(i),c=n.obtainOrderView(i);h.appendView(c).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,l.removeAttribute)(o,[new RegExp("aria-(.*)"),new RegExp("role")]),this.table.isAriaEnabled()&&(0,l.setAttribute)(o,[(0,a.A11Y_ROWHEADER)(),(0,a.A11Y_SCOPE_ROW)(),(0,a.A11Y_COLINDEX)(s+1),(0,a.A11Y_TABINDEX)(-1)]),t[s](e,o,s)}h.end()}}}t.default=h},67344:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(85707)),r=s(o(20601)),i=o(59350),l=o(20944),a=o(95397),h=o(94916),c=o(45551);const u="ht__row_even",d="ht__row_odd";let g=!1;class f extends r.default{constructor(e){super("TR",e),(0,n.default)(this,"orderView",void 0),this.orderView=new a.OrderView(e,(e=>this.nodesPool.obtain(e)),this.nodeType)}getRenderedNode(e){return this.orderView.getNode(e)}render(){const{rowsToRender:e}=this.table;!g&&e>1e3&&(g=!0,(0,i.warn)(l.toSingleLine`Performance tip: Handsontable rendered more than 1000 visible rows.\x20
34
34
  Consider limiting the number of rendered rows by specifying the table height and/or\x20
35
- turning off the "renderAllRows" option.`)),this.table.isAriaEnabled()&&(0,h.setAttribute)(this.rootNode,[(0,c.A11Y_ROWGROUP)()]),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,h.setAttribute)(e,[(0,c.A11Y_ROW)(),(0,c.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)]);(0,h.removeClass)(e,[u,d]),(n+1)%2==0?(0,h.addClass)(e,u):(0,h.addClass)(e,d)}this.orderView.end()}}t.default=f},73229:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(85707));t.default=class{constructor(e){let{cellRenderer:t,stylesHandler:o}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,n.default)(this,"rootNode",void 0),(0,n.default)(this,"rootDocument",void 0),(0,n.default)(this,"rowHeaders",null),(0,n.default)(this,"columnHeaders",null),(0,n.default)(this,"colGroup",null),(0,n.default)(this,"rows",null),(0,n.default)(this,"cells",null),(0,n.default)(this,"rowFilter",null),(0,n.default)(this,"columnFilter",null),(0,n.default)(this,"rowUtils",null),(0,n.default)(this,"columnUtils",null),(0,n.default)(this,"rowsToRender",0),(0,n.default)(this,"columnsToRender",0),(0,n.default)(this,"rowHeaderFunctions",[]),(0,n.default)(this,"rowHeadersCount",0),(0,n.default)(this,"columnHeaderFunctions",[]),(0,n.default)(this,"columnHeadersCount",0),(0,n.default)(this,"cellRenderer",void 0),(0,n.default)(this,"activeOverlayName",void 0),(0,n.default)(this,"stylesHandler",void 0),this.rootNode=e,this.rootDocument=this.rootNode.ownerDocument,this.cellRenderer=t,this.stylesHandler=o}setActiveOverlayName(e){this.activeOverlayName=e}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),s=this.rowUtils;if(e.firstChild){const t=this.renderedRowToSource(o),n=s.getHeightByOverlayName(t,this.activeOverlayName),r=this.stylesHandler.areCellsBorderBox()?0:1;e.firstChild.style.height=n?n-r+"px":""}}}}},82276:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(67834);var n=s(o(85707)),r=o(94916),i=o(95016);function l(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)}function a(e,t,o){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:o;throw new TypeError("Private element is not present on this object")}var h=new WeakSet;function c(e){const{wtSettings:t,inlineStartOverlay:o,wtTable:s,wtViewport:n,totalColumns:i,rootWindow:l}=this.dataAccessObject;if(o.mainTableScrollableElement===l){let a=null;if(t.getSetting("rtlMode")){const e=s.TABLE.getBoundingClientRect(),t=this.dataAccessObject.rootWindow.document.documentElement.offsetWidth;a=Math.abs(e.right-t)}else{a=(0,r.offset)(s.wtRootElement).left}const h=Math.abs((0,r.getScrollLeft)(l,l));if(a>h){const t=(0,r.innerWidth)(l);let s=n.getRowHeaderWidth();for(let n=1;n<=i;n++)if(s+=o.sumCellSizes(n-1,n),a+s-h>=t){e=n-2;break}}}return e}function u(e){const{topOverlay:t,wtTable:o,wtViewport:s,totalRows:n,rootWindow:i}=this.dataAccessObject;if(t.mainTableScrollableElement===i){const l=(0,r.offset)(o.wtRootElement),a=(0,r.getScrollTop)(i,i);if(l.top>a){const o=(0,r.innerHeight)(i);let h=s.getColumnHeaderHeight();for(let s=1;s<=n;s++)if(h+=t.sumCellSizes(s-1,s),l.top+h-a>=o){e=s-2;break}}}return e}t.default=class{constructor(e){l(this,h),(0,n.default)(this,"dataAccessObject",void 0),this.dataAccessObject=e}scrollViewport(e,t,o){if(e.col<0||e.row<0)return!1;const s=this.scrollViewportHorizontally(e.col,t),n=this.scrollViewportVertically(e.row,o);return s||n}scrollViewportHorizontally(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"auto";const{drawn:o,totalColumns:s}=this.dataAccessObject;if(!o)return!1;const n=(0,i.createObjectPropListener)(t);if(e=this.dataAccessObject.wtSettings.getSetting("onBeforeViewportScrollHorizontally",e,n),!Number.isInteger(e)||e<0||e>s)return!1;t=n.value;const{fixedColumnsStart:r,inlineStartOverlay:l}=this.dataAccessObject,a="auto"===t;if(a&&e<r)return!1;const h=this.getFirstVisibleColumn(),c=this.getLastVisibleColumn();let u=!1;return(a&&(e<h||e>c)||!a)&&(u=l.scrollTo(e,a?e>=this.getLastPartiallyVisibleColumn():"end"===t)),u}scrollViewportVertically(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"auto";const{drawn:o,totalRows:s}=this.dataAccessObject;if(!o)return!1;const n=(0,i.createObjectPropListener)(t);if(e=this.dataAccessObject.wtSettings.getSetting("onBeforeViewportScrollVertically",e,n),!Number.isInteger(e)||e<0||e>s)return!1;t=n.value;const{fixedRowsBottom:r,fixedRowsTop:l,topOverlay:a}=this.dataAccessObject,h="auto"===t;if(h&&(e<l||e>s-r-1))return!1;const c=this.getFirstVisibleRow(),u=this.getLastVisibleRow();let d=!1;return(h&&(e<c||e>u)||!h)&&(d=a.scrollTo(e,h?e>=this.getLastPartiallyVisibleRow():"bottom"===t)),d}getFirstVisibleRow(){return this.dataAccessObject.wtTable.getFirstVisibleRow()}getLastVisibleRow(){return a(h,this,u).call(this,this.dataAccessObject.wtTable.getLastVisibleRow())}getFirstPartiallyVisibleRow(){return this.dataAccessObject.wtTable.getFirstPartiallyVisibleRow()}getLastPartiallyVisibleRow(){return a(h,this,u).call(this,this.dataAccessObject.wtTable.getLastPartiallyVisibleRow())}getFirstVisibleColumn(){return this.dataAccessObject.wtTable.getFirstVisibleColumn()}getLastVisibleColumn(){return a(h,this,c).call(this,this.dataAccessObject.wtTable.getLastVisibleColumn())}getFirstPartiallyVisibleColumn(){return this.dataAccessObject.wtTable.getFirstPartiallyVisibleColumn()}getLastPartiallyVisibleColumn(){return a(h,this,c).call(this,this.dataAccessObject.wtTable.getLastPartiallyVisibleColumn())}}},8185:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(94916),n=o(40892),r=o(95016),i=o(99275),l=o(6822);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=(0,l.getCornerStyle)(this.instance),this.cornerCenterPointOffset=-Math.ceil(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}px`,this.cornerStyle.height=`${this.cornerDefaultStyle.height}px`,this.cornerStyle.border=[`${this.cornerDefaultStyle.borderWidth}px`,this.cornerDefaultStyle.borderStyle,this.cornerDefaultStyle.borderColor].join(" "),(0,i.isMobileBrowser)()&&this.instance.getSetting("isDataViewInstance")&&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:c}=this.selectionHandles.styles,u=parseInt(l.borderWidth,10),d=parseInt(l.width,10),g=parseInt(a.width,10),f=this.wot.wtTable.getWidth(),p=this.wot.wtTable.getHeight();l.top=`${parseInt(o-d-1,10)}px`,l[i]=`${parseInt(s-d-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-d-2*u),w=Math.min(parseInt(s+n-g/4,10),f-g-2*u);h[i]=`${m}px`,c[i]=`${w}px`;const C=Math.min(parseInt(o+r,10),p-d-2*u),v=Math.min(parseInt(o+r-g/4,10),p-g-2*u);h.top=`${C}px`,c.top=`${v}px`,this.settings.border.cornerVisible&&this.settings.border.cornerVisible()?(l.display="block",a.display="block",this.isPartRange(e,t)?(h.display="none",c.display="none"):(h.display="block",c.display="block")):(l.display="none",h.display="none",a.display="none",c.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;let[t,o,n,r]=e;if(t<0&&n<0||o<0&&r<0)return void this.disappear();const{wtTable:l,rootDocument:a,rootWindow:h}=this.wot,c=t!==n||o!==r,u=l.getFirstRenderedRow(),d=l.getLastRenderedRow(),g=l.getFirstRenderedColumn(),f=l.getLastRenderedColumn();let p;if(c){if(o=Math.max(o,g),r=Math.min(r,f),t=Math.max(t,u),n=Math.min(n,d),r<o||n<t)return void this.disappear();p=l.getCell(this.wot.createCellCoords(t,o))}else if(p=l.getCell(this.wot.createCellCoords(t,o)),!(p instanceof HTMLElement))return void this.disappear();const m=c?l.getCell(this.wot.createCellCoords(n,r)):p,w=(0,s.offset)(p),C=c?(0,s.offset)(m):w,v=(0,s.offset)(l.TABLE),y=w.top,E=w.left,S=this.wot.wtSettings.getSetting("rtlMode");let R=0,b=0;if(S){const e=(0,s.outerWidth)(l.TABLE),t=(0,s.outerWidth)(p),o=h.innerWidth-v.left-e;b=E+t-C.left,R=h.innerWidth-E-t-o-1}else b=C.left+(0,s.outerWidth)(m)-E,R=E-v.left-1;if(this.isEntireColumnSelected(t,n)){const e=t,s=this.getDimensionsFromHeader("columns",o,r,e,v);let n=null;s&&([n,R,b]=s),n&&(p=n)}let _=y-v.top-1,T=C.top+(0,s.outerHeight)(m)-y;if(this.isEntireRowSelected(o,r)){const e=o,s=this.getDimensionsFromHeader("rows",t,n,e,v);let r=null;s&&([r,_,T]=s),r&&(p=r)}const M=h.getComputedStyle(p);parseInt(M.borderTopWidth,10)>0&&(_+=1,T=T>0?T-1:0),parseInt(M[S?"borderRightWidth":"borderLeftWidth"],10)>0&&(R+=1,b=b>0?b-1:0);const O=S?"right":"left";this.topStyle.top=`${_}px`,this.topStyle[O]=`${R}px`,this.topStyle.width=`${b}px`,this.topStyle.display="block",this.startStyle.top=`${_}px`,this.startStyle[O]=`${R}px`,this.startStyle.height=`${T}px`,this.startStyle.display="block";const I=Math.floor(this.settings.border.width/2);this.bottomStyle.top=_+T-I+"px",this.bottomStyle[O]=`${R}px`,this.bottomStyle.width=`${b}px`,this.bottomStyle.display="block",this.endStyle.top=`${_}px`,this.endStyle[O]=R+b-I+"px",this.endStyle.height=`${T+1}px`,this.endStyle.display="block";let N=this.settings.border.cornerVisible;N="function"==typeof N?N(this.settings.layerLevel):N;const A=this.wot.getSetting("onModifyGetCellCoords",n,r,!1,"render");let[P,H]=[n,r];if(A&&Array.isArray(A)&&([,,P,H]=A),(0,i.isMobileBrowser)()||!N||this.isPartRange(P,H))this.cornerStyle.display="none";else{this.cornerStyle.top=_+T+this.cornerCenterPointOffset-this.cornerDefaultStyle.borderWidth+"px",this.cornerStyle[O]=R+b+this.cornerCenterPointOffset-this.cornerDefaultStyle.borderWidth+"px",this.cornerStyle.borderRightWidth=`${this.cornerDefaultStyle.borderWidth}px`,this.cornerStyle.borderLeftWidth=`${this.cornerDefaultStyle.borderWidth}px`,this.cornerStyle.borderBottomWidth=`${this.cornerDefaultStyle.borderWidth}px`,this.cornerStyle.width=this.cornerDefaultStyle.width,this.cornerStyle.display="none";let e=(0,s.getTrimmingContainer)(l.TABLE);const t=e===h;t&&(e=a.documentElement);const o=parseInt(this.cornerDefaultStyle.borderWidth,10)-1,i=Math.ceil(parseInt(this.cornerDefaultStyle.width,10)/2),c=Math.ceil(parseInt(this.cornerDefaultStyle.height,10)/2);if(r===this.wot.getSetting("totalColumns")-1){const n=t?m.getBoundingClientRect().left:m.offsetLeft;let r=!1,l=0;S?(l=n-parseInt(this.cornerDefaultStyle.width,10)/2,r=l<0):(l=n+(0,s.outerWidth)(m)+parseInt(this.cornerDefaultStyle.width,10)/2,r=l>=(0,s.innerWidth)(e)),r&&(this.cornerStyle[O]=`${Math.floor(R+b+this.cornerCenterPointOffset-i-o)}px`,this.cornerStyle[S?"borderLeftWidth":"borderRightWidth"]=0)}if(n===this.wot.getSetting("totalRows")-1){(t?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+this.cornerCenterPointOffset-c-o)}px`,this.cornerStyle.borderBottomWidth=0)}this.cornerStyle.display="block"}(0,i.isMobileBrowser)()&&this.instance.getSetting("isDataViewInstance")&&this.updateMultipleSelectionHandlesPosition(n,r,_,R,b,T)}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,c=null,u=null,d=null,g=null,f=null,p=null;switch(e){case"rows":a=function(){return i.getRowHeader(...arguments)},h=function(){return(0,s.outerHeight)(...arguments)},c="ht__selection--rows",g="top";break;case"columns":a=function(){return i.getColumnHeader(...arguments)},h=function(){return(0,s.outerWidth)(...arguments)},c="ht__selection--columns",g="left"}if(l.classList.contains(c)){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&&(u=i[g]-r[g]-1,d=l[g]+h(p)-i[g]),[f,u,d]}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.instance.getSetting("isDataViewInstance")&&(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)}}},6822:(e,t)=>{"use strict";t.__esModule=!0;t.getCornerStyle=e=>{const t=e.stylesHandler;if(t.isClassicTheme())return Object.freeze({width:6,height:6,borderWidth:1,borderStyle:"solid",borderColor:"#FFF"});const o=t.getCSSVariableValue("cell-autofill-size"),s=t.getCSSVariableValue("cell-autofill-border-width"),n=t.getCSSVariableValue("cell-autofill-border-color");return Object.freeze({width:o,height:o,borderWidth:s,borderStyle:"solid",borderColor:n})}},20765:(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"},39304:(e,t,o)=>{"use strict";o(14846),o(69655);var s=o(96784);t.__esModule=!0;var n={SelectionManager:!0,Selection:!0},r=s(o(64758));t.Selection=r.default;var i=o(20765);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(6822);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(47491);t.SelectionManager=a.SelectionManager},47491:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(67834),o(15724),o(25352),o(71336),o(41558),o(17663),o(68630),o(79645),o(89858),o(8620),o(14846),o(69655),o(94364);var n=o(94916),r=o(20654),i=s(o(8185));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){return e.get(u(e,t))}function c(e,t,o){return e.set(u(e,t),o),o}function u(e,t,o){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:o;throw new TypeError("Private element is not present on this object")}var d=new WeakMap,g=new WeakMap,f=new WeakMap,p=new WeakMap,m=new WeakMap,w=new WeakMap,C=new WeakSet;function v(){const e=h(p,this).get(h(d,this)),t=h(d,this).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=h(d,this).wtTable.TABLE.querySelectorAll(`.${e}`);let r=[];Array.isArray(null===(t=h(g,this).options)||void 0===t?void 0:t.cellAttributes)&&(r=h(g,this).options.cellAttributes.map((e=>e[0]))),Array.isArray(null===(o=h(g,this).options)||void 0===o?void 0:o.headerAttributes)&&(r=[...r,...h(g,this).options.headerAttributes.map((e=>e[0]))]);for(let t=0,o=s.length;t<o;t++)(0,n.removeClass)(s[t],e),(0,n.removeAttribute)(s[t],r)})),e.clear()}t.SelectionManager=class{constructor(e){var t,o;a(t=this,o=C),o.add(t),l(this,d,void 0),l(this,g,void 0),l(this,f,new r.SelectionScanner),l(this,p,new WeakMap),l(this,m,new WeakSet),l(this,w,new Map),c(g,this,e)}setActiveOverlay(e){return c(d,this,e),h(f,this).setActiveOverlay(h(d,this)),h(p,this).has(h(d,this))||h(p,this).set(h(d,this),new Set),this}getFocusSelection(){return null!==h(g,this)?h(g,this).getFocus():null}getAreaSelection(){return null!==h(g,this)?h(g,this).createLayeredArea():null}getBorderInstance(e){if(!e.settings.border)return null;if(h(w,this).has(e)){const t=h(w,this).get(e);if(t.has(h(d,this)))return t.get(h(d,this));const o=new i.default(h(d,this),e.settings);return t.set(h(d,this),o),o}const t=new i.default(h(d,this),e.settings);return h(w,this).set(e,new Map([[h(d,this),t]])),t}getBorderInstances(e){var t,o;return Array.from(null!==(t=null===(o=h(w,this).get(e))||void 0===o?void 0:o.values())&&void 0!==t?t:[])}destroyBorders(e){h(w,this).get(e).forEach((e=>e.destroy())),h(w,this).delete(e)}render(e){if(null===h(g,this))return;e&&u(C,this,v).call(this);const t=Array.from(h(g,this)),o=new Map,s=new Map;for(let e=0;e<t.length;e++){const n=t[e],{className:r,headerAttributes:i,createLayers:l,selectionType:a}=n.settings;h(m,this).has(n)||(h(m,this).add(n),n.addLocalHook("destroy",(()=>this.destroyBorders(n))));const c=this.getBorderInstance(n);if(n.isEmpty()){null==c||c.disappear();continue}if(r){h(f,this).setActiveSelection(n).scan().forEach((e=>{if(o.has(e)){const t=o.get(e);t.has(r)&&!0===l?t.set(r,t.get(r)+1):t.set(r,1)}else o.set(e,new Map([[r,1]]));i&&(s.has(e)||s.set(e,[]),"TH"===e.nodeName&&s.get(e).push(...i))}))}const u=n.getCorners();h(d,this).getSetting("onBeforeDrawBorders",u,a),null==c||c.appear(u)}o.forEach(((e,t)=>{var o;const s=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();s.forEach((e=>h(p,this).get(h(d,this)).add(e))),(0,n.addClass)(t,s),"TD"===t.nodeName&&Array.isArray(null===(o=h(g,this).options)||void 0===o?void 0:o.cellAttributes)&&(0,n.setAttribute)(t,h(g,this).options.cellAttributes)})),Array.from(s.keys()).forEach((e=>{(0,n.setAttribute)(e,[...s.get(e)])}))}}},20654:(e,t,o)=>{"use strict";t.__esModule=!0,o(67834),o(71336),o(41558),o(17663),o(68630),o(79645),o(89858),o(8620);var s=o(94916);function n(e,t,o){r(e,t),t.set(e,o)}function r(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function i(e,t){return e.get(a(e,t))}function l(e,t,o){return e.set(a(e,t),o),o}function a(e,t,o){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:o;throw new TypeError("Private element is not present on this object")}var h=new WeakMap,c=new WeakMap,u=new WeakSet;function d(e){let[t,o,s,n]=i(h,this).getCorners();if(t<0&&s<0||o<0&&n<0)return;const{wtTable:r}=i(c,this),l=t!==s||o!==n;if(o=Math.max(o,0),n=Math.max(n,0),t=Math.max(t,0),s=Math.max(s,0),l){if(o=Math.max(o,r.getFirstRenderedColumn()),n=Math.min(n,r.getLastRenderedColumn()),t=Math.max(t,r.getFirstRenderedRow()),s=Math.min(s,r.getLastRenderedRow()),n<o||s<t)return}else{if(!(r.getCell(i(c,this).createCellCoords(t,o))instanceof HTMLElement))return}for(let r=t;r<=s;r+=1)for(let t=o;t<=n;t+=1)e(r,t)}function g(e){const{wtTable:t}=i(c,this),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;r(e=this,t=u),t.add(e),n(this,h,void 0),n(this,c,void 0)}setActiveOverlay(e){return l(c,this,e),this}setActiveSelection(e){return l(h,this,e),this}scan(){const e=i(h,this).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,n]=i(h,this).getCorners(),{wtTable:r}=i(c,this),l=r.getRenderedColumnsCount(),a=r.getColumnHeadersCount();let u=0;for(let d=-r.getRowHeadersCount();d<l;d++){const l=r.columnFilter.renderedToSource(d);if(!(l<o||l>n)){for(let d=-a;d<0;d++){if(d<t||d>s)continue;const g=d+a;let f=r.getColumnHeader(l,g);const p=i(c,this).getSetting("onBeforeHighlightingColumnHeader",l,g,{selectionType:i(h,this).settings.selectionType,columnCursor:u,selectionWidth:n-o+1});null!==p&&(p!==l&&(f=r.getColumnHeader(p,g)),e(f))}u+=1}}}scanRowsInHeadersRange(e){const[t,o,s,n]=i(h,this).getCorners(),{wtTable:r}=i(c,this),l=r.getRenderedRowsCount(),a=r.getRowHeadersCount();let u=0;for(let d=-r.getColumnHeadersCount();d<l;d++){const l=r.rowFilter.renderedToSource(d);if(!(l<t||l>s)){for(let d=-a;d<0;d++){if(d<o||d>n)continue;const g=d+a;let f=r.getRowHeader(l,g);const p=i(c,this).getSetting("onBeforeHighlightingRowHeader",l,g,{selectionType:i(h,this).settings.selectionType,rowCursor:u,selectionHeight:s-t+1});null!==p&&(p!==l&&(f=r.getRowHeader(p,g)),e(f))}u+=1}}}scanCellsRange(e){const{wtTable:t}=i(c,this);a(u,this,d).call(this,((o,n)=>{const r=t.getCell(i(c,this).createCellCoords(o,n)),l=i(c,this).getSetting("onAfterDrawSelection",o,n,i(h,this).settings.layerLevel);"string"==typeof l&&(0,s.addClass)(r,l),e(r)}))}scanRowsInCellsRange(e){const[t,,o]=i(h,this).getCorners(),{wtTable:s}=i(c,this);a(u,this,g).call(this,((n,r)=>{if(n>=t&&n<=o){const t=s.getCell(i(c,this).createCellCoords(n,r));e(t)}}))}scanColumnsInCellsRange(e){const[,t,,o]=i(h,this).getCorners(),{wtTable:s}=i(c,this);a(u,this,g).call(this,((n,r)=>{if(r>=t&&r<=o){const t=s.getCell(i(c,this).createCellCoords(n,r));e(t)}}))}}},64758:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=o(95016),r=s(o(32943));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},5352:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(67834);var n=s(o(85707)),r=o(94916),i=o(95016);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,currentRowClassName:null,currentColumnClassName:null,preventOverflow:()=>!1,preventWheel:!1,data:void 0,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(){},rowHeightByOverlayName(){},defaultColumnWidth:50,selections:null,hideBorderOnMouseDownOver:!1,viewportRowCalculatorOverride:null,viewportColumnCalculatorOverride:null,viewportRowRenderingThreshold:null,viewportColumnRenderingThreshold: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,onModifyRowHeaderWidth:null,onModifyGetCellCoords:null,onModifyGetCoordsElement:null,onModifyGetCoords:null,onBeforeHighlightingRowHeader:e=>e,onBeforeHighlightingColumnHeader:e=>e,onWindowResize:null,onContainerElementResize:null,renderAllColumns:!1,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]}}},76325:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(67834),o(15724),o(14846),o(69655);var n=s(o(85707)),r=o(94916),i=o(77515),l=s(o(18316)),a=s(o(25800)),h=o(39597),c=s(o(5505)),u=s(o(40799)),d=o(19938),g=o(45551);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 u.default(this.dataAccessObject,this.wtSettings),this.columnUtils=new c.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"),stylesHandler:this.dataAccessObject.stylesHandler})}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"),c=h.length,u=t.getSetting("columnHeaders"),g=u.length;let f=e;if(this.isMaster&&(o.beforeDraw(),this.holderOffset=(0,r.offset)(this.holder),f=s.createCalculators(f),c&&!t.getSetting("fixedColumnsStart"))){const e=o.inlineStartOverlay.getScrollPosition(),t=this.correctHeaderWidth;this.correctHeaderWidth=0!==e,t!==this.correctHeaderWidth&&(f=!1)}if(f)this.isMaster&&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,c);let f=!0;if(this.isMaster){this.alignOverlaysWithTrimmingContainer();const e={};this.wtSettings.getSetting("beforeDraw",!0,e),f=!0!==e.skipRender}f&&(this.tableRenderer.setHeaderContentRenderers(h,u),(this.is(d.CLONE_BOTTOM)||this.is(d.CLONE_BOTTOM_INLINE_START_CORNER))&&this.tableRenderer.setHeaderContentRenderers(h,[]),this.resetOversizedRows(),this.tableRenderer.setActiveOverlayName(this.name).setViewportSize(this.getRenderedRowsCount(),this.getRenderedColumnsCount()).setFilters(this.rowFilter,this.columnFilter).render(),this.isMaster&&this.markOversizedColumnHeaders(),this.adjustColumnHeaderHeights(),(this.isMaster||this.is(d.CLONE_BOTTOM))&&this.markOversizedRows(),this.isMaster?(this.wtSettings.getSetting("externalRowCalculator")||s.createVisibleCalculators(),o.refresh(!1),o.applyToDOM(),this.wtSettings.getSetting("onDraw",!0)):this.is(d.CLONE_BOTTOM)&&this.dataAccessObject.cloneSource.wtOverlays.adjustElementsSize())}let p=!1;return this.isMaster&&(p=o.topOverlay.resetFixedPosition(),o.bottomOverlay.clone&&(p=o.bottomOverlay.resetFixedPosition()||p),p=o.inlineStartOverlay.resetFixedPosition()||p,o.topInlineStartCornerOverlay&&o.topInlineStartCornerOverlay.resetFixedPosition(),o.bottomInlineStartCornerOverlay&&o.bottomInlineStartCornerOverlay.clone&&o.bottomInlineStartCornerOverlay.resetFixedPosition()),p?(o.refreshAll(),o.adjustElementsSize()):this.dataAccessObject.selectionManager.setActiveOverlay(this.facadeGetter()).render(f),this.isMaster&&o.afterDraw(),this.dataAccessObject.drawn=!0,this}markIfOversizedColumnHeader(e){const t=this.columnFilter.renderedToSource(e);let o=this.wtSettings.getSetting("columnHeaders").length;const s=this.dataAccessObject.stylesHandler.getDefaultRowHeight();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(d.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,!this.isMaster,"render");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)(d.CLONE_TOP_INLINE_START_CORNER,t,this.wtRootElement)||(0,r.overlayContainsElement)(d.CLONE_TOP,t,this.wtRootElement))"THEAD"===s.nodeName&&(n-=s.childNodes.length);else if((0,r.overlayContainsElement)(d.CLONE_BOTTOM_INLINE_START_CORNER,t,this.wtRootElement)||(0,r.overlayContainsElement)(d.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);i=(0,r.overlayContainsElement)(d.CLONE_TOP_INLINE_START_CORNER,t,this.wtRootElement)||(0,r.overlayContainsElement)(d.CLONE_INLINE_START,t,this.wtRootElement)||(0,r.overlayContainsElement)(d.CLONE_BOTTOM_INLINE_START_CORNER,t,this.wtRootElement)?this.columnFilter.offsettedTH(i):this.columnFilter.visibleRowHeadedColumnToSourceColumn(i);const l=this.wtSettings.getSetting("onModifyGetCoordsElement",n,i);return l&&Array.isArray(l)&&([n,i]=l),this.wot.createCellCoords(n,i)}markOversizedRows(){if(this.wtSettings.getSetting("externalRowCalculator"))return;let e=this.TBODY.childNodes.length;const t=e*this.dataAccessObject.stylesHandler.getDefaultRowHeight(),o=(0,r.innerHeight)(this.TBODY)-1,s=this.wot.stylesHandler.areCellsBorderBox(),n=s?r.outerHeight:r.innerHeight,i=s?0:1,l=s?1:0;let a,h,c,u,d;if(t!==o||this.wtSettings.getSetting("fixedRowsBottom"))for(;e;){e-=1,c=this.rowFilter.renderedToSource(e),a=this.getRowHeight(c),u=this.getTrForRow(c),d=u.querySelector("th");const t=0===c?l:0;h=d?n(d):n(u)-i,(!a&&this.dataAccessObject.stylesHandler.getDefaultRowHeight()<h-t||a<h)&&(s||(h+=1),this.dataAccessObject.wtViewport.oversizedRows[c]=h)}}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)}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}}},12207:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(76325)),r=s(o(63043)),i=s(o(65483)),l=o(95016),a=o(19938);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},89353:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(76325)),r=s(o(63043)),i=s(o(57676)),l=o(95016),a=o(19938);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},83281:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(76325)),r=s(o(15711)),i=s(o(57676)),l=o(95016),a=o(19938);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},69910:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=o(94916),r=s(o(76325)),i=s(o(15711)),l=s(o(65483)),a=o(95016);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,c=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 n=parseInt(t.getComputedStyle(s).height,10);o.removeChild(s),0===n&&(c=0)}c=Math.min(c,a),i.height="auto"===s?"auto":`${c}px`,h=Math.min(h,l),i.width=`${h}px`,i.overflow="",this.hasTableHeight="auto"===i.height||c>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},65483:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(95016);const n={getFirstRenderedColumn(){const e=this.dataAccessObject.startColumnRendered;return null===e?-1:e},getFirstVisibleColumn(){const e=this.dataAccessObject.startColumnVisible;return null===e?-1:e},getFirstPartiallyVisibleColumn(){const e=this.dataAccessObject.startColumnPartiallyVisible;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},getLastPartiallyVisibleColumn(){const e=this.dataAccessObject.endColumnPartiallyVisible;return null===e?-1:e},getRenderedColumnsCount(){return this.dataAccessObject.countColumnsRendered},getVisibleColumnsCount(){return this.dataAccessObject.countColumnsVisible},getRowHeadersCount(){return this.dataAccessObject.rowHeaders.length}};(0,s.defineGetter)(n,"MIXIN_NAME","calculatedColumns",{writable:!1,enumerable:!1});t.default=n},15711:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(95016);const n={getFirstRenderedRow(){const e=this.dataAccessObject.startRowRendered;return null===e?-1:e},getFirstVisibleRow(){const e=this.dataAccessObject.startRowVisible;return null===e?-1:e},getFirstPartiallyVisibleRow(){const e=this.dataAccessObject.startRowPartiallyVisible;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},getLastPartiallyVisibleRow(){const e=this.dataAccessObject.endRowPartiallyVisible;return null===e?-1:e},getRenderedRowsCount(){return this.dataAccessObject.countRowsRendered},getVisibleRowsCount(){return this.dataAccessObject.countRowsVisible},getColumnHeadersCount(){return this.dataAccessObject.columnHeaders.length}};(0,s.defineGetter)(n,"MIXIN_NAME","calculatedRows",{writable:!1,enumerable:!1});t.default=n},57676:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(95016);const n={getFirstRenderedColumn(){return 0===this.wtSettings.getSetting("totalColumns")?-1:0},getFirstVisibleColumn(){return this.getFirstRenderedColumn()},getFirstPartiallyVisibleColumn(){return this.getFirstRenderedColumn()},getLastRenderedColumn(){return this.getRenderedColumnsCount()-1},getLastVisibleColumn(){return this.getLastRenderedColumn()},getLastPartiallyVisibleColumn(){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,s.defineGetter)(n,"MIXIN_NAME","stickyColumnsStart",{writable:!1,enumerable:!1});t.default=n},63043:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(95016);const n={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()},getFirstPartiallyVisibleRow(){return this.getFirstRenderedRow()},getLastRenderedRow(){return this.wtSettings.getSetting("totalRows")-1},getLastVisibleRow(){return this.getLastRenderedRow()},getLastPartiallyVisibleRow(){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,s.defineGetter)(n,"MIXIN_NAME","stickyRowsBottom",{writable:!1,enumerable:!1});t.default=n},76749:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(95016);const n={getFirstRenderedRow(){return 0===this.wtSettings.getSetting("totalRows")?-1:0},getFirstVisibleRow(){return this.getFirstRenderedRow()},getFirstPartiallyVisibleRow(){return this.getFirstRenderedRow()},getLastRenderedRow(){return this.getRenderedRowsCount()-1},getLastVisibleRow(){return this.getLastRenderedRow()},getLastPartiallyVisibleRow(){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,s.defineGetter)(n,"MIXIN_NAME","stickyRowsTop",{writable:!1,enumerable:!1});t.default=n},39001:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(76325)),r=s(o(76749)),i=s(o(65483)),l=o(95016),a=o(19938);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},76547:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(76325)),r=s(o(76749)),i=s(o(57676)),l=o(95016),a=o(19938);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},5505:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(85707));t.default=class{constructor(e,t){(0,n.default)(this,"dataAccessObject",void 0),(0,n.default)(this,"wtSettings",void 0),(0,n.default)(this,"headerWidths",new Map),this.dataAccessObject=e,this.wtSettings=t}getWidth(e){return this.wtSettings.getSetting("columnWidth",e)||this.wtSettings.getSetting("defaultColumnWidth")}getHeaderHeight(e){let t=this.dataAccessObject.stylesHandler.getDefaultRowHeight();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;let t=e.getSetting("rowHeaderWidth");if(t=e.getSetting("onModifyRowHeaderWidth",t),null!=t){const o=e.getSetting("rowHeaders").length,s=e.getSetting("defaultColumnWidth");for(let e=0;e<o;e++){let o=Array.isArray(t)?t[e]:t;o=null==o?s:o,this.headerWidths.set(e,o)}}}}},87300:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(85707));t.default=class{constructor(e){(0,n.default)(this,"nodeType",void 0),this.nodeType=e.toUpperCase()}setRootDocument(e){this.rootDocument=e}obtain(){return this.rootDocument.createElement(this.nodeType)}}},49596:(e,t)=>{"use strict";t.__esModule=!0;t.WORKING_SPACE_ALL=0,t.WORKING_SPACE_TOP=1,t.WORKING_SPACE_BOTTOM=2},95397:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(28564));t.OrderView=n.default;var r=s(o(72041));t.SharedOrderView=r.default},72041:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(28564));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},28564:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(15724);var n=s(o(85707)),r=o(49596),i=s(o(59313));t.default=class{constructor(e,t,o){(0,n.default)(this,"rootNode",void 0),(0,n.default)(this,"nodesPool",void 0),(0,n.default)(this,"sizeSet",new i.default),(0,n.default)(this,"childNodeType",void 0),(0,n.default)(this,"visualIndex",0),(0,n.default)(this,"collectedNodes",[]),this.rootNode=e,this.nodesPool=t,this.childNodeType=o.toUpperCase()}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(r.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 n=this.getRenderedChildCount();for(;n<s;){const s=this.nodesPool();!o||o&&t.isPlaceOn(r.WORKING_SPACE_BOTTOM)?e.appendChild(s):e.insertBefore(s,e.firstChild),n+=1}const i=o&&t.isPlaceOn(r.WORKING_SPACE_TOP);for(;n>s;)e.removeChild(i?e.firstChild:e.lastChild),n-=1}render(){const{rootNode:e,sizeSet:t}=this;let o=this.visualIndex;this.isSharedViewSet()&&t.isPlaceOn(r.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(){}}},53537:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(85707));t.default=class{constructor(){(0,n.default)(this,"currentSize",0),(0,n.default)(this,"nextSize",0),(0,n.default)(this,"currentOffset",0),(0,n.default)(this,"nextOffset",0)}setSize(e){this.currentSize=this.nextSize,this.nextSize=e}setOffset(e){this.currentOffset=this.nextOffset,this.nextOffset=e}}},59313:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(85707)),r=s(o(53537)),i=o(49596);t.default=class{constructor(){(0,n.default)(this,"size",new r.default),(0,n.default)(this,"workingSpace",i.WORKING_SPACE_ALL),(0,n.default)(this,"sharedSize",null)}setSize(e){this.size.setSize(e)}setOffset(e){this.size.setOffset(e)}getViewSize(){return this.size}isShared(){return this.sharedSize instanceof r.default}isPlaceOn(e){return this.workingSpace===e}append(e){this.workingSpace=i.WORKING_SPACE_TOP,e.workingSpace=i.WORKING_SPACE_BOTTOM,this.sharedSize=e.getViewSize()}prepend(e){this.workingSpace=i.WORKING_SPACE_BOTTOM,e.workingSpace=i.WORKING_SPACE_TOP,this.sharedSize=e.getViewSize()}}},40799:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(85707));t.default=class{constructor(e,t){(0,n.default)(this,"dataAccessObject",void 0),(0,n.default)(this,"wtSettings",void 0),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}getHeightByOverlayName(e,t){let o=this.wtSettings.getSetting("rowHeightByOverlayName",e,t);const s=this.dataAccessObject.wtViewport.oversizedRows[e];return void 0!==s&&(o=void 0===o?s:Math.max(o,s)),o}}},47873:(e,t,o)=>{"use strict";t.__esModule=!0,o(67834),o(14846),o(69655);var s=o(94916),n=o(59350);function r(e,t,o){i(e,t),t.set(e,o)}function i(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function l(e,t){return e.get(h(e,t))}function a(e,t,o){return e.set(h(e,t),o),o}function h(e,t,o){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:o;throw new TypeError("Private element is not present on this object")}var c=new WeakMap,u=new WeakMap,d=new WeakMap,g=new WeakMap,f=new WeakMap,p=new WeakMap,m=new WeakMap,w=new WeakSet;function C(){const e=this.getCSSVariableValue("line-height"),t=this.getCSSVariableValue("cell-vertical-padding"),o=Math.ceil(parseFloat(this.getStyleForTD("border-bottom-width")));return null===e||null===t||isNaN(o)?null:e+2*t+o}function v(){(0,s.removeClass)(l(u,this),/ht-theme-.*/g),(0,s.addClass)(l(u,this),l(c,this))}function y(){this.isClassicTheme()||a(d,this,getComputedStyle(l(u,this)));const e=h(w,this,E).call(this,["box-sizing","border-bottom-width"]);l(m,this).td={...l(m,this).td,"box-sizing":e["box-sizing"],"border-bottom-width":e["border-bottom-width"]}}function E(e){const t=l(g,this),o=l(u,this),s=t.createElement("table"),n=t.createElement("tbody"),r=t.createElement("tr"),i=t.createElement("tr"),a=t.createElement("td");i.appendChild(a),n.appendChild(r),n.appendChild(i),s.appendChild(n),o.appendChild(s);const h=getComputedStyle(a),c={};return e.forEach((e=>{c[e]=h.getPropertyValue(e)})),o.removeChild(s),c}function S(e){const t=Math.ceil(parseFloat(h(w,this,R).call(this,e)));return Number.isNaN(t)?null:t}function R(e){const t=l(d,this).getPropertyValue(e);return""===t?null:t}function b(){a(m,this,{}),a(p,this,{}),a(f,this,!0)}t.StylesHandler=class{constructor(e){var t,o;i(t=this,o=w),o.add(t),r(this,c,void 0),r(this,u,void 0),r(this,d,void 0),r(this,g,void 0),r(this,f,!0),r(this,p,{}),r(this,m,{}),a(u,this,e.rootTable.parentElement.parentElement),a(g,this,e.rootDocument)}isClassicTheme(){return l(f,this)}getCSSVariableValue(e){var t;if(l(f,this))return null;if(l(p,this)[`--ht-${e}`])return l(p,this)[`--ht-${e}`];const o=null!==(t=h(w,this,S).call(this,`--ht-${e}`))&&void 0!==t?t:h(w,this,R).call(this,`--ht-${e}`);return null!==o?(l(p,this)[`--ht-${e}`]=o,o):void 0}getStyleForTD(e){var t;return null===(t=l(m,this))||void 0===t?void 0:t.td[e]}getDefaultRowHeight(){if(l(f,this))return 23;const e=h(w,this,C).call(this);return!e&&(0,s.hasClass)(l(u,this),"ht-wrapper")?((0,n.warn)(`The "${l(c,this)}" theme is enabled, but its stylesheets are missing or not imported correctly. Import the correct CSS files in order to use that theme.`),a(f,this,!0),this.useTheme(),23):e}areCellsBorderBox(){return"border-box"===this.getStyleForTD("box-sizing")}useTheme(e){if(!e)return h(w,this,y).call(this),a(f,this,!0),void a(c,this,e||void 0);e&&e!==l(c,this)&&(l(c,this)&&h(w,this,b).call(this),a(c,this,e),a(f,this,!1),h(w,this,v).call(this),h(w,this,y).call(this))}getThemeName(){return l(c,this)}removeClassNames(){(0,s.hasClass)(l(u,this),l(c,this))&&(0,s.removeClass)(l(u,this),l(c,this))}}},4255:(e,t,o)=>{"use strict";t.__esModule=!0,o(94364);var s=o(94916),n=o(95016),r=o(14426);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.rowHeaderWidth=NaN,this.rowsVisibleCalculator=null,this.columnsVisibleCalculator=null,this.rowsCalculatorTypes=new Map([["rendered",()=>this.wtSettings.getSetting("renderAllRows")?new r.RenderedAllRowsCalculationType:new r.RenderedRowsCalculationType],["fullyVisible",()=>new r.FullyVisibleRowsCalculationType],["partiallyVisible",()=>new r.PartiallyVisibleRowsCalculationType]]),this.columnsCalculatorTypes=new Map([["rendered",()=>this.wtSettings.getSetting("renderAllColumns")?new r.RenderedAllColumnsCalculationType:new r.RenderedColumnsCalculationType],["fullyVisible",()=>new r.FullyVisibleColumnsCalculationType],["partiallyVisible",()=>new r.PartiallyVisibleColumnsCalculationType]]),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}getViewportHeight(){let e=this.getWorkspaceHeight();if(e===1/0)return e;const t=this.getColumnHeaderHeight();return t>0&&(e-=t),e}getWorkspaceWidth(){const{rootDocument:e,rootWindow:t}=this.domBindings,o=this.dataAccessObject.inlineStartOverlayTrimmingContainer;let s;if(o===t){const t=this.wtSettings.getSetting("totalColumns");s=this.wtTable.holder.offsetWidth,this.getRowHeaderWidth()+this.sumColumnWidths(0,t)>s&&(s=e.documentElement.clientWidth)}else s=o.clientWidth;return s}getViewportWidth(){const e=this.getWorkspaceWidth();if(e===1/0)return e;const t=this.getRowHeaderWidth();return t>0?e-t:e}hasVerticalScroll(){return this.wtTable.hider.offsetHeight>this.getWorkspaceHeight()}hasHorizontalScroll(){return this.wtTable.hider.offsetWidth>this.getWorkspaceWidth()}isVerticallyScrollableByWindow(){return this.dataAccessObject.topOverlayTrimmingContainer===this.domBindings.rootWindow}isHorizontallyScrollableByWindow(){return this.dataAccessObject.inlineStartOverlayTrimmingContainer===this.domBindings.rootWindow}sumColumnWidths(e,t){let o=0,s=e;for(;s<t;)o+=this.wtTable.getColumnWidth(s),s+=1;return 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}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}createRowsCalculator(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["rendered","fullyVisible","partiallyVisible"];const{wtSettings:t,wtTable:o}=this;let n,i,l=this.getViewportHeight();this.rowHeaderWidth=NaN;let a=this.dataAccessObject.topScrollPosition-this.dataAccessObject.topParentOffset;const h=t.getSetting("fixedRowsTop"),c=t.getSetting("fixedRowsBottom"),u=t.getSetting("totalRows");return h&&a>=0&&(i=this.dataAccessObject.topOverlay.sumCellSizes(0,h),a+=i,l-=i),c&&this.dataAccessObject.bottomOverlay.clone&&(i=this.dataAccessObject.bottomOverlay.sumCellSizes(u-c,u),l-=i),n=o.holder.clientHeight===o.holder.offsetHeight?0:(0,s.getScrollbarWidth)(this.domBindings.rootDocument),new r.ViewportRowsCalculator({calculationTypes:e.map((e=>[e,this.rowsCalculatorTypes.get(e)()])),viewportHeight:l,scrollOffset:a,totalRows:t.getSetting("totalRows"),defaultRowHeight:this.instance.stylesHandler.getDefaultRowHeight(),rowHeightFn:e=>o.getRowHeight(e),overrideFn:t.getSettingPure("viewportRowCalculatorOverride"),horizontalScrollbarHeight:n})}createColumnsCalculator(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["rendered","fullyVisible","partiallyVisible"];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({calculationTypes:e.map((e=>[e,this.columnsCalculatorTypes.get(e)()])),viewportWidth:n,scrollOffset:i,totalColumns:t.getSetting("totalColumns"),columnWidthFn:e=>o.getColumnWidth(e),overrideFn:t.getSettingPure("viewportColumnCalculatorOverride"),inlineStartOffset:this.dataAccessObject.inlineStartParentOffset})}createCalculators(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const{wtSettings:t}=this,o=this.createRowsCalculator(),s=this.createColumnsCalculator();if(e&&!t.getSetting("renderAllRows")){const t=o.getResultsFor("fullyVisible");e=this.areAllProposedVisibleRowsAlreadyRendered(t)}if(e&&!t.getSetting("renderAllColumns")){const t=s.getResultsFor("fullyVisible");e=this.areAllProposedVisibleColumnsAlreadyRendered(t)}return e||(this.rowsRenderCalculator=o.getResultsFor("rendered"),this.columnsRenderCalculator=s.getResultsFor("rendered")),this.rowsVisibleCalculator=o.getResultsFor("fullyVisible"),this.columnsVisibleCalculator=s.getResultsFor("fullyVisible"),this.rowsPartiallyVisibleCalculator=o.getResultsFor("partiallyVisible"),this.columnsPartiallyVisibleCalculator=s.getResultsFor("partiallyVisible"),e}createVisibleCalculators(){const e=this.createRowsCalculator(["fullyVisible","partiallyVisible"]),t=this.createColumnsCalculator(["fullyVisible","partiallyVisible"]);this.rowsVisibleCalculator=e.getResultsFor("fullyVisible"),this.columnsVisibleCalculator=t.getResultsFor("fullyVisible"),this.rowsPartiallyVisibleCalculator=e.getResultsFor("partiallyVisible"),this.columnsPartiallyVisibleCalculator=t.getResultsFor("partiallyVisible")}areAllProposedVisibleRowsAlreadyRendered(e){if(!this.rowsVisibleCalculator)return!1;let{startRow:t,endRow:o}=e;if(null===t&&null===o){if(!e.isVisibleInTrimmingContainer)return!0;t=this.rowsPartiallyVisibleCalculator.startRow,o=this.rowsPartiallyVisibleCalculator.endRow}const{startRow:s,endRow:n,rowStartOffset:r,rowEndOffset:i}=this.rowsRenderCalculator,l=this.wtSettings.getSetting("totalRows")-1,a=this.wtSettings.getSetting("viewportRowRenderingThreshold");return Number.isInteger(a)&&a>0?(t=Math.max(0,t-Math.min(r,a)),o=Math.min(l,o+Math.min(i,a))):"auto"===a&&(t=Math.max(0,t-Math.ceil(r/2)),o=Math.min(l,o+Math.ceil(i/2))),!(t<s||t===s&&t>0)&&!(o>n||o===n&&o<l)}areAllProposedVisibleColumnsAlreadyRendered(e){if(!this.columnsVisibleCalculator)return!1;let{startColumn:t,endColumn:o}=e;if(null===t&&null===o){if(!e.isVisibleInTrimmingContainer)return!0;t=this.columnsPartiallyVisibleCalculator.startColumn,o=this.columnsPartiallyVisibleCalculator.endColumn}const{startColumn:s,endColumn:n,columnStartOffset:r,columnEndOffset:i}=this.columnsRenderCalculator,l=this.wtSettings.getSetting("totalColumns")-1,a=this.wtSettings.getSetting("viewportColumnRenderingThreshold");return Number.isInteger(a)&&a>0?(t=Math.max(0,t-Math.min(r,a)),o=Math.min(l,o+Math.min(i,a))):"auto"===a&&(t=Math.max(0,t-Math.ceil(r/2)),o=Math.min(l,o+Math.ceil(i/2))),!(t<s||t===s&&t>0)&&!(o>n||o===n&&o<l)}resetHasOversizedColumnHeadersMarked(){(0,n.objectEach)(this.hasOversizedColumnHeadersMarked,((e,t,o)=>{o[t]=void 0}))}}},19984:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(76006);var n=s(o(47098)),r=o(91980),i=o(8752),l=o(29398),a=o(84435),h=o(39548),c=o(77867),u=o(95605),d=o(7749);function g(e,t){const o=new n.default(e,t||{},r.rootInstanceSymbol);return o.init(),o}t.CellCoords=d.CellCoords,t.CellRange=d.CellRange,(0,h.registerCellType)(c.TextCellType),g.editors={BaseEditor:u.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.Hooks.getSingleton(),g.CellCoords=d.CellCoords,g.CellRange=d.CellRange,g.packageName="handsontable",g.buildDate="09/12/2024 14:36:56",g.version="15.0.0-next-c7f1716-20241209",g.languages={dictionaryKeys:a.dictionaryKeys,getLanguageDictionary:a.getLanguageDictionary,getLanguagesDictionaries:a.getLanguagesDictionaries,registerLanguageDictionary:a.registerLanguageDictionary,getTranslatedPhrase:a.getTranslatedPhrase};t.default=g},25306:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(85588),n=o(8132),r=o(77924);const i=t.CELL_TYPE="autocomplete";t.AutocompleteCellType={CELL_TYPE:i,editor:s.AutocompleteEditor,renderer:n.autocompleteRenderer,validator:r.autocompleteValidator}},37924:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(25306);t.AutocompleteCellType=s.AutocompleteCellType,t.CELL_TYPE=s.CELL_TYPE},93620:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(60213),n=o(50437);const r=t.CELL_TYPE="checkbox";t.CheckboxCellType={CELL_TYPE:r,editor:s.CheckboxEditor,renderer:n.checkboxRenderer}},26705:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(93620);t.CELL_TYPE=s.CELL_TYPE,t.CheckboxCellType=s.CheckboxCellType},86846:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(48584),n=o(69868),r=o(21304);const i=t.CELL_TYPE="date";t.DateCellType={CELL_TYPE:i,editor:s.DateEditor,renderer:n.dateRenderer,validator:r.dateValidator}},36164:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(86846);t.CELL_TYPE=s.CELL_TYPE,t.DateCellType=s.DateCellType},9364:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(73717),n=o(16293),r=o(25479);const i=t.CELL_TYPE="dropdown";t.DropdownCellType={CELL_TYPE:i,editor:s.DropdownEditor,renderer:n.dropdownRenderer,validator:r.dropdownValidator}},40037:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(9364);t.CELL_TYPE=s.CELL_TYPE,t.DropdownCellType=s.DropdownCellType},52644:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(27973),n=o(89629);const r=t.CELL_TYPE="handsontable";t.HandsontableCellType={CELL_TYPE:r,editor:s.HandsontableEditor,renderer:n.handsontableRenderer}},74505:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(52644);t.CELL_TYPE=s.CELL_TYPE,t.HandsontableCellType=s.HandsontableCellType},23651:(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)(c.SelectCellType),(0,g.registerCellType)(u.TextCellType),(0,g.registerCellType)(d.TimeCellType)};var s=o(37924);t.AutocompleteCellType=s.AutocompleteCellType,t.AUTOCOMPLETE_TYPE=s.CELL_TYPE;var n=o(26705);t.CheckboxCellType=n.CheckboxCellType,t.CHECKBOX_TYPE=n.CELL_TYPE;var r=o(36164);t.DateCellType=r.DateCellType,t.DATE_TYPE=r.CELL_TYPE;var i=o(40037);t.DropdownCellType=i.DropdownCellType,t.DROPDOWN_TYPE=i.CELL_TYPE;var l=o(74505);t.HandsontableCellType=l.HandsontableCellType,t.HANDSONTABLE_TYPE=l.CELL_TYPE;var a=o(80087);t.NumericCellType=a.NumericCellType,t.NUMERIC_TYPE=a.CELL_TYPE;var h=o(28033);t.PasswordCellType=h.PasswordCellType,t.PASSWORD_TYPE=h.CELL_TYPE;var c=o(78568);t.SelectCellType=c.SelectCellType,t.SELECT_TYPE=c.CELL_TYPE;var u=o(77867);t.TextCellType=u.TextCellType,t.TEXT_TYPE=u.CELL_TYPE;var d=o(80721);t.TimeCellType=d.TimeCellType,t.TIME_TYPE=d.CELL_TYPE;var g=o(39548);t.registerCellType=g.registerCellType,t.getCellType=g.getCellType,t.getRegisteredCellTypeNames=g.getRegisteredCellTypeNames,t.getRegisteredCellTypes=g.getRegisteredCellTypes,t.hasCellType=g.hasCellType},80087:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(9404);t.CELL_TYPE=s.CELL_TYPE,t.NumericCellType=s.NumericCellType},9404:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(67045),n=o(65617),r=o(28029);const i=t.CELL_TYPE="numeric";t.NumericCellType={CELL_TYPE:i,editor:s.NumericEditor,renderer:n.numericRenderer,validator:r.numericValidator,dataType:"number"}},28033:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(14508);t.CELL_TYPE=s.CELL_TYPE,t.PasswordCellType=s.PasswordCellType},14508:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(75669),n=o(24677);const r=t.CELL_TYPE="password";t.PasswordCellType={CELL_TYPE:r,editor:s.PasswordEditor,renderer:n.passwordRenderer,copyable:!1}},39548:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,t.getCellType=function(e){if(!c(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(67834);var n=s(o(29328)),r=o(45973),i=o(58151),l=o(57006);const{register:a,getItem:h,hasItem:c,getNames:u,getValues:d}=(0,n.default)("cellTypes");t.getRegisteredCellTypes=d,t.getRegisteredCellTypeNames=u,t.hasCellType=c},78568:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(90910);t.CELL_TYPE=s.CELL_TYPE,t.SelectCellType=s.SelectCellType},90910:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(31572),n=o(9608);const r=t.CELL_TYPE="select";t.SelectCellType={CELL_TYPE:r,editor:s.SelectEditor,renderer:n.selectRenderer}},77867:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(83580);t.CELL_TYPE=s.CELL_TYPE,t.TextCellType=s.TextCellType},83580:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(53423),n=o(5819);const r=t.CELL_TYPE="text";t.TextCellType={CELL_TYPE:r,editor:s.TextEditor,renderer:n.textRenderer}},80721:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(49176);t.CELL_TYPE=s.CELL_TYPE,t.TimeCellType=s.TimeCellType},49176:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(3833),n=o(35133),r=o(40711);const i=t.CELL_TYPE="time";t.TimeCellType={CELL_TYPE:i,editor:s.TimeEditor,renderer:n.timeRenderer,validator:r.timeValidator}},47098:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,t.default=function(e,t){var o,s=this;let V=arguments.length>2&&void 0!==arguments[2]&&arguments[2],F=this;const W=new h.default(F);let B,U,j,Y,z,G,K=!0;(0,b.hasValidParameter)(V)&&(0,b.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",X=["rtl","ltr"].includes($)?$:this.rootWindow.getComputedStyle(this.rootElement).direction;this.rootElement.setAttribute("dir",X),this.isRtl=function(){return"rtl"===X},this.isLtr=function(){return!F.isRtl()},this.getDirectionFactor=function(){return F.isLtr()?1:-1},t.language=(0,M.getValidLanguageCode)(t.language);const q=new N.MetaManager(F,t,[N.DynamicCellMetaMod,N.ExtendMetaPropertiesMod]),Q=q.getTableMeta(),J=q.getGlobalMeta(),Z=(0,P.createUniqueMap)();this.container=this.rootDocument.createElement("div"),this.renderCall=!1,e.insertBefore(this.container,e.firstChild),(0,b.isRootInstance)(this)&&((0,i._injectProductInfo)(t.licenseKey,e),(0,n.addClass)(e,"ht-wrapper"));this.guid=`ht_${(0,C.randomString)()}`,L.set(this.guid,this),this.columnIndexMapper=new R.IndexMapper,this.rowIndexMapper=new R.IndexMapper,this.columnIndexMapper.addLocalHook("indexesSequenceChange",(e=>{F.runHooks("afterColumnSequenceChange",e)})),this.rowIndexMapper.addLocalHook("indexesSequenceChange",(e=>{F.runHooks("afterRowSequenceChange",e)})),U=new E.default(F),this.rootElement.id&&"ht_"!==this.rootElement.id.substring(0,3)||(this.rootElement.id=this.guid);let ee=new I.Selection(Q,{rowIndexMapper:F.rowIndexMapper,columnIndexMapper:F.columnIndexMapper,countCols:()=>F.countCols(),countRows:()=>F.countRows(),propToCol:e=>B.propToCol(e),isEditorOpened:()=>!!F.getActiveEditor()&&F.getActiveEditor().isOpened(),countRenderableColumns:()=>this.view.countRenderableColumns(),countRenderableRows:()=>this.view.countRenderableRows(),countRowHeaders:()=>this.countRowHeaders(),countColHeaders:()=>this.countColHeaders(),countRenderableRowsInRange:function(){return s.view.countRenderableRowsInRange(...arguments)},countRenderableColumnsInRange:function(){return s.view.countRenderableColumnsInRange(...arguments)},getShortcutManager:()=>F.getShortcutManager(),createCellCoords:(e,t)=>F._createCellCoords(e,t),createCellRange:(e,t,o)=>F._createCellRange(e,t,o),visualToRenderableCoords:e=>{const{row:t,col:o}=e;return F._createCellCoords(t>=0?F.rowIndexMapper.getRenderableFromVisualIndex(t):t,o>=0?F.columnIndexMapper.getRenderableFromVisualIndex(o):o)},renderableToVisualCoords:e=>{const{row:t,col:o}=e;return F._createCellCoords(t>=0?F.rowIndexMapper.getVisualFromRenderableIndex(t):t,o>=0?F.columnIndexMapper.getVisualFromRenderableIndex(o):o)},findFirstNonHiddenRenderableRow:(e,t)=>{const o=t>e?1:-1,s=Math.min(e,t),n=Math.max(e,t),r=F.rowIndexMapper.getNearestNotHiddenIndex(e,o);return null===r||1===o&&r>n||-1===o&&r<s?null:r>=0?F.rowIndexMapper.getRenderableFromVisualIndex(r):r},findFirstNonHiddenRenderableColumn:(e,t)=>{const o=t>e?1:-1,s=Math.min(e,t),n=Math.max(e,t),r=F.columnIndexMapper.getNearestNotHiddenIndex(e,o);return null===r||1===o&&r>n||-1===o&&r<s?null:r>=0?F.columnIndexMapper.getRenderableFromVisualIndex(r):r},isDisabledCellSelection:(e,t)=>e<0||t<0?F.getSettings().disableVisualSelection:F.getCellMeta(e,t).disableVisualSelection});this.selection=ee;const te=e=>{let{hiddenIndexesChanged:t}=e;t&&this.selection.commit()};function oe(e){const t=(0,O.normalizeLanguageCode)(e);(0,M.hasLanguageDictionary)(t)?(F.runHooks("beforeLanguageChange",t),J.language=t,F.runHooks("afterLanguageChange",t)):(0,O.warnUserAboutLanguageRegistration)(e)}function se(e,t){const o="className"===e?F.rootElement:F.table;if(K)(0,n.addClass)(o,t);else{let s=[],r=[];J[e]&&(s=Array.isArray(J[e])?J[e]:(0,d.stringToArray)(J[e])),t&&(r=Array.isArray(t)?t:(0,d.stringToArray)(t));const i=(0,d.getDifferenceOfArrays)(s,r),l=(0,d.getDifferenceOfArrays)(r,s);i.length&&(0,n.removeClass)(o,i),l.length&&(0,n.addClass)(o,l)}J[e]=t}function ne(){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 re(e){const t=e.replace(",",".");return!1===isNaN(parseFloat(t))?parseFloat(t):e}function ie(e,t,o){if(!e.length)return void o();const s=F.getActiveEditor(),n=new ne;let r=!0;n.onQueueEmpty=()=>{s&&r&&s.cancelChanges(),o()};for(let o=e.length-1;o>=0;o--){const[s,i,,l]=e[o],a=B.propToCol(i);let h;h=Number.isInteger(a)?F.getCellMeta(s,a):{...Object.getPrototypeOf(Q),...Q},"numeric"===h.type&&"string"==typeof l&&(0,v.isNumericLike)(l)&&(e[o][3]=re(l)),F.getCellValidator(h)&&(n.addValidatorToQueue(),F.validateCell(e[o][3],h,function(t,o){return function(s){if("boolean"!=typeof s)throw new Error("Validation error: result is not boolean");!1===s&&!1===o.allowInvalid&&(r=!1,e.splice(t,1),o.valid=!0),n.removeValidatorFormQueue()}}(o,h),t))}n.checkIfQueueIsEmpty()}function le(e,t){for(let o=e.length-1;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]>F.countRows()-1;){const{delta:e}=B.createRow(void 0,void 0,{source:t});if(0===e){s=!0;break}}if("array"===F.dataType&&(!Q.columns||0===Q.columns.length)&&Q.allowInsertColumn)for(;B.propToCol(e[o][1])>F.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)}const o=e.length>0;if(F.forceFullRender=!0,o){j.adjustRowsAndCols(),F.runHooks("beforeChangeRender",e,t),Y.closeEditor(),F.view.render(),Y.prepareEditor(),F.view.adjustElementsSize(),F.runHooks("afterChange",e,t||"edit");const o=F.getActiveEditor();o&&(0,i.isDefined)(o.refreshValue)&&o.refreshValue()}else F.view.render()}function ae(e,t,o){return Array.isArray(e)?e:[[e,t,o]]}function he(e,t){const o=F.getActiveEditor(),s=F.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",te),this.rowIndexMapper.addLocalHook("cacheUpdated",te),this.selection.addLocalHook("afterSetRangeEnd",((e,t)=>{const o=(0,c.createObjectPropListener)(!1),s=this.selection.getSelectedRange(),{from:r,to:i}=s.current(),l=s.size()-1;this.runHooks("afterSelection",r.row,r.col,i.row,i.col,o,l),this.runHooks("afterSelectionByProp",r.row,F.colToProp(r.col),i.row,F.colToProp(i.col),o,l),t&&(!o.isTouched()||o.isTouched()&&!o.value)&&G.scrollTo(e);const a=ee.isSelectedByRowHeader(),h=ee.isSelectedByColumnHeader();a&&h?(0,n.addClass)(this.rootElement,["ht__selection--rows","ht__selection--columns"]):a?((0,n.removeClass)(this.rootElement,"ht__selection--columns"),(0,n.addClass)(this.rootElement,"ht__selection--rows")):h?((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"]),"shift"!==ee.getSelectionSource()&&Y.closeEditor(null),F.view.render(),Y.prepareEditor()})),this.selection.addLocalHook("beforeSetFocus",(e=>{this.runHooks("beforeSelectionFocusSet",e.row,e.col)})),this.selection.addLocalHook("afterSetFocus",(e=>{const t=(0,c.createObjectPropListener)(!1);this.runHooks("afterSelectionFocusSet",e.row,e.col,t),(!t.isTouched()||t.isTouched()&&!t.value)&&G.scrollTo(e),Y.closeEditor(),F.view.render(),Y.prepareEditor()})),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,F.colToProp(o.col),s.row,F.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",(()=>{Y.closeEditor(),F.view.render(),(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("beforeModifyTransformFocus",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return s.runHooks("modifyTransformFocus",...t)})).addLocalHook("afterModifyTransformFocus",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return s.runHooks("afterModifyTransformFocus",...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"))),j={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,d.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=F.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:c,startPhysicalIndex:u}=B.createRow(t,n,{source:r,mode:h});ee.shiftRows(F.toVisualRow(u),c);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?F.countSourceCols():0;const{delta:f,startPhysicalIndex:p}=B.createCol(t,n,{source:r,mode:g});if(f){if(Array.isArray(Q.colHeaders)){const e=[F.toVisualColumn(p),0];e.length+=f,Array.prototype.splice.apply(Q.colHeaders,e)}ee.shiftColumns(F.toVisualColumn(p),f)}break;case"remove_row":const m=e=>{let t=0;(0,d.arrayEach)(e,(e=>{let[o,s]=e;const n=(0,i.isEmpty)(o)?F.countRows()-1:Math.max(o-t,0);Number.isInteger(o)&&(o=Math.max(o-t,0));if(!B.removeRow(o,s,r))return;if(ee.isSelected()){const{row:e}=F.getSelectedRangeLast().highlight;e>=o&&e<=o+s-1&&Y.closeEditor(!0)}const l=F.countRows();0===l?ee.deselect():"ContextMenu.removeRow"===r?ee.refresh():ee.shiftRows(o,-s);const 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]]);break;case"remove_col":const w=e=>{let t=0;(0,d.arrayEach)(e,(e=>{let[o,s]=e;const n=(0,i.isEmpty)(o)?F.countCols()-1:Math.max(o-t,0);let l=F.toPhysicalColumn(n);Number.isInteger(o)&&(o=Math.max(o-t,0));if(!B.removeCol(o,s,r))return;if(ee.isSelected()){const{col:e}=F.getSelectedRangeLast().highlight;e>=o&&e<=o+s-1&&Y.closeEditor(!0)}0===F.countCols()?ee.deselect():"ContextMenu.removeColumn"===r?ee.refresh():ee.shiftColumns(o,-s);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)?w(a(t)):w([[t,n]]);break;default:throw new Error(`There is no such action "${e}"`)}F.view.render(),l||j.adjustRowsAndCols()},adjustRowsAndCols(){const e=Q.minRows,t=Q.minSpareRows,o=Q.minCols,s=Q.minSpareCols;if(e){const t=F.countRows();t<e&&B.createRow(t,e-t,{source:"auto"})}if(t){const e=F.countEmptyRows(!0);if(e<t){const o=t-e,s=Math.min(o,Q.maxRows-F.countSourceRows());B.createRow(F.countRows(),s,{source:"auto"})}}{let e;(o||s)&&(e=F.countEmptyCols(!0));let t=F.countCols();if(o&&!Q.columns&&t<o){const s=o-t;e+=s,B.createCol(t,s,{source:"auto"})}if(s&&!Q.columns&&"array"===F.dataType&&e<s){t=F.countCols();const o=s-e,n=Math.min(o,Q.maxCols-t);B.createCol(t,n,{source:"auto"})}}F.view&&F.view.adjustElementsSize()},populateFromArray(e,t,o,s,n){let r,i,l,a;const h=[],u={},g=[],f=e.row,p=e.col;if(i=t.length,0===i)return!1;let m=0,w=0;switch((0,c.isObject)(o)&&(m=o.col-p+1,w=o.row-f+1),n){case"shift_down":const n=(0,d.pivot)(t),C=n.length,v=Math.max(C,m),y=F.getData().slice(f),E=(0,d.pivot)(y).slice(p,p+v);for(l=0;l<v;l+=1)if(l<C){for(r=0,i=n[l].length;r<w-i;r+=1)n[l].push(n[l][r%i]);l<E.length?g.push(n[l].concat(E[l])):g.push(n[l].concat(new Array(y.length).fill(null)))}else g.push(n[l%C].concat(E[l]));F.populateFromArray(f,p,(0,d.pivot)(g));break;case"shift_right":const S=t.length,R=Math.max(S,w),b=F.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<b.length)for(let e=0;e<b[r].length;e+=1)t[r].push(b[r][e]);else t[r].push(...new Array(b[0].length).fill(null))}else t.push(t[r%i].slice(0,R).concat(b[r]));F.populateFromArray(f,p,t);break;default:u.row=e.row,u.col=e.col;let _,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},N=t.length,A=o?o.row-e.row+1:0;for(i=o?A:Math.max(N,A),r=0;r<i&&!(o&&u.row>o.row&&A>N||!Q.allowInsertRow&&u.row>F.countRows()-1||u.row>=Q.maxRows);r++){const t=r-T,n=I(t).length,d=o?o.col-e.col+1:0;if(a=o?d:Math.max(n,d),u.col=e.col,_=F.getCellMeta(u.row,u.col),"CopyPaste.paste"!==s&&"Autofill.fill"!==s||!_.skipRowOnPaste){for(M=0,l=0;l<a&&!(o&&u.col>o.col&&d>n||!Q.allowInsertColumn&&u.col>F.countCols()-1||u.col>=Q.maxCols);l++){if(_=F.getCellMeta(u.row,u.col),("CopyPaste.paste"===s||"Autofill.fill"===s)&&_.skipColumnOnPaste){M+=1,u.col+=1,a+=1;continue}if(_.readOnly&&"UndoRedo.undo"!==s){u.col+=1;continue}let e=I(t,l-M),o=F.getDataAtCell(u.row,u.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,c.duckSchema)(Array.isArray(o)?o:o[0]||o),s=(0,c.duckSchema)(Array.isArray(e)?e:e[0]||e);(0,c.isObjectEqual)(t,s)||Array.isArray(t)&&Array.isArray(s)?e=(0,c.deepClone)(e):O=!1}else null!==o&&"object"==typeof o&&(O=!1);O&&h.push([u.row,u.col,e]),O=!0,u.col+=1}u.row+=1}else T+=1,u.row+=1,i+=1}F.setDataAtCell(h,null,null,s||"populateFromArray")}}},this.init=function(){U.setData(Q.data),F.runHooks("beforeInit"),((0,l.isMobileBrowser)()||(0,l.isIpadOS)())&&(0,n.addClass)(F.rootElement,"mobile"),this.updateSettings(Q,!0),this.view=new y.default(this);const e=Q.themeName||(0,D.getThemeClassName)(F.rootElement);F.useTheme(e),F.view.addClassNameToLicenseElement(F.getCurrentThemeName()),Y=a.default.getInstance(F,Q,ee),G=(0,A.createViewportScroller)(F),z=new u.FocusManager(F),(0,b.isRootInstance)(this)&&(0,A.installFocusCatcher)(F),F.runHooks("init"),this.forceFullRender=!0,this.view.render(),K&&null===F.rootElement.offsetParent&&(0,n.observeVisibilityChangeOnce)(F.rootElement,(()=>{F.view._wt.wtOverlays.updateLastSpreaderSize(),F.render(),F.view.adjustElementsSize()})),"object"==typeof K&&(F.runHooks("afterChange",K[0],K[1]),K=!1),F.runHooks("afterInit")},this._createCellCoords=function(e,t){return F.view._wt.createCellCoords(e,t)},this._createCellRange=function(e,t,o){return F.view._wt.createCellRange(e,t,o)},this.validateCell=function(e,t,o,s){let n=F.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=F.getCell(n,s,!0);if(r&&"TH"!==r.nodeName){const e=F.rowIndexMapper.getRenderableFromVisualIndex(n),t=F.columnIndexMapper.getRenderableFromVisualIndex(s);F.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=F.runHooks("beforeValidate",e,t.visualRow,t.prop,s),F._registerImmediate((()=>{n.call(t,e,(o=>{F&&(o=F.runHooks("afterValidate",o,e,t.visualRow,t.prop,s),t.valid=o,l(o),F.runHooks("postAfterValidate",o,e,t.visualRow,t.prop,s))}))}))):F._registerImmediate((()=>{t.valid=!0,l(t.valid,!1)}))},this.setDataAtCell=function(e,t,o,s){const n=ae(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 c=he(r,h);F.runHooks("afterSetDataAtCell",c,h),ie(c,h,(()=>{le(c,h)}))},this.setDataAtRowProp=function(e,t,o,s){const n=ae(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=he(r,s);F.runHooks("afterSetDataAtRowProp",h,a),ie(h,a,(()=>{le(h,a)}))},this.listen=function(){F&&!F.isListening()&&(L.forEach((e=>{F!==e&&e.unlisten()})),k=F.guid,F.runHooks("afterListen"))},this.unlisten=function(){this.isListening()&&(k=null,F.runHooks("afterUnlisten"))},this.isListening=function(){return k===F.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];Y.closeEditor(e),F.view.render(),t&&ee.isSelected()&&Y.prepareEditor()},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?F._createCellCoords(s,n):null;return j.populateFromArray(F._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(ee.isSelected())return(0,d.arrayMap)(ee.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(ee.isSelected())return Array.from(ee.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(!ee.isSelected()||0===this.countRows()||0===this.countCols())return;const t=[];(0,d.arrayEach)(ee.getSelectedRange(),(e=>{if(e.isSingleHeader())return;const o=e.getTopStartCorner(),s=e.getBottomEndCorner();(0,v.rangeEach)(o.row,s.row,(e=>{(0,v.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():F.view.render())},this.render=function(){this.view&&(this.renderCall=!0,this.forceFullRender=!0,this.isRenderSuspended()||F.view.render())},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(!F.view)return;const{width:e,height:t}=F.view.getLastSize(),{width:o,height:s}=F.rootElement.getBoundingClientRect(),n=o!==e||s!==t;!1===F.runHooks("beforeRefreshDimensions",{width:e,height:t},{width:o,height:s},n)||((n||F.view._wt.wtOverlays.scrollableElement===F.rootWindow)&&(F.view.setLastSize(o,s),F.render()),F.runHooks("afterRefreshDimensions",{width:e,height:t},{width:o,height:s},n))},this.updateData=function(e,t){(0,N.replaceData)(e,(e=>{B=e}),(e=>{B=e,F.columnIndexMapper.fitToLength(this.getInitialColumnCount()),F.rowIndexMapper.fitToLength(this.countSourceRows()),j.adjustRowsAndCols(),ee.refresh()}),{hotInstance:F,dataMap:B,dataSource:U,internalSource:"updateData",source:t,metaManager:q,firstRun:K})},this.loadData=function(e,t){(0,N.replaceData)(e,(e=>{B=e}),(()=>{q.clearCellsCache(),F.initIndexMappers(),j.adjustRowsAndCols(),ee.refresh(),K&&(K=[null,"loadData"])}),{hotInstance:F,dataMap:B,dataSource:U,internalSource:"loadData",source:t,metaManager:q,firstRun:K})},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"===F.dataType){const o=this.countSourceCols();for(let s=0;s<o;s+=1)e(s)&&(t+=1)}else"object"!==F.dataType&&"function"!==F.dataType||(t=B.colToPropCache.length);else if((0,i.isDefined)(Q.dataSchema)){const e=B.getSchema();t=Array.isArray(e)?e.length:(0,c.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(F._createCellCoords(e,t),F._createCellCoords(o,s),B.DESTINATION_RENDERER)},this.getCopyableText=function(e,t,o,s){return B.getCopyableText(F._createCellCoords(e,t),F._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=(K?F.loadData:F.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?oe(e.language):"className"===s?se("className",e.className):"tableClassName"===s&&F.table?(se("tableClassName",e.tableClassName),F.view._wt.wtOverlays.syncOverlayTableClassNames()):T.Hooks.getSingleton().isRegistered(s)||T.Hooks.getSingleton().isDeprecated(s)?(0,r.isFunction)(e[s])?T.Hooks.getSingleton().addAsFixed(s,e[s],F):Array.isArray(e[s])&&T.Hooks.getSingleton().add(s,e[s],F):!t&&(0,c.hasOwnProperty)(e,s)&&(J[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(),F.initIndexMappers());const a=F.countCols(),h=Q.columns;if(h&&(0,r.isFunction)(h)&&(l=!0),void 0===e.cell&&void 0===e.cells&&void 0===e.columns||q.clearCache(),a>0)for(s=0,n=0;s<a;s++){if(h){const e=l?h(s):h[n];e&&q.updateColumnMeta(n,e)}n+=1}(0,i.isDefined)(e.cell)&&(0,c.objectEach)(e.cell,(e=>{F.setCellMetaObject(e.row,e.col,e)})),F.runHooks("afterCellMetaReset");let u=F.rootElement.style.height;""!==u&&(u=parseInt(F.rootElement.style.height,10));let d=e.height;if((0,r.isFunction)(d)&&(d=d()),t){F.rootElement.getAttribute("style")&&F.rootElement.setAttribute("data-initialstyle",F.rootElement.getAttribute("style"))}if(null===d){const e=F.rootElement.getAttribute("data-initialstyle");e&&(e.indexOf("height")>-1||e.indexOf("overflow")>-1)?F.rootElement.setAttribute("style",e):(F.rootElement.style.height="",F.rootElement.style.overflow="")}else void 0!==d&&(F.rootElement.style.height=isNaN(d)?`${d}`:`${d}px`,F.rootElement.style.overflow="hidden");if(void 0!==e.width){let t=e.width;(0,r.isFunction)(t)&&(t=t()),F.rootElement.style.width=isNaN(t)?`${t}`:`${t}px`}if(!t){if(F.view){F.view._wt.wtViewport.resetHasOversizedColumnHeadersMarked(),F.view._wt.exportSettingsAsClassNames();const t=F.getCurrentThemeName(),o=(0,c.hasOwnProperty)(e,"themeName");t&&o&&(F.view.getStylesHandler().removeClassNames(),F.view.removeClassNameFromLicenseElement(t));const s=o&&e.themeName||(0,D.getThemeClassName)(F.rootElement);F.useTheme(s),F.view.addClassNameToLicenseElement(F.getCurrentThemeName())}F.runHooks("afterUpdateSettings",e)}j.adjustRowsAndCols(),F.view&&!K&&(F.forceFullRender=!0,F.view.render(),F.view._wt.wtOverlays.adjustElementsSize()),t||!F.view||""!==u&&""!==d&&void 0!==d||u===d||F.view._wt.wtOverlays.updateMainScrollableElements()},this.getValue=function(){const e=F.getSelectedLast();if(Q.getValue){if((0,r.isFunction)(Q.getValue))return Q.getValue.call(F);if(e)return F.getData()[e[0][0]][Q.getValue]}else if(e)return F.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){j.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||void 0===n||void 0===s?null:F.view.getCellAtCoords(F._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)),F._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(F._createCellCoords(0,e),F._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(F._createCellCoords(0,B.propToCol(e)),F._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(F._createCellCoords(e,t),F._createCellCoords(o,s)),n},this.getSourceDataArray=function(e,t,o,s){let n;return n=void 0===e?U.getData(!0):U.getByRange(F._createCellCoords(e,t),F._createCellCoords(o,s),!0),n},this.getSourceDataAtCol=function(e){return U.getAtColumn(e)},this.setSourceDataAtCell=function(e,t,o,s){const n=ae(e,t,o),r=this.hasHook("afterSetSourceDataAtCell"),l=[];r&&(0,d.arrayEach)(n,(e=>{let[t,o,s]=e;l.push([t,o,U.getAtCell(t,o),s])})),(0,d.arrayEach)(n,(e=>{let[t,o,s]=e;U.setAtCell(t,o,s)})),r&&this.runHooks("afterSetSourceDataAtCell",l,s),this.render();const a=F.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(F._createCellCoords(e,0),F._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,c=null;void 0===l&&(l=r),void 0===a&&(a=i);let u="mixed";return(0,v.rangeEach)(Math.max(Math.min(r,l),0),Math.max(r,l),(e=>{let t=!0;return(0,v.rangeEach)(Math.max(Math.min(i,a),0),Math.max(i,a),(o=>{const s=this.getCellMeta(e,o);return c=s.type,h?t=h===c:h=c,t})),u=t?c:"mixed",t})),u},this.removeCellMeta=function(e,t,o){const[s,n]=[this.toPhysicalRow(e),this.toPhysicalColumn(t)];let r=q.getCellMetaKeyValue(s,n,o);!1!==F.runHooks("beforeRemoveCellMeta",e,t,o,r)&&(q.removeCellMeta(s,n,o),F.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&&q.removeRow(this.toPhysicalRow(e),t),s.length>0&&(0,d.arrayEach)(s.reverse(),(t=>{q.createRow(this.toPhysicalRow(e)),(0,d.arrayEach)(t,((t,o)=>this.setCellMetaObject(e,o,t)))})),F.render()},this.setCellMetaObject=function(e,t,o){"object"==typeof o&&(0,c.objectEach)(o,((o,s)=>{this.setCellMeta(e,t,s,o)}))},this.setCellMeta=function(e,t,o,s){if(!1===F.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)),q.setCellMeta(n,r,o,s),F.runHooks("afterSetCellMeta",e,t,o,s)},this.getCellsMeta=function(){return q.getCellsMeta()},this.getCellMeta=function(e,t){let o=this.toPhysicalRow(e),s=this.toPhysicalColumn(t);return null===o&&(o=e),null===s&&(s=t),q.getCellMeta(o,s,{visualRow:e,visualColumn:t})},this.getColumnMeta=function(e){return q.getColumnMeta(this.toPhysicalColumn(e))},this.getCellMetaAtRow=function(e){return q.getCellsMetaAtRow(e)},this.isColumnModificationAllowed=function(){return!("object"===F.dataType||Q.columns)},this.getCellRenderer=function(e,t){const o="number"==typeof e?F.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?F.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?F.getCellMeta(e,t).validator:e.validator;return"string"==typeof o?(0,w.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 ne;e&&(s.onQueueEmpty=e);let n=F.countRows()-1;for(;n>=0;){if(void 0!==t&&-1===t.indexOf(n)){n-=1;continue}let e=F.countCols()-1;for(;e>=0;)void 0===o||-1!==o.indexOf(e)?(s.addValidatorToQueue(),F.validateCell(F.getDataAtCell(n,e),F.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=F.runHooks("modifyRowHeader",o)),void 0===o?(t=[],(0,v.rangeEach)(F.countRows()-1,(e=>{t.push(F.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=F.countCols();e<t;e++)if(F.getColHeader(e))return!0;return!1},this.getColHeader=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;const o=F.runHooks("modifyColHeader",e);if(void 0===o){const e=[],t=F.countCols();for(let o=0;o<t;o++)e.push(F.getColHeader(o));return e}let s=Q.colHeaders;const n=F.toPhysicalColumn(o),i=function(e){const t=[],o=F.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=F.runHooks("modifyColumnHeaderValue",s,e,t),s},this._getColWidthFromSettings=function(e){let t;if(e>=0){t=F.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,t){let o=F._getColWidthFromSettings(e);return o=F.runHooks("modifyColWidth",o,e,t),void 0===o&&(o=_.DEFAULT_COLUMN_WIDTH),o},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,t){let o=F._getRowHeightFromSettings(e);return o=F.runHooks("modifyRowHeight",o,e,t),o},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 F.view._wt.drawn?F.view._wt.wtTable.getRenderedRowsCount():-1},this.countVisibleRows=function(){return F.view._wt.drawn?F.view._wt.wtTable.getVisibleRowsCount():-1},this.countRenderedCols=function(){return F.view._wt.drawn?F.view._wt.wtTable.getRenderedColumnsCount():-1},this.countVisibleCols=function(){return F.view._wt.drawn?F.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,v.rangeEachReverse)(F.countRows()-1,(o=>{if(F.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,v.rangeEachReverse)(F.countCols()-1,(o=>{if(F.isEmptyCol(o))t+=1;else if(!0===e)return!1})),t},this.isEmptyRow=function(e){return Q.isEmptyRow.call(F,e)},this.isEmptyCol=function(e){return Q.isEmptyCol.call(F,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])&&G.suspend();const o=ee.selectCells(e);return o&&t&&F.listen(),G.resume(),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 ee.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 ee.selectRows(e,t,o)},this.deselectCell=function(){ee.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;G.skipNextScrollCycle(),ee.selectAll(e,t,o)};const ce=(e,t)=>e.getNearestNotHiddenIndex(t,1,!0);this.scrollViewportTo=function(e){var t,o;"number"==typeof e&&(e={row:arguments[0],col:arguments[1],verticalSnap:arguments[2]?"bottom":"top",horizontalSnap:arguments[3]?"end":"start",considerHiddenIndexes:null===(o=arguments[4])||void 0===o||o});const{row:s,col:n,considerHiddenIndexes:r}=null!==(t=e)&&void 0!==t?t:{};let i=s,l=n;if(void 0===r||r){const e=Number.isInteger(s)&&s>=0,t=Number.isInteger(n)&&n>=0,o=e?ce(this.rowIndexMapper,s):void 0,r=t?ce(this.columnIndexMapper,n):void 0;if(null===o||null===r)return!1;i=e?F.rowIndexMapper.getRenderableFromVisualIndex(o):s,l=t?F.columnIndexMapper.getRenderableFromVisualIndex(r):n}const a=Number.isInteger(i),h=Number.isInteger(l);return a&&i>=0&&h&&l>=0?F.view.scrollViewport(F._createCellCoords(i,l),e.horizontalSnap,e.verticalSnap):a&&i>=0&&(h&&l<0||!h)?F.view.scrollViewportVertically(i,e.verticalSnap):!!(h&&l>=0&&(a&&i<0||!a))&&F.view.scrollViewportHorizontally(l,e.horizontalSnap)},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(F._clearTimeouts(),F._clearImmediates(),F.view&&F.view.destroy(),U&&U.destroy(),U=null,this.getShortcutManager().destroy(),q.clearCache(),L.delete(this.guid),(0,b.isRootInstance)(F)){const e=this.rootDocument.querySelector(".hot-display-license-info");e&&e.parentNode.removeChild(e)}(0,n.empty)(F.rootElement),W.destroy(),Y&&Y.destroy(),F.batchExecution((()=>{F.rowIndexMapper.unregisterAll(),F.columnIndexMapper.unregisterAll(),Z.getItems().forEach((e=>{let[,t]=e;t.destroy()})),Z.clear(),F.runHooks("afterDestroy")}),!0),T.Hooks.getSingleton().destroy(F),(0,c.objectEach)(F,((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)})),F.isDestroyed=!0,B&&B.destroy(),B=null,j=null,ee=null,Y=null,F=null},this.getActiveEditor=function(){return Y.getActiveEditor()},this.getFirstRenderedVisibleRow=function(){return F.view.getFirstRenderedVisibleRow()},this.getLastRenderedVisibleRow=function(){return F.view.getLastRenderedVisibleRow()},this.getFirstRenderedVisibleColumn=function(){return F.view.getFirstRenderedVisibleColumn()},this.getLastRenderedVisibleColumn=function(){return F.view.getLastRenderedVisibleColumn()},this.getFirstFullyVisibleRow=function(){return F.view.getFirstFullyVisibleRow()},this.getLastFullyVisibleRow=function(){return F.view.getLastFullyVisibleRow()},this.getFirstFullyVisibleColumn=function(){return F.view.getFirstFullyVisibleColumn()},this.getLastFullyVisibleColumn=function(){return F.view.getLastFullyVisibleColumn()},this.getFirstPartiallyVisibleRow=function(){return F.view.getFirstPartiallyVisibleRow()},this.getLastPartiallyVisibleRow=function(){return F.view.getLastPartiallyVisibleRow()},this.getFirstPartiallyVisibleColumn=function(){return F.view.getFirstPartiallyVisibleColumn()},this.getLastPartiallyVisibleColumn=function(){return F.view.getLastPartiallyVisibleColumn()},this.getPlugin=function(e){const t=(0,C.toUpperCaseFirst)(e);return"UndoRedo"===t?this.undoRedo:Z.getItem(t)},this.getPluginName=function(e){return e===this.undoRedo?this.undoRedo.constructor.PLUGIN_KEY:Z.getId(e)},this.getInstance=function(){return F},this.addHook=function(e,t,o){T.Hooks.getSingleton().add(e,t,F,o)},this.hasHook=function(e){return T.Hooks.getSingleton().has(e,F)||T.Hooks.getSingleton().has(e)},this.addHookOnce=function(e,t,o){T.Hooks.getSingleton().once(e,t,F,o)},this.removeHook=function(e,t){T.Hooks.getSingleton().remove(e,t,F)},this.runHooks=function(e,t,o,s,n,r,i){return T.Hooks.getSingleton().run(F,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.useTheme=e=>{this.view.getStylesHandler().useTheme(e),this.runHooks("afterSetTheme",e,!!K)},this.getCurrentThemeName=()=>this.view.getStylesHandler().getThemeName(),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,d.arrayEach)(this.timeouts,(e=>{clearTimeout(e)}))},this.immediates=[],this._registerImmediate=function(e){this.immediates.push(setImmediate(e))},this._clearImmediates=function(){(0,d.arrayEach)(this.immediates,(e=>{clearImmediate(e)}))},this._getEditorManager=function(){return Y},this.isRtl=function(){return"rtl"===F.rootWindow.getComputedStyle(F.rootElement).direction},this.isLtr=function(){return!F.isRtl()},this.getDirectionFactor=function(){return F.isLtr()?1:-1};const ue=(0,H.createShortcutManager)({handleEvent:()=>F.isListening(),beforeKeyDown:e=>this.runHooks("beforeKeyDown",e),afterKeyDown:e=>{this.isDestroyed||F.runHooks("afterDocumentKeyDown",e)},ownerWindow:this.rootWindow});this.addHook("beforeOnCellMouseDown",(e=>{!1===e.ctrlKey&&!1===e.metaKey&&ue.releasePressedKeys()})),this.getShortcutManager=function(){return ue},this.getFocusManager=function(){return z},(0,f.getPluginsNames)().forEach((e=>{const t=(0,f.getPlugin)(e);Z.addItem(e,new t(this))})),(0,x.registerAllShortcutContexts)(F),ue.setActiveContextName("grid"),T.Hooks.getSingleton().run(F,"construct")},o(67834),o(15724),o(71336),o(41558),o(17663),o(68630),o(79645),o(89858),o(8620),o(14846),o(27458),o(69655),o(94364),o(71766);var n=o(94916),r=o(77515),i=o(95768),l=o(99275),a=s(o(5289)),h=s(o(12370)),c=o(95016),u=o(94810),d=o(47154),g=o(19310),f=o(42427),p=o(58151),m=o(45973),w=o(57006),C=o(83414),v=o(36926),y=s(o(20328)),E=s(o(88687)),S=o(42379),R=o(57466),b=o(91980),_=o(7749),T=o(29398),M=o(84435),O=o(20115),I=o(63480),N=o(8752),A=o(18393),P=o(78697),H=o(63313),x=o(9528),D=o(83033);let k=null;const L=new Map;new Set},92008:(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(94916),n=o(45551);function r(e){const t=e.rootDocument.createElement("input");return t.type="text",t.name="__htFocusCatcher",t.classList.add("htFocusCatcher"),e.getSettings().ariaTags&&(0,s.setAttribute)(t,[(0,n.A11Y_PRESENTATION)(),(0,n.A11Y_HIDDEN)()]),t}},69998:(e,t,o)=>{"use strict";t.__esModule=!0,t.installFocusCatcher=function(e){const t=function(e){return t=>{if(!t)return null;const o=r(e),s=i(e);return t.col<o.col&&(t.col=o.col),t.col>s.col&&(t.col=s.col),t.row<o.row&&(t.row=o.row),t.row>s.row&&(t.row=s.row),t}}(e);let o;const{activate:l,deactivate:a}=(0,n.installFocusDetector)(e,{onFocusFromTop(){var s;const n=null!==(s=t(o))&&void 0!==s?s:r(e);n&&(e.runHooks("modifyFocusOnTabNavigation","from_above",n),e.selectCell(n.row,n.col)),e.listen()},onFocusFromBottom(){var s;const n=null!==(s=t(o))&&void 0!==s?s:i(e);n&&(e.runHooks("modifyFocusOnTabNavigation","from_below",n),e.selectCell(n.row,n.col)),e.listen()}}),h={wrapped:!1,flipped:!1};let c=!0,u=!1,d=!1;e.addHook("afterListen",(()=>a())),e.addHook("afterUnlisten",(()=>l())),e.addHook("afterSelection",((t,s,n,r,i)=>{var l;(u&&(h.wrapped&&h.flipped||d)&&(d=!1,i.value=!0),c)&&(o=null===(l=e.getSelectedRangeLast())||void 0===l?void 0:l.highlight)})),e.addHook("beforeRowWrap",((e,t,o)=>{h.wrapped=!0,h.flipped=o}));const g={keys:[["Tab"],["Shift","Tab"]],preventDefault:!1,stopPropagation:!1,relativeToGroup:s.GRID_GROUP,group:"focusCatcher"};e.getShortcutManager().getContext("grid").addShortcuts([{...g,callback:()=>{const{tabNavigation:t}=e.getSettings();u=!0,e.getSelectedRangeLast()&&!t&&(c=!1),t||(d=!0)},position:"before"},{...g,callback:t=>{const{tabNavigation:s,autoWrapRow:n}=e.getSettings();if(u=!1,c=!0,!s||!e.selection.isSelected()||n&&h.wrapped&&h.flipped||!n&&h.wrapped)return n&&h.wrapped&&h.flipped&&(o=t.shiftKey?r(e):i(e)),h.wrapped=!1,h.flipped=!1,e.deselectCell(),e.unlisten(),!1;t.preventDefault()},position:"after"}])};var s=o(9528),n=o(92008);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)}},47158:(e,t,o)=>{"use strict";t.__esModule=!0,o(67834),o(15724),o(79747),o(71336),o(41558),o(17663),o(68630),o(79645),o(89858),o(8620),o(14846),o(27458),o(6211),o(69655);var s=o(17991);function n(e,t,o){r(e,t),t.set(e,o)}function r(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function i(e,t,o){return e.set(a(e,t),o),o}function l(e,t){return e.get(a(e,t))}function a(e,t,o){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:o;throw new TypeError("Private element is not present on this object")}var h=new WeakMap,c=new WeakMap,u=new WeakMap,d=new WeakSet;function g(e){l(h,this).set(e,[]),l(c,this).set(e,0)}t.HooksBucket=class{constructor(){var e,t;r(e=this,t=d),t.add(e),n(this,h,new Map),n(this,c,new Map),n(this,u,new Set),s.REGISTERED_HOOKS.forEach((e=>a(d,this,g).call(this,e)))}getHooks(e){var t;return null!==(t=l(h,this).get(e))&&void 0!==t?t:[]}add(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};l(h,this).has(e)||(a(d,this,g).call(this,e),s.REGISTERED_HOOKS.push(e));const n=l(h,this).get(e);if(n.find((e=>e.callback===t)))return;const r=Number.isInteger(o.orderIndex)?o.orderIndex:0,i=!!o.runOnce,c=!!o.initialHook;let f=!1;if(c){const e=n.find((e=>e.initialHook));e&&(e.callback=t,f=!0)}if(!f){n.push({callback:t,orderIndex:r,runOnce:i,initialHook:c,skip:!1});let o=l(u,this).has(e);o||0===r||(o=!0,l(u,this).add(e)),o&&n.length>1&&l(h,this).set(e,n.toSorted(((e,t)=>e.orderIndex-t.orderIndex)))}}has(e){return l(h,this).has(e)&&l(h,this).get(e).length>0}remove(e,t){if(!l(h,this).has(e))return!1;const o=l(h,this).get(e),s=o.find((e=>e.callback===t));if(s){let t=l(c,this).get(e);return s.skip=!0,t+=1,t>100&&(l(h,this).set(e,o.filter((e=>!e.skip))),t=0),l(c,this).set(e,t),!0}return!1}destroy(){l(h,this).clear(),l(c,this).clear(),i(h,this,null),i(c,this,null)}}},17991:(e,t)=>{"use strict";t.__esModule=!0;t.REGISTERED_HOOKS=["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","afterSelectionFocusSet","beforeSelectColumns","afterSelectColumns","beforeSelectRows","afterSelectRows","afterSetCellMeta","afterRemoveCellMeta","afterSetDataAtCell","afterSetDataAtRowProp","afterSetSourceDataAtCell","afterSetTheme","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","beforeSelectionFocusSet","beforeSetRangeStartOnly","beforeSetRangeStart","beforeSetRangeEnd","beforeSelectionHighlightSet","beforeTouchScroll","beforeValidate","beforeValueRender","construct","init","modifyColHeader","modifyColWidth","modifyFiltersMultiSelectValue","modifyFocusedElement","modifyRowHeader","modifyRowHeight","modifyRowHeightByOverlayName","modifyData","modifySourceData","modifyRowData","modifyGetCellCoords","modifyGetCoordsElement","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","modifyTransformFocus","modifyTransformStart","modifyTransformEnd","afterModifyTransformFocus","afterModifyTransformStart","afterModifyTransformEnd","afterViewportRowCalculatorOverride","afterViewportColumnCalculatorOverride","afterPluginsInitialized","beforeHideRows","afterHideRows","beforeUnhideRows","afterUnhideRows","beforeHideColumns","afterHideColumns","beforeUnhideColumns","afterUnhideColumns","beforeTrimRow","afterTrimRow","beforeUntrimRow","afterUntrimRow","beforeDropdownMenuShow","afterDropdownMenuShow","afterDropdownMenuHide","beforeAddChild","afterAddChild","beforeDetachChild","afterDetachChild","beforeBeginEditing","afterBeginEditing","beforeMergeCells","afterMergeCells","beforeUnmergeCells","afterUnmergeCells","afterListen","afterUnlisten","afterRefreshDimensions","beforeRefreshDimensions","beforeColumnCollapse","afterColumnCollapse","beforeColumnExpand","afterColumnExpand","modifyAutoColumnSizeSeed"],t.REMOVED_HOOKS=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"]]),t.DEPRECATED_HOOKS=new Map([[]])},29398:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(15724);var n=s(o(85707)),r=o(47154),i=o(83414),l=o(59350),a=o(20944),h=o(77515),c=o(17991),u=o(47158);const d=a.toSingleLine`The plugin hook "[hookName]" was removed in Handsontable [removedInVersion].\x20
35
+ turning off the "renderAllRows" option.`)),this.table.isAriaEnabled()&&(0,h.setAttribute)(this.rootNode,[(0,c.A11Y_ROWGROUP)()]),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,h.setAttribute)(e,[(0,c.A11Y_ROW)(),(0,c.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)]);(0,h.removeClass)(e,[u,d]),(n+1)%2==0?(0,h.addClass)(e,u):(0,h.addClass)(e,d)}this.orderView.end()}}t.default=f},73229:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(85707));t.default=class{constructor(e){let{cellRenderer:t,stylesHandler:o}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,n.default)(this,"rootNode",void 0),(0,n.default)(this,"rootDocument",void 0),(0,n.default)(this,"rowHeaders",null),(0,n.default)(this,"columnHeaders",null),(0,n.default)(this,"colGroup",null),(0,n.default)(this,"rows",null),(0,n.default)(this,"cells",null),(0,n.default)(this,"rowFilter",null),(0,n.default)(this,"columnFilter",null),(0,n.default)(this,"rowUtils",null),(0,n.default)(this,"columnUtils",null),(0,n.default)(this,"rowsToRender",0),(0,n.default)(this,"columnsToRender",0),(0,n.default)(this,"rowHeaderFunctions",[]),(0,n.default)(this,"rowHeadersCount",0),(0,n.default)(this,"columnHeaderFunctions",[]),(0,n.default)(this,"columnHeadersCount",0),(0,n.default)(this,"cellRenderer",void 0),(0,n.default)(this,"activeOverlayName",void 0),(0,n.default)(this,"stylesHandler",void 0),this.rootNode=e,this.rootDocument=this.rootNode.ownerDocument,this.cellRenderer=t,this.stylesHandler=o}setActiveOverlayName(e){this.activeOverlayName=e}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),s=this.rowUtils;if(e.firstChild){const t=this.renderedRowToSource(o),n=s.getHeightByOverlayName(t,this.activeOverlayName),r=this.stylesHandler.areCellsBorderBox()?0:1;e.firstChild.style.height=n?n-r+"px":""}}}}},82276:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(67834);var n=s(o(85707)),r=o(94916),i=o(95016);function l(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)}function a(e,t,o){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:o;throw new TypeError("Private element is not present on this object")}var h=new WeakSet;function c(e){const{wtSettings:t,inlineStartOverlay:o,wtTable:s,wtViewport:n,totalColumns:i,rootWindow:l}=this.dataAccessObject;if(o.mainTableScrollableElement===l){let a=null;if(t.getSetting("rtlMode")){const e=s.TABLE.getBoundingClientRect(),t=this.dataAccessObject.rootWindow.document.documentElement.offsetWidth;a=Math.abs(e.right-t)}else{a=(0,r.offset)(s.wtRootElement).left}const h=Math.abs((0,r.getScrollLeft)(l,l));if(a>h){const t=(0,r.innerWidth)(l);let s=n.getRowHeaderWidth();for(let n=1;n<=i;n++)if(s+=o.sumCellSizes(n-1,n),a+s-h>=t){e=n-2;break}}}return e}function u(e){const{topOverlay:t,wtTable:o,wtViewport:s,totalRows:n,rootWindow:i}=this.dataAccessObject;if(t.mainTableScrollableElement===i){const l=(0,r.offset)(o.wtRootElement),a=(0,r.getScrollTop)(i,i);if(l.top>a){const o=(0,r.innerHeight)(i);let h=s.getColumnHeaderHeight();for(let s=1;s<=n;s++)if(h+=t.sumCellSizes(s-1,s),l.top+h-a>=o){e=s-2;break}}}return e}t.default=class{constructor(e){l(this,h),(0,n.default)(this,"dataAccessObject",void 0),this.dataAccessObject=e}scrollViewport(e,t,o){if(e.col<0||e.row<0)return!1;const s=this.scrollViewportHorizontally(e.col,t),n=this.scrollViewportVertically(e.row,o);return s||n}scrollViewportHorizontally(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"auto";const{drawn:o,totalColumns:s}=this.dataAccessObject;if(!o)return!1;const n=(0,i.createObjectPropListener)(t);if(e=this.dataAccessObject.wtSettings.getSetting("onBeforeViewportScrollHorizontally",e,n),!Number.isInteger(e)||e<0||e>s)return!1;t=n.value;const{fixedColumnsStart:r,inlineStartOverlay:l}=this.dataAccessObject,a="auto"===t;if(a&&e<r)return!1;const h=this.getFirstVisibleColumn(),c=this.getLastVisibleColumn();let u=!1;return(a&&(e<h||e>c)||!a)&&(u=l.scrollTo(e,a?e>=this.getLastPartiallyVisibleColumn():"end"===t)),u}scrollViewportVertically(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"auto";const{drawn:o,totalRows:s}=this.dataAccessObject;if(!o)return!1;const n=(0,i.createObjectPropListener)(t);if(e=this.dataAccessObject.wtSettings.getSetting("onBeforeViewportScrollVertically",e,n),!Number.isInteger(e)||e<0||e>s)return!1;t=n.value;const{fixedRowsBottom:r,fixedRowsTop:l,topOverlay:a}=this.dataAccessObject,h="auto"===t;if(h&&(e<l||e>s-r-1))return!1;const c=this.getFirstVisibleRow(),u=this.getLastVisibleRow();let d=!1;return(h&&(e<c||e>u)||!h)&&(d=a.scrollTo(e,h?e>=this.getLastPartiallyVisibleRow():"bottom"===t)),d}getFirstVisibleRow(){return this.dataAccessObject.wtTable.getFirstVisibleRow()}getLastVisibleRow(){return a(h,this,u).call(this,this.dataAccessObject.wtTable.getLastVisibleRow())}getFirstPartiallyVisibleRow(){return this.dataAccessObject.wtTable.getFirstPartiallyVisibleRow()}getLastPartiallyVisibleRow(){return a(h,this,u).call(this,this.dataAccessObject.wtTable.getLastPartiallyVisibleRow())}getFirstVisibleColumn(){return this.dataAccessObject.wtTable.getFirstVisibleColumn()}getLastVisibleColumn(){return a(h,this,c).call(this,this.dataAccessObject.wtTable.getLastVisibleColumn())}getFirstPartiallyVisibleColumn(){return this.dataAccessObject.wtTable.getFirstPartiallyVisibleColumn()}getLastPartiallyVisibleColumn(){return a(h,this,c).call(this,this.dataAccessObject.wtTable.getLastPartiallyVisibleColumn())}}},8185:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(94916),n=o(40892),r=o(95016),i=o(99275),l=o(6822);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=(0,l.getCornerStyle)(this.instance),this.cornerCenterPointOffset=-Math.ceil(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}px`,this.cornerStyle.height=`${this.cornerDefaultStyle.height}px`,this.cornerStyle.border=[`${this.cornerDefaultStyle.borderWidth}px`,this.cornerDefaultStyle.borderStyle,this.cornerDefaultStyle.borderColor].join(" "),(0,i.isMobileBrowser)()&&this.instance.getSetting("isDataViewInstance")&&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:c}=this.selectionHandles.styles,u=parseInt(l.borderWidth,10),d=parseInt(l.width,10),g=parseInt(a.width,10),f=this.wot.wtTable.getWidth(),p=this.wot.wtTable.getHeight();l.top=`${parseInt(o-d-1,10)}px`,l[i]=`${parseInt(s-d-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-d-2*u),w=Math.min(parseInt(s+n-g/4,10),f-g-2*u);h[i]=`${m}px`,c[i]=`${w}px`;const C=Math.min(parseInt(o+r,10),p-d-2*u),v=Math.min(parseInt(o+r-g/4,10),p-g-2*u);h.top=`${C}px`,c.top=`${v}px`,this.settings.border.cornerVisible&&this.settings.border.cornerVisible()?(l.display="block",a.display="block",this.isPartRange(e,t)?(h.display="none",c.display="none"):(h.display="block",c.display="block")):(l.display="none",h.display="none",a.display="none",c.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;let[t,o,n,r]=e;if(t<0&&n<0||o<0&&r<0)return void this.disappear();const{wtTable:l,rootDocument:a,rootWindow:h}=this.wot,c=t!==n||o!==r,u=l.getFirstRenderedRow(),d=l.getLastRenderedRow(),g=l.getFirstRenderedColumn(),f=l.getLastRenderedColumn();let p;if(c){if(o=Math.max(o,g),r=Math.min(r,f),t=Math.max(t,u),n=Math.min(n,d),r<o||n<t)return void this.disappear();p=l.getCell(this.wot.createCellCoords(t,o))}else if(p=l.getCell(this.wot.createCellCoords(t,o)),!(p instanceof HTMLElement))return void this.disappear();const m=c?l.getCell(this.wot.createCellCoords(n,r)):p,w=(0,s.offset)(p),C=c?(0,s.offset)(m):w,v=(0,s.offset)(l.TABLE),y=w.top,E=w.left,S=this.wot.wtSettings.getSetting("rtlMode");let R=0,b=0;if(S){const e=(0,s.outerWidth)(l.TABLE),t=(0,s.outerWidth)(p),o=h.innerWidth-v.left-e;b=E+t-C.left,R=h.innerWidth-E-t-o-1}else b=C.left+(0,s.outerWidth)(m)-E,R=E-v.left-1;if(this.isEntireColumnSelected(t,n)){const e=t,s=this.getDimensionsFromHeader("columns",o,r,e,v);let n=null;s&&([n,R,b]=s),n&&(p=n)}let _=y-v.top-1,T=C.top+(0,s.outerHeight)(m)-y;if(this.isEntireRowSelected(o,r)){const e=o,s=this.getDimensionsFromHeader("rows",t,n,e,v);let r=null;s&&([r,_,T]=s),r&&(p=r)}const M=h.getComputedStyle(p);parseInt(M.borderTopWidth,10)>0&&(_+=1,T=T>0?T-1:0),parseInt(M[S?"borderRightWidth":"borderLeftWidth"],10)>0&&(R+=1,b=b>0?b-1:0);const O=S?"right":"left";this.topStyle.top=`${_}px`,this.topStyle[O]=`${R}px`,this.topStyle.width=`${b}px`,this.topStyle.display="block",this.startStyle.top=`${_}px`,this.startStyle[O]=`${R}px`,this.startStyle.height=`${T}px`,this.startStyle.display="block";const I=Math.floor(this.settings.border.width/2);this.bottomStyle.top=_+T-I+"px",this.bottomStyle[O]=`${R}px`,this.bottomStyle.width=`${b}px`,this.bottomStyle.display="block",this.endStyle.top=`${_}px`,this.endStyle[O]=R+b-I+"px",this.endStyle.height=`${T+1}px`,this.endStyle.display="block";let N=this.settings.border.cornerVisible;N="function"==typeof N?N(this.settings.layerLevel):N;const A=this.wot.getSetting("onModifyGetCellCoords",n,r,!1,"render");let[P,H]=[n,r];if(A&&Array.isArray(A)&&([,,P,H]=A),(0,i.isMobileBrowser)()||!N||this.isPartRange(P,H))this.cornerStyle.display="none";else{this.cornerStyle.top=_+T+this.cornerCenterPointOffset-this.cornerDefaultStyle.borderWidth+"px",this.cornerStyle[O]=R+b+this.cornerCenterPointOffset-this.cornerDefaultStyle.borderWidth+"px",this.cornerStyle.borderRightWidth=`${this.cornerDefaultStyle.borderWidth}px`,this.cornerStyle.borderLeftWidth=`${this.cornerDefaultStyle.borderWidth}px`,this.cornerStyle.borderBottomWidth=`${this.cornerDefaultStyle.borderWidth}px`,this.cornerStyle.width=this.cornerDefaultStyle.width,this.cornerStyle.display="none";let e=(0,s.getTrimmingContainer)(l.TABLE);const t=e===h;t&&(e=a.documentElement);const o=parseInt(this.cornerDefaultStyle.borderWidth,10)-1,i=Math.ceil(parseInt(this.cornerDefaultStyle.width,10)/2),c=Math.ceil(parseInt(this.cornerDefaultStyle.height,10)/2);if(r===this.wot.getSetting("totalColumns")-1){const n=t?m.getBoundingClientRect().left:m.offsetLeft;let r=!1,l=0;S?(l=n-parseInt(this.cornerDefaultStyle.width,10)/2,r=l<0):(l=n+(0,s.outerWidth)(m)+parseInt(this.cornerDefaultStyle.width,10)/2,r=l>=(0,s.innerWidth)(e)),r&&(this.cornerStyle[O]=`${Math.floor(R+b+this.cornerCenterPointOffset-i-o)}px`,this.cornerStyle[S?"borderLeftWidth":"borderRightWidth"]=0)}if(n===this.wot.getSetting("totalRows")-1){(t?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+this.cornerCenterPointOffset-c-o)}px`,this.cornerStyle.borderBottomWidth=0)}this.cornerStyle.display="block"}(0,i.isMobileBrowser)()&&this.instance.getSetting("isDataViewInstance")&&this.updateMultipleSelectionHandlesPosition(n,r,_,R,b,T)}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,c=null,u=null,d=null,g=null,f=null,p=null;switch(e){case"rows":a=function(){return i.getRowHeader(...arguments)},h=function(){return(0,s.outerHeight)(...arguments)},c="ht__selection--rows",g="top";break;case"columns":a=function(){return i.getColumnHeader(...arguments)},h=function(){return(0,s.outerWidth)(...arguments)},c="ht__selection--columns",g="left"}if(l.classList.contains(c)){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&&(u=i[g]-r[g]-1,d=l[g]+h(p)-i[g]),[f,u,d]}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.instance.getSetting("isDataViewInstance")&&(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)}}},6822:(e,t)=>{"use strict";t.__esModule=!0;t.getCornerStyle=e=>{const t=e.stylesHandler;if(t.isClassicTheme())return Object.freeze({width:6,height:6,borderWidth:1,borderStyle:"solid",borderColor:"#FFF"});const o=t.getCSSVariableValue("cell-autofill-size"),s=t.getCSSVariableValue("cell-autofill-border-width"),n=t.getCSSVariableValue("cell-autofill-border-color");return Object.freeze({width:o,height:o,borderWidth:s,borderStyle:"solid",borderColor:n})}},20765:(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"},39304:(e,t,o)=>{"use strict";o(14846),o(69655);var s=o(96784);t.__esModule=!0;var n={SelectionManager:!0,Selection:!0},r=s(o(64758));t.Selection=r.default;var i=o(20765);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(6822);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(47491);t.SelectionManager=a.SelectionManager},47491:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(67834),o(15724),o(25352),o(71336),o(41558),o(17663),o(68630),o(79645),o(89858),o(8620),o(14846),o(69655),o(94364);var n=o(94916),r=o(20654),i=s(o(8185));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){return e.get(u(e,t))}function c(e,t,o){return e.set(u(e,t),o),o}function u(e,t,o){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:o;throw new TypeError("Private element is not present on this object")}var d=new WeakMap,g=new WeakMap,f=new WeakMap,p=new WeakMap,m=new WeakMap,w=new WeakMap,C=new WeakSet;function v(){const e=h(p,this).get(h(d,this)),t=h(d,this).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=h(d,this).wtTable.TABLE.querySelectorAll(`.${e}`);let r=[];Array.isArray(null===(t=h(g,this).options)||void 0===t?void 0:t.cellAttributes)&&(r=h(g,this).options.cellAttributes.map((e=>e[0]))),Array.isArray(null===(o=h(g,this).options)||void 0===o?void 0:o.headerAttributes)&&(r=[...r,...h(g,this).options.headerAttributes.map((e=>e[0]))]);for(let t=0,o=s.length;t<o;t++)(0,n.removeClass)(s[t],e),(0,n.removeAttribute)(s[t],r)})),e.clear()}t.SelectionManager=class{constructor(e){var t,o;a(t=this,o=C),o.add(t),l(this,d,void 0),l(this,g,void 0),l(this,f,new r.SelectionScanner),l(this,p,new WeakMap),l(this,m,new WeakSet),l(this,w,new Map),c(g,this,e)}setActiveOverlay(e){return c(d,this,e),h(f,this).setActiveOverlay(h(d,this)),h(p,this).has(h(d,this))||h(p,this).set(h(d,this),new Set),this}getFocusSelection(){return null!==h(g,this)?h(g,this).getFocus():null}getAreaSelection(){return null!==h(g,this)?h(g,this).createLayeredArea():null}getBorderInstance(e){if(!e.settings.border)return null;if(h(w,this).has(e)){const t=h(w,this).get(e);if(t.has(h(d,this)))return t.get(h(d,this));const o=new i.default(h(d,this),e.settings);return t.set(h(d,this),o),o}const t=new i.default(h(d,this),e.settings);return h(w,this).set(e,new Map([[h(d,this),t]])),t}getBorderInstances(e){var t,o;return Array.from(null!==(t=null===(o=h(w,this).get(e))||void 0===o?void 0:o.values())&&void 0!==t?t:[])}destroyBorders(e){h(w,this).get(e).forEach((e=>e.destroy())),h(w,this).delete(e)}render(e){if(null===h(g,this))return;e&&u(C,this,v).call(this);const t=Array.from(h(g,this)),o=new Map,s=new Map;for(let e=0;e<t.length;e++){const n=t[e],{className:r,headerAttributes:i,createLayers:l,selectionType:a}=n.settings;h(m,this).has(n)||(h(m,this).add(n),n.addLocalHook("destroy",(()=>this.destroyBorders(n))));const c=this.getBorderInstance(n);if(n.isEmpty()){null==c||c.disappear();continue}if(r){h(f,this).setActiveSelection(n).scan().forEach((e=>{if(o.has(e)){const t=o.get(e);t.has(r)&&!0===l?t.set(r,t.get(r)+1):t.set(r,1)}else o.set(e,new Map([[r,1]]));i&&(s.has(e)||s.set(e,[]),"TH"===e.nodeName&&s.get(e).push(...i))}))}const u=n.getCorners();h(d,this).getSetting("onBeforeDrawBorders",u,a),null==c||c.appear(u)}o.forEach(((e,t)=>{var o;const s=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();s.forEach((e=>h(p,this).get(h(d,this)).add(e))),(0,n.addClass)(t,s),"TD"===t.nodeName&&Array.isArray(null===(o=h(g,this).options)||void 0===o?void 0:o.cellAttributes)&&(0,n.setAttribute)(t,h(g,this).options.cellAttributes)})),Array.from(s.keys()).forEach((e=>{(0,n.setAttribute)(e,[...s.get(e)])}))}}},20654:(e,t,o)=>{"use strict";t.__esModule=!0,o(67834),o(71336),o(41558),o(17663),o(68630),o(79645),o(89858),o(8620);var s=o(94916);function n(e,t,o){r(e,t),t.set(e,o)}function r(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function i(e,t){return e.get(a(e,t))}function l(e,t,o){return e.set(a(e,t),o),o}function a(e,t,o){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:o;throw new TypeError("Private element is not present on this object")}var h=new WeakMap,c=new WeakMap,u=new WeakSet;function d(e){let[t,o,s,n]=i(h,this).getCorners();if(t<0&&s<0||o<0&&n<0)return;const{wtTable:r}=i(c,this),l=t!==s||o!==n;if(o=Math.max(o,0),n=Math.max(n,0),t=Math.max(t,0),s=Math.max(s,0),l){if(o=Math.max(o,r.getFirstRenderedColumn()),n=Math.min(n,r.getLastRenderedColumn()),t=Math.max(t,r.getFirstRenderedRow()),s=Math.min(s,r.getLastRenderedRow()),n<o||s<t)return}else{if(!(r.getCell(i(c,this).createCellCoords(t,o))instanceof HTMLElement))return}for(let r=t;r<=s;r+=1)for(let t=o;t<=n;t+=1)e(r,t)}function g(e){const{wtTable:t}=i(c,this),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;r(e=this,t=u),t.add(e),n(this,h,void 0),n(this,c,void 0)}setActiveOverlay(e){return l(c,this,e),this}setActiveSelection(e){return l(h,this,e),this}scan(){const e=i(h,this).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,n]=i(h,this).getCorners(),{wtTable:r}=i(c,this),l=r.getRenderedColumnsCount(),a=r.getColumnHeadersCount();let u=0;for(let d=-r.getRowHeadersCount();d<l;d++){const l=r.columnFilter.renderedToSource(d);if(!(l<o||l>n)){for(let d=-a;d<0;d++){if(d<t||d>s)continue;const g=d+a;let f=r.getColumnHeader(l,g);const p=i(c,this).getSetting("onBeforeHighlightingColumnHeader",l,g,{selectionType:i(h,this).settings.selectionType,columnCursor:u,selectionWidth:n-o+1});null!==p&&(p!==l&&(f=r.getColumnHeader(p,g)),e(f))}u+=1}}}scanRowsInHeadersRange(e){const[t,o,s,n]=i(h,this).getCorners(),{wtTable:r}=i(c,this),l=r.getRenderedRowsCount(),a=r.getRowHeadersCount();let u=0;for(let d=-r.getColumnHeadersCount();d<l;d++){const l=r.rowFilter.renderedToSource(d);if(!(l<t||l>s)){for(let d=-a;d<0;d++){if(d<o||d>n)continue;const g=d+a;let f=r.getRowHeader(l,g);const p=i(c,this).getSetting("onBeforeHighlightingRowHeader",l,g,{selectionType:i(h,this).settings.selectionType,rowCursor:u,selectionHeight:s-t+1});null!==p&&(p!==l&&(f=r.getRowHeader(p,g)),e(f))}u+=1}}}scanCellsRange(e){const{wtTable:t}=i(c,this);a(u,this,d).call(this,((o,n)=>{const r=t.getCell(i(c,this).createCellCoords(o,n)),l=i(c,this).getSetting("onAfterDrawSelection",o,n,i(h,this).settings.layerLevel);"string"==typeof l&&(0,s.addClass)(r,l),e(r)}))}scanRowsInCellsRange(e){const[t,,o]=i(h,this).getCorners(),{wtTable:s}=i(c,this);a(u,this,g).call(this,((n,r)=>{if(n>=t&&n<=o){const t=s.getCell(i(c,this).createCellCoords(n,r));e(t)}}))}scanColumnsInCellsRange(e){const[,t,,o]=i(h,this).getCorners(),{wtTable:s}=i(c,this);a(u,this,g).call(this,((n,r)=>{if(r>=t&&r<=o){const t=s.getCell(i(c,this).createCellCoords(n,r));e(t)}}))}}},64758:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=o(95016),r=s(o(32943));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},5352:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(67834);var n=s(o(85707)),r=o(94916),i=o(95016);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,currentRowClassName:null,currentColumnClassName:null,preventOverflow:()=>!1,preventWheel:!1,data:void 0,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(){},rowHeightByOverlayName(){},defaultColumnWidth:50,selections:null,hideBorderOnMouseDownOver:!1,viewportRowCalculatorOverride:null,viewportColumnCalculatorOverride:null,viewportRowRenderingThreshold:null,viewportColumnRenderingThreshold: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,onModifyRowHeaderWidth:null,onModifyGetCellCoords:null,onModifyGetCoordsElement:null,onModifyGetCoords:null,onBeforeHighlightingRowHeader:e=>e,onBeforeHighlightingColumnHeader:e=>e,onWindowResize:null,onContainerElementResize:null,renderAllColumns:!1,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]}}},76325:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(67834),o(15724),o(14846),o(69655);var n=s(o(85707)),r=o(94916),i=o(77515),l=s(o(18316)),a=s(o(25800)),h=o(39597),c=s(o(5505)),u=s(o(40799)),d=o(19938),g=o(45551);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 u.default(this.dataAccessObject,this.wtSettings),this.columnUtils=new c.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"),stylesHandler:this.dataAccessObject.stylesHandler})}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"),c=h.length,u=t.getSetting("columnHeaders"),g=u.length;let f=e;if(this.isMaster&&(o.beforeDraw(),this.holderOffset=(0,r.offset)(this.holder),f=s.createCalculators(f),c&&!t.getSetting("fixedColumnsStart"))){const e=o.inlineStartOverlay.getScrollPosition(),t=this.correctHeaderWidth;this.correctHeaderWidth=0!==e,t!==this.correctHeaderWidth&&(f=!1)}if(f)this.isMaster&&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,c);let f=!0;if(this.isMaster){this.alignOverlaysWithTrimmingContainer();const e={};this.wtSettings.getSetting("beforeDraw",!0,e),f=!0!==e.skipRender}f&&(this.tableRenderer.setHeaderContentRenderers(h,u),(this.is(d.CLONE_BOTTOM)||this.is(d.CLONE_BOTTOM_INLINE_START_CORNER))&&this.tableRenderer.setHeaderContentRenderers(h,[]),this.resetOversizedRows(),this.tableRenderer.setActiveOverlayName(this.name).setViewportSize(this.getRenderedRowsCount(),this.getRenderedColumnsCount()).setFilters(this.rowFilter,this.columnFilter).render(),this.isMaster&&this.markOversizedColumnHeaders(),this.adjustColumnHeaderHeights(),(this.isMaster||this.is(d.CLONE_BOTTOM))&&this.markOversizedRows(),this.isMaster?(this.wtSettings.getSetting("externalRowCalculator")||s.createVisibleCalculators(),o.refresh(!1),o.applyToDOM(),this.wtSettings.getSetting("onDraw",!0)):this.is(d.CLONE_BOTTOM)&&this.dataAccessObject.cloneSource.wtOverlays.adjustElementsSize())}let p=!1;return this.isMaster&&(p=o.topOverlay.resetFixedPosition(),o.bottomOverlay.clone&&(p=o.bottomOverlay.resetFixedPosition()||p),p=o.inlineStartOverlay.resetFixedPosition()||p,o.topInlineStartCornerOverlay&&o.topInlineStartCornerOverlay.resetFixedPosition(),o.bottomInlineStartCornerOverlay&&o.bottomInlineStartCornerOverlay.clone&&o.bottomInlineStartCornerOverlay.resetFixedPosition()),p?(o.refreshAll(),o.adjustElementsSize()):this.dataAccessObject.selectionManager.setActiveOverlay(this.facadeGetter()).render(f),this.isMaster&&o.afterDraw(),this.dataAccessObject.drawn=!0,this}markIfOversizedColumnHeader(e){const t=this.columnFilter.renderedToSource(e);let o=this.wtSettings.getSetting("columnHeaders").length;const s=this.dataAccessObject.stylesHandler.getDefaultRowHeight();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(d.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,!this.isMaster,"render");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)(d.CLONE_TOP_INLINE_START_CORNER,t,this.wtRootElement)||(0,r.overlayContainsElement)(d.CLONE_TOP,t,this.wtRootElement))"THEAD"===s.nodeName&&(n-=s.childNodes.length);else if((0,r.overlayContainsElement)(d.CLONE_BOTTOM_INLINE_START_CORNER,t,this.wtRootElement)||(0,r.overlayContainsElement)(d.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);i=(0,r.overlayContainsElement)(d.CLONE_TOP_INLINE_START_CORNER,t,this.wtRootElement)||(0,r.overlayContainsElement)(d.CLONE_INLINE_START,t,this.wtRootElement)||(0,r.overlayContainsElement)(d.CLONE_BOTTOM_INLINE_START_CORNER,t,this.wtRootElement)?this.columnFilter.offsettedTH(i):this.columnFilter.visibleRowHeadedColumnToSourceColumn(i);const l=this.wtSettings.getSetting("onModifyGetCoordsElement",n,i);return l&&Array.isArray(l)&&([n,i]=l),this.wot.createCellCoords(n,i)}markOversizedRows(){if(this.wtSettings.getSetting("externalRowCalculator"))return;let e=this.TBODY.childNodes.length;const t=e*this.dataAccessObject.stylesHandler.getDefaultRowHeight(),o=(0,r.innerHeight)(this.TBODY)-1,s=this.wot.stylesHandler.areCellsBorderBox(),n=s?r.outerHeight:r.innerHeight,i=s?0:1,l=s?1:0;let a,h,c,u,d;if(t!==o||this.wtSettings.getSetting("fixedRowsBottom"))for(;e;){e-=1,c=this.rowFilter.renderedToSource(e),a=this.getRowHeight(c),u=this.getTrForRow(c),d=u.querySelector("th");const t=0===c?l:0;h=d?n(d):n(u)-i,(!a&&this.dataAccessObject.stylesHandler.getDefaultRowHeight()<h-t||a<h)&&(s||(h+=1),this.dataAccessObject.wtViewport.oversizedRows[c]=h)}}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)}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}}},12207:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(76325)),r=s(o(63043)),i=s(o(65483)),l=o(95016),a=o(19938);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},89353:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(76325)),r=s(o(63043)),i=s(o(57676)),l=o(95016),a=o(19938);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},83281:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(76325)),r=s(o(15711)),i=s(o(57676)),l=o(95016),a=o(19938);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},69910:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=o(94916),r=s(o(76325)),i=s(o(15711)),l=s(o(65483)),a=o(95016);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,c=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 n=parseInt(t.getComputedStyle(s).height,10);o.removeChild(s),0===n&&(c=0)}c=Math.min(c,a),i.height="auto"===s?"auto":`${c}px`,h=Math.min(h,l),i.width=`${h}px`,i.overflow="",this.hasTableHeight="auto"===i.height||c>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},65483:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(95016);const n={getFirstRenderedColumn(){const e=this.dataAccessObject.startColumnRendered;return null===e?-1:e},getFirstVisibleColumn(){const e=this.dataAccessObject.startColumnVisible;return null===e?-1:e},getFirstPartiallyVisibleColumn(){const e=this.dataAccessObject.startColumnPartiallyVisible;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},getLastPartiallyVisibleColumn(){const e=this.dataAccessObject.endColumnPartiallyVisible;return null===e?-1:e},getRenderedColumnsCount(){return this.dataAccessObject.countColumnsRendered},getVisibleColumnsCount(){return this.dataAccessObject.countColumnsVisible},getRowHeadersCount(){return this.dataAccessObject.rowHeaders.length}};(0,s.defineGetter)(n,"MIXIN_NAME","calculatedColumns",{writable:!1,enumerable:!1});t.default=n},15711:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(95016);const n={getFirstRenderedRow(){const e=this.dataAccessObject.startRowRendered;return null===e?-1:e},getFirstVisibleRow(){const e=this.dataAccessObject.startRowVisible;return null===e?-1:e},getFirstPartiallyVisibleRow(){const e=this.dataAccessObject.startRowPartiallyVisible;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},getLastPartiallyVisibleRow(){const e=this.dataAccessObject.endRowPartiallyVisible;return null===e?-1:e},getRenderedRowsCount(){return this.dataAccessObject.countRowsRendered},getVisibleRowsCount(){return this.dataAccessObject.countRowsVisible},getColumnHeadersCount(){return this.dataAccessObject.columnHeaders.length}};(0,s.defineGetter)(n,"MIXIN_NAME","calculatedRows",{writable:!1,enumerable:!1});t.default=n},57676:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(95016);const n={getFirstRenderedColumn(){return 0===this.wtSettings.getSetting("totalColumns")?-1:0},getFirstVisibleColumn(){return this.getFirstRenderedColumn()},getFirstPartiallyVisibleColumn(){return this.getFirstRenderedColumn()},getLastRenderedColumn(){return this.getRenderedColumnsCount()-1},getLastVisibleColumn(){return this.getLastRenderedColumn()},getLastPartiallyVisibleColumn(){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,s.defineGetter)(n,"MIXIN_NAME","stickyColumnsStart",{writable:!1,enumerable:!1});t.default=n},63043:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(95016);const n={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()},getFirstPartiallyVisibleRow(){return this.getFirstRenderedRow()},getLastRenderedRow(){return this.wtSettings.getSetting("totalRows")-1},getLastVisibleRow(){return this.getLastRenderedRow()},getLastPartiallyVisibleRow(){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,s.defineGetter)(n,"MIXIN_NAME","stickyRowsBottom",{writable:!1,enumerable:!1});t.default=n},76749:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(95016);const n={getFirstRenderedRow(){return 0===this.wtSettings.getSetting("totalRows")?-1:0},getFirstVisibleRow(){return this.getFirstRenderedRow()},getFirstPartiallyVisibleRow(){return this.getFirstRenderedRow()},getLastRenderedRow(){return this.getRenderedRowsCount()-1},getLastVisibleRow(){return this.getLastRenderedRow()},getLastPartiallyVisibleRow(){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,s.defineGetter)(n,"MIXIN_NAME","stickyRowsTop",{writable:!1,enumerable:!1});t.default=n},39001:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(76325)),r=s(o(76749)),i=s(o(65483)),l=o(95016),a=o(19938);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},76547:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(76325)),r=s(o(76749)),i=s(o(57676)),l=o(95016),a=o(19938);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},5505:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(85707));t.default=class{constructor(e,t){(0,n.default)(this,"dataAccessObject",void 0),(0,n.default)(this,"wtSettings",void 0),(0,n.default)(this,"headerWidths",new Map),this.dataAccessObject=e,this.wtSettings=t}getWidth(e){return this.wtSettings.getSetting("columnWidth",e)||this.wtSettings.getSetting("defaultColumnWidth")}getHeaderHeight(e){let t=this.dataAccessObject.stylesHandler.getDefaultRowHeight();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;let t=e.getSetting("rowHeaderWidth");if(t=e.getSetting("onModifyRowHeaderWidth",t),null!=t){const o=e.getSetting("rowHeaders").length,s=e.getSetting("defaultColumnWidth");for(let e=0;e<o;e++){let o=Array.isArray(t)?t[e]:t;o=null==o?s:o,this.headerWidths.set(e,o)}}}}},87300:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(85707));t.default=class{constructor(e){(0,n.default)(this,"nodeType",void 0),this.nodeType=e.toUpperCase()}setRootDocument(e){this.rootDocument=e}obtain(){return this.rootDocument.createElement(this.nodeType)}}},49596:(e,t)=>{"use strict";t.__esModule=!0;t.WORKING_SPACE_ALL=0,t.WORKING_SPACE_TOP=1,t.WORKING_SPACE_BOTTOM=2},95397:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(28564));t.OrderView=n.default;var r=s(o(72041));t.SharedOrderView=r.default},72041:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(28564));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},28564:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(15724);var n=s(o(85707)),r=o(49596),i=s(o(59313));t.default=class{constructor(e,t,o){(0,n.default)(this,"rootNode",void 0),(0,n.default)(this,"nodesPool",void 0),(0,n.default)(this,"sizeSet",new i.default),(0,n.default)(this,"childNodeType",void 0),(0,n.default)(this,"visualIndex",0),(0,n.default)(this,"collectedNodes",[]),this.rootNode=e,this.nodesPool=t,this.childNodeType=o.toUpperCase()}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(r.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 n=this.getRenderedChildCount();for(;n<s;){const s=this.nodesPool();!o||o&&t.isPlaceOn(r.WORKING_SPACE_BOTTOM)?e.appendChild(s):e.insertBefore(s,e.firstChild),n+=1}const i=o&&t.isPlaceOn(r.WORKING_SPACE_TOP);for(;n>s;)e.removeChild(i?e.firstChild:e.lastChild),n-=1}render(){const{rootNode:e,sizeSet:t}=this;let o=this.visualIndex;this.isSharedViewSet()&&t.isPlaceOn(r.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(){}}},53537:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(85707));t.default=class{constructor(){(0,n.default)(this,"currentSize",0),(0,n.default)(this,"nextSize",0),(0,n.default)(this,"currentOffset",0),(0,n.default)(this,"nextOffset",0)}setSize(e){this.currentSize=this.nextSize,this.nextSize=e}setOffset(e){this.currentOffset=this.nextOffset,this.nextOffset=e}}},59313:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(85707)),r=s(o(53537)),i=o(49596);t.default=class{constructor(){(0,n.default)(this,"size",new r.default),(0,n.default)(this,"workingSpace",i.WORKING_SPACE_ALL),(0,n.default)(this,"sharedSize",null)}setSize(e){this.size.setSize(e)}setOffset(e){this.size.setOffset(e)}getViewSize(){return this.size}isShared(){return this.sharedSize instanceof r.default}isPlaceOn(e){return this.workingSpace===e}append(e){this.workingSpace=i.WORKING_SPACE_TOP,e.workingSpace=i.WORKING_SPACE_BOTTOM,this.sharedSize=e.getViewSize()}prepend(e){this.workingSpace=i.WORKING_SPACE_BOTTOM,e.workingSpace=i.WORKING_SPACE_TOP,this.sharedSize=e.getViewSize()}}},40799:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(85707));t.default=class{constructor(e,t){(0,n.default)(this,"dataAccessObject",void 0),(0,n.default)(this,"wtSettings",void 0),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}getHeightByOverlayName(e,t){let o=this.wtSettings.getSetting("rowHeightByOverlayName",e,t);const s=this.dataAccessObject.wtViewport.oversizedRows[e];return void 0!==s&&(o=void 0===o?s:Math.max(o,s)),o}}},47873:(e,t,o)=>{"use strict";t.__esModule=!0,o(67834),o(14846),o(69655);var s=o(94916),n=o(59350);function r(e,t,o){i(e,t),t.set(e,o)}function i(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function l(e,t){return e.get(h(e,t))}function a(e,t,o){return e.set(h(e,t),o),o}function h(e,t,o){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:o;throw new TypeError("Private element is not present on this object")}var c=new WeakMap,u=new WeakMap,d=new WeakMap,g=new WeakMap,f=new WeakMap,p=new WeakMap,m=new WeakMap,w=new WeakSet;function C(){const e=this.getCSSVariableValue("line-height"),t=this.getCSSVariableValue("cell-vertical-padding"),o=Math.ceil(parseFloat(this.getStyleForTD("border-bottom-width")));return null===e||null===t||isNaN(o)?null:e+2*t+o}function v(){(0,s.removeClass)(l(u,this),/ht-theme-.*/g),(0,s.addClass)(l(u,this),l(c,this))}function y(){this.isClassicTheme()||a(d,this,getComputedStyle(l(u,this)));const e=h(w,this,E).call(this,["box-sizing","border-bottom-width"]);l(m,this).td={...l(m,this).td,"box-sizing":e["box-sizing"],"border-bottom-width":e["border-bottom-width"]}}function E(e){const t=l(g,this),o=l(u,this),s=t.createElement("table"),n=t.createElement("tbody"),r=t.createElement("tr"),i=t.createElement("tr"),a=t.createElement("td");i.appendChild(a),n.appendChild(r),n.appendChild(i),s.appendChild(n),o.appendChild(s);const h=getComputedStyle(a),c={};return e.forEach((e=>{c[e]=h.getPropertyValue(e)})),o.removeChild(s),c}function S(e){const t=Math.ceil(parseFloat(h(w,this,R).call(this,e)));return Number.isNaN(t)?null:t}function R(e){const t=l(d,this).getPropertyValue(e);return""===t?null:t}function b(){a(m,this,{}),a(p,this,{}),a(f,this,!0)}t.StylesHandler=class{constructor(e){var t,o;i(t=this,o=w),o.add(t),r(this,c,void 0),r(this,u,void 0),r(this,d,void 0),r(this,g,void 0),r(this,f,!0),r(this,p,{}),r(this,m,{}),a(u,this,e.rootTable.parentElement.parentElement),a(g,this,e.rootDocument)}isClassicTheme(){return l(f,this)}getCSSVariableValue(e){var t;if(l(f,this))return null;if(l(p,this)[`--ht-${e}`])return l(p,this)[`--ht-${e}`];const o=null!==(t=h(w,this,S).call(this,`--ht-${e}`))&&void 0!==t?t:h(w,this,R).call(this,`--ht-${e}`);return null!==o?(l(p,this)[`--ht-${e}`]=o,o):void 0}getStyleForTD(e){var t;return null===(t=l(m,this))||void 0===t?void 0:t.td[e]}getDefaultRowHeight(){if(l(f,this))return 23;const e=h(w,this,C).call(this);return!e&&(0,s.hasClass)(l(u,this),"ht-wrapper")?((0,n.warn)(`The "${l(c,this)}" theme is enabled, but its stylesheets are missing or not imported correctly. Import the correct CSS files in order to use that theme.`),a(f,this,!0),this.useTheme(),23):e}areCellsBorderBox(){return"border-box"===this.getStyleForTD("box-sizing")}useTheme(e){if(!e)return h(w,this,y).call(this),a(f,this,!0),void a(c,this,e||void 0);e&&e!==l(c,this)&&(l(c,this)&&h(w,this,b).call(this),a(c,this,e),a(f,this,!1),h(w,this,v).call(this),h(w,this,y).call(this))}getThemeName(){return l(c,this)}removeClassNames(){(0,s.hasClass)(l(u,this),l(c,this))&&(0,s.removeClass)(l(u,this),l(c,this))}}},4255:(e,t,o)=>{"use strict";t.__esModule=!0,o(94364);var s=o(94916),n=o(95016),r=o(14426);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.rowHeaderWidth=NaN,this.rowsVisibleCalculator=null,this.columnsVisibleCalculator=null,this.rowsCalculatorTypes=new Map([["rendered",()=>this.wtSettings.getSetting("renderAllRows")?new r.RenderedAllRowsCalculationType:new r.RenderedRowsCalculationType],["fullyVisible",()=>new r.FullyVisibleRowsCalculationType],["partiallyVisible",()=>new r.PartiallyVisibleRowsCalculationType]]),this.columnsCalculatorTypes=new Map([["rendered",()=>this.wtSettings.getSetting("renderAllColumns")?new r.RenderedAllColumnsCalculationType:new r.RenderedColumnsCalculationType],["fullyVisible",()=>new r.FullyVisibleColumnsCalculationType],["partiallyVisible",()=>new r.PartiallyVisibleColumnsCalculationType]]),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}getViewportHeight(){let e=this.getWorkspaceHeight();if(e===1/0)return e;const t=this.getColumnHeaderHeight();return t>0&&(e-=t),e}getWorkspaceWidth(){const{rootDocument:e,rootWindow:t}=this.domBindings,o=this.dataAccessObject.inlineStartOverlayTrimmingContainer;let s;if(o===t){const t=this.wtSettings.getSetting("totalColumns");s=this.wtTable.holder.offsetWidth,this.getRowHeaderWidth()+this.sumColumnWidths(0,t)>s&&(s=e.documentElement.clientWidth)}else s=o.clientWidth;return s}getViewportWidth(){const e=this.getWorkspaceWidth();if(e===1/0)return e;const t=this.getRowHeaderWidth();return t>0?e-t:e}hasVerticalScroll(){return this.wtTable.hider.offsetHeight>this.getWorkspaceHeight()}hasHorizontalScroll(){return this.wtTable.hider.offsetWidth>this.getWorkspaceWidth()}isVerticallyScrollableByWindow(){return this.dataAccessObject.topOverlayTrimmingContainer===this.domBindings.rootWindow}isHorizontallyScrollableByWindow(){return this.dataAccessObject.inlineStartOverlayTrimmingContainer===this.domBindings.rootWindow}sumColumnWidths(e,t){let o=0,s=e;for(;s<t;)o+=this.wtTable.getColumnWidth(s),s+=1;return 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}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}createRowsCalculator(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["rendered","fullyVisible","partiallyVisible"];const{wtSettings:t,wtTable:o}=this;let n,i,l=this.getViewportHeight();this.rowHeaderWidth=NaN;let a=this.dataAccessObject.topScrollPosition-this.dataAccessObject.topParentOffset;const h=t.getSetting("fixedRowsTop"),c=t.getSetting("fixedRowsBottom"),u=t.getSetting("totalRows");return h&&a>=0&&(i=this.dataAccessObject.topOverlay.sumCellSizes(0,h),a+=i,l-=i),c&&this.dataAccessObject.bottomOverlay.clone&&(i=this.dataAccessObject.bottomOverlay.sumCellSizes(u-c,u),l-=i),n=o.holder.clientHeight===o.holder.offsetHeight?0:(0,s.getScrollbarWidth)(this.domBindings.rootDocument),new r.ViewportRowsCalculator({calculationTypes:e.map((e=>[e,this.rowsCalculatorTypes.get(e)()])),viewportHeight:l,scrollOffset:a,totalRows:t.getSetting("totalRows"),defaultRowHeight:this.instance.stylesHandler.getDefaultRowHeight(),rowHeightFn:e=>o.getRowHeight(e),overrideFn:t.getSettingPure("viewportRowCalculatorOverride"),horizontalScrollbarHeight:n})}createColumnsCalculator(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["rendered","fullyVisible","partiallyVisible"];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({calculationTypes:e.map((e=>[e,this.columnsCalculatorTypes.get(e)()])),viewportWidth:n,scrollOffset:i,totalColumns:t.getSetting("totalColumns"),columnWidthFn:e=>o.getColumnWidth(e),overrideFn:t.getSettingPure("viewportColumnCalculatorOverride"),inlineStartOffset:this.dataAccessObject.inlineStartParentOffset})}createCalculators(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const{wtSettings:t}=this,o=this.createRowsCalculator(),s=this.createColumnsCalculator();if(e&&!t.getSetting("renderAllRows")){const t=o.getResultsFor("fullyVisible");e=this.areAllProposedVisibleRowsAlreadyRendered(t)}if(e&&!t.getSetting("renderAllColumns")){const t=s.getResultsFor("fullyVisible");e=this.areAllProposedVisibleColumnsAlreadyRendered(t)}return e||(this.rowsRenderCalculator=o.getResultsFor("rendered"),this.columnsRenderCalculator=s.getResultsFor("rendered")),this.rowsVisibleCalculator=o.getResultsFor("fullyVisible"),this.columnsVisibleCalculator=s.getResultsFor("fullyVisible"),this.rowsPartiallyVisibleCalculator=o.getResultsFor("partiallyVisible"),this.columnsPartiallyVisibleCalculator=s.getResultsFor("partiallyVisible"),e}createVisibleCalculators(){const e=this.createRowsCalculator(["fullyVisible","partiallyVisible"]),t=this.createColumnsCalculator(["fullyVisible","partiallyVisible"]);this.rowsVisibleCalculator=e.getResultsFor("fullyVisible"),this.columnsVisibleCalculator=t.getResultsFor("fullyVisible"),this.rowsPartiallyVisibleCalculator=e.getResultsFor("partiallyVisible"),this.columnsPartiallyVisibleCalculator=t.getResultsFor("partiallyVisible")}areAllProposedVisibleRowsAlreadyRendered(e){if(!this.rowsVisibleCalculator)return!1;let{startRow:t,endRow:o}=e;if(null===t&&null===o){if(!e.isVisibleInTrimmingContainer)return!0;t=this.rowsPartiallyVisibleCalculator.startRow,o=this.rowsPartiallyVisibleCalculator.endRow}const{startRow:s,endRow:n,rowStartOffset:r,rowEndOffset:i}=this.rowsRenderCalculator,l=this.wtSettings.getSetting("totalRows")-1,a=this.wtSettings.getSetting("viewportRowRenderingThreshold");return Number.isInteger(a)&&a>0?(t=Math.max(0,t-Math.min(r,a)),o=Math.min(l,o+Math.min(i,a))):"auto"===a&&(t=Math.max(0,t-Math.ceil(r/2)),o=Math.min(l,o+Math.ceil(i/2))),!(t<s||t===s&&t>0)&&!(o>n||o===n&&o<l)}areAllProposedVisibleColumnsAlreadyRendered(e){if(!this.columnsVisibleCalculator)return!1;let{startColumn:t,endColumn:o}=e;if(null===t&&null===o){if(!e.isVisibleInTrimmingContainer)return!0;t=this.columnsPartiallyVisibleCalculator.startColumn,o=this.columnsPartiallyVisibleCalculator.endColumn}const{startColumn:s,endColumn:n,columnStartOffset:r,columnEndOffset:i}=this.columnsRenderCalculator,l=this.wtSettings.getSetting("totalColumns")-1,a=this.wtSettings.getSetting("viewportColumnRenderingThreshold");return Number.isInteger(a)&&a>0?(t=Math.max(0,t-Math.min(r,a)),o=Math.min(l,o+Math.min(i,a))):"auto"===a&&(t=Math.max(0,t-Math.ceil(r/2)),o=Math.min(l,o+Math.ceil(i/2))),!(t<s||t===s&&t>0)&&!(o>n||o===n&&o<l)}resetHasOversizedColumnHeadersMarked(){(0,n.objectEach)(this.hasOversizedColumnHeadersMarked,((e,t,o)=>{o[t]=void 0}))}}},19984:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(76006);var n=s(o(47098)),r=o(91980),i=o(8752),l=o(29398),a=o(84435),h=o(39548),c=o(77867),u=o(95605),d=o(7749);function g(e,t){const o=new n.default(e,t||{},r.rootInstanceSymbol);return o.init(),o}t.CellCoords=d.CellCoords,t.CellRange=d.CellRange,(0,h.registerCellType)(c.TextCellType),g.editors={BaseEditor:u.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.Hooks.getSingleton(),g.CellCoords=d.CellCoords,g.CellRange=d.CellRange,g.packageName="handsontable",g.buildDate="10/12/2024 09:27:32",g.version="15.0.0-next-4a763a3-20241210",g.languages={dictionaryKeys:a.dictionaryKeys,getLanguageDictionary:a.getLanguageDictionary,getLanguagesDictionaries:a.getLanguagesDictionaries,registerLanguageDictionary:a.registerLanguageDictionary,getTranslatedPhrase:a.getTranslatedPhrase};t.default=g},25306:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(85588),n=o(8132),r=o(77924);const i=t.CELL_TYPE="autocomplete";t.AutocompleteCellType={CELL_TYPE:i,editor:s.AutocompleteEditor,renderer:n.autocompleteRenderer,validator:r.autocompleteValidator}},37924:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(25306);t.AutocompleteCellType=s.AutocompleteCellType,t.CELL_TYPE=s.CELL_TYPE},93620:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(60213),n=o(50437);const r=t.CELL_TYPE="checkbox";t.CheckboxCellType={CELL_TYPE:r,editor:s.CheckboxEditor,renderer:n.checkboxRenderer}},26705:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(93620);t.CELL_TYPE=s.CELL_TYPE,t.CheckboxCellType=s.CheckboxCellType},86846:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(48584),n=o(69868),r=o(21304);const i=t.CELL_TYPE="date";t.DateCellType={CELL_TYPE:i,editor:s.DateEditor,renderer:n.dateRenderer,validator:r.dateValidator}},36164:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(86846);t.CELL_TYPE=s.CELL_TYPE,t.DateCellType=s.DateCellType},9364:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(73717),n=o(16293),r=o(25479);const i=t.CELL_TYPE="dropdown";t.DropdownCellType={CELL_TYPE:i,editor:s.DropdownEditor,renderer:n.dropdownRenderer,validator:r.dropdownValidator}},40037:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(9364);t.CELL_TYPE=s.CELL_TYPE,t.DropdownCellType=s.DropdownCellType},52644:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(27973),n=o(89629);const r=t.CELL_TYPE="handsontable";t.HandsontableCellType={CELL_TYPE:r,editor:s.HandsontableEditor,renderer:n.handsontableRenderer}},74505:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(52644);t.CELL_TYPE=s.CELL_TYPE,t.HandsontableCellType=s.HandsontableCellType},23651:(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)(c.SelectCellType),(0,g.registerCellType)(u.TextCellType),(0,g.registerCellType)(d.TimeCellType)};var s=o(37924);t.AutocompleteCellType=s.AutocompleteCellType,t.AUTOCOMPLETE_TYPE=s.CELL_TYPE;var n=o(26705);t.CheckboxCellType=n.CheckboxCellType,t.CHECKBOX_TYPE=n.CELL_TYPE;var r=o(36164);t.DateCellType=r.DateCellType,t.DATE_TYPE=r.CELL_TYPE;var i=o(40037);t.DropdownCellType=i.DropdownCellType,t.DROPDOWN_TYPE=i.CELL_TYPE;var l=o(74505);t.HandsontableCellType=l.HandsontableCellType,t.HANDSONTABLE_TYPE=l.CELL_TYPE;var a=o(80087);t.NumericCellType=a.NumericCellType,t.NUMERIC_TYPE=a.CELL_TYPE;var h=o(28033);t.PasswordCellType=h.PasswordCellType,t.PASSWORD_TYPE=h.CELL_TYPE;var c=o(78568);t.SelectCellType=c.SelectCellType,t.SELECT_TYPE=c.CELL_TYPE;var u=o(77867);t.TextCellType=u.TextCellType,t.TEXT_TYPE=u.CELL_TYPE;var d=o(80721);t.TimeCellType=d.TimeCellType,t.TIME_TYPE=d.CELL_TYPE;var g=o(39548);t.registerCellType=g.registerCellType,t.getCellType=g.getCellType,t.getRegisteredCellTypeNames=g.getRegisteredCellTypeNames,t.getRegisteredCellTypes=g.getRegisteredCellTypes,t.hasCellType=g.hasCellType},80087:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(9404);t.CELL_TYPE=s.CELL_TYPE,t.NumericCellType=s.NumericCellType},9404:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(67045),n=o(65617),r=o(28029);const i=t.CELL_TYPE="numeric";t.NumericCellType={CELL_TYPE:i,editor:s.NumericEditor,renderer:n.numericRenderer,validator:r.numericValidator,dataType:"number"}},28033:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(14508);t.CELL_TYPE=s.CELL_TYPE,t.PasswordCellType=s.PasswordCellType},14508:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(75669),n=o(24677);const r=t.CELL_TYPE="password";t.PasswordCellType={CELL_TYPE:r,editor:s.PasswordEditor,renderer:n.passwordRenderer,copyable:!1}},39548:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,t.getCellType=function(e){if(!c(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(67834);var n=s(o(29328)),r=o(45973),i=o(58151),l=o(57006);const{register:a,getItem:h,hasItem:c,getNames:u,getValues:d}=(0,n.default)("cellTypes");t.getRegisteredCellTypes=d,t.getRegisteredCellTypeNames=u,t.hasCellType=c},78568:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(90910);t.CELL_TYPE=s.CELL_TYPE,t.SelectCellType=s.SelectCellType},90910:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(31572),n=o(9608);const r=t.CELL_TYPE="select";t.SelectCellType={CELL_TYPE:r,editor:s.SelectEditor,renderer:n.selectRenderer}},77867:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(83580);t.CELL_TYPE=s.CELL_TYPE,t.TextCellType=s.TextCellType},83580:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(53423),n=o(5819);const r=t.CELL_TYPE="text";t.TextCellType={CELL_TYPE:r,editor:s.TextEditor,renderer:n.textRenderer}},80721:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(49176);t.CELL_TYPE=s.CELL_TYPE,t.TimeCellType=s.TimeCellType},49176:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(3833),n=o(35133),r=o(40711);const i=t.CELL_TYPE="time";t.TimeCellType={CELL_TYPE:i,editor:s.TimeEditor,renderer:n.timeRenderer,validator:r.timeValidator}},47098:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,t.default=function(e,t){var o,s=this;let V=arguments.length>2&&void 0!==arguments[2]&&arguments[2],F=this;const W=new h.default(F);let B,U,j,Y,z,G,K=!0;(0,b.hasValidParameter)(V)&&(0,b.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",X=["rtl","ltr"].includes($)?$:this.rootWindow.getComputedStyle(this.rootElement).direction;this.rootElement.setAttribute("dir",X),this.isRtl=function(){return"rtl"===X},this.isLtr=function(){return!F.isRtl()},this.getDirectionFactor=function(){return F.isLtr()?1:-1},t.language=(0,M.getValidLanguageCode)(t.language);const q=new N.MetaManager(F,t,[N.DynamicCellMetaMod,N.ExtendMetaPropertiesMod]),Q=q.getTableMeta(),J=q.getGlobalMeta(),Z=(0,P.createUniqueMap)();this.container=this.rootDocument.createElement("div"),this.renderCall=!1,e.insertBefore(this.container,e.firstChild),(0,b.isRootInstance)(this)&&((0,i._injectProductInfo)(t.licenseKey,e),(0,n.addClass)(e,"ht-wrapper"));this.guid=`ht_${(0,C.randomString)()}`,L.set(this.guid,this),this.columnIndexMapper=new R.IndexMapper,this.rowIndexMapper=new R.IndexMapper,this.columnIndexMapper.addLocalHook("indexesSequenceChange",(e=>{F.runHooks("afterColumnSequenceChange",e)})),this.rowIndexMapper.addLocalHook("indexesSequenceChange",(e=>{F.runHooks("afterRowSequenceChange",e)})),U=new E.default(F),this.rootElement.id&&"ht_"!==this.rootElement.id.substring(0,3)||(this.rootElement.id=this.guid);let ee=new I.Selection(Q,{rowIndexMapper:F.rowIndexMapper,columnIndexMapper:F.columnIndexMapper,countCols:()=>F.countCols(),countRows:()=>F.countRows(),propToCol:e=>B.propToCol(e),isEditorOpened:()=>!!F.getActiveEditor()&&F.getActiveEditor().isOpened(),countRenderableColumns:()=>this.view.countRenderableColumns(),countRenderableRows:()=>this.view.countRenderableRows(),countRowHeaders:()=>this.countRowHeaders(),countColHeaders:()=>this.countColHeaders(),countRenderableRowsInRange:function(){return s.view.countRenderableRowsInRange(...arguments)},countRenderableColumnsInRange:function(){return s.view.countRenderableColumnsInRange(...arguments)},getShortcutManager:()=>F.getShortcutManager(),createCellCoords:(e,t)=>F._createCellCoords(e,t),createCellRange:(e,t,o)=>F._createCellRange(e,t,o),visualToRenderableCoords:e=>{const{row:t,col:o}=e;return F._createCellCoords(t>=0?F.rowIndexMapper.getRenderableFromVisualIndex(t):t,o>=0?F.columnIndexMapper.getRenderableFromVisualIndex(o):o)},renderableToVisualCoords:e=>{const{row:t,col:o}=e;return F._createCellCoords(t>=0?F.rowIndexMapper.getVisualFromRenderableIndex(t):t,o>=0?F.columnIndexMapper.getVisualFromRenderableIndex(o):o)},findFirstNonHiddenRenderableRow:(e,t)=>{const o=t>e?1:-1,s=Math.min(e,t),n=Math.max(e,t),r=F.rowIndexMapper.getNearestNotHiddenIndex(e,o);return null===r||1===o&&r>n||-1===o&&r<s?null:r>=0?F.rowIndexMapper.getRenderableFromVisualIndex(r):r},findFirstNonHiddenRenderableColumn:(e,t)=>{const o=t>e?1:-1,s=Math.min(e,t),n=Math.max(e,t),r=F.columnIndexMapper.getNearestNotHiddenIndex(e,o);return null===r||1===o&&r>n||-1===o&&r<s?null:r>=0?F.columnIndexMapper.getRenderableFromVisualIndex(r):r},isDisabledCellSelection:(e,t)=>e<0||t<0?F.getSettings().disableVisualSelection:F.getCellMeta(e,t).disableVisualSelection});this.selection=ee;const te=e=>{let{hiddenIndexesChanged:t}=e;t&&this.selection.commit()};function oe(e){const t=(0,O.normalizeLanguageCode)(e);(0,M.hasLanguageDictionary)(t)?(F.runHooks("beforeLanguageChange",t),J.language=t,F.runHooks("afterLanguageChange",t)):(0,O.warnUserAboutLanguageRegistration)(e)}function se(e,t){const o="className"===e?F.rootElement:F.table;if(K)(0,n.addClass)(o,t);else{let s=[],r=[];J[e]&&(s=Array.isArray(J[e])?J[e]:(0,d.stringToArray)(J[e])),t&&(r=Array.isArray(t)?t:(0,d.stringToArray)(t));const i=(0,d.getDifferenceOfArrays)(s,r),l=(0,d.getDifferenceOfArrays)(r,s);i.length&&(0,n.removeClass)(o,i),l.length&&(0,n.addClass)(o,l)}J[e]=t}function ne(){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 re(e){const t=e.replace(",",".");return!1===isNaN(parseFloat(t))?parseFloat(t):e}function ie(e,t,o){if(!e.length)return void o();const s=F.getActiveEditor(),n=new ne;let r=!0;n.onQueueEmpty=()=>{s&&r&&s.cancelChanges(),o()};for(let o=e.length-1;o>=0;o--){const[s,i,,l]=e[o],a=B.propToCol(i);let h;h=Number.isInteger(a)?F.getCellMeta(s,a):{...Object.getPrototypeOf(Q),...Q},"numeric"===h.type&&"string"==typeof l&&(0,v.isNumericLike)(l)&&(e[o][3]=re(l)),F.getCellValidator(h)&&(n.addValidatorToQueue(),F.validateCell(e[o][3],h,function(t,o){return function(s){if("boolean"!=typeof s)throw new Error("Validation error: result is not boolean");!1===s&&!1===o.allowInvalid&&(r=!1,e.splice(t,1),o.valid=!0),n.removeValidatorFormQueue()}}(o,h),t))}n.checkIfQueueIsEmpty()}function le(e,t){for(let o=e.length-1;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]>F.countRows()-1;){const{delta:e}=B.createRow(void 0,void 0,{source:t});if(0===e){s=!0;break}}if("array"===F.dataType&&(!Q.columns||0===Q.columns.length)&&Q.allowInsertColumn)for(;B.propToCol(e[o][1])>F.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)}const o=e.length>0;if(F.forceFullRender=!0,o){j.adjustRowsAndCols(),F.runHooks("beforeChangeRender",e,t),Y.closeEditor(),F.view.render(),Y.prepareEditor(),F.view.adjustElementsSize(),F.runHooks("afterChange",e,t||"edit");const o=F.getActiveEditor();o&&(0,i.isDefined)(o.refreshValue)&&o.refreshValue()}else F.view.render()}function ae(e,t,o){return Array.isArray(e)?e:[[e,t,o]]}function he(e,t){const o=F.getActiveEditor(),s=F.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",te),this.rowIndexMapper.addLocalHook("cacheUpdated",te),this.selection.addLocalHook("afterSetRangeEnd",((e,t)=>{const o=(0,c.createObjectPropListener)(!1),s=this.selection.getSelectedRange(),{from:r,to:i}=s.current(),l=s.size()-1;this.runHooks("afterSelection",r.row,r.col,i.row,i.col,o,l),this.runHooks("afterSelectionByProp",r.row,F.colToProp(r.col),i.row,F.colToProp(i.col),o,l),t&&(!o.isTouched()||o.isTouched()&&!o.value)&&G.scrollTo(e);const a=ee.isSelectedByRowHeader(),h=ee.isSelectedByColumnHeader();a&&h?(0,n.addClass)(this.rootElement,["ht__selection--rows","ht__selection--columns"]):a?((0,n.removeClass)(this.rootElement,"ht__selection--columns"),(0,n.addClass)(this.rootElement,"ht__selection--rows")):h?((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"]),"shift"!==ee.getSelectionSource()&&Y.closeEditor(null),F.view.render(),Y.prepareEditor()})),this.selection.addLocalHook("beforeSetFocus",(e=>{this.runHooks("beforeSelectionFocusSet",e.row,e.col)})),this.selection.addLocalHook("afterSetFocus",(e=>{const t=(0,c.createObjectPropListener)(!1);this.runHooks("afterSelectionFocusSet",e.row,e.col,t),(!t.isTouched()||t.isTouched()&&!t.value)&&G.scrollTo(e),Y.closeEditor(),F.view.render(),Y.prepareEditor()})),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,F.colToProp(o.col),s.row,F.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",(()=>{Y.closeEditor(),F.view.render(),(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("beforeModifyTransformFocus",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return s.runHooks("modifyTransformFocus",...t)})).addLocalHook("afterModifyTransformFocus",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return s.runHooks("afterModifyTransformFocus",...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"))),j={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,d.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=F.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:c,startPhysicalIndex:u}=B.createRow(t,n,{source:r,mode:h});ee.shiftRows(F.toVisualRow(u),c);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?F.countSourceCols():0;const{delta:f,startPhysicalIndex:p}=B.createCol(t,n,{source:r,mode:g});if(f){if(Array.isArray(Q.colHeaders)){const e=[F.toVisualColumn(p),0];e.length+=f,Array.prototype.splice.apply(Q.colHeaders,e)}ee.shiftColumns(F.toVisualColumn(p),f)}break;case"remove_row":const m=e=>{let t=0;(0,d.arrayEach)(e,(e=>{let[o,s]=e;const n=(0,i.isEmpty)(o)?F.countRows()-1:Math.max(o-t,0);Number.isInteger(o)&&(o=Math.max(o-t,0));if(!B.removeRow(o,s,r))return;if(ee.isSelected()){const{row:e}=F.getSelectedRangeLast().highlight;e>=o&&e<=o+s-1&&Y.closeEditor(!0)}const l=F.countRows();0===l?ee.deselect():"ContextMenu.removeRow"===r?ee.refresh():ee.shiftRows(o,-s);const 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]]);break;case"remove_col":const w=e=>{let t=0;(0,d.arrayEach)(e,(e=>{let[o,s]=e;const n=(0,i.isEmpty)(o)?F.countCols()-1:Math.max(o-t,0);let l=F.toPhysicalColumn(n);Number.isInteger(o)&&(o=Math.max(o-t,0));if(!B.removeCol(o,s,r))return;if(ee.isSelected()){const{col:e}=F.getSelectedRangeLast().highlight;e>=o&&e<=o+s-1&&Y.closeEditor(!0)}0===F.countCols()?ee.deselect():"ContextMenu.removeColumn"===r?ee.refresh():ee.shiftColumns(o,-s);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)?w(a(t)):w([[t,n]]);break;default:throw new Error(`There is no such action "${e}"`)}F.view.render(),l||j.adjustRowsAndCols()},adjustRowsAndCols(){const e=Q.minRows,t=Q.minSpareRows,o=Q.minCols,s=Q.minSpareCols;if(e){const t=F.countRows();t<e&&B.createRow(t,e-t,{source:"auto"})}if(t){const e=F.countEmptyRows(!0);if(e<t){const o=t-e,s=Math.min(o,Q.maxRows-F.countSourceRows());B.createRow(F.countRows(),s,{source:"auto"})}}{let e;(o||s)&&(e=F.countEmptyCols(!0));let t=F.countCols();if(o&&!Q.columns&&t<o){const s=o-t;e+=s,B.createCol(t,s,{source:"auto"})}if(s&&!Q.columns&&"array"===F.dataType&&e<s){t=F.countCols();const o=s-e,n=Math.min(o,Q.maxCols-t);B.createCol(t,n,{source:"auto"})}}F.view&&F.view.adjustElementsSize()},populateFromArray(e,t,o,s,n){let r,i,l,a;const h=[],u={},g=[],f=e.row,p=e.col;if(i=t.length,0===i)return!1;let m=0,w=0;switch((0,c.isObject)(o)&&(m=o.col-p+1,w=o.row-f+1),n){case"shift_down":const n=(0,d.pivot)(t),C=n.length,v=Math.max(C,m),y=F.getData().slice(f),E=(0,d.pivot)(y).slice(p,p+v);for(l=0;l<v;l+=1)if(l<C){for(r=0,i=n[l].length;r<w-i;r+=1)n[l].push(n[l][r%i]);l<E.length?g.push(n[l].concat(E[l])):g.push(n[l].concat(new Array(y.length).fill(null)))}else g.push(n[l%C].concat(E[l]));F.populateFromArray(f,p,(0,d.pivot)(g));break;case"shift_right":const S=t.length,R=Math.max(S,w),b=F.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<b.length)for(let e=0;e<b[r].length;e+=1)t[r].push(b[r][e]);else t[r].push(...new Array(b[0].length).fill(null))}else t.push(t[r%i].slice(0,R).concat(b[r]));F.populateFromArray(f,p,t);break;default:u.row=e.row,u.col=e.col;let _,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},N=t.length,A=o?o.row-e.row+1:0;for(i=o?A:Math.max(N,A),r=0;r<i&&!(o&&u.row>o.row&&A>N||!Q.allowInsertRow&&u.row>F.countRows()-1||u.row>=Q.maxRows);r++){const t=r-T,n=I(t).length,d=o?o.col-e.col+1:0;if(a=o?d:Math.max(n,d),u.col=e.col,_=F.getCellMeta(u.row,u.col),"CopyPaste.paste"!==s&&"Autofill.fill"!==s||!_.skipRowOnPaste){for(M=0,l=0;l<a&&!(o&&u.col>o.col&&d>n||!Q.allowInsertColumn&&u.col>F.countCols()-1||u.col>=Q.maxCols);l++){if(_=F.getCellMeta(u.row,u.col),("CopyPaste.paste"===s||"Autofill.fill"===s)&&_.skipColumnOnPaste){M+=1,u.col+=1,a+=1;continue}if(_.readOnly&&"UndoRedo.undo"!==s){u.col+=1;continue}let e=I(t,l-M),o=F.getDataAtCell(u.row,u.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,c.duckSchema)(Array.isArray(o)?o:o[0]||o),s=(0,c.duckSchema)(Array.isArray(e)?e:e[0]||e);(0,c.isObjectEqual)(t,s)||Array.isArray(t)&&Array.isArray(s)?e=(0,c.deepClone)(e):O=!1}else null!==o&&"object"==typeof o&&(O=!1);O&&h.push([u.row,u.col,e]),O=!0,u.col+=1}u.row+=1}else T+=1,u.row+=1,i+=1}F.setDataAtCell(h,null,null,s||"populateFromArray")}}},this.init=function(){U.setData(Q.data),F.runHooks("beforeInit"),((0,l.isMobileBrowser)()||(0,l.isIpadOS)())&&(0,n.addClass)(F.rootElement,"mobile"),this.updateSettings(Q,!0),this.view=new y.default(this);const e=Q.themeName||(0,D.getThemeClassName)(F.rootElement);F.useTheme(e),F.view.addClassNameToLicenseElement(F.getCurrentThemeName()),Y=a.default.getInstance(F,Q,ee),G=(0,A.createViewportScroller)(F),z=new u.FocusManager(F),(0,b.isRootInstance)(this)&&(0,A.installFocusCatcher)(F),F.runHooks("init"),this.forceFullRender=!0,this.view.render(),K&&null===F.rootElement.offsetParent&&(0,n.observeVisibilityChangeOnce)(F.rootElement,(()=>{F.view._wt.wtOverlays.updateLastSpreaderSize(),F.render(),F.view.adjustElementsSize()})),"object"==typeof K&&(F.runHooks("afterChange",K[0],K[1]),K=!1),F.runHooks("afterInit")},this._createCellCoords=function(e,t){return F.view._wt.createCellCoords(e,t)},this._createCellRange=function(e,t,o){return F.view._wt.createCellRange(e,t,o)},this.validateCell=function(e,t,o,s){let n=F.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=F.getCell(n,s,!0);if(r&&"TH"!==r.nodeName){const e=F.rowIndexMapper.getRenderableFromVisualIndex(n),t=F.columnIndexMapper.getRenderableFromVisualIndex(s);F.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=F.runHooks("beforeValidate",e,t.visualRow,t.prop,s),F._registerImmediate((()=>{n.call(t,e,(o=>{F&&(o=F.runHooks("afterValidate",o,e,t.visualRow,t.prop,s),t.valid=o,l(o),F.runHooks("postAfterValidate",o,e,t.visualRow,t.prop,s))}))}))):F._registerImmediate((()=>{t.valid=!0,l(t.valid,!1)}))},this.setDataAtCell=function(e,t,o,s){const n=ae(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 c=he(r,h);F.runHooks("afterSetDataAtCell",c,h),ie(c,h,(()=>{le(c,h)}))},this.setDataAtRowProp=function(e,t,o,s){const n=ae(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=he(r,s);F.runHooks("afterSetDataAtRowProp",h,a),ie(h,a,(()=>{le(h,a)}))},this.listen=function(){F&&!F.isListening()&&(L.forEach((e=>{F!==e&&e.unlisten()})),k=F.guid,F.runHooks("afterListen"))},this.unlisten=function(){this.isListening()&&(k=null,F.runHooks("afterUnlisten"))},this.isListening=function(){return k===F.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];Y.closeEditor(e),F.view.render(),t&&ee.isSelected()&&Y.prepareEditor()},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?F._createCellCoords(s,n):null;return j.populateFromArray(F._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(ee.isSelected())return(0,d.arrayMap)(ee.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(ee.isSelected())return Array.from(ee.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(!ee.isSelected()||0===this.countRows()||0===this.countCols())return;const t=[];(0,d.arrayEach)(ee.getSelectedRange(),(e=>{if(e.isSingleHeader())return;const o=e.getTopStartCorner(),s=e.getBottomEndCorner();(0,v.rangeEach)(o.row,s.row,(e=>{(0,v.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():F.view.render())},this.render=function(){this.view&&(this.renderCall=!0,this.forceFullRender=!0,this.isRenderSuspended()||F.view.render())},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(!F.view)return;const{width:e,height:t}=F.view.getLastSize(),{width:o,height:s}=F.rootElement.getBoundingClientRect(),n=o!==e||s!==t;!1===F.runHooks("beforeRefreshDimensions",{width:e,height:t},{width:o,height:s},n)||((n||F.view._wt.wtOverlays.scrollableElement===F.rootWindow)&&(F.view.setLastSize(o,s),F.render()),F.runHooks("afterRefreshDimensions",{width:e,height:t},{width:o,height:s},n))},this.updateData=function(e,t){(0,N.replaceData)(e,(e=>{B=e}),(e=>{B=e,F.columnIndexMapper.fitToLength(this.getInitialColumnCount()),F.rowIndexMapper.fitToLength(this.countSourceRows()),j.adjustRowsAndCols(),ee.refresh()}),{hotInstance:F,dataMap:B,dataSource:U,internalSource:"updateData",source:t,metaManager:q,firstRun:K})},this.loadData=function(e,t){(0,N.replaceData)(e,(e=>{B=e}),(()=>{q.clearCellsCache(),F.initIndexMappers(),j.adjustRowsAndCols(),ee.refresh(),K&&(K=[null,"loadData"])}),{hotInstance:F,dataMap:B,dataSource:U,internalSource:"loadData",source:t,metaManager:q,firstRun:K})},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"===F.dataType){const o=this.countSourceCols();for(let s=0;s<o;s+=1)e(s)&&(t+=1)}else"object"!==F.dataType&&"function"!==F.dataType||(t=B.colToPropCache.length);else if((0,i.isDefined)(Q.dataSchema)){const e=B.getSchema();t=Array.isArray(e)?e.length:(0,c.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(F._createCellCoords(e,t),F._createCellCoords(o,s),B.DESTINATION_RENDERER)},this.getCopyableText=function(e,t,o,s){return B.getCopyableText(F._createCellCoords(e,t),F._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=(K?F.loadData:F.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?oe(e.language):"className"===s?se("className",e.className):"tableClassName"===s&&F.table?(se("tableClassName",e.tableClassName),F.view._wt.wtOverlays.syncOverlayTableClassNames()):T.Hooks.getSingleton().isRegistered(s)||T.Hooks.getSingleton().isDeprecated(s)?(0,r.isFunction)(e[s])?T.Hooks.getSingleton().addAsFixed(s,e[s],F):Array.isArray(e[s])&&T.Hooks.getSingleton().add(s,e[s],F):!t&&(0,c.hasOwnProperty)(e,s)&&(J[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(),F.initIndexMappers());const a=F.countCols(),h=Q.columns;if(h&&(0,r.isFunction)(h)&&(l=!0),void 0===e.cell&&void 0===e.cells&&void 0===e.columns||q.clearCache(),a>0)for(s=0,n=0;s<a;s++){if(h){const e=l?h(s):h[n];e&&q.updateColumnMeta(n,e)}n+=1}(0,i.isDefined)(e.cell)&&(0,c.objectEach)(e.cell,(e=>{F.setCellMetaObject(e.row,e.col,e)})),F.runHooks("afterCellMetaReset");let u=F.rootElement.style.height;""!==u&&(u=parseInt(F.rootElement.style.height,10));let d=e.height;if((0,r.isFunction)(d)&&(d=d()),t){F.rootElement.getAttribute("style")&&F.rootElement.setAttribute("data-initialstyle",F.rootElement.getAttribute("style"))}if(null===d){const e=F.rootElement.getAttribute("data-initialstyle");e&&(e.indexOf("height")>-1||e.indexOf("overflow")>-1)?F.rootElement.setAttribute("style",e):(F.rootElement.style.height="",F.rootElement.style.overflow="")}else void 0!==d&&(F.rootElement.style.height=isNaN(d)?`${d}`:`${d}px`,F.rootElement.style.overflow="hidden");if(void 0!==e.width){let t=e.width;(0,r.isFunction)(t)&&(t=t()),F.rootElement.style.width=isNaN(t)?`${t}`:`${t}px`}if(!t){if(F.view){F.view._wt.wtViewport.resetHasOversizedColumnHeadersMarked(),F.view._wt.exportSettingsAsClassNames();const t=F.getCurrentThemeName(),o=(0,c.hasOwnProperty)(e,"themeName");t&&o&&(F.view.getStylesHandler().removeClassNames(),F.view.removeClassNameFromLicenseElement(t));const s=o&&e.themeName||(0,D.getThemeClassName)(F.rootElement);F.useTheme(s),F.view.addClassNameToLicenseElement(F.getCurrentThemeName())}F.runHooks("afterUpdateSettings",e)}j.adjustRowsAndCols(),F.view&&!K&&(F.forceFullRender=!0,F.view.render(),F.view._wt.wtOverlays.adjustElementsSize()),t||!F.view||""!==u&&""!==d&&void 0!==d||u===d||F.view._wt.wtOverlays.updateMainScrollableElements()},this.getValue=function(){const e=F.getSelectedLast();if(Q.getValue){if((0,r.isFunction)(Q.getValue))return Q.getValue.call(F);if(e)return F.getData()[e[0][0]][Q.getValue]}else if(e)return F.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){j.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||void 0===n||void 0===s?null:F.view.getCellAtCoords(F._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)),F._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(F._createCellCoords(0,e),F._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(F._createCellCoords(0,B.propToCol(e)),F._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(F._createCellCoords(e,t),F._createCellCoords(o,s)),n},this.getSourceDataArray=function(e,t,o,s){let n;return n=void 0===e?U.getData(!0):U.getByRange(F._createCellCoords(e,t),F._createCellCoords(o,s),!0),n},this.getSourceDataAtCol=function(e){return U.getAtColumn(e)},this.setSourceDataAtCell=function(e,t,o,s){const n=ae(e,t,o),r=this.hasHook("afterSetSourceDataAtCell"),l=[];r&&(0,d.arrayEach)(n,(e=>{let[t,o,s]=e;l.push([t,o,U.getAtCell(t,o),s])})),(0,d.arrayEach)(n,(e=>{let[t,o,s]=e;U.setAtCell(t,o,s)})),r&&this.runHooks("afterSetSourceDataAtCell",l,s),this.render();const a=F.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(F._createCellCoords(e,0),F._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,c=null;void 0===l&&(l=r),void 0===a&&(a=i);let u="mixed";return(0,v.rangeEach)(Math.max(Math.min(r,l),0),Math.max(r,l),(e=>{let t=!0;return(0,v.rangeEach)(Math.max(Math.min(i,a),0),Math.max(i,a),(o=>{const s=this.getCellMeta(e,o);return c=s.type,h?t=h===c:h=c,t})),u=t?c:"mixed",t})),u},this.removeCellMeta=function(e,t,o){const[s,n]=[this.toPhysicalRow(e),this.toPhysicalColumn(t)];let r=q.getCellMetaKeyValue(s,n,o);!1!==F.runHooks("beforeRemoveCellMeta",e,t,o,r)&&(q.removeCellMeta(s,n,o),F.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&&q.removeRow(this.toPhysicalRow(e),t),s.length>0&&(0,d.arrayEach)(s.reverse(),(t=>{q.createRow(this.toPhysicalRow(e)),(0,d.arrayEach)(t,((t,o)=>this.setCellMetaObject(e,o,t)))})),F.render()},this.setCellMetaObject=function(e,t,o){"object"==typeof o&&(0,c.objectEach)(o,((o,s)=>{this.setCellMeta(e,t,s,o)}))},this.setCellMeta=function(e,t,o,s){if(!1===F.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)),q.setCellMeta(n,r,o,s),F.runHooks("afterSetCellMeta",e,t,o,s)},this.getCellsMeta=function(){return q.getCellsMeta()},this.getCellMeta=function(e,t){let o=this.toPhysicalRow(e),s=this.toPhysicalColumn(t);return null===o&&(o=e),null===s&&(s=t),q.getCellMeta(o,s,{visualRow:e,visualColumn:t})},this.getColumnMeta=function(e){return q.getColumnMeta(this.toPhysicalColumn(e))},this.getCellMetaAtRow=function(e){return q.getCellsMetaAtRow(e)},this.isColumnModificationAllowed=function(){return!("object"===F.dataType||Q.columns)},this.getCellRenderer=function(e,t){const o="number"==typeof e?F.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?F.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?F.getCellMeta(e,t).validator:e.validator;return"string"==typeof o?(0,w.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 ne;e&&(s.onQueueEmpty=e);let n=F.countRows()-1;for(;n>=0;){if(void 0!==t&&-1===t.indexOf(n)){n-=1;continue}let e=F.countCols()-1;for(;e>=0;)void 0===o||-1!==o.indexOf(e)?(s.addValidatorToQueue(),F.validateCell(F.getDataAtCell(n,e),F.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=F.runHooks("modifyRowHeader",o)),void 0===o?(t=[],(0,v.rangeEach)(F.countRows()-1,(e=>{t.push(F.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=F.countCols();e<t;e++)if(F.getColHeader(e))return!0;return!1},this.getColHeader=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;const o=F.runHooks("modifyColHeader",e);if(void 0===o){const e=[],t=F.countCols();for(let o=0;o<t;o++)e.push(F.getColHeader(o));return e}let s=Q.colHeaders;const n=F.toPhysicalColumn(o),i=function(e){const t=[],o=F.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=F.runHooks("modifyColumnHeaderValue",s,e,t),s},this._getColWidthFromSettings=function(e){let t;if(e>=0){t=F.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,t){let o=F._getColWidthFromSettings(e);return o=F.runHooks("modifyColWidth",o,e,t),void 0===o&&(o=_.DEFAULT_COLUMN_WIDTH),o},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,t){let o=F._getRowHeightFromSettings(e);return o=F.runHooks("modifyRowHeight",o,e,t),o},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 F.view._wt.drawn?F.view._wt.wtTable.getRenderedRowsCount():-1},this.countVisibleRows=function(){return F.view._wt.drawn?F.view._wt.wtTable.getVisibleRowsCount():-1},this.countRenderedCols=function(){return F.view._wt.drawn?F.view._wt.wtTable.getRenderedColumnsCount():-1},this.countVisibleCols=function(){return F.view._wt.drawn?F.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,v.rangeEachReverse)(F.countRows()-1,(o=>{if(F.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,v.rangeEachReverse)(F.countCols()-1,(o=>{if(F.isEmptyCol(o))t+=1;else if(!0===e)return!1})),t},this.isEmptyRow=function(e){return Q.isEmptyRow.call(F,e)},this.isEmptyCol=function(e){return Q.isEmptyCol.call(F,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])&&G.suspend();const o=ee.selectCells(e);return o&&t&&F.listen(),G.resume(),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 ee.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 ee.selectRows(e,t,o)},this.deselectCell=function(){ee.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;G.skipNextScrollCycle(),ee.selectAll(e,t,o)};const ce=(e,t)=>e.getNearestNotHiddenIndex(t,1,!0);this.scrollViewportTo=function(e){var t,o;"number"==typeof e&&(e={row:arguments[0],col:arguments[1],verticalSnap:arguments[2]?"bottom":"top",horizontalSnap:arguments[3]?"end":"start",considerHiddenIndexes:null===(o=arguments[4])||void 0===o||o});const{row:s,col:n,considerHiddenIndexes:r}=null!==(t=e)&&void 0!==t?t:{};let i=s,l=n;if(void 0===r||r){const e=Number.isInteger(s)&&s>=0,t=Number.isInteger(n)&&n>=0,o=e?ce(this.rowIndexMapper,s):void 0,r=t?ce(this.columnIndexMapper,n):void 0;if(null===o||null===r)return!1;i=e?F.rowIndexMapper.getRenderableFromVisualIndex(o):s,l=t?F.columnIndexMapper.getRenderableFromVisualIndex(r):n}const a=Number.isInteger(i),h=Number.isInteger(l);return a&&i>=0&&h&&l>=0?F.view.scrollViewport(F._createCellCoords(i,l),e.horizontalSnap,e.verticalSnap):a&&i>=0&&(h&&l<0||!h)?F.view.scrollViewportVertically(i,e.verticalSnap):!!(h&&l>=0&&(a&&i<0||!a))&&F.view.scrollViewportHorizontally(l,e.horizontalSnap)},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(F._clearTimeouts(),F._clearImmediates(),F.view&&F.view.destroy(),U&&U.destroy(),U=null,this.getShortcutManager().destroy(),q.clearCache(),L.delete(this.guid),(0,b.isRootInstance)(F)){const e=this.rootDocument.querySelector(".hot-display-license-info");e&&e.parentNode.removeChild(e)}(0,n.empty)(F.rootElement),W.destroy(),Y&&Y.destroy(),F.batchExecution((()=>{F.rowIndexMapper.unregisterAll(),F.columnIndexMapper.unregisterAll(),Z.getItems().forEach((e=>{let[,t]=e;t.destroy()})),Z.clear(),F.runHooks("afterDestroy")}),!0),T.Hooks.getSingleton().destroy(F),(0,c.objectEach)(F,((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)})),F.isDestroyed=!0,B&&B.destroy(),B=null,j=null,ee=null,Y=null,F=null},this.getActiveEditor=function(){return Y.getActiveEditor()},this.getFirstRenderedVisibleRow=function(){return F.view.getFirstRenderedVisibleRow()},this.getLastRenderedVisibleRow=function(){return F.view.getLastRenderedVisibleRow()},this.getFirstRenderedVisibleColumn=function(){return F.view.getFirstRenderedVisibleColumn()},this.getLastRenderedVisibleColumn=function(){return F.view.getLastRenderedVisibleColumn()},this.getFirstFullyVisibleRow=function(){return F.view.getFirstFullyVisibleRow()},this.getLastFullyVisibleRow=function(){return F.view.getLastFullyVisibleRow()},this.getFirstFullyVisibleColumn=function(){return F.view.getFirstFullyVisibleColumn()},this.getLastFullyVisibleColumn=function(){return F.view.getLastFullyVisibleColumn()},this.getFirstPartiallyVisibleRow=function(){return F.view.getFirstPartiallyVisibleRow()},this.getLastPartiallyVisibleRow=function(){return F.view.getLastPartiallyVisibleRow()},this.getFirstPartiallyVisibleColumn=function(){return F.view.getFirstPartiallyVisibleColumn()},this.getLastPartiallyVisibleColumn=function(){return F.view.getLastPartiallyVisibleColumn()},this.getPlugin=function(e){const t=(0,C.toUpperCaseFirst)(e);return"UndoRedo"===t?this.undoRedo:Z.getItem(t)},this.getPluginName=function(e){return e===this.undoRedo?this.undoRedo.constructor.PLUGIN_KEY:Z.getId(e)},this.getInstance=function(){return F},this.addHook=function(e,t,o){T.Hooks.getSingleton().add(e,t,F,o)},this.hasHook=function(e){return T.Hooks.getSingleton().has(e,F)||T.Hooks.getSingleton().has(e)},this.addHookOnce=function(e,t,o){T.Hooks.getSingleton().once(e,t,F,o)},this.removeHook=function(e,t){T.Hooks.getSingleton().remove(e,t,F)},this.runHooks=function(e,t,o,s,n,r,i){return T.Hooks.getSingleton().run(F,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.useTheme=e=>{this.view.getStylesHandler().useTheme(e),this.runHooks("afterSetTheme",e,!!K)},this.getCurrentThemeName=()=>this.view.getStylesHandler().getThemeName(),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,d.arrayEach)(this.timeouts,(e=>{clearTimeout(e)}))},this.immediates=[],this._registerImmediate=function(e){this.immediates.push(setImmediate(e))},this._clearImmediates=function(){(0,d.arrayEach)(this.immediates,(e=>{clearImmediate(e)}))},this._getEditorManager=function(){return Y},this.isRtl=function(){return"rtl"===F.rootWindow.getComputedStyle(F.rootElement).direction},this.isLtr=function(){return!F.isRtl()},this.getDirectionFactor=function(){return F.isLtr()?1:-1};const ue=(0,H.createShortcutManager)({handleEvent:()=>F.isListening(),beforeKeyDown:e=>this.runHooks("beforeKeyDown",e),afterKeyDown:e=>{this.isDestroyed||F.runHooks("afterDocumentKeyDown",e)},ownerWindow:this.rootWindow});this.addHook("beforeOnCellMouseDown",(e=>{!1===e.ctrlKey&&!1===e.metaKey&&ue.releasePressedKeys()})),this.getShortcutManager=function(){return ue},this.getFocusManager=function(){return z},(0,f.getPluginsNames)().forEach((e=>{const t=(0,f.getPlugin)(e);Z.addItem(e,new t(this))})),(0,x.registerAllShortcutContexts)(F),ue.setActiveContextName("grid"),T.Hooks.getSingleton().run(F,"construct")},o(67834),o(15724),o(71336),o(41558),o(17663),o(68630),o(79645),o(89858),o(8620),o(14846),o(27458),o(69655),o(94364),o(71766);var n=o(94916),r=o(77515),i=o(95768),l=o(99275),a=s(o(5289)),h=s(o(12370)),c=o(95016),u=o(94810),d=o(47154),g=o(19310),f=o(42427),p=o(58151),m=o(45973),w=o(57006),C=o(83414),v=o(36926),y=s(o(20328)),E=s(o(88687)),S=o(42379),R=o(57466),b=o(91980),_=o(7749),T=o(29398),M=o(84435),O=o(20115),I=o(63480),N=o(8752),A=o(18393),P=o(78697),H=o(63313),x=o(9528),D=o(83033);let k=null;const L=new Map;new Set},92008:(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(94916),n=o(45551);function r(e){const t=e.rootDocument.createElement("input");return t.type="text",t.name="__htFocusCatcher",t.classList.add("htFocusCatcher"),e.getSettings().ariaTags&&(0,s.setAttribute)(t,[(0,n.A11Y_PRESENTATION)(),(0,n.A11Y_HIDDEN)()]),t}},69998:(e,t,o)=>{"use strict";t.__esModule=!0,t.installFocusCatcher=function(e){const t=function(e){return t=>{if(!t)return null;const o=r(e),s=i(e);return t.col<o.col&&(t.col=o.col),t.col>s.col&&(t.col=s.col),t.row<o.row&&(t.row=o.row),t.row>s.row&&(t.row=s.row),t}}(e);let o;const{activate:l,deactivate:a}=(0,n.installFocusDetector)(e,{onFocusFromTop(){var s;const n=null!==(s=t(o))&&void 0!==s?s:r(e);n&&(e.runHooks("modifyFocusOnTabNavigation","from_above",n),e.selectCell(n.row,n.col)),e.listen()},onFocusFromBottom(){var s;const n=null!==(s=t(o))&&void 0!==s?s:i(e);n&&(e.runHooks("modifyFocusOnTabNavigation","from_below",n),e.selectCell(n.row,n.col)),e.listen()}}),h={wrapped:!1,flipped:!1};let c=!0,u=!1,d=!1;e.addHook("afterListen",(()=>a())),e.addHook("afterUnlisten",(()=>l())),e.addHook("afterSelection",((t,s,n,r,i)=>{var l;(u&&(h.wrapped&&h.flipped||d)&&(d=!1,i.value=!0),c)&&(o=null===(l=e.getSelectedRangeLast())||void 0===l?void 0:l.highlight)})),e.addHook("beforeRowWrap",((e,t,o)=>{h.wrapped=!0,h.flipped=o}));const g={keys:[["Tab"],["Shift","Tab"]],preventDefault:!1,stopPropagation:!1,relativeToGroup:s.GRID_GROUP,group:"focusCatcher"};e.getShortcutManager().getContext("grid").addShortcuts([{...g,callback:()=>{const{tabNavigation:t}=e.getSettings();u=!0,e.getSelectedRangeLast()&&!t&&(c=!1),t||(d=!0)},position:"before"},{...g,callback:t=>{const{tabNavigation:s,autoWrapRow:n}=e.getSettings();if(u=!1,c=!0,!s||!e.selection.isSelected()||n&&h.wrapped&&h.flipped||!n&&h.wrapped)return n&&h.wrapped&&h.flipped&&(o=t.shiftKey?r(e):i(e)),h.wrapped=!1,h.flipped=!1,e.deselectCell(),e.unlisten(),!1;t.preventDefault()},position:"after"}])};var s=o(9528),n=o(92008);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)}},47158:(e,t,o)=>{"use strict";t.__esModule=!0,o(67834),o(15724),o(79747),o(71336),o(41558),o(17663),o(68630),o(79645),o(89858),o(8620),o(14846),o(27458),o(6211),o(69655);var s=o(17991);function n(e,t,o){r(e,t),t.set(e,o)}function r(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function i(e,t,o){return e.set(a(e,t),o),o}function l(e,t){return e.get(a(e,t))}function a(e,t,o){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:o;throw new TypeError("Private element is not present on this object")}var h=new WeakMap,c=new WeakMap,u=new WeakMap,d=new WeakSet;function g(e){l(h,this).set(e,[]),l(c,this).set(e,0)}t.HooksBucket=class{constructor(){var e,t;r(e=this,t=d),t.add(e),n(this,h,new Map),n(this,c,new Map),n(this,u,new Set),s.REGISTERED_HOOKS.forEach((e=>a(d,this,g).call(this,e)))}getHooks(e){var t;return null!==(t=l(h,this).get(e))&&void 0!==t?t:[]}add(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};l(h,this).has(e)||(a(d,this,g).call(this,e),s.REGISTERED_HOOKS.push(e));const n=l(h,this).get(e);if(n.find((e=>e.callback===t)))return;const r=Number.isInteger(o.orderIndex)?o.orderIndex:0,i=!!o.runOnce,c=!!o.initialHook;let f=!1;if(c){const e=n.find((e=>e.initialHook));e&&(e.callback=t,f=!0)}if(!f){n.push({callback:t,orderIndex:r,runOnce:i,initialHook:c,skip:!1});let o=l(u,this).has(e);o||0===r||(o=!0,l(u,this).add(e)),o&&n.length>1&&l(h,this).set(e,n.toSorted(((e,t)=>e.orderIndex-t.orderIndex)))}}has(e){return l(h,this).has(e)&&l(h,this).get(e).length>0}remove(e,t){if(!l(h,this).has(e))return!1;const o=l(h,this).get(e),s=o.find((e=>e.callback===t));if(s){let t=l(c,this).get(e);return s.skip=!0,t+=1,t>100&&(l(h,this).set(e,o.filter((e=>!e.skip))),t=0),l(c,this).set(e,t),!0}return!1}destroy(){l(h,this).clear(),l(c,this).clear(),i(h,this,null),i(c,this,null)}}},17991:(e,t)=>{"use strict";t.__esModule=!0;t.REGISTERED_HOOKS=["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","afterSelectionFocusSet","beforeSelectColumns","afterSelectColumns","beforeSelectRows","afterSelectRows","afterSetCellMeta","afterRemoveCellMeta","afterSetDataAtCell","afterSetDataAtRowProp","afterSetSourceDataAtCell","afterSetTheme","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","beforeSelectionFocusSet","beforeSetRangeStartOnly","beforeSetRangeStart","beforeSetRangeEnd","beforeSelectionHighlightSet","beforeTouchScroll","beforeValidate","beforeValueRender","construct","init","modifyColHeader","modifyColWidth","modifyFiltersMultiSelectValue","modifyFocusedElement","modifyRowHeader","modifyRowHeight","modifyRowHeightByOverlayName","modifyData","modifySourceData","modifyRowData","modifyGetCellCoords","modifyGetCoordsElement","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","modifyTransformFocus","modifyTransformStart","modifyTransformEnd","afterModifyTransformFocus","afterModifyTransformStart","afterModifyTransformEnd","afterViewportRowCalculatorOverride","afterViewportColumnCalculatorOverride","afterPluginsInitialized","beforeHideRows","afterHideRows","beforeUnhideRows","afterUnhideRows","beforeHideColumns","afterHideColumns","beforeUnhideColumns","afterUnhideColumns","beforeTrimRow","afterTrimRow","beforeUntrimRow","afterUntrimRow","beforeDropdownMenuShow","afterDropdownMenuShow","afterDropdownMenuHide","beforeAddChild","afterAddChild","beforeDetachChild","afterDetachChild","beforeBeginEditing","afterBeginEditing","beforeMergeCells","afterMergeCells","beforeUnmergeCells","afterUnmergeCells","afterListen","afterUnlisten","afterRefreshDimensions","beforeRefreshDimensions","beforeColumnCollapse","afterColumnCollapse","beforeColumnExpand","afterColumnExpand","modifyAutoColumnSizeSeed"],t.REMOVED_HOOKS=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"]]),t.DEPRECATED_HOOKS=new Map([[]])},29398:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(15724);var n=s(o(85707)),r=o(47154),i=o(83414),l=o(59350),a=o(20944),h=o(77515),c=o(17991),u=o(47158);const d=a.toSingleLine`The plugin hook "[hookName]" was removed in Handsontable [removedInVersion].\x20
36
36
  Please consult release notes https://github.com/handsontable/handsontable/releases/tag/[removedInVersion] to\x20
37
- learn about the migration path.`;class g{constructor(){(0,n.default)(this,"globalBucket",new u.HooksBucket)}static getSingleton(){return f}getBucket(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return e?(e.pluginHookBucket||(e.pluginHookBucket=new u.HooksBucket),e.pluginHookBucket):this.globalBucket}add(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,s=arguments.length>3?arguments[3]:void 0;return Array.isArray(t)?(0,r.arrayEach)(t,(t=>this.add(e,t,o))):(c.REMOVED_HOOKS.has(e)&&(0,l.warn)((0,i.substitute)(d,{hookName:e,removedInVersion:c.REMOVED_HOOKS.get(e)})),c.DEPRECATED_HOOKS.has(e)&&(0,l.warn)(c.DEPRECATED_HOOKS.get(e)),this.getBucket(o).add(e,t,{orderIndex:s,runOnce:!1})),this}once(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,s=arguments.length>3?arguments[3]:void 0;return Array.isArray(t)?(0,r.arrayEach)(t,(t=>this.once(e,t,o))):this.getBucket(o).add(e,t,{orderIndex:s,runOnce:!0}),this}addAsFixed(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return Array.isArray(t)?(0,r.arrayEach)(t,(t=>this.addAsFixed(e,t,o))):this.getBucket(o).add(e,t,{initialHook:!0}),this}remove(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return this.getBucket(o).remove(e,t)}has(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return this.getBucket(t).has(e)}run(e,t,o,s,n,r,i,l){{const a=this.getBucket().getHooks(t),c=a?a.length:0;let u=0;if(c)for(;u<c;){if(!a[u]||a[u].skip){u+=1;continue}const c=(0,h.fastCall)(a[u].callback,e,o,s,n,r,i,l);void 0!==c&&(o=c),a[u]&&a[u].runOnce&&this.remove(t,a[u].callback),u+=1}}{const a=this.getBucket(e).getHooks(t),c=a?a.length:0;let u=0;if(c)for(;u<c;){if(!a[u]||a[u].skip){u+=1;continue}const c=(0,h.fastCall)(a[u].callback,e,o,s,n,r,i,l);void 0!==c&&(o=c),a[u]&&a[u].runOnce&&this.remove(t,a[u].callback,e),u+=1}}return o}destroy(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.getBucket(e).destroy()}register(e){this.isRegistered(e)||c.REGISTERED_HOOKS.push(e)}deregister(e){this.isRegistered(e)&&c.REGISTERED_HOOKS.splice(c.REGISTERED_HOOKS.indexOf(e),1)}isDeprecated(e){return c.DEPRECATED_HOOKS.has(e)||c.REMOVED_HOOKS.has(e)}isRegistered(e){return c.REGISTERED_HOOKS.indexOf(e)>=0}getRegistered(){return c.REGISTERED_HOOKS}}t.Hooks=g;const f=new g;t.default=g},18393:(e,t,o)=>{"use strict";o(14846),o(69655),t.__esModule=!0;var s=o(69998);Object.keys(s).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===s[e]||(t[e]=s[e]))}));var n=o(82837);Object.keys(n).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===n[e]||(t[e]=n[e]))}))},82837:(e,t,o)=>{"use strict";t.__esModule=!0,t.createViewportScroller=function(e){const{selection:t}=e;let o=!1,c=!1;return{resume(){c=!1},suspend(){c=!0},skipNextScrollCycle(){o=!0},scrollTo(u){var d;if(o||c)return void(o=!1);let g;t.isFocusSelectionChanged()?g=(0,r.focusScrollStrategy)(e):t.isSelectedByCorner()?g=(0,n.cornerHeaderScrollStrategy)(e):t.isSelectedByRowHeader()?g=(0,a.rowHeaderScrollStrategy)(e):t.isSelectedByColumnHeader()?g=(0,s.columnHeaderScrollStrategy)(e):1===t.getSelectedRange().size()&&t.isMultiple()?g=(0,i.multipleScrollStrategy)(e):1!==t.getSelectedRange().size()||t.isMultiple()?t.getSelectedRange().size()>1&&(g=(0,l.noncontiguousScrollStrategy)(e)):g=(0,h.singleScrollStrategy)(e),null===(d=g)||void 0===d||d(u)}}};var s=o(77474),n=o(51761),r=o(71071),i=o(83525),l=o(13772),a=o(52834),h=o(47537)},77474:(e,t)=>{"use strict";t.__esModule=!0,t.columnHeaderScrollStrategy=function(e){return t=>{let{col:o}=t;e.scrollViewportTo({col:o})}}},51761:(e,t)=>{"use strict";t.__esModule=!0,t.cornerHeaderScrollStrategy=function(){return()=>{}}},71071:(e,t)=>{"use strict";t.__esModule=!0,t.focusScrollStrategy=function(e){return t=>{e.scrollViewportTo(t.toObject())}}},83525:(e,t)=>{"use strict";t.__esModule=!0,t.multipleScrollStrategy=function(e){return t=>{e.scrollViewportTo(t.toObject())}}},13772:(e,t)=>{"use strict";t.__esModule=!0,t.noncontiguousScrollStrategy=function(e){return t=>{e.scrollViewportTo(t.toObject())}}},52834:(e,t)=>{"use strict";t.__esModule=!0,t.rowHeaderScrollStrategy=function(e){return t=>{let{row:o}=t;e.scrollViewportTo({row:o})}}},47537:(e,t)=>{"use strict";t.__esModule=!0,t.singleScrollStrategy=function(e){return t=>{const o=e.selection.getSelectionSource(),{row:s,col:n}=t;if(s<0&&n>=0)e.scrollViewportTo({col:n});else if(n<0&&s>=0)e.scrollViewportTo({row:s});else{if("mouse"===o&&(n===e.view.getLastPartiallyVisibleColumn()||s===e.view.getLastPartiallyVisibleRow()))return;e.scrollViewportTo({row:s,col:n})}}}},22410:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(67834),o(15724),o(14846),o(27458),o(69655);var n=s(o(85707)),r=o(74961),i=o(42379),l=o(95016),a=o(47154),h=o(36926),c=o(95768);class u{static get DESTINATION_RENDERER(){return 1}static get DESTINATION_CLIPBOARD_GENERATOR(){return 2}constructor(e,t,o){(0,n.default)(this,"hot",void 0),(0,n.default)(this,"metaManager",void 0),(0,n.default)(this,"tableMeta",void 0),(0,n.default)(this,"dataSource",void 0),(0,n.default)(this,"duckSchema",void 0),(0,n.default)(this,"colToPropCache",void 0),(0,n.default)(this,"propToColCache",void 0),this.hot=e,this.metaManager=o,this.tableMeta=o.getTableMeta(),this.dataSource=t,this.duckSchema=this.createDuckSchema(),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,r=!1;if("function"==typeof t){const t=(0,l.deepObjectSize)(e);s=t>0?t:this.countFirstRowKeys(),r=!0}else{const e=this.tableMeta.maxCols;s=Math.min(e,t.length)}for(o=0;o<s;o++){const e=r?t(o):t[o];if((0,l.isObject)(e)){if(void 0!==e.data){const t=r?n:o;this.colToPropCache[t]=e.data,this.propToColCache.set(e.data,t)}n+=1}}}else this.recursiveDuckColumns(e)}countFirstRowKeys(){return(0,i.countFirstRowKeys)(this.dataSource)}recursiveDuckColumns(e,t,o){let s,n=t,r=o;return void 0===n&&(n=0,r=""),"object"!=typeof e||Array.isArray(e)||(0,l.objectEach)(e,((e,t)=>{null===e?(s=r+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.hot.toPhysicalColumn(e);return null===t?e:this.colToPropCache&&(0,c.isDefined)(this.colToPropCache[t])?this.colToPropCache[t]:t}propToCol(e){const t=this.propToColCache.get(e);if((0,c.isDefined)(t))return this.hot.toVisualColumn(t);const o=this.hot.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,l.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.hot.countSourceRows();let r=n,i=0,a=e;("number"!=typeof a||a>=n)&&(a=n),a<this.hot.countRows()&&(r=this.hot.toPhysicalRow(a));if(!1===this.hot.runHooks("beforeCreateRow",a,t,o)||null===r)return{delta:0};const c=this.tableMeta.maxRows,u=this.getSchema().length,d=[];for(;i<t&&n+i<c;){let e=null;"array"===this.hot.dataType?this.tableMeta.dataSchema?e=(0,l.deepClone)(this.getSchema()):(e=[],(0,h.rangeEach)(u-1,(()=>e.push(null)))):"function"===this.hot.dataType?e=this.tableMeta.dataSchema(a+i):(e={},(0,l.deepExtend)(e,this.getSchema())),d.push(e),i+=1}this.hot.rowIndexMapper.insertIndexes(a,i),"below"===s&&(r=Math.min(r+1,n)),this.spliceData(r,0,d);const g=this.hot.toVisualRow(r);return this.hot.countSourceRows()===d.length&&this.hot.columnIndexMapper.initToLength(this.hot.getInitialColumnCount()),i>0&&(null==e?this.metaManager.createRow(null,i):"auto"!==o&&this.metaManager.createRow(r,t)),this.hot.runHooks("afterCreateRow",g,i,o),this.hot.forceFullRender=!0,{delta:i,startPhysicalIndex:r}}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.hot.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.hot.countSourceCols();let l=e;("number"!=typeof l||l>=i)&&(l=i);if(!1===this.hot.runHooks("beforeCreateCol",l,t,o))return{delta:0};let a=i;l<this.hot.countCols()&&(a=this.hot.toPhysicalColumn(l));const h=this.hot.countSourceRows();let c=this.hot.countCols(),u=0,d=a;"end"===s&&(d=Math.min(d+1,i));const g=d;for(;u<t&&c<r;){if("number"!=typeof l||l>=c)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(d,0,null);u+=1,d+=1,c+=1}this.hot.columnIndexMapper.insertIndexes(l,u),u>0&&(null==e?this.metaManager.createColumn(null,u):"auto"!==o&&this.metaManager.createColumn(g,t));const f=this.hot.toVisualColumn(g);return this.hot.runHooks("afterCreateCol",f,u,o),this.hot.forceFullRender=!0,this.refreshDuckSchema(),{delta:u,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.hot.countSourceRows();s=(r+s)%r;if(!1===this.hot.runHooks("beforeRemoveRow",s,n.length,n,o))return!1;const i=n.length;if(this.filterData(s,i,n),s<this.hot.countRows()){this.hot.rowIndexMapper.removeIndexes(n);const e=(0,c.isDefined)(this.tableMeta.columns)||(0,c.isDefined)(this.tableMeta.dataSchema);0===this.hot.rowIndexMapper.getNotTrimmedIndexesLength()&&!1===e&&this.hot.columnIndexMapper.setIndexesSequence([])}return n.slice(0).sort(((e,t)=>t-e)).forEach((e=>{this.metaManager.removeRow(e,1)})),this.hot.runHooks("afterRemoveRow",s,i,n,o),this.hot.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.hot.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.hot.countCols()+s)%this.hot.countCols();const n=this.visualColumnsToPhysical(s,t),r=n.slice(0).sort(((e,t)=>t-e));if(!1===this.hot.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.hot.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.hot.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.hot.countCols()&&(this.hot.columnIndexMapper.removeIndexes(n),0===this.hot.columnIndexMapper.getNotTrimmedIndexesLength()&&this.hot.rowIndexMapper.setIndexesSequence([])),this.hot.runHooks("afterRemoveCol",s,t,n,o),this.hot.forceFullRender=!0,this.refreshDuckSchema(),!0}spliceCol(e,t,o){const s=this.hot.getDataAtCol(e),n=s.slice(t,t+o),r=s.slice(t+o);for(var i=arguments.length,l=new Array(i>3?i-3:0),h=3;h<i;h++)l[h-3]=arguments[h];(0,a.extendArray)(l,r);let c=0;for(;c<o;)l.push(null),c+=1;return(0,a.to2dArray)(l),this.hot.populateFromArray(t,e,l,null,null,"spliceCol"),n}spliceRow(e,t,o){const s=this.hot.getSourceDataAtRow(e),n=s.slice(t,t+o),r=s.slice(t+o);for(var i=arguments.length,l=new Array(i>3?i-3:0),h=3;h<i;h++)l[h-3]=arguments[h];(0,a.extendArray)(l,r);let c=0;for(;c<o;)l.push(null),c+=1;return this.hot.populateFromArray(e,t,[l],null,null,"spliceRow"),n}spliceData(e,t,o){if(!1!==this.hot.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.hot.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.hot.toPhysicalRow(e);let s=this.dataSource[o];const n=this.hot.runHooks("modifyRowData",o);s=isNaN(n)?n:s;const{dataDotNotation:r}=this.hot.getSettings();let i=null;if(s&&s.hasOwnProperty&&(0,l.hasOwnProperty)(s,t))i=s[t];else if(r&&"string"==typeof t&&t.indexOf(".")>-1){let e=s;if(!e)return null;const o=t.split(".");for(let t=0,s=o.length;t<s;t++)if(e=e[o[t]],void 0===e)return null;i=e}else"function"==typeof t&&(i=t(this.dataSource.slice(o,o+1)[0]));if(this.hot.hasHook("modifyData")){const e=(0,l.createObjectPropListener)(i);this.hot.runHooks("modifyData",o,this.propToCol(t),e,"get"),e.isTouched()&&(i=e.value)}return i}getCopyable(e,t){return this.hot.getCellMeta(e,this.propToCol(t)).copyable?this.get(e,t):""}set(e,t,o){const s=this.hot.toPhysicalRow(e);let n=o,r=this.dataSource[s];const i=this.hot.runHooks("modifyRowData",s);if(r=isNaN(i)?i:r,this.hot.hasHook("modifyData")){const e=(0,l.createObjectPropListener)(n);this.hot.runHooks("modifyData",s,this.propToCol(t),e,"set"),e.isTouched()&&(n=e.value)}const{dataDotNotation:a}=this.hot.getSettings();if(r&&r.hasOwnProperty&&(0,l.hasOwnProperty)(r,t))r[t]=n;else if(a&&"string"==typeof t&&t.indexOf(".")>-1){let e,o=r,s=0;const i=t.split(".");for(s=0,e=i.length-1;s<e;s++)void 0===o[i[s]]&&(o[i[s]]={}),o=o[i[s]];o[i[s]]=n}else"function"==typeof t?t(this.dataSource.slice(s,s+1)[0],n):r[t]=n}visualRowsToPhysical(e,t){const o=this.hot.countSourceRows(),s=[];let n,r=(o+e)%o,i=t;for(;r<o&&i;)n=this.hot.toPhysicalRow(r),s.push(n),i-=1,r+=1;return s}visualColumnsToPhysical(e,t){const o=this.hot.countCols(),s=[];let n=(o+e)%o,r=t;for(;n<o&&r;){const e=this.hot.toPhysicalColumn(n);s.push(e),r-=1,n+=1}return s}clear(){for(let e=0;e<this.hot.countSourceRows();e++)for(let t=0;t<this.hot.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.hot.rowIndexMapper.getNotTrimmedIndexesLength();return Math.min(o,t)}getAll(){const e={row:0,col:0},t={row:Math.max(this.hot.countRows()-1,0),col:Math.max(this.hot.countCols()-1,0)};return e.row-t.row!=0||this.hot.countSourceRows()?this.getRange(e,t,u.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 h=o===u.DESTINATION_CLIPBOARD_GENERATOR?this.getCopyable:this.get,c=Math.min(Math.max(l-1,0),Math.max(e.row,t.row)),d=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.hot.toPhysicalRow(n):n;for(r=Math.min(e.col,t.col);r<=d&&null!==o;r++)i.push(h.call(this,n,this.colToProp(r)));null!==o&&s.push(i)}return s}getText(e,t){return(0,r.stringify)(this.getRange(e,t,u.DESTINATION_RENDERER))}getCopyableText(e,t){return(0,r.stringify)(this.getRange(e,t,u.DESTINATION_CLIPBOARD_GENERATOR))}destroy(){this.hot=null,this.metaManager=null,this.dataSource=null,this.duckSchema=null,this.colToPropCache.length=0,this.propToColCache.clear(),this.propToColCache=void 0}}t.default=u},88687:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(15724),o(14846),o(69655);var n=s(o(85707)),r=o(95016),i=o(42379),l=o(47154),a=o(36926),h=o(77515);t.default=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];(0,n.default)(this,"hot",void 0),(0,n.default)(this,"data",void 0),(0,n.default)(this,"dataType","array"),(0,n.default)(this,"colToProp",(()=>{})),(0,n.default)(this,"propToCol",(()=>{})),this.hot=e,this.data=t}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,l.arrayEach)(this.data,((o,s)=>{const n=this.getAtCell(s,e);t.push(n)})),t}getAtRow(e,t,o){let s=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const n=void 0===t&&void 0===o,{dataDotNotation:i}=this.hot.getSettings();let l=null,c=null;if(l=this.modifyRowData(e),Array.isArray(l))c=[],n?l.forEach(((t,o)=>{c[o]=this.getAtPhysicalCell(e,o,l)})):(0,a.rangeEach)(t,o,(o=>{c[o-t]=this.getAtPhysicalCell(e,o,l)}));else if((0,r.isObject)(l)||(0,h.isFunction)(l))if(c=s?[]:{},!n||s){const n=0,h=this.countFirstRowKeys()-1;(0,a.rangeEach)(n,h,(a=>{const u=this.colToProp(a);if(a>=(t||n)&&a<=(o||h)&&!Number.isInteger(u)){const t=this.getAtPhysicalCell(e,u,l);s?c.push(t):i?(0,r.setProperty)(c,u,t):c[u]=t}}))}else(0,r.objectEach)(l,((t,o)=>{const s=this.getAtPhysicalCell(e,o,l);i?(0,r.setProperty)(c,o,s):c[o]=s}));return c}setAtCell(e,t,o){if(!(e>=this.countRows()||t>=this.countFirstRowKeys())){if(this.hot.hasHook("modifySourceData")){const s=(0,r.createObjectPropListener)(o);this.hot.runHooks("modifySourceData",e,t,s,"set"),s.isTouched()&&(o=s.value)}Number.isInteger(t)?this.data[e][t]=o:(0,r.setProperty)(this.data[e],t,o)}}getAtPhysicalCell(e,t,o){let s=null;if(o)if("string"==typeof t){const{dataDotNotation:e}=this.hot.getSettings();s=e?(0,r.getProperty)(o,t):o[t]}else s="function"==typeof t?t(o):o[t];if(this.hot.hasHook("modifySourceData")){const o=(0,r.createObjectPropListener)(s);this.hot.runHooks("modifySourceData",e,t,o,"get"),o.isTouched()&&(s=o.value)}return s}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,i=null,l=null;null===e||null===t?(s=!0,n=0,i=this.countRows()-1):(n=Math.min(e.row,t.row),r=Math.min(e.col,t.col),i=Math.max(e.row,t.row),l=Math.max(e.col,t.col));const h=[];return(0,a.rangeEach)(n,i,(e=>{h.push(s?this.getAtRow(e,void 0,void 0,o):this.getAtRow(e,r,l,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,i.countFirstRowKeys)(this.data)}destroy(){this.data=null,this.hot=null}}},8752:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(22410));t.DataMap=n.default;var r=s(o(58651));t.MetaManager=r.default;var i=s(o(87441));t.metaSchemaFactory=i.default;var l=o(41024);t.replaceData=l.replaceData;var a=o(36749);t.DynamicCellMetaMod=a.DynamicCellMetaMod;var h=o(40353);t.ExtendMetaPropertiesMod=h.ExtendMetaPropertiesMod},58651:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(67834),o(14846),o(69655);var n=s(o(54197)),r=s(o(6194)),i=s(o(92580)),l=s(o(65202)),a=s(o(32943)),h=o(95016);class c{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=c,(0,h.mixin)(c,a.default)},88333:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(15724),o(71336),o(41558),o(17663),o(68630),o(79645),o(89858),o(8620);var n=s(o(85707)),r=o(47154),i=o(85414);class l{constructor(e){(0,n.default)(this,"valueFactory",void 0),(0,n.default)(this,"data",[]),(0,n.default)(this,"index",[]),(0,n.default)(this,"holes",new Set),this.valueFactory=e}obtain(e){(0,i.assert)((()=>(0,i.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,i.assert)((()=>(0,i.isUnsignedNumber)(e)||(0,i.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 n=(0,i.isNullish)(e)?this.index.length:e;this.index=[...this.index.slice(0,n),...o,...this.index.slice(n)]}remove(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;(0,i.assert)((()=>(0,i.isUnsignedNumber)(e)||(0,i.isNullish)(e)),"Expecting an unsigned number or null/undefined argument.");const o=this.index.splice((0,i.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,r.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=l},65202:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(15724);var n=s(o(85707)),r=o(95016),i=o(85414),l=s(o(88333)),a=o(95768);t.default=class{constructor(e){(0,n.default)(this,"columnMeta",void 0),(0,n.default)(this,"metas",new l.default((()=>this._createRow()))),this.columnMeta=e}updateMeta(e,t,o){const s=this.getMeta(e,t);(0,r.extend)(s,o),(0,i.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++)(0,a.isDefined)(t[o])&&e.push(...t[o].values());return e}getMetasAtRow(e){(0,i.assert)((()=>(0,i.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 l.default((e=>this._createMeta(e)))}_createMeta(e){return new(this.columnMeta.getMetaConstructor(e))}}},92580:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(85707)),r=o(95016),i=o(85414),l=s(o(88333));const a=["data","width"];t.default=class{constructor(e){(0,n.default)(this,"globalMeta",void 0),(0,n.default)(this,"metas",new l.default((()=>this._createMeta()))),this.globalMeta=e,this.metas=new l.default((()=>this._createMeta()))}updateMeta(e,t){const o=this.getMeta(e);(0,r.extend)(o,t),(0,i.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,i.columnFactory)(this.globalMeta.getMetaConstructor(),a).prototype}}},54197:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(85707)),r=o(95016),i=o(85414),l=s(o(87441));t.default=class{constructor(e){(0,n.default)(this,"metaCtor",class{}),(0,n.default)(this,"meta",void 0),this.meta=this.metaCtor.prototype,(0,r.extend)(this.meta,(0,l.default)()),this.meta.instance=e}getMetaConstructor(){return this.metaCtor}getMeta(){return this.meta}updateMeta(e){var t;(0,r.extend)(this.meta,e),(0,i.extendByMetaType)(this.meta,{...e,type:null!==(t=e.type)&&void 0!==t?t:this.meta.type},e)}}},6194:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(85707)),r=o(95016),i=o(85414);t.default=class{constructor(e){(0,n.default)(this,"meta",void 0);const t=e.getMetaConstructor();this.meta=new t}getMeta(){return this.meta}updateMeta(e){(0,r.extend)(this.meta,e),(0,i.extendByMetaType)(this.meta,e,e)}}},87441:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(95768),n=o(95016);t.default=()=>({_automaticallyAssignedMetaProps:void 0,activeHeaderClassName:"ht__active_highlight",allowEmpty:!0,allowHtml:!1,allowInsertColumn:!0,allowInsertRow:!0,allowInvalid:!0,allowRemoveColumn:!0,allowRemoveRow:!0,ariaTags:!0,autoColumnSize:void 0,autoRowSize:void 0,autoWrapCol:!1,autoWrapRow:!1,bindRowsWithHeaders:void 0,cell:[],cells:void 0,checkedTemplate:void 0,className:void 0,colHeaders:null,collapsibleColumns:void 0,columnHeaderHeight:void 0,columns:void 0,columnSorting:void 0,columnSummary:void 0,colWidths:void 0,commentedCellClassName:"htCommentCell",comments:!1,contextMenu:void 0,copyable:!0,copyPaste:!0,correctFormat:!1,currentColClassName:void 0,currentHeaderClassName:"ht__highlight",currentRowClassName:void 0,customBorders:!1,data:void 0,dataDotNotation:!0,dataSchema:void 0,dateFormat:"DD/MM/YYYY",timeFormat:"h:mm:ss a",datePickerConfig:void 0,defaultDate:void 0,disableVisualSelection:!1,dragToScroll:!0,dropdownMenu:void 0,editor:void 0,enterBeginsEditing:!0,enterMoves:{col:0,row:1},fillHandle:{autoInsertRow:!1},filter:!0,filteringCaseSensitive:!1,filters:void 0,fixedColumnsLeft:0,fixedColumnsStart:0,fixedRowsBottom:0,fixedRowsTop:0,formulas:void 0,fragmentSelection:!1,headerClassName:void 0,height:void 0,hiddenColumns:void 0,hiddenRows:void 0,invalidCellClassName:"htInvalid",imeFastEdit:!1,isEmptyCol(e){let t,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,tabNavigation:!0,nestedHeaders:void 0,nestedRows:void 0,noWordWrapClassName:"htNoWrap",numericFormat:void 0,observeDOMVisibility:!0,outsideClickDeselects:!0,persistentState:void 0,placeholder:void 0,placeholderCellClassName:"htPlaceholder",preventOverflow:!1,preventWheel:!1,readOnly:!1,readOnlyCellClassName:"htDimmed",renderAllRows:!1,renderAllColumns:!1,renderer:void 0,rowHeaders:void 0,rowHeaderWidth:void 0,rowHeights:void 0,search:!1,selectionMode:"multiple",selectOptions:void 0,skipColumnOnPaste:!1,skipRowOnPaste:!1,sortByRelevance:!0,source:void 0,startCols:5,startRows:5,stretchH:"none",strict:void 0,tableClassName:void 0,themeName:void 0,tabMoves:{row:0,col:1},title:void 0,trimDropdown:!0,trimRows:void 0,trimWhitespace:!0,type:"text",uncheckedTemplate:void 0,undo:void 0,validator:void 0,viewportColumnRenderingOffset:"auto",viewportRowRenderingOffset:"auto",viewportColumnRenderingThreshold:0,viewportRowRenderingThreshold:0,visibleRows:10,width:void 0,wordWrap:!0})},36749:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(71336),o(41558),o(17663),o(68630),o(79645),o(89858),o(8620);var n=s(o(85707)),r=o(29398),i=o(95016),l=o(77515);t.DynamicCellMetaMod=class{constructor(e){(0,n.default)(this,"metaManager",void 0),(0,n.default)(this,"metaSyncMemo",new Map),this.metaManager=e,e.addLocalHook("afterGetCellMeta",(e=>this.extendCellMeta(e))),r.Hooks.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:r}=e,a=this.metaManager.hot,h=a.colToProp(r);e.prop=h,a.runHooks("beforeGetCellMeta",n,r,e);const c=(0,i.hasOwnProperty)(e,"type")?e.type:null;let u=(0,l.isFunction)(e.cells)?e.cells(o,s,h):null;var d;c&&(u?u.type=null!==(d=u.type)&&void 0!==d?d:c:u={type:c});u&&this.metaManager.updateCellMeta(o,s,u),a.runHooks("afterGetCellMeta",n,r,e),this.metaSyncMemo.has(o)||this.metaSyncMemo.set(o,new Set),this.metaSyncMemo.get(o).add(s)}}},40353:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(67834),o(15724),o(71336),o(41558),o(17663),o(68630),o(79645),o(89858),o(8620),o(14846),o(69655);var n=s(o(85707));function r(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)}function i(e,t){return e.get(function(e,t,o){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:o;throw new TypeError("Private element is not present on this object")}(e,t))}var l=new WeakMap;t.ExtendMetaPropertiesMod=class{constructor(e){(0,n.default)(this,"metaManager",void 0),(0,n.default)(this,"usageTracker",new Set),(0,n.default)(this,"propDescriptors",new Map([["ariaTags",{initOnly:!0}],["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",{initOnly:!0}],["renderAllColumns",{initOnly:!0}],["renderAllRows",{initOnly:!0}]])),r(this,l,((e,t,o)=>{if(!o)throw new Error(`The \`${e}\` option can not be updated after the Handsontable is initialized.`)})),this.metaManager=e,this.extendMetaProps()}extendMetaProps(){this.propDescriptors.forEach(((e,t)=>{const{initOnly:o,target:s,onChange:n}=e,r="string"==typeof s,a=r?s:t,h=`_${a}`;this.metaManager.globalMeta.meta[h]=this.metaManager.globalMeta.meta[a],n?(this.installPropWatcher(t,h,n),r&&this.installPropWatcher(s,h,n)):o&&(this.installPropWatcher(t,h,i(l,this)),this.metaManager.globalMeta.meta._initOnlySettings||(this.metaManager.globalMeta.meta._initOnlySettings=[]),this.metaManager.globalMeta.meta._initOnlySettings.push(t))}))}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})}}},85414:(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(67834),o(71336),o(41558),o(17663),o(68630),o(79645),o(89858),o(8620);var s=o(95016),n=o(39548)},41024:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,t.replaceData=function(e,t,o,s){const{hotInstance:c,dataMap:u,dataSource:d,internalSource:g,source:f,metaManager:p,firstRun:m}=s,w=(0,n.toUpperCaseFirst)(g),C=c.getSettings();Array.isArray(C.dataSchema)?c.dataType="array":(0,r.isFunction)(C.dataSchema)?c.dataType="function":c.dataType="object";u&&u.destroy();e=c.runHooks(`before${w}`,e,m,f);const v=new i.default(c,e,p);if(t(v),"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=v.getSchema();let o;e=[];let s=0,n=0;for(s=0,n=C.startRows;s<n;s++)if("object"!==c.dataType&&"function"!==c.dataType||!C.dataSchema)if("array"===c.dataType)o=(0,l.deepClone)(t[0]),e.push(o);else{o=[];for(let e=0,t=C.startCols;e<t;e++)o.push(null);e.push(o)}else o=(0,l.deepClone)(t),e.push(o)}}Array.isArray(e[0])&&(c.dataType="array");C.data=e,v.dataSource=e,d.data=e,d.dataType=c.dataType,d.colToProp=v.colToProp.bind(v),d.propToCol=v.propToCol.bind(v),d.countCachedColumns=v.countCachedColumns.bind(v),o(v),c.runHooks(`after${w}`,e,m,f),m||(c.runHooks("afterChange",null,g),c.render());c.getSettings().ariaTags&&(0,a.setAttribute)(c.rootElement,[(0,h.A11Y_ROWCOUNT)(-1),(0,h.A11Y_COLCOUNT)(c.countCols()+(c.view?c.countRowHeaders():0))])},o(67834),o(15724);var n=o(83414),r=o(77515),i=s(o(22410)),l=o(95016),a=o(94916),h=o(45551)},5289:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(67834);var n=s(o(85707)),r=o(83644),i=o(40892),l=o(45973),a=s(o(12370));function h(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)}function c(e,t,o){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:o;throw new TypeError("Private element is not present on this object")}var u=new WeakSet;class d{constructor(e,t,o){h(this,u),(0,n.default)(this,"hot",void 0),(0,n.default)(this,"tableMeta",void 0),(0,n.default)(this,"selection",void 0),(0,n.default)(this,"eventManager",void 0),(0,n.default)(this,"destroyed",!1),(0,n.default)(this,"activeEditor",void 0),(0,n.default)(this,"cellProperties",void 0),this.hot=e,this.tableMeta=t,this.selection=o,this.eventManager=new a.default(e),this.hot.addHook("afterDocumentKeyDown",(e=>c(u,this,g).call(this,e))),this.eventManager.addEventListener(this.hot.rootDocument.documentElement,"compositionstart",(e=>{!this.destroyed&&this.hot.isListening()&&this.openEditor("",e)})),this.hot.view._wt.update("onCellDblClick",((e,t,o)=>c(u,this,f).call(this,e,t,o)))}getActiveEditor(){return this.activeEditor}prepareEditor(){var e;if(this.activeEditor&&this.activeEditor.isWaiting())return void this.closeEditor(!1,!1,(e=>{e&&this.prepareEditor()}));const t=null===(e=this.hot.getSelectedRangeLast())||void 0===e?void 0:e.highlight;if(!t||t.isHeader())return;const{row:o,col:s}=t,n=this.hot.runHooks("modifyGetCellCoords",o,s,!1,"meta");let r=o,i=s;if(Array.isArray(n)&&([r,i]=n),this.cellProperties=this.hot.getCellMeta(r,i),!this.isCellEditable())return void this.clearActiveEditor();const a=this.hot.getCell(o,s,!0);if(a){const e=this.hot.getCellEditor(this.cellProperties),t=this.hot.colToProp(i),n=this.hot.getSourceDataAtCell(this.hot.toPhysicalRow(r),i);this.activeEditor=(0,l.getEditorInstance)(e,this.hot),this.activeEditor.prepare(o,s,t,a,n,this.cellProperties)}}isEditorOpened(){return this.activeEditor&&this.activeEditor.isOpened()}openEditor(e,t){let o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!this.isCellEditable())return void this.clearActiveEditor();const s=this.hot.getSelectedRangeLast();let n=this.hot.runHooks("beforeBeginEditing",s.highlight.row,s.highlight.col,e,t,o);t instanceof MouseEvent&&"boolean"!=typeof n&&(n=0===this.hot.selection.getLayerLevel()&&s.isSingle()),!1!==n?(this.activeEditor||(this.hot.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.hot.getSelectedRangeLast();if(!e)return!1;const t=this.hot.getCellEditor(this.cellProperties),{row:o,col:s}=e.highlight,{rowIndexMapper:n,columnIndexMapper:r}=this.hot,i=n.isHidden(this.hot.toPhysicalRow(o))||r.isHidden(this.hot.toPhysicalColumn(s));return!(this.cellProperties.readOnly||!t||i)}moveSelectionAfterEnter(e){const t={..."function"==typeof this.tableMeta.enterMoves?this.tableMeta.enterMoves(e):this.tableMeta.enterMoves};e.shiftKey&&(t.row=-t.row,t.col=-t.col),this.hot.selection.isMultiple()?this.selection.transformFocus(t.row,t.col):this.selection.transformStart(t.row,t.col,!0)}destroy(){this.destroyed=!0,this.eventManager.destroy()}}function g(e){const t=this.hot.getSelectedRangeLast();if(!this.hot.isListening()||!t||t.highlight.isHeader()||(0,i.isImmediatePropagationStopped)(e))return;const{keyCode:o}=e,s=(e.ctrlKey||e.metaKey)&&!e.altKey;(!this.activeEditor||this.activeEditor&&!this.activeEditor.isWaiting())&&((0,r.isFunctionKey)(o)||(0,r.isCtrlMetaKey)(o)||s||this.isEditorOpened()||this.openEditor("",e))}function f(e,t){t.isCell()&&this.openEditor(null,e,!0)}const p=new WeakMap;d.getInstance=function(e,t,o){let s=p.get(e);return s||(s=new d(e,t,o),p.set(e,s)),s};t.default=d},52227:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(67834),o(15724),o(14846),o(27458),o(6211),o(90458);var n=s(o(85707)),r=o(27973),i=o(47154),l=o(94916),a=o(95768),h=o(83414),c=o(83644),u=o(5819),d=o(45551);function g(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)}function f(e,t){return e.get(function(e,t,o){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:o;throw new TypeError("Private element is not present on this object")}(e,t))}const p=t.EDITOR_TYPE="autocomplete";var m=new WeakMap;class w extends r.HandsontableEditor{constructor(){super(...arguments),(0,n.default)(this,"query",null),(0,n.default)(this,"strippedChoices",[]),(0,n.default)(this,"rawChoices",[]),g(this,m,this.hot.guid.slice(0,9)),(0,n.default)(this,"sortByRelevance",(function(e,t,o){const s=[],n=[],r=e.length;let i,l,c,u,d=t.length;if(0===r){for(c=0;c<d;c++)n.push(c);return n}for(c=0;c<d;c++){if(l=(0,h.stripTags)((0,a.stringify)(t[c])),o)u=l.indexOf(e);else{const t=this.cellProperties.locale;u=l.toLocaleLowerCase(t).indexOf(e.toLocaleLowerCase(t))}-1!==u&&(i=l.length-u-r,s.push({baseIndex:c,index:u,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})),c=0,d=s.length;c<d;c++)n.push(s[c].baseIndex);return n}))}static get EDITOR_TYPE(){return p}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,d.A11Y_TEXT)(),(0,d.A11Y_COMBOBOX)(),(0,d.A11Y_HASPOPUP)("listbox"),(0,d.A11Y_AUTOCOMPLETE)()])}prepare(e,t,o,s,n,r){super.prepare(e,t,o,s,n,r),this.hot.getSettings().ariaTags&&(0,l.setAttribute)(this.TEXTAREA,[(0,d.A11Y_EXPANDED)("false"),(0,d.A11Y_CONTROLS)(`${f(m,this)}-listbox-${e}-${t}`)])}open(){super.open();const e=void 0===this.cellProperties.trimDropdown||this.cellProperties.trimDropdown,t=this.hot.getSettings().ariaTags,o=Array.isArray(this.cellProperties.source)?this.cellProperties.source:null,s=null==o?void 0:o.length,{row:n,col:r}=this;this.showEditableElement(),this.focus(),this.addHook("beforeKeyDown",(e=>this.onBeforeKeyDown(e))),this.htEditor.updateSettings({colWidths:e?[(0,l.outerWidth)(this.TEXTAREA)-2]:void 0,autoColumnSize:!0,autoRowSize:!0,renderer:(e,n,r,i,h,c,g)=>{(0,u.textRenderer)(e,n,r,i,h,c,g);const{filteringCaseSensitive:f,allowHtml:p,locale:m}=this.cellProperties,w=this.query;let C,v,y=(0,a.stringify)(c);y&&!p&&(C=!0===f?y.indexOf(w):y.toLocaleLowerCase(m).indexOf(w.toLocaleLowerCase(m)),-1!==C&&(v=y.substr(C,w.length),y=y.replace(v,`<strong>${v}</strong>`))),t&&(0,l.setAttribute)(n,[(0,d.A11Y_OPTION)(),...o?[(0,d.A11Y_SETSIZE)(s)]:[],...o?[(0,d.A11Y_POSINSET)(o.indexOf(c)+1)]:[],["id",`${this.htEditor.rootElement.id}_${r}-${i}`]]),n.innerHTML=y},afterSelectionEnd:(e,o)=>{if(t){const t=this.htEditor.getCell(e,o,!0);(0,l.setAttribute)(t,[(0,d.A11Y_SELECTED)()]),(0,l.setAttribute)(this.TEXTAREA,...(0,d.A11Y_ACTIVEDESCENDANT)(t.id))}}}),t&&((0,l.setAttribute)(this.htEditor.view._wt.wtOverlays.wtTable.TABLE,...(0,d.A11Y_PRESENTATION)()),(0,l.setAttribute)(this.htEditor.rootElement,[(0,d.A11Y_LISTBOX)(),(0,d.A11Y_LIVE)("polite"),(0,d.A11Y_RELEVANT)("text"),["id",`${f(m,this)}-listbox-${n}-${r}`]]),(0,l.setAttribute)(this.TEXTAREA,...(0,d.A11Y_EXPANDED)("true"))),this.hot._registerTimeout((()=>{this.queryChoices(this.TEXTAREA.value)}))}close(){this.removeHooksByKey("beforeKeyDown"),super.close(),this.hot.getSettings().ariaTags&&(0,l.setAttribute)(this.TEXTAREA,[(0,d.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 c=Array.isArray(r)?r.length:0;if(!1===n)c&&(a=r[0]);else{const e=[];for(let t=0,o=h.length;t<o&&!(s&&c<=t);t++)c?e.push(h[r[t]]):e.push(h[t]);a=0,h=e}this.strippedChoices=h,0===h.length?this.htEditor.rootElement.style.display="none":this.htEditor.rootElement.style.display="",this.htEditor.loadData((0,i.pivot)([h])),h.length>0&&(this.updateDropdownDimensions(),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.getHeight(),i=e.scrollTop,a=(0,l.outerHeight)(this.hot.view._wt.wtTable.THEAD),h=(0,l.offset)(e),c=s.top-h.top-a+i,u=e.scrollHeight-c-a-n,d=r>u&&c>u;return d?this.flipDropdown(r):this.unflipDropdown(),this.limitDropdownIfNeeded(d?c:u,r),d}limitDropdownIfNeeded(e,t){if(t>e){let o=0,s=0,n=0,r=null;do{n=this.htEditor.getRowHeight(s)||this.htEditor.view.getDefaultRowHeight(),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}updateDropdownDimensions(){this.htEditor.updateSettings({width:this.getWidth(),height:this.getHeight()}),this.htEditor.view.hasVerticalScroll()&&this.htEditor.updateSettings({width:this.htEditor.getSettings().width+(0,l.getScrollbarWidth)(this.hot.rootDocument)}),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()}getHeight(){const e=this.hot.rootWindow.getComputedStyle(this.htContainer.querySelector(".htCore")),t=parseInt(e.borderTopWidth,10)+parseInt(e.borderBottomWidth,10),o=Math.min(this.cellProperties.visibleRows,this.strippedChoices.length);return Array.from({length:o},((e,t)=>t)).reduce(((e,t)=>e+this.htEditor.getRowHeight(t)),0)+t+1}getWidth(){const e=this.hot.rootWindow.getComputedStyle(this.htContainer.querySelector(".htCore")),t=parseInt(e.borderInlineStartWidth,10)+parseInt(e.borderInlineEndWidth,10);return this.htEditor.getColWidth(0)+t}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===c.KEY_CODES.ARROW_DOWN&&o>0&&o<this.htEditor.countRows()-1&&(s=!0),e===c.KEY_CODES.ARROW_UP&&o>-1&&(s=!0),s}onBeforeKeyDown(e){if((0,c.isPrintableChar)(e.keyCode)||e.keyCode===c.KEY_CODES.BACKSPACE||e.keyCode===c.KEY_CODES.DELETE||e.keyCode===c.KEY_CODES.INSERT){let t=10;if(e.keyCode===c.KEY_CODES.C&&(e.ctrlKey||e.metaKey))return;this.isOpened()||(t+=10),this.htEditor&&this.hot._registerTimeout((()=>{this.queryChoices(this.TEXTAREA.value)}),t)}}}t.AutocompleteEditor=w},85588:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(52227);t.EDITOR_TYPE=s.EDITOR_TYPE,t.AutocompleteEditor=s.AutocompleteEditor},43785:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(67834);var n=s(o(85707)),r=o(95768),i=o(95016),l=s(o(30933)),a=o(94916);const h=t.EDITOR_TYPE="base",c=t.EDITOR_STATE=Object.freeze({VIRGIN:"STATE_VIRGIN",EDITING:"STATE_EDITING",WAITING:"STATE_WAITING",FINISHED:"STATE_FINISHED"});class u{static get EDITOR_TYPE(){return h}constructor(e){(0,n.default)(this,"hot",void 0),(0,n.default)(this,"state",c.VIRGIN),(0,n.default)(this,"_opened",!1),(0,n.default)(this,"_fullEditMode",!1),(0,n.default)(this,"_closeCallback",null),(0,n.default)(this,"TD",null),(0,n.default)(this,"row",null),(0,n.default)(this,"col",null),(0,n.default)(this,"prop",null),(0,n.default)(this,"originalValue",null),(0,n.default)(this,"cellProperties",null),this.hot=e,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=this.isOpened()?this.state:c.VIRGIN}extend(){return class extends this.constructor{}}saveValue(e,t){let o,s,n,r;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),n=Math.max(e[0],e[2]),r=Math.max(e[1],e[3])}else[o,s,n,r]=[this.row,this.col,null,null];const i=this.hot.runHooks("modifyGetCellCoords",o,s,!1,"meta");Array.isArray(i)&&([o,s]=i),this.hot.populateFromArray(o,s,e,n,r,"edit")}beginEditing(e,t){if(this.state!==c.VIRGIN)return;const o=this.hot,s=o.rowIndexMapper.getRenderableFromVisualIndex(this.row),n=o.columnIndexMapper.getRenderableFromVisualIndex(this.col),i=()=>{if(this.state=c.EDITING,this.isInFullEditMode()){const t="string"==typeof e?e:(0,r.stringify)(this.originalValue);this.setValue(t)}this.open(t),this._opened=!0,this.focus(),o.view.render(),o.runHooks("afterBeginEditing",this.row,this.col)};this.hot.addHookOnce("afterScroll",i);o.view.scrollViewport(o._createCellCoords(s,n))||(this.hot.removeHook("afterScroll",i),i())}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())if(this.state!==c.VIRGIN){if(this.state===c.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=c.WAITING,this.saveValue(s,t),this.hot.getCellValidator(this.cellProperties)?this.hot.addHookOnce("postAfterValidate",(e=>{this.state=c.FINISHED,this.discardEditor(e)})):(this.state=c.FINISHED,this.discardEditor(!0))}}else this.hot._registerTimeout((()=>{this._fireCallbacks(!0)}))}cancelChanges(){this.state=c.FINISHED,this.discardEditor()}discardEditor(e){if(this.state===c.FINISHED)if(!1===e&&!0!==this.cellProperties.allowInvalid)this.hot.selectCell(this.row,this.col),this.focus(),this.state=c.EDITING,this._fireCallbacks(!1);else{this.close(),this._opened=!1,this._fullEditMode=!1,this.state=c.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===c.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),c=o.topOverlay.holder,u=o.inlineStartOverlay.holder,d=c!==n?c.scrollTop:0,g=u!==n?u.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,w=["master","inline_start"].includes(m)?d:0,C=["master","top","bottom"].includes(m)?g:0,v=r.top===l.top?0:1;let y=r.top-l.top-v-w,E=0;E=this.hot.isRtl()?n.innerWidth-r.left-i-f-1+C:r.left-l.left-1-C,["top","top_inline_start_corner"].includes(m)&&(y+=o.topOverlay.getOverlayOffset()),["inline_start","top_inline_start_corner"].includes(m)&&(E+=Math.abs(o.inlineStartOverlay.getOverlayOffset()));const S=this.hot.hasColHeaders(),R=this.hot.rowIndexMapper.getRenderableFromVisualIndex(this.row),b=this.hot.columnIndexMapper.getRenderableFromVisualIndex(this.col),_=this.hot.rowIndexMapper.getRenderableIndexesLength()-this.hot.view._wt.getSetting("fixedRowsBottom");(S&&R<=0||R===_)&&(y+=1),b<=0&&(E+=1);const T=s.rowsRenderCalculator.startPosition,M=s.columnsRenderCalculator.startPosition,O=Math.abs(o.inlineStartOverlay.getScrollPosition()),I=o.topOverlay.getScrollPosition(),N=(0,a.getScrollbarWidth)(this.hot.rootDocument);let A=t.offsetTop;if(["inline_start","master"].includes(m)&&(A+=T-I),["bottom","bottom_inline_start_corner"].includes(m)){const{wtViewport:e,wtTable:t}=o.bottomOverlay.clone;A+=e.getWorkspaceHeight()-t.getHeight()-N}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=n.getComputedStyle(this.TD),x=this.hot.isRtl()?"borderRightWidth":"borderLeftWidth",D=parseInt(H[x],10)>0?0:1,k=parseInt(H.borderTopWidth,10)>0?0:1,L=(0,a.outerWidth)(t)+D,V=(0,a.outerHeight)(t)+k,F=(0,a.hasVerticalScrollbar)(c)?N:0,W=(0,a.hasHorizontalScrollbar)(u)?N:0,B=this.hot.view.maximumVisibleElementWidth(P)-F+D;return{top:y,start:E,height:V,maxHeight:Math.max(this.hot.view.maximumVisibleElementHeight(A)-W+k,this.hot.view.getDefaultRowHeight()),width:L,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,i.mixin)(u,l.default)},95605:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(43785);t.EDITOR_STATE=s.EDITOR_STATE,t.EDITOR_TYPE=s.EDITOR_TYPE,t.BaseEditor=s.BaseEditor},69609:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(95605),n=o(94916);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&&"TD"===t.target.nodeName){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},60213:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(69609);t.EDITOR_TYPE=s.EDITOR_TYPE,t.CheckboxEditor=s.CheckboxEditor},33491:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(67834);var n=s(o(85707)),r=s(o(86798)),i=s(o(75972)),l=o(95605),a=o(53423),h=o(94916),c=o(95016),u=o(83644);const d=t.EDITOR_TYPE="date",g="dateEditor";class f extends a.TextEditor{constructor(){super(...arguments),(0,n.default)(this,"defaultDateFormat","DD/MM/YYYY"),(0,n.default)(this,"parentDestroyed",!1),(0,n.default)(this,"$datePicker",null)}static get EDITOR_TYPE(){return d}init(){if("function"!=typeof r.default)throw new Error("You need to include moment.js to your project.");if("function"!=typeof i.default)throw new Error("You need to include Pikaday to your project.");super.init(),this.hot.addHook("afterDestroy",(()=>{this.parentDestroyed=!0,this.destroyElements()})),this.hot.addHook("afterSetTheme",((e,t)=>{t||((0,h.removeClass)(this.datePicker,/ht-theme-.*/g),(0,h.addClass)(this.datePicker,e))}))}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,h.addClass)(this.datePicker,"htDatepickerHolder");const e=this.hot.getCurrentThemeName();(0,h.removeClass)(this.datePicker,/ht-theme-.*/g),(0,h.addClass)(this.datePicker,e),this.hot.rootDocument.body.appendChild(this.datePicker),this.eventManager.addEventListener(this.datePicker,"mousedown",(e=>{(0,h.hasClass)(e.target,"pika-day")&&this.hideDatepicker(),e.stopPropagation()}))}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");this.showDatepicker(e),super.open(),t.addShortcuts([{keys:[["ArrowLeft"]],callback:()=>{this.$datePicker.adjustDate("subtract",1)}},{keys:[["ArrowRight"]],callback:()=>{this.$datePicker.adjustDate("add",1)}},{keys:[["ArrowUp"]],callback:()=>{this.$datePicker.adjustDate("subtract",7)}},{keys:[["ArrowDown"]],callback:()=>{this.$datePicker.adjustDate("add",7)}}],{group:g})}close(){var e;this._opened=!1,null!==(e=this.$datePicker)&&void 0!==e&&e.destroy&&this.$datePicker.destroy(),this.hot._registerTimeout((()=>{const e=this.hot._getEditorManager();e.closeEditor(),this.hot.view.render(),e.prepareEditor()}));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];super.finishEditing(e,t)}showDatepicker(e){const t=this.cellProperties.dateFormat||this.defaultDateFormat,o=this.hot.view.isMouseDown(),s=!!e&&(0,u.isFunctionKey)(e.keyCode);let n;this.datePicker.style.display="block",this.$datePicker=new i.default(this.getDatePickerConfig()),"function"==typeof this.$datePicker.useMoment&&this.$datePicker.useMoment(r.default),this.$datePicker._onInputFocus=function(){},this.originalValue?(n=this.originalValue,(0,r.default)(n,t,!0).isValid()&&this.$datePicker.setMoment((0,r.default)(n,t),!0),this.getValue()!==this.originalValue&&this.setValue(this.originalValue),s||o||this.setValue("")):this.cellProperties.defaultDate?(n=this.cellProperties.defaultDate,(0,r.default)(n,t,!0).isValid()&&this.$datePicker.setMoment((0,r.default)(n,t),!0),s||o||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,c.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.keyboardInput=!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,r.default)(t).format(this.cellProperties.dateFormat||this.defaultDateFormat)),this.setValue(t),o&&o()},t.onClose=()=>{this.parentDestroyed||this.finishEditing(!1),s&&s()},t}refreshDimensions(e){var t;if(super.refreshDimensions(e),this.state!==l.EDITOR_STATE.EDITING)return;if(this.TD=this.getEditedCell(),!this.TD)return void this.hideDatepicker();const{rowIndexMapper:o,columnIndexMapper:s}=this.hot,{wtOverlays:n}=this.hot.view._wt,{wtTable:r}=null!==(t=n.getParentOverlay(this.TD))&&void 0!==t?t:this.hot.view._wt,i=o.getVisualFromRenderableIndex(r.getFirstPartiallyVisibleRow()),a=o.getVisualFromRenderableIndex(r.getLastPartiallyVisibleRow()),c=s.getVisualFromRenderableIndex(r.getFirstPartiallyVisibleColumn()),u=s.getVisualFromRenderableIndex(r.getLastPartiallyVisibleColumn());if(this.row>=i&&this.row<=a&&this.col>=c&&this.col<=u){const e=this.TD.getBoundingClientRect();this.datePickerStyle.top=`${this.hot.rootWindow.pageYOffset+e.top+(0,h.outerHeight)(this.TD)}px`;let t=this.hot.rootWindow.pageXOffset;this.hot.isRtl()?t+=e.right-(0,h.outerWidth)(this.datePicker):t+=e.left,this.datePickerStyle.left=`${t}px`}else this.hideDatepicker()}}t.DateEditor=f},48584:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(33491);t.EDITOR_TYPE=s.EDITOR_TYPE,t.DateEditor=s.DateEditor},28629:(e,t,o)=>{"use strict";t.__esModule=!0,o(14846),o(27458);var s=o(85588),n=o(29398);const r=t.EDITOR_TYPE="dropdown";class i extends s.AutocompleteEditor{static get EDITOR_TYPE(){return r}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=i,n.Hooks.getSingleton().add("beforeValidate",(function(e,t,o){const s=this.propToCol(o);if(Number.isInteger(s)){const e=this.getCellMeta(t,s);e.editor===i&&void 0===e.strict&&(e.filter=!1,e.strict=!0)}}))},73717:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(28629);t.EDITOR_TYPE=s.EDITOR_TYPE,t.DropdownEditor=s.DropdownEditor},85065:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(53423),n=o(94916),r=o(40892),i=o(95016),l=o(9528);const a="handsontableEditor",h=t.EDITOR_TYPE="handsontable";class c extends s.TextEditor{static get EDITOR_TYPE(){return h}open(){super.open();const e=this.htContainer.style;this.htEditor&&(this.htEditor.destroy(),e.width="",e.height="",e.overflow=""),"none"===e.display&&(e.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.htEditor.updateSettings({width:this.getWidth(),height:this.getHeight()}),this.refreshDimensions()}close(){this.htEditor&&(this.htEditor.rootElement.style.display="none"),this.removeHooksByKey("beforeKeyDown"),super.close()}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,themeName:this.hot.getCurrentThemeName(),afterOnCellMouseDown(e,t){const o=this.getSourceData(t.row,t.col);void 0!==o&&l.setValue(o),l.hot.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)}getHeight(){return this.htEditor.view.getTableHeight()+1}getWidth(){return this.htEditor.view.getTableWidth()}assignHooks(){this.hot.addHook("afterDestroy",(()=>{this.htEditor&&this.htEditor.destroy()})),this.hot.addHook("afterSetTheme",((e,t)=>{t||this.htEditor.useTheme(e)}))}registerShortcuts(){const e=this.hot.getShortcutManager().getContext("editor");super.registerShortcuts();const t={group:a,relativeToGroup:l.EDITOR_EDIT_GROUP,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(a)}}t.HandsontableEditor=c},27973:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(85065);t.EDITOR_TYPE=s.EDITOR_TYPE,t.HandsontableEditor=s.HandsontableEditor},39004:(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)(c.PasswordEditor),(0,f.registerEditor)(u.SelectEditor),(0,f.registerEditor)(d.TextEditor),(0,f.registerEditor)(g.TimeEditor)};var s=o(85588);t.AutocompleteEditor=s.AutocompleteEditor,t.AUTOCOMPLETE_EDITOR=s.EDITOR_TYPE;var n=o(95605);t.BaseEditor=n.BaseEditor,t.BASE_EDITOR=n.EDITOR_TYPE;var r=o(60213);t.CheckboxEditor=r.CheckboxEditor,t.CHECKBOX_EDITOR=r.EDITOR_TYPE;var i=o(48584);t.DateEditor=i.DateEditor,t.DATE_EDITOR=i.EDITOR_TYPE;var l=o(73717);t.DropdownEditor=l.DropdownEditor,t.DROPDOWN_EDITOR=l.EDITOR_TYPE;var a=o(27973);t.HandsontableEditor=a.HandsontableEditor,t.HANDSONTABLE_EDITOR=a.EDITOR_TYPE;var h=o(67045);t.NumericEditor=h.NumericEditor,t.NUMERIC_EDITOR=h.EDITOR_TYPE;var c=o(75669);t.PasswordEditor=c.PasswordEditor,t.PASSWORD_EDITOR=c.EDITOR_TYPE;var u=o(31572);t.SelectEditor=u.SelectEditor,t.SELECT_EDITOR=u.EDITOR_TYPE;var d=o(53423);t.TextEditor=d.TextEditor,t.TEXT_EDITOR=d.EDITOR_TYPE;var g=o(3833);t.TimeEditor=g.TimeEditor,t.TIME_EDITOR=g.EDITOR_TYPE;var f=o(45973);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},67045:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(73971);t.EDITOR_TYPE=s.EDITOR_TYPE,t.NumericEditor=s.NumericEditor},73971:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(53423);const n=t.EDITOR_TYPE="numeric";class r extends s.TextEditor{static get EDITOR_TYPE(){return n}}t.NumericEditor=r},75669:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(64137);t.EDITOR_TYPE=s.EDITOR_TYPE,t.PasswordEditor=s.PasswordEditor},64137:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(85707)),r=o(53423),i=o(64144),l=o(94916);const a=t.EDITOR_TYPE="password";class h extends r.TextEditor{constructor(){super(...arguments),(0,n.default)(this,"autoResize",(0,i.createInputElementResizer)(this.hot.rootDocument,{textContent:e=>"•".repeat(e.value.length)}))}static get EDITOR_TYPE(){return a}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,l.empty)(this.TEXTAREA_PARENT),this.TEXTAREA_PARENT.appendChild(this.TEXTAREA)}}t.PasswordEditor=h},45973:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,t.RegisteredEditor=d,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(67834);var n=o(29398),r=s(o(29328));const i=new WeakMap,{register:l,getItem:a,hasItem:h,getNames:c,getValues:u}=(0,r.default)("editors");function d(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.Hooks.getSingleton().add("afterDestroy",(function(){t[this.guid]=null}))}function g(e,t){e&&"string"!=typeof e&&(e=(t=e).EDITOR_TYPE);const o=new d(t);"string"==typeof e&&l(e,o),i.set(t,o)}t.getRegisteredEditors=u,t.getRegisteredEditorNames=c,t.hasEditor=h},31572:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(7539);t.EDITOR_TYPE=s.EDITOR_TYPE,t.SelectEditor=s.SelectEditor},7539:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(95605),n=o(94916),r=o(95016),i=o(45551);const l="ht_editor_visible",a="selectEditor",h=t.EDITOR_TYPE="select";class c extends s.BaseEditor{static get EDITOR_TYPE(){return h}init(){this.selectWrapper=this.hot.rootDocument.createElement("div"),this.select=this.hot.rootDocument.createElement("select"),this.select.setAttribute("data-hot-input","true"),this.selectWrapper.style.display="none";const e=this.hot.rootDocument.createElement("DIV"),t=this.hot.getSettings().ariaTags;e.className="htAutocompleteArrow",t&&e.setAttribute(...(0,i.A11Y_HIDDEN)()),e.appendChild(this.hot.rootDocument.createTextNode(String.fromCharCode(9660))),(0,n.addClass)(this.selectWrapper,"htSelectEditor"),this.selectWrapper.appendChild(this.select),this.selectWrapper.insertBefore(e,this.selectWrapper.firstChild),this.hot.rootElement.appendChild(this.selectWrapper),this.registerHooks()}getValue(){return this.select.value}setValue(e){this.select.value=e}open(){this._opened=!0,this.refreshDimensions(),this.selectWrapper.style.display="";this.hot.getShortcutManager().setActiveContextName("editor"),this.registerShortcuts()}close(){this._opened=!1,this.selectWrapper.style.display="none",(0,n.hasClass)(this.selectWrapper,l)&&(0,n.removeClass)(this.selectWrapper,l),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(),i=this.selectWrapper.style;i.height=`${r}px`,i.width=`${o}px`,i.top=`${e}px`,i[this.hot.isRtl()?"right":"left"]=`${t}px`,i.margin="0px",(0,n.addClass)(this.selectWrapper,l)}registerShortcuts(){const e=this.hot.getShortcutManager().getContext("editor"),t={group:a};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(a)}}t.SelectEditor=c},23212:(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(94916)},53423:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(63417);t.EDITOR_TYPE=s.EDITOR_TYPE,t.TextEditor=s.TextEditor},63417:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(85707)),r=o(95605),i=s(o(12370)),l=o(99275),a=o(94916),h=o(36926),c=o(64144),u=o(95768),d=o(23212),g=o(45551);const f="ht_editor_hidden",p="textEditor",m=t.EDITOR_TYPE="text";class w extends r.BaseEditor{static get EDITOR_TYPE(){return m}constructor(e){super(e),(0,n.default)(this,"eventManager",new i.default(this)),(0,n.default)(this,"autoResize",(0,c.createInputElementResizer)(this.hot.rootDocument)),(0,n.default)(this,"TEXTAREA",void 0),(0,n.default)(this,"textareaStyle",void 0),(0,n.default)(this,"TEXTAREA_PARENT",void 0),(0,n.default)(this,"textareaParentStyle",void 0),(0,n.default)(this,"layerClass",void 0),this.eventManager=new i.default(this),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.registerShortcuts()}close(){this.autoResize.unObserve(),(0,a.isThisHotChild)(this.hot.rootDocument.activeElement,this.hot.rootElement)&&this.hot.listen(),this.hideEditableElement(),this.unregisterShortcuts()}prepare(e,t,o,s,n,i){const l=this.state;if(super.prepare(e,t,o,s,n,i),!i.readOnly){this.refreshDimensions(!0);const{allowInvalid:e}=i;e&&!this.isOpened()&&(this.TEXTAREA.value=""),l===r.EDITOR_STATE.FINISHED||this.isOpened()||this.hideEditableElement()}}beginEditing(e,t){this.state===r.EDITOR_STATE.VIRGIN&&(this.TEXTAREA.value="",super.beginEditing(e,t))}focus(){this.TEXTAREA.select(),(0,a.setCaretPosition)(this.TEXTAREA,this.TEXTAREA.value.length)}createElements(){const{rootDocument:e}=this.hot;this.TEXTAREA=e.createElement("TEXTAREA"),(0,a.setAttribute)(this.TEXTAREA,[["data-hot-input",""],(0,g.A11Y_TABINDEX)(-1)]),(0,a.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,a.addClass)(this.TEXTAREA_PARENT,"handsontableInputHolder"),(0,a.hasClass)(this.TEXTAREA_PARENT,this.layerClass)&&(0,a.removeClass)(this.TEXTAREA_PARENT,this.layerClass),(0,a.addClass)(this.TEXTAREA_PARENT,f),this.textareaParentStyle=this.TEXTAREA_PARENT.style,this.TEXTAREA_PARENT.appendChild(this.TEXTAREA),this.hot.rootElement.appendChild(this.TEXTAREA_PARENT)}hideEditableElement(){(0,l.isEdge)()&&(this.textareaStyle.textIndent="-99999px"),this.textareaStyle.overflowY="visible",this.textareaParentStyle.opacity="0",this.textareaParentStyle.height="1px",(0,a.removeClass)(this.TEXTAREA_PARENT,this.layerClass),(0,a.addClass)(this.TEXTAREA_PARENT,f)}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="";const e=this.TEXTAREA_PARENT.childNodes;let t=!1;(0,h.rangeEach)(e.length-1,(o=>{const s=e[o];if((0,a.hasClass)(s,"handsontableEditor"))return t=!0,!1})),(0,a.hasClass)(this.TEXTAREA_PARENT,f)&&(0,a.removeClass)(this.TEXTAREA_PARENT,f),t?(this.layerClass="ht_editor_visible",(0,a.addClass)(this.TEXTAREA_PARENT,this.layerClass)):(this.layerClass=this.getEditedCellsLayerClass(),(0,a.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!==r.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:n,height:i,maxHeight:l}=this.getEditedCellRect();this.textareaParentStyle.top=`${t}px`,this.textareaParentStyle[this.hot.isRtl()?"right":"left"]=`${o}px`,this.showEditableElement();const a=this.hot.rootWindow.getComputedStyle(this.TD);this.TEXTAREA.style.fontSize=a.fontSize,this.TEXTAREA.style.fontFamily=a.fontFamily,this.TEXTAREA.style.backgroundColor=this.TD.style.backgroundColor,this.autoResize.init(this.TEXTAREA,{minWidth:Math.min(s,n),minHeight:Math.min(i,l),maxWidth:n,maxHeight:l},!0)}bindEvents(){(0,l.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===r.EDITOR_STATE.EDITING&&this.focus()})),this.addHook("afterRowResize",(()=>{this.refreshDimensions(),this.state===r.EDITOR_STATE.EDITING&&this.focus()}))}allowKeyEventPropagation(){}destroy(){this.eventManager.destroy(),this.clearHooks()}registerShortcuts(){const e=this.hot.getShortcutManager().getContext("editor"),t={runOnlyIf:()=>(0,u.isDefined)(this.hot.getSelected()),group:p},o=()=>{this.hot.rootDocument.execCommand("insertText",!1,"\n")};e.addShortcuts([{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:[["Home"]],callback:(e,t)=>{let[o]=t;(0,d.updateCaretPosition)(o,this.TEXTAREA)}},{keys:[["End"]],callback:(e,t)=>{let[o]=t;(0,d.updateCaretPosition)(o,this.TEXTAREA)}}],t)}unregisterShortcuts(){this.hot.getShortcutManager().getContext("editor").removeShortcutsByGroup(p)}}t.TextEditor=w},3833:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(27969);t.EDITOR_TYPE=s.EDITOR_TYPE,t.TimeEditor=s.TimeEditor},27969:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(53423);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},12370:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,t.getListenersCounter=function(){return i},o(15724);var n=s(o(85707)),r=o(40892);let i=0;t.default=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;(0,n.default)(this,"context",void 0),this.context=e||this,this.context.eventListeners||(this.context.eventListeners=[])}addEventListener(e,t,o){let s=arguments.length>3&&void 0!==arguments[3]&&arguments[3];function n(e){o.call(this,function(e){const t=e.stopImmediatePropagation;return e.stopImmediatePropagation=function(){t.apply(this),(0,r.stopImmediatePropagation)(this)},e}(e))}return this.context.eventListeners.push({element:e,event:t,callback:o,callbackProxy:n,options:s,eventManager:this}),e.addEventListener(t,n,s),i+=1,()=>{this.removeEventListener(e,t,o)}}removeEventListener(e,t,o){let s,n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=this.context.eventListeners.length;for(;r;)if(r-=1,s=this.context.eventListeners[r],s.event===t&&s.element===e){if(o&&o!==s.callback)continue;if(n&&s.eventManager!==this)continue;this.context.eventListeners.splice(r,1),s.element.removeEventListener(s.event,s.callbackProxy,s.options),i-=1}}clearEvents(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!this.context)return;let t=this.context.eventListeners.length;for(;t;){t-=1;const o=this.context.eventListeners[t];e&&o.eventManager!==this||(this.context.eventListeners.splice(t,1),o.element.removeEventListener(o.event,o.callbackProxy,o.options),i-=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)}}},94810:(e,t,o)=>{"use strict";t.__esModule=!0,o(67834);var s=o(59350),n=o(94916),r=o(77515);function i(e,t,o){l(e,t),t.set(e,o)}function l(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function a(e,t){return e.get(c(e,t))}function h(e,t,o){return e.set(c(e,t),o),o}function c(e,t,o){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:o;throw new TypeError("Private element is not present on this object")}const u=Object.freeze({CELL:"cell",MIXED:"mixed"});var d=new WeakMap,g=new WeakMap,f=new WeakMap,p=new WeakMap,m=new WeakMap,w=new WeakSet;function C(e){var t;const o=null===(t=a(d,this).getSelectedRangeLast())||void 0===t?void 0:t.highlight;if(!o||!a(d,this).selection.isCellVisible(o))return void e(null);const s=a(d,this).getCell(o.row,o.col,!0);null===s?a(d,this).addHookOnce("afterScroll",(()=>{e(a(d,this).getCell(o.row,o.col,!0))})):e(s)}function v(){c(w,this,C).call(this,(e=>{const{activeElement:t}=a(d,this).rootDocument;t&&(0,n.isOutsideInput)(t)&&t.blur(),this.focusOnHighlightedCell(e)}))}function y(){c(w,this,C).call(this,(e=>{this.getFocusMode()===u.MIXED&&"TD"===e.nodeName&&this.refocusToEditorTextarea()}))}function E(e){"boolean"==typeof e.imeFastEdit&&this.setFocusMode(e.imeFastEdit?u.MIXED:u.CELL)}t.FocusManager=class{constructor(e){var t,o,s=this;l(t=this,o=w),o.add(t),i(this,d,void 0),i(this,g,void 0),i(this,f,1),i(this,p,null),i(this,m,new Map);const n=e.getSettings();h(d,this,e),h(g,this,n.imeFastEdit?u.MIXED:u.CELL),a(d,this).addHook("afterUpdateSettings",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return c(w,s,E).call(s,...t)})),a(d,this).addHook("afterSelection",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return c(w,s,v).call(s,...t)})),a(d,this).addHook("afterSelectionFocusSet",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return c(w,s,v).call(s,...t)})),a(d,this).addHook("afterSelectionEnd",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return c(w,s,y).call(s,...t)}))}getFocusMode(){return a(g,this)}setFocusMode(e){Object.values(u).includes(e)?h(g,this,e):(0,s.warn)(`"${e}" is not a valid focus mode.`)}getRefocusDelay(){return a(f,this)}setRefocusDelay(e){h(f,this,e)}setRefocusElementGetter(e){h(p,this,e)}getRefocusElement(){var e;return"function"==typeof a(p,this)?a(p,this).call(this):null===(e=a(d,this).getActiveEditor())||void 0===e?void 0:e.TEXTAREA}focusOnHighlightedCell(e){const t=e=>{var t,o;const s=null===(t=a(d,this).getSelectedRangeLast())||void 0===t?void 0:t.highlight;if(!s)return;let n=a(d,this).runHooks("modifyFocusedElement",s.row,s.col,e);n instanceof HTMLElement||(n=e),!n||null!==(o=a(d,this).getActiveEditor())&&void 0!==o&&o.isOpened()||n.focus({preventScroll:!0})};e?t(e):c(w,this,C).call(this,(e=>t(e)))}refocusToEditorTextarea(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a(f,this);!a(d,this).getSettings().imeFastEdit||null!==(e=a(d,this).getActiveEditor())&&void 0!==e&&e.isOpened()||(a(m,this).has(t)||a(m,this).set(t,(0,r.debounce)((()=>{var e;null===(e=this.getRefocusElement())||void 0===e||e.select()}),t)),a(m,this).get(t)())}}},45551:(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_ROWGROUP=()=>["role","rowgroup"];t.A11Y_COLUMNHEADER=()=>["role","columnheader"];t.A11Y_ROW=()=>["role","row"];t.A11Y_MENU=()=>["role","menu"];t.A11Y_MENU_ITEM=()=>["role","menuitem"];t.A11Y_MENU_ITEM_CHECKBOX=()=>["role","menuitemcheckbox"];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_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]},47154:(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(15724),o(71336),o(41558),o(17663),o(68630),o(79645),o(89858),o(8620),o(14846),o(27458)},99275:(e,t,o)=>{"use strict";t.__esModule=!0,t.isChrome=function(){return i.chrome.value},t.isChromeWebKit=function(){return i.chromeWebKit.value},t.isEdge=function(){return i.edge.value},t.isEdgeWebKit=function(){return i.edgeWebKit.value},t.isFirefox=function(){return i.firefox.value},t.isFirefoxWebKit=function(){return i.firefoxWebKit.value},t.isIOS=function(){return l.ios.value},t.isIpadOS=function(){let{maxTouchPoints:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:navigator;return e>2&&l.mac.value},t.isLinuxOS=function(){return l.linux.value},t.isMacOS=function(){return l.mac.value},t.isMobileBrowser=function(){return i.mobile.value},t.isSafari=function(){return i.safari.value},t.isWindowsOS=function(){return l.win.value},t.setBrowserMeta=a,t.setPlatformMeta=h;var s=o(95016),n=o(37725);const r=e=>{const t={value:!1,test:(o,s)=>{t.value=e(o,s)}};return t},i={chrome:r(((e,t)=>/Chrome/.test(e)&&/Google/.test(t))),chromeWebKit:r((e=>/CriOS/.test(e))),edge:r((e=>/Edge/.test(e))),edgeWebKit:r((e=>/EdgiOS/.test(e))),firefox:r((e=>/Firefox/.test(e))),firefoxWebKit:r((e=>/FxiOS/.test(e))),mobile:r((e=>/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(e))),safari:r(((e,t)=>/Safari/.test(e)&&/Apple Computer/.test(t)))},l={mac:r((e=>/^Mac/.test(e))),win:r((e=>/^Win/.test(e))),linux:r((e=>/^Linux/.test(e))),ios:r((e=>/iPhone|iPad|iPod/i.test(e)))};function a(){let{userAgent:e=navigator.userAgent,vendor:t=navigator.vendor}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,s.objectEach)(i,(o=>{let{test:s}=o;s(e,t)}))}function h(){let{platform:e=navigator.platform}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,s.objectEach)(l,(t=>{let{test:o}=t;o(e)}))}(0,n.isCSR)()&&(a(),h())},59350:(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(95768)},42379:(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(15724),o(14846),o(63333),o(69655);var s=o(95016);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}},96431:(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}},94916:(e,t,o)=>{"use strict";t.__esModule=!0,t.addClass=h,t.addEvent=function(e,t,o){e.addEventListener(t,o,!1)},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=d,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.findFirstParentWithClass=function(e,t){const o={element:void 0,classNames:[]};let s=e;for(;null!==s&&s!==e.ownerDocument.documentElement&&!o.element;){if("string"==typeof t&&s.classList.contains(t))o.element=s,o.classNames.push(t);else if(t instanceof RegExp){const e=Array.from(s.classList).filter((e=>t.test(e)));e.length&&(o.element=s,o.classNames.push(...e))}s=s.parentElement}return o},t.getCaretPosition=function(e){if(e.selectionStart)return e.selectionStart;return 0},t.getCssTransform=function(e){let t;if(e.style.transform&&""!==(t=e.style.transform))return["transform",t];return-1},t.getFrameElement=r,t.getMaximumScrollLeft=function(e){return e.scrollWidth-e.clientWidth},t.getMaximumScrollTop=function(e){return e.scrollHeight-e.clientHeight},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=o.getComputedStyle(e);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=o.getComputedStyle(s),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=C,t.isOutsideInput=v,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,s=t.ownerDocument.defaultView;let n=t;for(;n!==o;){if(null===n)return!1;if(n.nodeType===Node.DOCUMENT_FRAGMENT_NODE){if(n.host){if(n.host.impl)return e(n.host.impl);if(n.host)return e(n.host);throw new Error("Lost in Web Components world")}return!1}if("none"===s.getComputedStyle(n).display)return!1;n=n.parentNode}return!0},t.makeElementContentEditableAndSelectItsContent=y,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=c,t.removeContentEditableFromElementAndDeselect=E,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];y(e,o),t(),E(e,o)},t.selectElementIfAllowed=function(e){v(e.ownerDocument.activeElement)||e.select()},t.setAttribute=u,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(67834),o(15724),o(14846),o(27458),o(69655);var s=o(83414),n=o(45551);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 c(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 u(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 d(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:(d(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}let w;function C(e){return e&&(["INPUT","SELECT","TEXTAREA"].indexOf(e.nodeName)>-1||"true"===e.contentEditable)}function v(e){return C(e)&&!1===e.hasAttribute("data-hot-input")}function y(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();u(e,"contenteditable",!0),o&&u(e,...(0,n.A11Y_HIDDEN)()),t&&h(e,"invisibleSelection"),r.selectNodeContents(e),i.removeAllRanges(),i.addRange(r)}function E(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&&c(e,"invisibleSelection"),e.removeAttribute("contenteditable")}},40892:(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.isTouchEvent=function(e){return e instanceof TouchEvent},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}},37725:(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.isCSR=function(){return"undefined"!=typeof window},t.isTouchSupported=function(){return"ontouchstart"in window},t.requestAnimationFrame=function(e){return window.requestAnimationFrame(e)}},77515:(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(47154),n=o(95768);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 c=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}),c)),s}}},95768:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,t._injectProductInfo=function(e,t){const o=!l(e),s="string"==typeof e&&"non-commercial-and-evaluation"===e.toLowerCase(),r="15.0.0-next-c7f1716-20241209";let i,v="invalid",y="invalid";const E=function(e){let t=[][a],o=t;if(e[a]!==d("Z"))return!1;for(let t="",s="B<H4P+".split(""),n=d(s.shift());n;n=d(s.shift()||"A"))--n<""[a]?o|=(c(`${c(h(t)+(h(u(e,Math.abs(n),2))+[]).padStart(2,"0"))}`)%97||2)>>1:t=u(e,n,n?1===s[a]?9:8:6);return o===t}(e=g(e||""));if(o||s||E)if(E){const t=(0,n.default)("11/12/2024","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?(v="expired",y="expired"):(v="valid",y="valid")}else s?(v="non_commercial",y="valid"):(v="invalid",y="invalid");else v="missing",y="missing";p()&&(v="valid",y="valid");if(!m&&"valid"!==v){w[v]({keyValidityDate:i,hotVersion:r})&&console["non_commercial"===v?"info":"warn"](w[v]({keyValidityDate:i,hotVersion:r})),m=!0}if("valid"!==y&&t.parentNode){if(C[y]({keyValidityDate:i,hotVersion:r})){const e=document.createElement("div");e.className="handsontable hot-display-license-info",e.innerHTML=C[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(86798)),r=o(20944);function i(e){return void 0===e}function l(e){return null===e||""===e||i(e)}const a="length",h=e=>parseInt(e,16),c=e=>parseInt(e,10),u=(e,t,o)=>e.substr(t,o),d=e=>e.codePointAt(0)-65,g=e=>`${e}`.replace(/\-/g,""),f=e=>h(u(g(e),h("12"),d("F")))/(h(u(g(e),d("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 w={invalid:()=>r.toSingleLine`
37
+ learn about the migration path.`;class g{constructor(){(0,n.default)(this,"globalBucket",new u.HooksBucket)}static getSingleton(){return f}getBucket(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return e?(e.pluginHookBucket||(e.pluginHookBucket=new u.HooksBucket),e.pluginHookBucket):this.globalBucket}add(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,s=arguments.length>3?arguments[3]:void 0;return Array.isArray(t)?(0,r.arrayEach)(t,(t=>this.add(e,t,o))):(c.REMOVED_HOOKS.has(e)&&(0,l.warn)((0,i.substitute)(d,{hookName:e,removedInVersion:c.REMOVED_HOOKS.get(e)})),c.DEPRECATED_HOOKS.has(e)&&(0,l.warn)(c.DEPRECATED_HOOKS.get(e)),this.getBucket(o).add(e,t,{orderIndex:s,runOnce:!1})),this}once(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,s=arguments.length>3?arguments[3]:void 0;return Array.isArray(t)?(0,r.arrayEach)(t,(t=>this.once(e,t,o))):this.getBucket(o).add(e,t,{orderIndex:s,runOnce:!0}),this}addAsFixed(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return Array.isArray(t)?(0,r.arrayEach)(t,(t=>this.addAsFixed(e,t,o))):this.getBucket(o).add(e,t,{initialHook:!0}),this}remove(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return this.getBucket(o).remove(e,t)}has(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return this.getBucket(t).has(e)}run(e,t,o,s,n,r,i,l){{const a=this.getBucket().getHooks(t),c=a?a.length:0;let u=0;if(c)for(;u<c;){if(!a[u]||a[u].skip){u+=1;continue}const c=(0,h.fastCall)(a[u].callback,e,o,s,n,r,i,l);void 0!==c&&(o=c),a[u]&&a[u].runOnce&&this.remove(t,a[u].callback),u+=1}}{const a=this.getBucket(e).getHooks(t),c=a?a.length:0;let u=0;if(c)for(;u<c;){if(!a[u]||a[u].skip){u+=1;continue}const c=(0,h.fastCall)(a[u].callback,e,o,s,n,r,i,l);void 0!==c&&(o=c),a[u]&&a[u].runOnce&&this.remove(t,a[u].callback,e),u+=1}}return o}destroy(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.getBucket(e).destroy()}register(e){this.isRegistered(e)||c.REGISTERED_HOOKS.push(e)}deregister(e){this.isRegistered(e)&&c.REGISTERED_HOOKS.splice(c.REGISTERED_HOOKS.indexOf(e),1)}isDeprecated(e){return c.DEPRECATED_HOOKS.has(e)||c.REMOVED_HOOKS.has(e)}isRegistered(e){return c.REGISTERED_HOOKS.indexOf(e)>=0}getRegistered(){return c.REGISTERED_HOOKS}}t.Hooks=g;const f=new g;t.default=g},18393:(e,t,o)=>{"use strict";o(14846),o(69655),t.__esModule=!0;var s=o(69998);Object.keys(s).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===s[e]||(t[e]=s[e]))}));var n=o(82837);Object.keys(n).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===n[e]||(t[e]=n[e]))}))},82837:(e,t,o)=>{"use strict";t.__esModule=!0,t.createViewportScroller=function(e){const{selection:t}=e;let o=!1,c=!1;return{resume(){c=!1},suspend(){c=!0},skipNextScrollCycle(){o=!0},scrollTo(u){var d;if(o||c)return void(o=!1);let g;t.isFocusSelectionChanged()?g=(0,r.focusScrollStrategy)(e):t.isSelectedByCorner()?g=(0,n.cornerHeaderScrollStrategy)(e):t.isSelectedByRowHeader()?g=(0,a.rowHeaderScrollStrategy)(e):t.isSelectedByColumnHeader()?g=(0,s.columnHeaderScrollStrategy)(e):1===t.getSelectedRange().size()&&t.isMultiple()?g=(0,i.multipleScrollStrategy)(e):1!==t.getSelectedRange().size()||t.isMultiple()?t.getSelectedRange().size()>1&&(g=(0,l.noncontiguousScrollStrategy)(e)):g=(0,h.singleScrollStrategy)(e),null===(d=g)||void 0===d||d(u)}}};var s=o(77474),n=o(51761),r=o(71071),i=o(83525),l=o(13772),a=o(52834),h=o(47537)},77474:(e,t)=>{"use strict";t.__esModule=!0,t.columnHeaderScrollStrategy=function(e){return t=>{let{col:o}=t;e.scrollViewportTo({col:o})}}},51761:(e,t)=>{"use strict";t.__esModule=!0,t.cornerHeaderScrollStrategy=function(){return()=>{}}},71071:(e,t)=>{"use strict";t.__esModule=!0,t.focusScrollStrategy=function(e){return t=>{e.scrollViewportTo(t.toObject())}}},83525:(e,t)=>{"use strict";t.__esModule=!0,t.multipleScrollStrategy=function(e){return t=>{e.scrollViewportTo(t.toObject())}}},13772:(e,t)=>{"use strict";t.__esModule=!0,t.noncontiguousScrollStrategy=function(e){return t=>{e.scrollViewportTo(t.toObject())}}},52834:(e,t)=>{"use strict";t.__esModule=!0,t.rowHeaderScrollStrategy=function(e){return t=>{let{row:o}=t;e.scrollViewportTo({row:o})}}},47537:(e,t)=>{"use strict";t.__esModule=!0,t.singleScrollStrategy=function(e){return t=>{const o=e.selection.getSelectionSource(),{row:s,col:n}=t;if(s<0&&n>=0)e.scrollViewportTo({col:n});else if(n<0&&s>=0)e.scrollViewportTo({row:s});else{if("mouse"===o&&(n===e.view.getLastPartiallyVisibleColumn()||s===e.view.getLastPartiallyVisibleRow()))return;e.scrollViewportTo({row:s,col:n})}}}},22410:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(67834),o(15724),o(14846),o(27458),o(69655);var n=s(o(85707)),r=o(74961),i=o(42379),l=o(95016),a=o(47154),h=o(36926),c=o(95768);class u{static get DESTINATION_RENDERER(){return 1}static get DESTINATION_CLIPBOARD_GENERATOR(){return 2}constructor(e,t,o){(0,n.default)(this,"hot",void 0),(0,n.default)(this,"metaManager",void 0),(0,n.default)(this,"tableMeta",void 0),(0,n.default)(this,"dataSource",void 0),(0,n.default)(this,"duckSchema",void 0),(0,n.default)(this,"colToPropCache",void 0),(0,n.default)(this,"propToColCache",void 0),this.hot=e,this.metaManager=o,this.tableMeta=o.getTableMeta(),this.dataSource=t,this.duckSchema=this.createDuckSchema(),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,r=!1;if("function"==typeof t){const t=(0,l.deepObjectSize)(e);s=t>0?t:this.countFirstRowKeys(),r=!0}else{const e=this.tableMeta.maxCols;s=Math.min(e,t.length)}for(o=0;o<s;o++){const e=r?t(o):t[o];if((0,l.isObject)(e)){if(void 0!==e.data){const t=r?n:o;this.colToPropCache[t]=e.data,this.propToColCache.set(e.data,t)}n+=1}}}else this.recursiveDuckColumns(e)}countFirstRowKeys(){return(0,i.countFirstRowKeys)(this.dataSource)}recursiveDuckColumns(e,t,o){let s,n=t,r=o;return void 0===n&&(n=0,r=""),"object"!=typeof e||Array.isArray(e)||(0,l.objectEach)(e,((e,t)=>{null===e?(s=r+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.hot.toPhysicalColumn(e);return null===t?e:this.colToPropCache&&(0,c.isDefined)(this.colToPropCache[t])?this.colToPropCache[t]:t}propToCol(e){const t=this.propToColCache.get(e);if((0,c.isDefined)(t))return this.hot.toVisualColumn(t);const o=this.hot.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,l.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.hot.countSourceRows();let r=n,i=0,a=e;("number"!=typeof a||a>=n)&&(a=n),a<this.hot.countRows()&&(r=this.hot.toPhysicalRow(a));if(!1===this.hot.runHooks("beforeCreateRow",a,t,o)||null===r)return{delta:0};const c=this.tableMeta.maxRows,u=this.getSchema().length,d=[];for(;i<t&&n+i<c;){let e=null;"array"===this.hot.dataType?this.tableMeta.dataSchema?e=(0,l.deepClone)(this.getSchema()):(e=[],(0,h.rangeEach)(u-1,(()=>e.push(null)))):"function"===this.hot.dataType?e=this.tableMeta.dataSchema(a+i):(e={},(0,l.deepExtend)(e,this.getSchema())),d.push(e),i+=1}this.hot.rowIndexMapper.insertIndexes(a,i),"below"===s&&(r=Math.min(r+1,n)),this.spliceData(r,0,d);const g=this.hot.toVisualRow(r);return this.hot.countSourceRows()===d.length&&this.hot.columnIndexMapper.initToLength(this.hot.getInitialColumnCount()),i>0&&(null==e?this.metaManager.createRow(null,i):"auto"!==o&&this.metaManager.createRow(r,t)),this.hot.runHooks("afterCreateRow",g,i,o),this.hot.forceFullRender=!0,{delta:i,startPhysicalIndex:r}}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.hot.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.hot.countSourceCols();let l=e;("number"!=typeof l||l>=i)&&(l=i);if(!1===this.hot.runHooks("beforeCreateCol",l,t,o))return{delta:0};let a=i;l<this.hot.countCols()&&(a=this.hot.toPhysicalColumn(l));const h=this.hot.countSourceRows();let c=this.hot.countCols(),u=0,d=a;"end"===s&&(d=Math.min(d+1,i));const g=d;for(;u<t&&c<r;){if("number"!=typeof l||l>=c)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(d,0,null);u+=1,d+=1,c+=1}this.hot.columnIndexMapper.insertIndexes(l,u),u>0&&(null==e?this.metaManager.createColumn(null,u):"auto"!==o&&this.metaManager.createColumn(g,t));const f=this.hot.toVisualColumn(g);return this.hot.runHooks("afterCreateCol",f,u,o),this.hot.forceFullRender=!0,this.refreshDuckSchema(),{delta:u,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.hot.countSourceRows();s=(r+s)%r;if(!1===this.hot.runHooks("beforeRemoveRow",s,n.length,n,o))return!1;const i=n.length;if(this.filterData(s,i,n),s<this.hot.countRows()){this.hot.rowIndexMapper.removeIndexes(n);const e=(0,c.isDefined)(this.tableMeta.columns)||(0,c.isDefined)(this.tableMeta.dataSchema);0===this.hot.rowIndexMapper.getNotTrimmedIndexesLength()&&!1===e&&this.hot.columnIndexMapper.setIndexesSequence([])}return n.slice(0).sort(((e,t)=>t-e)).forEach((e=>{this.metaManager.removeRow(e,1)})),this.hot.runHooks("afterRemoveRow",s,i,n,o),this.hot.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.hot.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.hot.countCols()+s)%this.hot.countCols();const n=this.visualColumnsToPhysical(s,t),r=n.slice(0).sort(((e,t)=>t-e));if(!1===this.hot.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.hot.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.hot.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.hot.countCols()&&(this.hot.columnIndexMapper.removeIndexes(n),0===this.hot.columnIndexMapper.getNotTrimmedIndexesLength()&&this.hot.rowIndexMapper.setIndexesSequence([])),this.hot.runHooks("afterRemoveCol",s,t,n,o),this.hot.forceFullRender=!0,this.refreshDuckSchema(),!0}spliceCol(e,t,o){const s=this.hot.getDataAtCol(e),n=s.slice(t,t+o),r=s.slice(t+o);for(var i=arguments.length,l=new Array(i>3?i-3:0),h=3;h<i;h++)l[h-3]=arguments[h];(0,a.extendArray)(l,r);let c=0;for(;c<o;)l.push(null),c+=1;return(0,a.to2dArray)(l),this.hot.populateFromArray(t,e,l,null,null,"spliceCol"),n}spliceRow(e,t,o){const s=this.hot.getSourceDataAtRow(e),n=s.slice(t,t+o),r=s.slice(t+o);for(var i=arguments.length,l=new Array(i>3?i-3:0),h=3;h<i;h++)l[h-3]=arguments[h];(0,a.extendArray)(l,r);let c=0;for(;c<o;)l.push(null),c+=1;return this.hot.populateFromArray(e,t,[l],null,null,"spliceRow"),n}spliceData(e,t,o){if(!1!==this.hot.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.hot.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.hot.toPhysicalRow(e);let s=this.dataSource[o];const n=this.hot.runHooks("modifyRowData",o);s=isNaN(n)?n:s;const{dataDotNotation:r}=this.hot.getSettings();let i=null;if(s&&s.hasOwnProperty&&(0,l.hasOwnProperty)(s,t))i=s[t];else if(r&&"string"==typeof t&&t.indexOf(".")>-1){let e=s;if(!e)return null;const o=t.split(".");for(let t=0,s=o.length;t<s;t++)if(e=e[o[t]],void 0===e)return null;i=e}else"function"==typeof t&&(i=t(this.dataSource.slice(o,o+1)[0]));if(this.hot.hasHook("modifyData")){const e=(0,l.createObjectPropListener)(i);this.hot.runHooks("modifyData",o,this.propToCol(t),e,"get"),e.isTouched()&&(i=e.value)}return i}getCopyable(e,t){return this.hot.getCellMeta(e,this.propToCol(t)).copyable?this.get(e,t):""}set(e,t,o){const s=this.hot.toPhysicalRow(e);let n=o,r=this.dataSource[s];const i=this.hot.runHooks("modifyRowData",s);if(r=isNaN(i)?i:r,this.hot.hasHook("modifyData")){const e=(0,l.createObjectPropListener)(n);this.hot.runHooks("modifyData",s,this.propToCol(t),e,"set"),e.isTouched()&&(n=e.value)}const{dataDotNotation:a}=this.hot.getSettings();if(r&&r.hasOwnProperty&&(0,l.hasOwnProperty)(r,t))r[t]=n;else if(a&&"string"==typeof t&&t.indexOf(".")>-1){let e,o=r,s=0;const i=t.split(".");for(s=0,e=i.length-1;s<e;s++)void 0===o[i[s]]&&(o[i[s]]={}),o=o[i[s]];o[i[s]]=n}else"function"==typeof t?t(this.dataSource.slice(s,s+1)[0],n):r[t]=n}visualRowsToPhysical(e,t){const o=this.hot.countSourceRows(),s=[];let n,r=(o+e)%o,i=t;for(;r<o&&i;)n=this.hot.toPhysicalRow(r),s.push(n),i-=1,r+=1;return s}visualColumnsToPhysical(e,t){const o=this.hot.countCols(),s=[];let n=(o+e)%o,r=t;for(;n<o&&r;){const e=this.hot.toPhysicalColumn(n);s.push(e),r-=1,n+=1}return s}clear(){for(let e=0;e<this.hot.countSourceRows();e++)for(let t=0;t<this.hot.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.hot.rowIndexMapper.getNotTrimmedIndexesLength();return Math.min(o,t)}getAll(){const e={row:0,col:0},t={row:Math.max(this.hot.countRows()-1,0),col:Math.max(this.hot.countCols()-1,0)};return e.row-t.row!=0||this.hot.countSourceRows()?this.getRange(e,t,u.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 h=o===u.DESTINATION_CLIPBOARD_GENERATOR?this.getCopyable:this.get,c=Math.min(Math.max(l-1,0),Math.max(e.row,t.row)),d=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.hot.toPhysicalRow(n):n;for(r=Math.min(e.col,t.col);r<=d&&null!==o;r++)i.push(h.call(this,n,this.colToProp(r)));null!==o&&s.push(i)}return s}getText(e,t){return(0,r.stringify)(this.getRange(e,t,u.DESTINATION_RENDERER))}getCopyableText(e,t){return(0,r.stringify)(this.getRange(e,t,u.DESTINATION_CLIPBOARD_GENERATOR))}destroy(){this.hot=null,this.metaManager=null,this.dataSource=null,this.duckSchema=null,this.colToPropCache.length=0,this.propToColCache.clear(),this.propToColCache=void 0}}t.default=u},88687:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(15724),o(14846),o(69655);var n=s(o(85707)),r=o(95016),i=o(42379),l=o(47154),a=o(36926),h=o(77515);t.default=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];(0,n.default)(this,"hot",void 0),(0,n.default)(this,"data",void 0),(0,n.default)(this,"dataType","array"),(0,n.default)(this,"colToProp",(()=>{})),(0,n.default)(this,"propToCol",(()=>{})),this.hot=e,this.data=t}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,l.arrayEach)(this.data,((o,s)=>{const n=this.getAtCell(s,e);t.push(n)})),t}getAtRow(e,t,o){let s=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const n=void 0===t&&void 0===o,{dataDotNotation:i}=this.hot.getSettings();let l=null,c=null;if(l=this.modifyRowData(e),Array.isArray(l))c=[],n?l.forEach(((t,o)=>{c[o]=this.getAtPhysicalCell(e,o,l)})):(0,a.rangeEach)(t,o,(o=>{c[o-t]=this.getAtPhysicalCell(e,o,l)}));else if((0,r.isObject)(l)||(0,h.isFunction)(l))if(c=s?[]:{},!n||s){const n=0,h=this.countFirstRowKeys()-1;(0,a.rangeEach)(n,h,(a=>{const u=this.colToProp(a);if(a>=(t||n)&&a<=(o||h)&&!Number.isInteger(u)){const t=this.getAtPhysicalCell(e,u,l);s?c.push(t):i?(0,r.setProperty)(c,u,t):c[u]=t}}))}else(0,r.objectEach)(l,((t,o)=>{const s=this.getAtPhysicalCell(e,o,l);i?(0,r.setProperty)(c,o,s):c[o]=s}));return c}setAtCell(e,t,o){if(!(e>=this.countRows()||t>=this.countFirstRowKeys())){if(this.hot.hasHook("modifySourceData")){const s=(0,r.createObjectPropListener)(o);this.hot.runHooks("modifySourceData",e,t,s,"set"),s.isTouched()&&(o=s.value)}Number.isInteger(t)?this.data[e][t]=o:(0,r.setProperty)(this.data[e],t,o)}}getAtPhysicalCell(e,t,o){let s=null;if(o)if("string"==typeof t){const{dataDotNotation:e}=this.hot.getSettings();s=e?(0,r.getProperty)(o,t):o[t]}else s="function"==typeof t?t(o):o[t];if(this.hot.hasHook("modifySourceData")){const o=(0,r.createObjectPropListener)(s);this.hot.runHooks("modifySourceData",e,t,o,"get"),o.isTouched()&&(s=o.value)}return s}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,i=null,l=null;null===e||null===t?(s=!0,n=0,i=this.countRows()-1):(n=Math.min(e.row,t.row),r=Math.min(e.col,t.col),i=Math.max(e.row,t.row),l=Math.max(e.col,t.col));const h=[];return(0,a.rangeEach)(n,i,(e=>{h.push(s?this.getAtRow(e,void 0,void 0,o):this.getAtRow(e,r,l,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,i.countFirstRowKeys)(this.data)}destroy(){this.data=null,this.hot=null}}},8752:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(22410));t.DataMap=n.default;var r=s(o(58651));t.MetaManager=r.default;var i=s(o(87441));t.metaSchemaFactory=i.default;var l=o(41024);t.replaceData=l.replaceData;var a=o(36749);t.DynamicCellMetaMod=a.DynamicCellMetaMod;var h=o(40353);t.ExtendMetaPropertiesMod=h.ExtendMetaPropertiesMod},58651:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(67834),o(14846),o(69655);var n=s(o(54197)),r=s(o(6194)),i=s(o(92580)),l=s(o(65202)),a=s(o(32943)),h=o(95016);class c{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=c,(0,h.mixin)(c,a.default)},88333:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(15724),o(71336),o(41558),o(17663),o(68630),o(79645),o(89858),o(8620);var n=s(o(85707)),r=o(47154),i=o(85414);class l{constructor(e){(0,n.default)(this,"valueFactory",void 0),(0,n.default)(this,"data",[]),(0,n.default)(this,"index",[]),(0,n.default)(this,"holes",new Set),this.valueFactory=e}obtain(e){(0,i.assert)((()=>(0,i.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,i.assert)((()=>(0,i.isUnsignedNumber)(e)||(0,i.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 n=(0,i.isNullish)(e)?this.index.length:e;this.index=[...this.index.slice(0,n),...o,...this.index.slice(n)]}remove(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;(0,i.assert)((()=>(0,i.isUnsignedNumber)(e)||(0,i.isNullish)(e)),"Expecting an unsigned number or null/undefined argument.");const o=this.index.splice((0,i.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,r.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=l},65202:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(15724);var n=s(o(85707)),r=o(95016),i=o(85414),l=s(o(88333)),a=o(95768);t.default=class{constructor(e){(0,n.default)(this,"columnMeta",void 0),(0,n.default)(this,"metas",new l.default((()=>this._createRow()))),this.columnMeta=e}updateMeta(e,t,o){const s=this.getMeta(e,t);(0,r.extend)(s,o),(0,i.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++)(0,a.isDefined)(t[o])&&e.push(...t[o].values());return e}getMetasAtRow(e){(0,i.assert)((()=>(0,i.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 l.default((e=>this._createMeta(e)))}_createMeta(e){return new(this.columnMeta.getMetaConstructor(e))}}},92580:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(85707)),r=o(95016),i=o(85414),l=s(o(88333));const a=["data","width"];t.default=class{constructor(e){(0,n.default)(this,"globalMeta",void 0),(0,n.default)(this,"metas",new l.default((()=>this._createMeta()))),this.globalMeta=e,this.metas=new l.default((()=>this._createMeta()))}updateMeta(e,t){const o=this.getMeta(e);(0,r.extend)(o,t),(0,i.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,i.columnFactory)(this.globalMeta.getMetaConstructor(),a).prototype}}},54197:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(85707)),r=o(95016),i=o(85414),l=s(o(87441));t.default=class{constructor(e){(0,n.default)(this,"metaCtor",class{}),(0,n.default)(this,"meta",void 0),this.meta=this.metaCtor.prototype,(0,r.extend)(this.meta,(0,l.default)()),this.meta.instance=e}getMetaConstructor(){return this.metaCtor}getMeta(){return this.meta}updateMeta(e){var t;(0,r.extend)(this.meta,e),(0,i.extendByMetaType)(this.meta,{...e,type:null!==(t=e.type)&&void 0!==t?t:this.meta.type},e)}}},6194:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(85707)),r=o(95016),i=o(85414);t.default=class{constructor(e){(0,n.default)(this,"meta",void 0);const t=e.getMetaConstructor();this.meta=new t}getMeta(){return this.meta}updateMeta(e){(0,r.extend)(this.meta,e),(0,i.extendByMetaType)(this.meta,e,e)}}},87441:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(95768),n=o(95016);t.default=()=>({_automaticallyAssignedMetaProps:void 0,activeHeaderClassName:"ht__active_highlight",allowEmpty:!0,allowHtml:!1,allowInsertColumn:!0,allowInsertRow:!0,allowInvalid:!0,allowRemoveColumn:!0,allowRemoveRow:!0,ariaTags:!0,autoColumnSize:void 0,autoRowSize:void 0,autoWrapCol:!1,autoWrapRow:!1,bindRowsWithHeaders:void 0,cell:[],cells:void 0,checkedTemplate:void 0,className:void 0,colHeaders:null,collapsibleColumns:void 0,columnHeaderHeight:void 0,columns:void 0,columnSorting:void 0,columnSummary:void 0,colWidths:void 0,commentedCellClassName:"htCommentCell",comments:!1,contextMenu:void 0,copyable:!0,copyPaste:!0,correctFormat:!1,currentColClassName:void 0,currentHeaderClassName:"ht__highlight",currentRowClassName:void 0,customBorders:!1,data:void 0,dataDotNotation:!0,dataSchema:void 0,dateFormat:"DD/MM/YYYY",timeFormat:"h:mm:ss a",datePickerConfig:void 0,defaultDate:void 0,disableVisualSelection:!1,dragToScroll:!0,dropdownMenu:void 0,editor:void 0,enterBeginsEditing:!0,enterMoves:{col:0,row:1},fillHandle:{autoInsertRow:!1},filter:!0,filteringCaseSensitive:!1,filters:void 0,fixedColumnsLeft:0,fixedColumnsStart:0,fixedRowsBottom:0,fixedRowsTop:0,formulas:void 0,fragmentSelection:!1,headerClassName:void 0,height:void 0,hiddenColumns:void 0,hiddenRows:void 0,invalidCellClassName:"htInvalid",imeFastEdit:!1,isEmptyCol(e){let t,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,tabNavigation:!0,nestedHeaders:void 0,nestedRows:void 0,noWordWrapClassName:"htNoWrap",numericFormat:void 0,observeDOMVisibility:!0,outsideClickDeselects:!0,persistentState:void 0,placeholder:void 0,placeholderCellClassName:"htPlaceholder",preventOverflow:!1,preventWheel:!1,readOnly:!1,readOnlyCellClassName:"htDimmed",renderAllRows:!1,renderAllColumns:!1,renderer:void 0,rowHeaders:void 0,rowHeaderWidth:void 0,rowHeights:void 0,search:!1,selectionMode:"multiple",selectOptions:void 0,skipColumnOnPaste:!1,skipRowOnPaste:!1,sortByRelevance:!0,source:void 0,startCols:5,startRows:5,stretchH:"none",strict:void 0,tableClassName:void 0,themeName:void 0,tabMoves:{row:0,col:1},title:void 0,trimDropdown:!0,trimRows:void 0,trimWhitespace:!0,type:"text",uncheckedTemplate:void 0,undo:void 0,validator:void 0,viewportColumnRenderingOffset:"auto",viewportRowRenderingOffset:"auto",viewportColumnRenderingThreshold:0,viewportRowRenderingThreshold:0,visibleRows:10,width:void 0,wordWrap:!0})},36749:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(71336),o(41558),o(17663),o(68630),o(79645),o(89858),o(8620);var n=s(o(85707)),r=o(29398),i=o(95016),l=o(77515);t.DynamicCellMetaMod=class{constructor(e){(0,n.default)(this,"metaManager",void 0),(0,n.default)(this,"metaSyncMemo",new Map),this.metaManager=e,e.addLocalHook("afterGetCellMeta",(e=>this.extendCellMeta(e))),r.Hooks.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:r}=e,a=this.metaManager.hot,h=a.colToProp(r);e.prop=h,a.runHooks("beforeGetCellMeta",n,r,e);const c=(0,i.hasOwnProperty)(e,"type")?e.type:null;let u=(0,l.isFunction)(e.cells)?e.cells(o,s,h):null;var d;c&&(u?u.type=null!==(d=u.type)&&void 0!==d?d:c:u={type:c});u&&this.metaManager.updateCellMeta(o,s,u),a.runHooks("afterGetCellMeta",n,r,e),this.metaSyncMemo.has(o)||this.metaSyncMemo.set(o,new Set),this.metaSyncMemo.get(o).add(s)}}},40353:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(67834),o(15724),o(71336),o(41558),o(17663),o(68630),o(79645),o(89858),o(8620),o(14846),o(69655);var n=s(o(85707));function r(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)}function i(e,t){return e.get(function(e,t,o){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:o;throw new TypeError("Private element is not present on this object")}(e,t))}var l=new WeakMap;t.ExtendMetaPropertiesMod=class{constructor(e){(0,n.default)(this,"metaManager",void 0),(0,n.default)(this,"usageTracker",new Set),(0,n.default)(this,"propDescriptors",new Map([["ariaTags",{initOnly:!0}],["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",{initOnly:!0}],["renderAllColumns",{initOnly:!0}],["renderAllRows",{initOnly:!0}]])),r(this,l,((e,t,o)=>{if(!o)throw new Error(`The \`${e}\` option can not be updated after the Handsontable is initialized.`)})),this.metaManager=e,this.extendMetaProps()}extendMetaProps(){this.propDescriptors.forEach(((e,t)=>{const{initOnly:o,target:s,onChange:n}=e,r="string"==typeof s,a=r?s:t,h=`_${a}`;this.metaManager.globalMeta.meta[h]=this.metaManager.globalMeta.meta[a],n?(this.installPropWatcher(t,h,n),r&&this.installPropWatcher(s,h,n)):o&&(this.installPropWatcher(t,h,i(l,this)),this.metaManager.globalMeta.meta._initOnlySettings||(this.metaManager.globalMeta.meta._initOnlySettings=[]),this.metaManager.globalMeta.meta._initOnlySettings.push(t))}))}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})}}},85414:(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(67834),o(71336),o(41558),o(17663),o(68630),o(79645),o(89858),o(8620);var s=o(95016),n=o(39548)},41024:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,t.replaceData=function(e,t,o,s){const{hotInstance:c,dataMap:u,dataSource:d,internalSource:g,source:f,metaManager:p,firstRun:m}=s,w=(0,n.toUpperCaseFirst)(g),C=c.getSettings();Array.isArray(C.dataSchema)?c.dataType="array":(0,r.isFunction)(C.dataSchema)?c.dataType="function":c.dataType="object";u&&u.destroy();e=c.runHooks(`before${w}`,e,m,f);const v=new i.default(c,e,p);if(t(v),"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=v.getSchema();let o;e=[];let s=0,n=0;for(s=0,n=C.startRows;s<n;s++)if("object"!==c.dataType&&"function"!==c.dataType||!C.dataSchema)if("array"===c.dataType)o=(0,l.deepClone)(t[0]),e.push(o);else{o=[];for(let e=0,t=C.startCols;e<t;e++)o.push(null);e.push(o)}else o=(0,l.deepClone)(t),e.push(o)}}Array.isArray(e[0])&&(c.dataType="array");C.data=e,v.dataSource=e,d.data=e,d.dataType=c.dataType,d.colToProp=v.colToProp.bind(v),d.propToCol=v.propToCol.bind(v),d.countCachedColumns=v.countCachedColumns.bind(v),o(v),c.runHooks(`after${w}`,e,m,f),m||(c.runHooks("afterChange",null,g),c.render());c.getSettings().ariaTags&&(0,a.setAttribute)(c.rootElement,[(0,h.A11Y_ROWCOUNT)(-1),(0,h.A11Y_COLCOUNT)(c.countCols()+(c.view?c.countRowHeaders():0))])},o(67834),o(15724);var n=o(83414),r=o(77515),i=s(o(22410)),l=o(95016),a=o(94916),h=o(45551)},5289:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(67834);var n=s(o(85707)),r=o(83644),i=o(40892),l=o(45973),a=s(o(12370));function h(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)}function c(e,t,o){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:o;throw new TypeError("Private element is not present on this object")}var u=new WeakSet;class d{constructor(e,t,o){h(this,u),(0,n.default)(this,"hot",void 0),(0,n.default)(this,"tableMeta",void 0),(0,n.default)(this,"selection",void 0),(0,n.default)(this,"eventManager",void 0),(0,n.default)(this,"destroyed",!1),(0,n.default)(this,"activeEditor",void 0),(0,n.default)(this,"cellProperties",void 0),this.hot=e,this.tableMeta=t,this.selection=o,this.eventManager=new a.default(e),this.hot.addHook("afterDocumentKeyDown",(e=>c(u,this,g).call(this,e))),this.eventManager.addEventListener(this.hot.rootDocument.documentElement,"compositionstart",(e=>{!this.destroyed&&this.hot.isListening()&&this.openEditor("",e)})),this.hot.view._wt.update("onCellDblClick",((e,t,o)=>c(u,this,f).call(this,e,t,o)))}getActiveEditor(){return this.activeEditor}prepareEditor(){var e;if(this.activeEditor&&this.activeEditor.isWaiting())return void this.closeEditor(!1,!1,(e=>{e&&this.prepareEditor()}));const t=null===(e=this.hot.getSelectedRangeLast())||void 0===e?void 0:e.highlight;if(!t||t.isHeader())return;const{row:o,col:s}=t,n=this.hot.runHooks("modifyGetCellCoords",o,s,!1,"meta");let r=o,i=s;if(Array.isArray(n)&&([r,i]=n),this.cellProperties=this.hot.getCellMeta(r,i),!this.isCellEditable())return void this.clearActiveEditor();const a=this.hot.getCell(o,s,!0);if(a){const e=this.hot.getCellEditor(this.cellProperties),t=this.hot.colToProp(i),n=this.hot.getSourceDataAtCell(this.hot.toPhysicalRow(r),i);this.activeEditor=(0,l.getEditorInstance)(e,this.hot),this.activeEditor.prepare(o,s,t,a,n,this.cellProperties)}}isEditorOpened(){return this.activeEditor&&this.activeEditor.isOpened()}openEditor(e,t){let o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!this.isCellEditable())return void this.clearActiveEditor();const s=this.hot.getSelectedRangeLast();let n=this.hot.runHooks("beforeBeginEditing",s.highlight.row,s.highlight.col,e,t,o);t instanceof MouseEvent&&"boolean"!=typeof n&&(n=0===this.hot.selection.getLayerLevel()&&s.isSingle()),!1!==n?(this.activeEditor||(this.hot.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.hot.getSelectedRangeLast();if(!e)return!1;const t=this.hot.getCellEditor(this.cellProperties),{row:o,col:s}=e.highlight,{rowIndexMapper:n,columnIndexMapper:r}=this.hot,i=n.isHidden(this.hot.toPhysicalRow(o))||r.isHidden(this.hot.toPhysicalColumn(s));return!(this.cellProperties.readOnly||!t||i)}moveSelectionAfterEnter(e){const t={..."function"==typeof this.tableMeta.enterMoves?this.tableMeta.enterMoves(e):this.tableMeta.enterMoves};e.shiftKey&&(t.row=-t.row,t.col=-t.col),this.hot.selection.isMultiple()?this.selection.transformFocus(t.row,t.col):this.selection.transformStart(t.row,t.col,!0)}destroy(){this.destroyed=!0,this.eventManager.destroy()}}function g(e){const t=this.hot.getSelectedRangeLast();if(!this.hot.isListening()||!t||t.highlight.isHeader()||(0,i.isImmediatePropagationStopped)(e))return;const{keyCode:o}=e,s=(e.ctrlKey||e.metaKey)&&!e.altKey;(!this.activeEditor||this.activeEditor&&!this.activeEditor.isWaiting())&&((0,r.isFunctionKey)(o)||(0,r.isCtrlMetaKey)(o)||s||this.isEditorOpened()||this.openEditor("",e))}function f(e,t){t.isCell()&&this.openEditor(null,e,!0)}const p=new WeakMap;d.getInstance=function(e,t,o){let s=p.get(e);return s||(s=new d(e,t,o),p.set(e,s)),s};t.default=d},52227:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(67834),o(15724),o(14846),o(27458),o(6211),o(90458);var n=s(o(85707)),r=o(27973),i=o(47154),l=o(94916),a=o(95768),h=o(83414),c=o(83644),u=o(5819),d=o(45551);function g(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)}function f(e,t){return e.get(function(e,t,o){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:o;throw new TypeError("Private element is not present on this object")}(e,t))}const p=t.EDITOR_TYPE="autocomplete";var m=new WeakMap;class w extends r.HandsontableEditor{constructor(){super(...arguments),(0,n.default)(this,"query",null),(0,n.default)(this,"strippedChoices",[]),(0,n.default)(this,"rawChoices",[]),g(this,m,this.hot.guid.slice(0,9)),(0,n.default)(this,"sortByRelevance",(function(e,t,o){const s=[],n=[],r=e.length;let i,l,c,u,d=t.length;if(0===r){for(c=0;c<d;c++)n.push(c);return n}for(c=0;c<d;c++){if(l=(0,h.stripTags)((0,a.stringify)(t[c])),o)u=l.indexOf(e);else{const t=this.cellProperties.locale;u=l.toLocaleLowerCase(t).indexOf(e.toLocaleLowerCase(t))}-1!==u&&(i=l.length-u-r,s.push({baseIndex:c,index:u,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})),c=0,d=s.length;c<d;c++)n.push(s[c].baseIndex);return n}))}static get EDITOR_TYPE(){return p}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,d.A11Y_TEXT)(),(0,d.A11Y_COMBOBOX)(),(0,d.A11Y_HASPOPUP)("listbox"),(0,d.A11Y_AUTOCOMPLETE)()])}prepare(e,t,o,s,n,r){super.prepare(e,t,o,s,n,r),this.hot.getSettings().ariaTags&&(0,l.setAttribute)(this.TEXTAREA,[(0,d.A11Y_EXPANDED)("false"),(0,d.A11Y_CONTROLS)(`${f(m,this)}-listbox-${e}-${t}`)])}open(){super.open();const e=void 0===this.cellProperties.trimDropdown||this.cellProperties.trimDropdown,t=this.hot.getSettings().ariaTags,o=Array.isArray(this.cellProperties.source)?this.cellProperties.source:null,s=null==o?void 0:o.length,{row:n,col:r}=this;this.showEditableElement(),this.focus(),this.addHook("beforeKeyDown",(e=>this.onBeforeKeyDown(e))),this.htEditor.updateSettings({colWidths:e?[(0,l.outerWidth)(this.TEXTAREA)-2]:void 0,autoColumnSize:!0,autoRowSize:!0,renderer:(e,n,r,i,h,c,g)=>{(0,u.textRenderer)(e,n,r,i,h,c,g);const{filteringCaseSensitive:f,allowHtml:p,locale:m}=this.cellProperties,w=this.query;let C,v,y=(0,a.stringify)(c);y&&!p&&(C=!0===f?y.indexOf(w):y.toLocaleLowerCase(m).indexOf(w.toLocaleLowerCase(m)),-1!==C&&(v=y.substr(C,w.length),y=y.replace(v,`<strong>${v}</strong>`))),t&&(0,l.setAttribute)(n,[(0,d.A11Y_OPTION)(),...o?[(0,d.A11Y_SETSIZE)(s)]:[],...o?[(0,d.A11Y_POSINSET)(o.indexOf(c)+1)]:[],["id",`${this.htEditor.rootElement.id}_${r}-${i}`]]),n.innerHTML=y},afterSelectionEnd:(e,o)=>{if(t){const t=this.htEditor.getCell(e,o,!0);(0,l.setAttribute)(t,[(0,d.A11Y_SELECTED)()]),(0,l.setAttribute)(this.TEXTAREA,...(0,d.A11Y_ACTIVEDESCENDANT)(t.id))}}}),t&&((0,l.setAttribute)(this.htEditor.view._wt.wtOverlays.wtTable.TABLE,...(0,d.A11Y_PRESENTATION)()),(0,l.setAttribute)(this.htEditor.rootElement,[(0,d.A11Y_LISTBOX)(),(0,d.A11Y_LIVE)("polite"),(0,d.A11Y_RELEVANT)("text"),["id",`${f(m,this)}-listbox-${n}-${r}`]]),(0,l.setAttribute)(this.TEXTAREA,...(0,d.A11Y_EXPANDED)("true"))),this.hot._registerTimeout((()=>{this.queryChoices(this.TEXTAREA.value)}))}close(){this.removeHooksByKey("beforeKeyDown"),super.close(),this.hot.getSettings().ariaTags&&(0,l.setAttribute)(this.TEXTAREA,[(0,d.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 c=Array.isArray(r)?r.length:0;if(!1===n)c&&(a=r[0]);else{const e=[];for(let t=0,o=h.length;t<o&&!(s&&c<=t);t++)c?e.push(h[r[t]]):e.push(h[t]);a=0,h=e}this.strippedChoices=h,0===h.length?this.htEditor.rootElement.style.display="none":this.htEditor.rootElement.style.display="",this.htEditor.loadData((0,i.pivot)([h])),h.length>0&&(this.updateDropdownDimensions(),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.getHeight(),i=e.scrollTop,a=(0,l.outerHeight)(this.hot.view._wt.wtTable.THEAD),h=(0,l.offset)(e),c=s.top-h.top-a+i,u=e.scrollHeight-c-a-n,d=r>u&&c>u;return d?this.flipDropdown(r):this.unflipDropdown(),this.limitDropdownIfNeeded(d?c:u,r),d}limitDropdownIfNeeded(e,t){if(t>e){let o=0,s=0,n=0,r=null;do{n=this.htEditor.getRowHeight(s)||this.htEditor.view.getDefaultRowHeight(),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}updateDropdownDimensions(){this.htEditor.updateSettings({width:this.getWidth(),height:this.getHeight()}),this.htEditor.view.hasVerticalScroll()&&this.htEditor.updateSettings({width:this.htEditor.getSettings().width+(0,l.getScrollbarWidth)(this.hot.rootDocument)}),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()}getHeight(){const e=this.hot.rootWindow.getComputedStyle(this.htContainer.querySelector(".htCore")),t=parseInt(e.borderTopWidth,10)+parseInt(e.borderBottomWidth,10),o=Math.min(this.cellProperties.visibleRows,this.strippedChoices.length);return Array.from({length:o},((e,t)=>t)).reduce(((e,t)=>e+this.htEditor.getRowHeight(t)),0)+t+1}getWidth(){const e=this.hot.rootWindow.getComputedStyle(this.htContainer.querySelector(".htCore")),t=parseInt(e.borderInlineStartWidth,10)+parseInt(e.borderInlineEndWidth,10);return this.htEditor.getColWidth(0)+t}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===c.KEY_CODES.ARROW_DOWN&&o>0&&o<this.htEditor.countRows()-1&&(s=!0),e===c.KEY_CODES.ARROW_UP&&o>-1&&(s=!0),s}onBeforeKeyDown(e){if((0,c.isPrintableChar)(e.keyCode)||e.keyCode===c.KEY_CODES.BACKSPACE||e.keyCode===c.KEY_CODES.DELETE||e.keyCode===c.KEY_CODES.INSERT){let t=10;if(e.keyCode===c.KEY_CODES.C&&(e.ctrlKey||e.metaKey))return;this.isOpened()||(t+=10),this.htEditor&&this.hot._registerTimeout((()=>{this.queryChoices(this.TEXTAREA.value)}),t)}}}t.AutocompleteEditor=w},85588:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(52227);t.EDITOR_TYPE=s.EDITOR_TYPE,t.AutocompleteEditor=s.AutocompleteEditor},43785:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(67834);var n=s(o(85707)),r=o(95768),i=o(95016),l=s(o(30933)),a=o(94916);const h=t.EDITOR_TYPE="base",c=t.EDITOR_STATE=Object.freeze({VIRGIN:"STATE_VIRGIN",EDITING:"STATE_EDITING",WAITING:"STATE_WAITING",FINISHED:"STATE_FINISHED"});class u{static get EDITOR_TYPE(){return h}constructor(e){(0,n.default)(this,"hot",void 0),(0,n.default)(this,"state",c.VIRGIN),(0,n.default)(this,"_opened",!1),(0,n.default)(this,"_fullEditMode",!1),(0,n.default)(this,"_closeCallback",null),(0,n.default)(this,"TD",null),(0,n.default)(this,"row",null),(0,n.default)(this,"col",null),(0,n.default)(this,"prop",null),(0,n.default)(this,"originalValue",null),(0,n.default)(this,"cellProperties",null),this.hot=e,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=this.isOpened()?this.state:c.VIRGIN}extend(){return class extends this.constructor{}}saveValue(e,t){let o,s,n,r;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),n=Math.max(e[0],e[2]),r=Math.max(e[1],e[3])}else[o,s,n,r]=[this.row,this.col,null,null];const i=this.hot.runHooks("modifyGetCellCoords",o,s,!1,"meta");Array.isArray(i)&&([o,s]=i),this.hot.populateFromArray(o,s,e,n,r,"edit")}beginEditing(e,t){if(this.state!==c.VIRGIN)return;const o=this.hot,s=o.rowIndexMapper.getRenderableFromVisualIndex(this.row),n=o.columnIndexMapper.getRenderableFromVisualIndex(this.col),i=()=>{if(this.state=c.EDITING,this.isInFullEditMode()){const t="string"==typeof e?e:(0,r.stringify)(this.originalValue);this.setValue(t)}this.open(t),this._opened=!0,this.focus(),o.view.render(),o.runHooks("afterBeginEditing",this.row,this.col)};this.hot.addHookOnce("afterScroll",i);o.view.scrollViewport(o._createCellCoords(s,n))||(this.hot.removeHook("afterScroll",i),i())}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())if(this.state!==c.VIRGIN){if(this.state===c.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=c.WAITING,this.saveValue(s,t),this.hot.getCellValidator(this.cellProperties)?this.hot.addHookOnce("postAfterValidate",(e=>{this.state=c.FINISHED,this.discardEditor(e)})):(this.state=c.FINISHED,this.discardEditor(!0))}}else this.hot._registerTimeout((()=>{this._fireCallbacks(!0)}))}cancelChanges(){this.state=c.FINISHED,this.discardEditor()}discardEditor(e){if(this.state===c.FINISHED)if(!1===e&&!0!==this.cellProperties.allowInvalid)this.hot.selectCell(this.row,this.col),this.focus(),this.state=c.EDITING,this._fireCallbacks(!1);else{this.close(),this._opened=!1,this._fullEditMode=!1,this.state=c.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===c.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),c=o.topOverlay.holder,u=o.inlineStartOverlay.holder,d=c!==n?c.scrollTop:0,g=u!==n?u.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,w=["master","inline_start"].includes(m)?d:0,C=["master","top","bottom"].includes(m)?g:0,v=r.top===l.top?0:1;let y=r.top-l.top-v-w,E=0;E=this.hot.isRtl()?n.innerWidth-r.left-i-f-1+C:r.left-l.left-1-C,["top","top_inline_start_corner"].includes(m)&&(y+=o.topOverlay.getOverlayOffset()),["inline_start","top_inline_start_corner"].includes(m)&&(E+=Math.abs(o.inlineStartOverlay.getOverlayOffset()));const S=this.hot.hasColHeaders(),R=this.hot.rowIndexMapper.getRenderableFromVisualIndex(this.row),b=this.hot.columnIndexMapper.getRenderableFromVisualIndex(this.col),_=this.hot.rowIndexMapper.getRenderableIndexesLength()-this.hot.view._wt.getSetting("fixedRowsBottom");(S&&R<=0||R===_)&&(y+=1),b<=0&&(E+=1);const T=s.rowsRenderCalculator.startPosition,M=s.columnsRenderCalculator.startPosition,O=Math.abs(o.inlineStartOverlay.getScrollPosition()),I=o.topOverlay.getScrollPosition(),N=(0,a.getScrollbarWidth)(this.hot.rootDocument);let A=t.offsetTop;if(["inline_start","master"].includes(m)&&(A+=T-I),["bottom","bottom_inline_start_corner"].includes(m)){const{wtViewport:e,wtTable:t}=o.bottomOverlay.clone;A+=e.getWorkspaceHeight()-t.getHeight()-N}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=n.getComputedStyle(this.TD),x=this.hot.isRtl()?"borderRightWidth":"borderLeftWidth",D=parseInt(H[x],10)>0?0:1,k=parseInt(H.borderTopWidth,10)>0?0:1,L=(0,a.outerWidth)(t)+D,V=(0,a.outerHeight)(t)+k,F=(0,a.hasVerticalScrollbar)(c)?N:0,W=(0,a.hasHorizontalScrollbar)(u)?N:0,B=this.hot.view.maximumVisibleElementWidth(P)-F+D;return{top:y,start:E,height:V,maxHeight:Math.max(this.hot.view.maximumVisibleElementHeight(A)-W+k,this.hot.view.getDefaultRowHeight()),width:L,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,i.mixin)(u,l.default)},95605:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(43785);t.EDITOR_STATE=s.EDITOR_STATE,t.EDITOR_TYPE=s.EDITOR_TYPE,t.BaseEditor=s.BaseEditor},69609:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(95605),n=o(94916);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&&"TD"===t.target.nodeName){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},60213:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(69609);t.EDITOR_TYPE=s.EDITOR_TYPE,t.CheckboxEditor=s.CheckboxEditor},33491:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,o(67834);var n=s(o(85707)),r=s(o(86798)),i=s(o(75972)),l=o(95605),a=o(53423),h=o(94916),c=o(95016),u=o(83644);const d=t.EDITOR_TYPE="date",g="dateEditor";class f extends a.TextEditor{constructor(){super(...arguments),(0,n.default)(this,"defaultDateFormat","DD/MM/YYYY"),(0,n.default)(this,"parentDestroyed",!1),(0,n.default)(this,"$datePicker",null)}static get EDITOR_TYPE(){return d}init(){if("function"!=typeof r.default)throw new Error("You need to include moment.js to your project.");if("function"!=typeof i.default)throw new Error("You need to include Pikaday to your project.");super.init(),this.hot.addHook("afterDestroy",(()=>{this.parentDestroyed=!0,this.destroyElements()})),this.hot.addHook("afterSetTheme",((e,t)=>{t||((0,h.removeClass)(this.datePicker,/ht-theme-.*/g),(0,h.addClass)(this.datePicker,e))}))}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,h.addClass)(this.datePicker,"htDatepickerHolder");const e=this.hot.getCurrentThemeName();(0,h.removeClass)(this.datePicker,/ht-theme-.*/g),(0,h.addClass)(this.datePicker,e),this.hot.rootDocument.body.appendChild(this.datePicker),this.eventManager.addEventListener(this.datePicker,"mousedown",(e=>{(0,h.hasClass)(e.target,"pika-day")&&this.hideDatepicker(),e.stopPropagation()}))}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");this.showDatepicker(e),super.open(),t.addShortcuts([{keys:[["ArrowLeft"]],callback:()=>{this.$datePicker.adjustDate("subtract",1)}},{keys:[["ArrowRight"]],callback:()=>{this.$datePicker.adjustDate("add",1)}},{keys:[["ArrowUp"]],callback:()=>{this.$datePicker.adjustDate("subtract",7)}},{keys:[["ArrowDown"]],callback:()=>{this.$datePicker.adjustDate("add",7)}}],{group:g})}close(){var e;this._opened=!1,null!==(e=this.$datePicker)&&void 0!==e&&e.destroy&&this.$datePicker.destroy(),this.hot._registerTimeout((()=>{const e=this.hot._getEditorManager();e.closeEditor(),this.hot.view.render(),e.prepareEditor()}));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];super.finishEditing(e,t)}showDatepicker(e){const t=this.cellProperties.dateFormat||this.defaultDateFormat,o=this.hot.view.isMouseDown(),s=!!e&&(0,u.isFunctionKey)(e.keyCode);let n;this.datePicker.style.display="block",this.$datePicker=new i.default(this.getDatePickerConfig()),"function"==typeof this.$datePicker.useMoment&&this.$datePicker.useMoment(r.default),this.$datePicker._onInputFocus=function(){},this.originalValue?(n=this.originalValue,(0,r.default)(n,t,!0).isValid()&&this.$datePicker.setMoment((0,r.default)(n,t),!0),this.getValue()!==this.originalValue&&this.setValue(this.originalValue),s||o||this.setValue("")):this.cellProperties.defaultDate?(n=this.cellProperties.defaultDate,(0,r.default)(n,t,!0).isValid()&&this.$datePicker.setMoment((0,r.default)(n,t),!0),s||o||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,c.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.keyboardInput=!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,r.default)(t).format(this.cellProperties.dateFormat||this.defaultDateFormat)),this.setValue(t),o&&o()},t.onClose=()=>{this.parentDestroyed||this.finishEditing(!1),s&&s()},t}refreshDimensions(e){var t;if(super.refreshDimensions(e),this.state!==l.EDITOR_STATE.EDITING)return;if(this.TD=this.getEditedCell(),!this.TD)return void this.hideDatepicker();const{rowIndexMapper:o,columnIndexMapper:s}=this.hot,{wtOverlays:n}=this.hot.view._wt,{wtTable:r}=null!==(t=n.getParentOverlay(this.TD))&&void 0!==t?t:this.hot.view._wt,i=o.getVisualFromRenderableIndex(r.getFirstPartiallyVisibleRow()),a=o.getVisualFromRenderableIndex(r.getLastPartiallyVisibleRow()),c=s.getVisualFromRenderableIndex(r.getFirstPartiallyVisibleColumn()),u=s.getVisualFromRenderableIndex(r.getLastPartiallyVisibleColumn());if(this.row>=i&&this.row<=a&&this.col>=c&&this.col<=u){const e=this.TD.getBoundingClientRect();this.datePickerStyle.top=`${this.hot.rootWindow.pageYOffset+e.top+(0,h.outerHeight)(this.TD)}px`;let t=this.hot.rootWindow.pageXOffset;this.hot.isRtl()?t+=e.right-(0,h.outerWidth)(this.datePicker):t+=e.left,this.datePickerStyle.left=`${t}px`}else this.hideDatepicker()}}t.DateEditor=f},48584:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(33491);t.EDITOR_TYPE=s.EDITOR_TYPE,t.DateEditor=s.DateEditor},28629:(e,t,o)=>{"use strict";t.__esModule=!0,o(14846),o(27458);var s=o(85588),n=o(29398);const r=t.EDITOR_TYPE="dropdown";class i extends s.AutocompleteEditor{static get EDITOR_TYPE(){return r}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=i,n.Hooks.getSingleton().add("beforeValidate",(function(e,t,o){const s=this.propToCol(o);if(Number.isInteger(s)){const e=this.getCellMeta(t,s);e.editor===i&&void 0===e.strict&&(e.filter=!1,e.strict=!0)}}))},73717:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(28629);t.EDITOR_TYPE=s.EDITOR_TYPE,t.DropdownEditor=s.DropdownEditor},85065:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(53423),n=o(94916),r=o(40892),i=o(95016),l=o(9528);const a="handsontableEditor",h=t.EDITOR_TYPE="handsontable";class c extends s.TextEditor{static get EDITOR_TYPE(){return h}open(){super.open();const e=this.htContainer.style;this.htEditor&&(this.htEditor.destroy(),e.width="",e.height="",e.overflow=""),"none"===e.display&&(e.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.htEditor.updateSettings({width:this.getWidth(),height:this.getHeight()}),this.refreshDimensions()}close(){this.htEditor&&(this.htEditor.rootElement.style.display="none"),this.removeHooksByKey("beforeKeyDown"),super.close()}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,themeName:this.hot.getCurrentThemeName(),afterOnCellMouseDown(e,t){const o=this.getSourceData(t.row,t.col);void 0!==o&&l.setValue(o),l.hot.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)}getHeight(){return this.htEditor.view.getTableHeight()+1}getWidth(){return this.htEditor.view.getTableWidth()}assignHooks(){this.hot.addHook("afterDestroy",(()=>{this.htEditor&&this.htEditor.destroy()})),this.hot.addHook("afterSetTheme",((e,t)=>{t||this.htEditor.useTheme(e)}))}registerShortcuts(){const e=this.hot.getShortcutManager().getContext("editor");super.registerShortcuts();const t={group:a,relativeToGroup:l.EDITOR_EDIT_GROUP,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(a)}}t.HandsontableEditor=c},27973:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(85065);t.EDITOR_TYPE=s.EDITOR_TYPE,t.HandsontableEditor=s.HandsontableEditor},39004:(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)(c.PasswordEditor),(0,f.registerEditor)(u.SelectEditor),(0,f.registerEditor)(d.TextEditor),(0,f.registerEditor)(g.TimeEditor)};var s=o(85588);t.AutocompleteEditor=s.AutocompleteEditor,t.AUTOCOMPLETE_EDITOR=s.EDITOR_TYPE;var n=o(95605);t.BaseEditor=n.BaseEditor,t.BASE_EDITOR=n.EDITOR_TYPE;var r=o(60213);t.CheckboxEditor=r.CheckboxEditor,t.CHECKBOX_EDITOR=r.EDITOR_TYPE;var i=o(48584);t.DateEditor=i.DateEditor,t.DATE_EDITOR=i.EDITOR_TYPE;var l=o(73717);t.DropdownEditor=l.DropdownEditor,t.DROPDOWN_EDITOR=l.EDITOR_TYPE;var a=o(27973);t.HandsontableEditor=a.HandsontableEditor,t.HANDSONTABLE_EDITOR=a.EDITOR_TYPE;var h=o(67045);t.NumericEditor=h.NumericEditor,t.NUMERIC_EDITOR=h.EDITOR_TYPE;var c=o(75669);t.PasswordEditor=c.PasswordEditor,t.PASSWORD_EDITOR=c.EDITOR_TYPE;var u=o(31572);t.SelectEditor=u.SelectEditor,t.SELECT_EDITOR=u.EDITOR_TYPE;var d=o(53423);t.TextEditor=d.TextEditor,t.TEXT_EDITOR=d.EDITOR_TYPE;var g=o(3833);t.TimeEditor=g.TimeEditor,t.TIME_EDITOR=g.EDITOR_TYPE;var f=o(45973);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},67045:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(73971);t.EDITOR_TYPE=s.EDITOR_TYPE,t.NumericEditor=s.NumericEditor},73971:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(53423);const n=t.EDITOR_TYPE="numeric";class r extends s.TextEditor{static get EDITOR_TYPE(){return n}}t.NumericEditor=r},75669:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(64137);t.EDITOR_TYPE=s.EDITOR_TYPE,t.PasswordEditor=s.PasswordEditor},64137:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(85707)),r=o(53423),i=o(64144),l=o(94916);const a=t.EDITOR_TYPE="password";class h extends r.TextEditor{constructor(){super(...arguments),(0,n.default)(this,"autoResize",(0,i.createInputElementResizer)(this.hot.rootDocument,{textContent:e=>"•".repeat(e.value.length)}))}static get EDITOR_TYPE(){return a}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,l.empty)(this.TEXTAREA_PARENT),this.TEXTAREA_PARENT.appendChild(this.TEXTAREA)}}t.PasswordEditor=h},45973:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,t.RegisteredEditor=d,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(67834);var n=o(29398),r=s(o(29328));const i=new WeakMap,{register:l,getItem:a,hasItem:h,getNames:c,getValues:u}=(0,r.default)("editors");function d(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.Hooks.getSingleton().add("afterDestroy",(function(){t[this.guid]=null}))}function g(e,t){e&&"string"!=typeof e&&(e=(t=e).EDITOR_TYPE);const o=new d(t);"string"==typeof e&&l(e,o),i.set(t,o)}t.getRegisteredEditors=u,t.getRegisteredEditorNames=c,t.hasEditor=h},31572:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(7539);t.EDITOR_TYPE=s.EDITOR_TYPE,t.SelectEditor=s.SelectEditor},7539:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(95605),n=o(94916),r=o(95016),i=o(45551);const l="ht_editor_visible",a="selectEditor",h=t.EDITOR_TYPE="select";class c extends s.BaseEditor{static get EDITOR_TYPE(){return h}init(){this.selectWrapper=this.hot.rootDocument.createElement("div"),this.select=this.hot.rootDocument.createElement("select"),this.select.setAttribute("data-hot-input","true"),this.selectWrapper.style.display="none";const e=this.hot.rootDocument.createElement("DIV"),t=this.hot.getSettings().ariaTags;e.className="htAutocompleteArrow",t&&e.setAttribute(...(0,i.A11Y_HIDDEN)()),e.appendChild(this.hot.rootDocument.createTextNode(String.fromCharCode(9660))),(0,n.addClass)(this.selectWrapper,"htSelectEditor"),this.selectWrapper.appendChild(this.select),this.selectWrapper.insertBefore(e,this.selectWrapper.firstChild),this.hot.rootElement.appendChild(this.selectWrapper),this.registerHooks()}getValue(){return this.select.value}setValue(e){this.select.value=e}open(){this._opened=!0,this.refreshDimensions(),this.selectWrapper.style.display="";this.hot.getShortcutManager().setActiveContextName("editor"),this.registerShortcuts()}close(){this._opened=!1,this.selectWrapper.style.display="none",(0,n.hasClass)(this.selectWrapper,l)&&(0,n.removeClass)(this.selectWrapper,l),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(),i=this.selectWrapper.style;i.height=`${r}px`,i.width=`${o}px`,i.top=`${e}px`,i[this.hot.isRtl()?"right":"left"]=`${t}px`,i.margin="0px",(0,n.addClass)(this.selectWrapper,l)}registerShortcuts(){const e=this.hot.getShortcutManager().getContext("editor"),t={group:a};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(a)}}t.SelectEditor=c},23212:(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(94916)},53423:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(63417);t.EDITOR_TYPE=s.EDITOR_TYPE,t.TextEditor=s.TextEditor},63417:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0;var n=s(o(85707)),r=o(95605),i=s(o(12370)),l=o(99275),a=o(94916),h=o(36926),c=o(64144),u=o(95768),d=o(23212),g=o(45551);const f="ht_editor_hidden",p="textEditor",m=t.EDITOR_TYPE="text";class w extends r.BaseEditor{static get EDITOR_TYPE(){return m}constructor(e){super(e),(0,n.default)(this,"eventManager",new i.default(this)),(0,n.default)(this,"autoResize",(0,c.createInputElementResizer)(this.hot.rootDocument)),(0,n.default)(this,"TEXTAREA",void 0),(0,n.default)(this,"textareaStyle",void 0),(0,n.default)(this,"TEXTAREA_PARENT",void 0),(0,n.default)(this,"textareaParentStyle",void 0),(0,n.default)(this,"layerClass",void 0),this.eventManager=new i.default(this),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.registerShortcuts()}close(){this.autoResize.unObserve(),(0,a.isThisHotChild)(this.hot.rootDocument.activeElement,this.hot.rootElement)&&this.hot.listen(),this.hideEditableElement(),this.unregisterShortcuts()}prepare(e,t,o,s,n,i){const l=this.state;if(super.prepare(e,t,o,s,n,i),!i.readOnly){this.refreshDimensions(!0);const{allowInvalid:e}=i;e&&!this.isOpened()&&(this.TEXTAREA.value=""),l===r.EDITOR_STATE.FINISHED||this.isOpened()||this.hideEditableElement()}}beginEditing(e,t){this.state===r.EDITOR_STATE.VIRGIN&&(this.TEXTAREA.value="",super.beginEditing(e,t))}focus(){this.TEXTAREA.select(),(0,a.setCaretPosition)(this.TEXTAREA,this.TEXTAREA.value.length)}createElements(){const{rootDocument:e}=this.hot;this.TEXTAREA=e.createElement("TEXTAREA"),(0,a.setAttribute)(this.TEXTAREA,[["data-hot-input",""],(0,g.A11Y_TABINDEX)(-1)]),(0,a.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,a.addClass)(this.TEXTAREA_PARENT,"handsontableInputHolder"),(0,a.hasClass)(this.TEXTAREA_PARENT,this.layerClass)&&(0,a.removeClass)(this.TEXTAREA_PARENT,this.layerClass),(0,a.addClass)(this.TEXTAREA_PARENT,f),this.textareaParentStyle=this.TEXTAREA_PARENT.style,this.TEXTAREA_PARENT.appendChild(this.TEXTAREA),this.hot.rootElement.appendChild(this.TEXTAREA_PARENT)}hideEditableElement(){(0,l.isEdge)()&&(this.textareaStyle.textIndent="-99999px"),this.textareaStyle.overflowY="visible",this.textareaParentStyle.opacity="0",this.textareaParentStyle.height="1px",(0,a.removeClass)(this.TEXTAREA_PARENT,this.layerClass),(0,a.addClass)(this.TEXTAREA_PARENT,f)}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="";const e=this.TEXTAREA_PARENT.childNodes;let t=!1;(0,h.rangeEach)(e.length-1,(o=>{const s=e[o];if((0,a.hasClass)(s,"handsontableEditor"))return t=!0,!1})),(0,a.hasClass)(this.TEXTAREA_PARENT,f)&&(0,a.removeClass)(this.TEXTAREA_PARENT,f),t?(this.layerClass="ht_editor_visible",(0,a.addClass)(this.TEXTAREA_PARENT,this.layerClass)):(this.layerClass=this.getEditedCellsLayerClass(),(0,a.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!==r.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:n,height:i,maxHeight:l}=this.getEditedCellRect();this.textareaParentStyle.top=`${t}px`,this.textareaParentStyle[this.hot.isRtl()?"right":"left"]=`${o}px`,this.showEditableElement();const a=this.hot.rootWindow.getComputedStyle(this.TD);this.TEXTAREA.style.fontSize=a.fontSize,this.TEXTAREA.style.fontFamily=a.fontFamily,this.TEXTAREA.style.backgroundColor=this.TD.style.backgroundColor,this.autoResize.init(this.TEXTAREA,{minWidth:Math.min(s,n),minHeight:Math.min(i,l),maxWidth:n,maxHeight:l},!0)}bindEvents(){(0,l.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===r.EDITOR_STATE.EDITING&&this.focus()})),this.addHook("afterRowResize",(()=>{this.refreshDimensions(),this.state===r.EDITOR_STATE.EDITING&&this.focus()}))}allowKeyEventPropagation(){}destroy(){this.eventManager.destroy(),this.clearHooks()}registerShortcuts(){const e=this.hot.getShortcutManager().getContext("editor"),t={runOnlyIf:()=>(0,u.isDefined)(this.hot.getSelected()),group:p},o=()=>{this.hot.rootDocument.execCommand("insertText",!1,"\n")};e.addShortcuts([{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:[["Home"]],callback:(e,t)=>{let[o]=t;(0,d.updateCaretPosition)(o,this.TEXTAREA)}},{keys:[["End"]],callback:(e,t)=>{let[o]=t;(0,d.updateCaretPosition)(o,this.TEXTAREA)}}],t)}unregisterShortcuts(){this.hot.getShortcutManager().getContext("editor").removeShortcutsByGroup(p)}}t.TextEditor=w},3833:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(27969);t.EDITOR_TYPE=s.EDITOR_TYPE,t.TimeEditor=s.TimeEditor},27969:(e,t,o)=>{"use strict";t.__esModule=!0;var s=o(53423);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},12370:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,t.getListenersCounter=function(){return i},o(15724);var n=s(o(85707)),r=o(40892);let i=0;t.default=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;(0,n.default)(this,"context",void 0),this.context=e||this,this.context.eventListeners||(this.context.eventListeners=[])}addEventListener(e,t,o){let s=arguments.length>3&&void 0!==arguments[3]&&arguments[3];function n(e){o.call(this,function(e){const t=e.stopImmediatePropagation;return e.stopImmediatePropagation=function(){t.apply(this),(0,r.stopImmediatePropagation)(this)},e}(e))}return this.context.eventListeners.push({element:e,event:t,callback:o,callbackProxy:n,options:s,eventManager:this}),e.addEventListener(t,n,s),i+=1,()=>{this.removeEventListener(e,t,o)}}removeEventListener(e,t,o){let s,n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=this.context.eventListeners.length;for(;r;)if(r-=1,s=this.context.eventListeners[r],s.event===t&&s.element===e){if(o&&o!==s.callback)continue;if(n&&s.eventManager!==this)continue;this.context.eventListeners.splice(r,1),s.element.removeEventListener(s.event,s.callbackProxy,s.options),i-=1}}clearEvents(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!this.context)return;let t=this.context.eventListeners.length;for(;t;){t-=1;const o=this.context.eventListeners[t];e&&o.eventManager!==this||(this.context.eventListeners.splice(t,1),o.element.removeEventListener(o.event,o.callbackProxy,o.options),i-=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)}}},94810:(e,t,o)=>{"use strict";t.__esModule=!0,o(67834);var s=o(59350),n=o(94916),r=o(77515);function i(e,t,o){l(e,t),t.set(e,o)}function l(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function a(e,t){return e.get(c(e,t))}function h(e,t,o){return e.set(c(e,t),o),o}function c(e,t,o){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:o;throw new TypeError("Private element is not present on this object")}const u=Object.freeze({CELL:"cell",MIXED:"mixed"});var d=new WeakMap,g=new WeakMap,f=new WeakMap,p=new WeakMap,m=new WeakMap,w=new WeakSet;function C(e){var t;const o=null===(t=a(d,this).getSelectedRangeLast())||void 0===t?void 0:t.highlight;if(!o||!a(d,this).selection.isCellVisible(o))return void e(null);const s=a(d,this).getCell(o.row,o.col,!0);null===s?a(d,this).addHookOnce("afterScroll",(()=>{e(a(d,this).getCell(o.row,o.col,!0))})):e(s)}function v(){c(w,this,C).call(this,(e=>{const{activeElement:t}=a(d,this).rootDocument;t&&(0,n.isOutsideInput)(t)&&t.blur(),this.focusOnHighlightedCell(e)}))}function y(){c(w,this,C).call(this,(e=>{this.getFocusMode()===u.MIXED&&"TD"===e.nodeName&&this.refocusToEditorTextarea()}))}function E(e){"boolean"==typeof e.imeFastEdit&&this.setFocusMode(e.imeFastEdit?u.MIXED:u.CELL)}t.FocusManager=class{constructor(e){var t,o,s=this;l(t=this,o=w),o.add(t),i(this,d,void 0),i(this,g,void 0),i(this,f,1),i(this,p,null),i(this,m,new Map);const n=e.getSettings();h(d,this,e),h(g,this,n.imeFastEdit?u.MIXED:u.CELL),a(d,this).addHook("afterUpdateSettings",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return c(w,s,E).call(s,...t)})),a(d,this).addHook("afterSelection",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return c(w,s,v).call(s,...t)})),a(d,this).addHook("afterSelectionFocusSet",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return c(w,s,v).call(s,...t)})),a(d,this).addHook("afterSelectionEnd",(function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return c(w,s,y).call(s,...t)}))}getFocusMode(){return a(g,this)}setFocusMode(e){Object.values(u).includes(e)?h(g,this,e):(0,s.warn)(`"${e}" is not a valid focus mode.`)}getRefocusDelay(){return a(f,this)}setRefocusDelay(e){h(f,this,e)}setRefocusElementGetter(e){h(p,this,e)}getRefocusElement(){var e;return"function"==typeof a(p,this)?a(p,this).call(this):null===(e=a(d,this).getActiveEditor())||void 0===e?void 0:e.TEXTAREA}focusOnHighlightedCell(e){const t=e=>{var t,o;const s=null===(t=a(d,this).getSelectedRangeLast())||void 0===t?void 0:t.highlight;if(!s)return;let n=a(d,this).runHooks("modifyFocusedElement",s.row,s.col,e);n instanceof HTMLElement||(n=e),!n||null!==(o=a(d,this).getActiveEditor())&&void 0!==o&&o.isOpened()||n.focus({preventScroll:!0})};e?t(e):c(w,this,C).call(this,(e=>t(e)))}refocusToEditorTextarea(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a(f,this);!a(d,this).getSettings().imeFastEdit||null!==(e=a(d,this).getActiveEditor())&&void 0!==e&&e.isOpened()||(a(m,this).has(t)||a(m,this).set(t,(0,r.debounce)((()=>{var e;null===(e=this.getRefocusElement())||void 0===e||e.select()}),t)),a(m,this).get(t)())}}},45551:(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_ROWGROUP=()=>["role","rowgroup"];t.A11Y_COLUMNHEADER=()=>["role","columnheader"];t.A11Y_ROW=()=>["role","row"];t.A11Y_MENU=()=>["role","menu"];t.A11Y_MENU_ITEM=()=>["role","menuitem"];t.A11Y_MENU_ITEM_CHECKBOX=()=>["role","menuitemcheckbox"];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_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]},47154:(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(15724),o(71336),o(41558),o(17663),o(68630),o(79645),o(89858),o(8620),o(14846),o(27458)},99275:(e,t,o)=>{"use strict";t.__esModule=!0,t.isChrome=function(){return i.chrome.value},t.isChromeWebKit=function(){return i.chromeWebKit.value},t.isEdge=function(){return i.edge.value},t.isEdgeWebKit=function(){return i.edgeWebKit.value},t.isFirefox=function(){return i.firefox.value},t.isFirefoxWebKit=function(){return i.firefoxWebKit.value},t.isIOS=function(){return l.ios.value},t.isIpadOS=function(){let{maxTouchPoints:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:navigator;return e>2&&l.mac.value},t.isLinuxOS=function(){return l.linux.value},t.isMacOS=function(){return l.mac.value},t.isMobileBrowser=function(){return i.mobile.value},t.isSafari=function(){return i.safari.value},t.isWindowsOS=function(){return l.win.value},t.setBrowserMeta=a,t.setPlatformMeta=h;var s=o(95016),n=o(37725);const r=e=>{const t={value:!1,test:(o,s)=>{t.value=e(o,s)}};return t},i={chrome:r(((e,t)=>/Chrome/.test(e)&&/Google/.test(t))),chromeWebKit:r((e=>/CriOS/.test(e))),edge:r((e=>/Edge/.test(e))),edgeWebKit:r((e=>/EdgiOS/.test(e))),firefox:r((e=>/Firefox/.test(e))),firefoxWebKit:r((e=>/FxiOS/.test(e))),mobile:r((e=>/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(e))),safari:r(((e,t)=>/Safari/.test(e)&&/Apple Computer/.test(t)))},l={mac:r((e=>/^Mac/.test(e))),win:r((e=>/^Win/.test(e))),linux:r((e=>/^Linux/.test(e))),ios:r((e=>/iPhone|iPad|iPod/i.test(e)))};function a(){let{userAgent:e=navigator.userAgent,vendor:t=navigator.vendor}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,s.objectEach)(i,(o=>{let{test:s}=o;s(e,t)}))}function h(){let{platform:e=navigator.platform}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,s.objectEach)(l,(t=>{let{test:o}=t;o(e)}))}(0,n.isCSR)()&&(a(),h())},59350:(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(95768)},42379:(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(15724),o(14846),o(63333),o(69655);var s=o(95016);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}},96431:(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}},94916:(e,t,o)=>{"use strict";t.__esModule=!0,t.addClass=h,t.addEvent=function(e,t,o){e.addEventListener(t,o,!1)},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=d,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.findFirstParentWithClass=function(e,t){const o={element:void 0,classNames:[]};let s=e;for(;null!==s&&s!==e.ownerDocument.documentElement&&!o.element;){if("string"==typeof t&&s.classList.contains(t))o.element=s,o.classNames.push(t);else if(t instanceof RegExp){const e=Array.from(s.classList).filter((e=>t.test(e)));e.length&&(o.element=s,o.classNames.push(...e))}s=s.parentElement}return o},t.getCaretPosition=function(e){if(e.selectionStart)return e.selectionStart;return 0},t.getCssTransform=function(e){let t;if(e.style.transform&&""!==(t=e.style.transform))return["transform",t];return-1},t.getFrameElement=r,t.getMaximumScrollLeft=function(e){return e.scrollWidth-e.clientWidth},t.getMaximumScrollTop=function(e){return e.scrollHeight-e.clientHeight},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=o.getComputedStyle(e);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=o.getComputedStyle(s),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=C,t.isOutsideInput=v,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,s=t.ownerDocument.defaultView;let n=t;for(;n!==o;){if(null===n)return!1;if(n.nodeType===Node.DOCUMENT_FRAGMENT_NODE){if(n.host){if(n.host.impl)return e(n.host.impl);if(n.host)return e(n.host);throw new Error("Lost in Web Components world")}return!1}if("none"===s.getComputedStyle(n).display)return!1;n=n.parentNode}return!0},t.makeElementContentEditableAndSelectItsContent=y,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=c,t.removeContentEditableFromElementAndDeselect=E,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];y(e,o),t(),E(e,o)},t.selectElementIfAllowed=function(e){v(e.ownerDocument.activeElement)||e.select()},t.setAttribute=u,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(67834),o(15724),o(14846),o(27458),o(69655);var s=o(83414),n=o(45551);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 c(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 u(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 d(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:(d(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}let w;function C(e){return e&&(["INPUT","SELECT","TEXTAREA"].indexOf(e.nodeName)>-1||"true"===e.contentEditable)}function v(e){return C(e)&&!1===e.hasAttribute("data-hot-input")}function y(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();u(e,"contenteditable",!0),o&&u(e,...(0,n.A11Y_HIDDEN)()),t&&h(e,"invisibleSelection"),r.selectNodeContents(e),i.removeAllRanges(),i.addRange(r)}function E(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&&c(e,"invisibleSelection"),e.removeAttribute("contenteditable")}},40892:(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.isTouchEvent=function(e){return e instanceof TouchEvent},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}},37725:(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.isCSR=function(){return"undefined"!=typeof window},t.isTouchSupported=function(){return"ontouchstart"in window},t.requestAnimationFrame=function(e){return window.requestAnimationFrame(e)}},77515:(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(47154),n=o(95768);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 c=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}),c)),s}}},95768:(e,t,o)=>{"use strict";var s=o(96784);t.__esModule=!0,t._injectProductInfo=function(e,t){const o=!l(e),s="string"==typeof e&&"non-commercial-and-evaluation"===e.toLowerCase(),r="15.0.0-next-4a763a3-20241210";let i,v="invalid",y="invalid";const E=function(e){let t=[][a],o=t;if(e[a]!==d("Z"))return!1;for(let t="",s="B<H4P+".split(""),n=d(s.shift());n;n=d(s.shift()||"A"))--n<""[a]?o|=(c(`${c(h(t)+(h(u(e,Math.abs(n),2))+[]).padStart(2,"0"))}`)%97||2)>>1:t=u(e,n,n?1===s[a]?9:8:6);return o===t}(e=g(e||""));if(o||s||E)if(E){const t=(0,n.default)("12/12/2024","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?(v="expired",y="expired"):(v="valid",y="valid")}else s?(v="non_commercial",y="valid"):(v="invalid",y="invalid");else v="missing",y="missing";p()&&(v="valid",y="valid");if(!m&&"valid"!==v){w[v]({keyValidityDate:i,hotVersion:r})&&console["non_commercial"===v?"info":"warn"](w[v]({keyValidityDate:i,hotVersion:r})),m=!0}if("valid"!==y&&t.parentNode){if(C[y]({keyValidityDate:i,hotVersion:r})){const e=document.createElement("div");e.className="handsontable hot-display-license-info",e.innerHTML=C[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(86798)),r=o(20944);function i(e){return void 0===e}function l(e){return null===e||""===e||i(e)}const a="length",h=e=>parseInt(e,16),c=e=>parseInt(e,10),u=(e,t,o)=>e.substr(t,o),d=e=>e.codePointAt(0)-65,g=e=>`${e}`.replace(/\-/g,""),f=e=>h(u(g(e),h("12"),d("F")))/(h(u(g(e),d("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 w={invalid:()=>r.toSingleLine`
38
38
  The license key for Handsontable is invalid.\x20
39
39
  If you need any help, contact us at support@handsontable.com.`,expired:e=>{let{keyValidityDate:t,hotVersion:o}=e;return r.toSingleLine`
40
40
  The license key for Handsontable expired on ${t}, and is not valid for the installed\x20