handsontable 0.0.0-next-c3d40ad-20241127 → 0.0.0-next-ee5ee21-20241202

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of handsontable might be problematic. Click here for more details.

@@ -180,14 +180,13 @@ class BottomOverlay extends _base.Overlay {
180
180
  rootDocument,
181
181
  rootWindow
182
182
  } = this.domBindings;
183
- const scrollbarWidth = (0, _element.getScrollbarWidth)(rootDocument);
184
183
  const overlayRoot = this.clone.wtTable.holder.parentNode;
185
184
  const overlayRootStyle = overlayRoot.style;
186
185
  const preventOverflow = this.wtSettings.getSetting('preventOverflow');
187
186
  if (this.trimmingContainer !== rootWindow || preventOverflow === 'horizontal') {
188
187
  let width = wtViewport.getWorkspaceWidth();
189
- if (this.wot.wtOverlays.hasScrollbarRight) {
190
- width -= scrollbarWidth;
188
+ if (wtViewport.hasVerticalScroll()) {
189
+ width -= (0, _element.getScrollbarWidth)(rootDocument);
191
190
  }
192
191
  width = Math.min(width, wtTable.wtRootElement.scrollWidth);
193
192
  overlayRootStyle.width = `${width}px`;
@@ -196,7 +195,7 @@ class BottomOverlay extends _base.Overlay {
196
195
  }
197
196
  this.clone.wtTable.holder.style.width = overlayRootStyle.width;
198
197
  let tableHeight = (0, _element.outerHeight)(this.clone.wtTable.TABLE);
199
- if (!this.wot.wtTable.hasDefinedSize()) {
198
+ if (!wtTable.hasDefinedSize()) {
200
199
  tableHeight = 0;
201
200
  }
202
201
  overlayRootStyle.height = `${tableHeight}px`;
@@ -176,14 +176,13 @@ export class BottomOverlay extends Overlay {
176
176
  rootDocument,
177
177
  rootWindow
178
178
  } = this.domBindings;
179
- const scrollbarWidth = getScrollbarWidth(rootDocument);
180
179
  const overlayRoot = this.clone.wtTable.holder.parentNode;
181
180
  const overlayRootStyle = overlayRoot.style;
182
181
  const preventOverflow = this.wtSettings.getSetting('preventOverflow');
183
182
  if (this.trimmingContainer !== rootWindow || preventOverflow === 'horizontal') {
184
183
  let width = wtViewport.getWorkspaceWidth();
185
- if (this.wot.wtOverlays.hasScrollbarRight) {
186
- width -= scrollbarWidth;
184
+ if (wtViewport.hasVerticalScroll()) {
185
+ width -= getScrollbarWidth(rootDocument);
187
186
  }
188
187
  width = Math.min(width, wtTable.wtRootElement.scrollWidth);
189
188
  overlayRootStyle.width = `${width}px`;
@@ -192,7 +191,7 @@ export class BottomOverlay extends Overlay {
192
191
  }
193
192
  this.clone.wtTable.holder.style.width = overlayRootStyle.width;
194
193
  let tableHeight = outerHeight(this.clone.wtTable.TABLE);
195
- if (!this.wot.wtTable.hasDefinedSize()) {
194
+ if (!wtTable.hasDefinedSize()) {
196
195
  tableHeight = 0;
197
196
  }
198
197
  overlayRootStyle.height = `${tableHeight}px`;
@@ -141,20 +141,20 @@ class InlineStartOverlay extends _base.Overlay {
141
141
  */
142
142
  adjustRootElementSize() {
143
143
  const {
144
- wtTable
144
+ wtTable,
145
+ wtViewport
145
146
  } = this.wot;
146
147
  const {
147
148
  rootDocument,
148
149
  rootWindow
149
150
  } = this.domBindings;
150
- const scrollbarHeight = (0, _element.getScrollbarWidth)(rootDocument);
151
151
  const overlayRoot = this.clone.wtTable.holder.parentNode;
152
152
  const overlayRootStyle = overlayRoot.style;
153
153
  const preventOverflow = this.wtSettings.getSetting('preventOverflow');
154
154
  if (this.trimmingContainer !== rootWindow || preventOverflow === 'vertical') {
155
- let height = this.wot.wtViewport.getWorkspaceHeight();
156
- if (this.wot.wtOverlays.hasScrollbarBottom) {
157
- height -= scrollbarHeight;
155
+ let height = wtViewport.getWorkspaceHeight();
156
+ if (wtViewport.hasHorizontalScroll()) {
157
+ height -= (0, _element.getScrollbarWidth)(rootDocument);
158
158
  }
159
159
  height = Math.min(height, wtTable.wtRootElement.scrollHeight);
160
160
  overlayRootStyle.height = `${height}px`;
@@ -137,20 +137,20 @@ export class InlineStartOverlay extends Overlay {
137
137
  */
138
138
  adjustRootElementSize() {
139
139
  const {
140
- wtTable
140
+ wtTable,
141
+ wtViewport
141
142
  } = this.wot;
142
143
  const {
143
144
  rootDocument,
144
145
  rootWindow
145
146
  } = this.domBindings;
146
- const scrollbarHeight = getScrollbarWidth(rootDocument);
147
147
  const overlayRoot = this.clone.wtTable.holder.parentNode;
148
148
  const overlayRootStyle = overlayRoot.style;
149
149
  const preventOverflow = this.wtSettings.getSetting('preventOverflow');
150
150
  if (this.trimmingContainer !== rootWindow || preventOverflow === 'vertical') {
151
- let height = this.wot.wtViewport.getWorkspaceHeight();
152
- if (this.wot.wtOverlays.hasScrollbarBottom) {
153
- height -= scrollbarHeight;
151
+ let height = wtViewport.getWorkspaceHeight();
152
+ if (wtViewport.hasHorizontalScroll()) {
153
+ height -= getScrollbarWidth(rootDocument);
154
154
  }
155
155
  height = Math.min(height, wtTable.wtRootElement.scrollHeight);
156
156
  overlayRootStyle.height = `${height}px`;
@@ -165,20 +165,20 @@ class TopOverlay extends _base.Overlay {
165
165
  */
166
166
  adjustRootElementSize() {
167
167
  const {
168
- wtTable
168
+ wtTable,
169
+ wtViewport
169
170
  } = this.wot;
170
171
  const {
171
172
  rootDocument,
172
173
  rootWindow
173
174
  } = this.domBindings;
174
- const scrollbarWidth = (0, _element.getScrollbarWidth)(rootDocument);
175
175
  const overlayRoot = this.clone.wtTable.holder.parentNode;
176
176
  const overlayRootStyle = overlayRoot.style;
177
177
  const preventOverflow = this.wtSettings.getSetting('preventOverflow');
178
178
  if (this.trimmingContainer !== rootWindow || preventOverflow === 'horizontal') {
179
- let width = this.wot.wtViewport.getWorkspaceWidth();
180
- if (this.wot.wtOverlays.hasScrollbarRight) {
181
- width -= scrollbarWidth;
179
+ let width = wtViewport.getWorkspaceWidth();
180
+ if (wtViewport.hasVerticalScroll()) {
181
+ width -= (0, _element.getScrollbarWidth)(rootDocument);
182
182
  }
183
183
  width = Math.min(width, wtTable.wtRootElement.scrollWidth);
184
184
  overlayRootStyle.width = `${width}px`;
@@ -187,7 +187,7 @@ class TopOverlay extends _base.Overlay {
187
187
  }
188
188
  this.clone.wtTable.holder.style.width = overlayRootStyle.width;
189
189
  let tableHeight = (0, _element.outerHeight)(this.clone.wtTable.TABLE);
190
- if (!this.wot.wtTable.hasDefinedSize()) {
190
+ if (!wtTable.hasDefinedSize()) {
191
191
  tableHeight = 0;
192
192
  }
193
193
  overlayRootStyle.height = `${tableHeight}px`;
@@ -161,20 +161,20 @@ export class TopOverlay extends Overlay {
161
161
  */
162
162
  adjustRootElementSize() {
163
163
  const {
164
- wtTable
164
+ wtTable,
165
+ wtViewport
165
166
  } = this.wot;
166
167
  const {
167
168
  rootDocument,
168
169
  rootWindow
169
170
  } = this.domBindings;
170
- const scrollbarWidth = getScrollbarWidth(rootDocument);
171
171
  const overlayRoot = this.clone.wtTable.holder.parentNode;
172
172
  const overlayRootStyle = overlayRoot.style;
173
173
  const preventOverflow = this.wtSettings.getSetting('preventOverflow');
174
174
  if (this.trimmingContainer !== rootWindow || preventOverflow === 'horizontal') {
175
- let width = this.wot.wtViewport.getWorkspaceWidth();
176
- if (this.wot.wtOverlays.hasScrollbarRight) {
177
- width -= scrollbarWidth;
175
+ let width = wtViewport.getWorkspaceWidth();
176
+ if (wtViewport.hasVerticalScroll()) {
177
+ width -= getScrollbarWidth(rootDocument);
178
178
  }
179
179
  width = Math.min(width, wtTable.wtRootElement.scrollWidth);
180
180
  overlayRootStyle.width = `${width}px`;
@@ -183,7 +183,7 @@ export class TopOverlay extends Overlay {
183
183
  }
184
184
  this.clone.wtTable.holder.style.width = overlayRootStyle.width;
185
185
  let tableHeight = outerHeight(this.clone.wtTable.TABLE);
186
- if (!this.wot.wtTable.hasDefinedSize()) {
186
+ if (!wtTable.hasDefinedSize()) {
187
187
  tableHeight = 0;
188
188
  }
189
189
  overlayRootStyle.height = `${tableHeight}px`;
@@ -166,8 +166,6 @@ class Overlays {
166
166
  const isOverflowHidden = rootWindow.getComputedStyle(wtTable.wtRootElement.parentNode).getPropertyValue('overflow') === 'hidden';
167
167
  this.scrollableElement = isOverflowHidden ? wtTable.holder : (0, _element.getScrollableElement)(wtTable.TABLE);
168
168
  this.initOverlays();
169
- this.hasScrollbarBottom = false;
170
- this.hasScrollbarRight = false;
171
169
  this.destroyed = false;
172
170
  this.keyPressed = false;
173
171
  this.spreaderLastSize = {
@@ -645,24 +643,6 @@ class Overlays {
645
643
  // we need to adjust the hider dimensions by the header border size. (https://github.com/handsontable/dev-handsontable/issues/1772)
646
644
  hiderStyle.width = `${proposedHiderWidth + rowHeaderBorderCompensation}px`;
647
645
  hiderStyle.height = `${proposedHiderHeight + columnHeaderBorderCompensation}px`;
648
- if (this.scrollbarSize > 0) {
649
- // todo refactoring, looking as a part of logic which should be moved outside the class
650
- const {
651
- scrollHeight: rootElemScrollHeight,
652
- scrollWidth: rootElemScrollWidth
653
- } = wtTable.wtRootElement;
654
- const {
655
- scrollHeight: holderScrollHeight,
656
- scrollWidth: holderScrollWidth
657
- } = wtTable.holder;
658
- this.hasScrollbarRight = rootElemScrollHeight < holderScrollHeight;
659
- this.hasScrollbarBottom = rootElemScrollWidth < holderScrollWidth;
660
- if (this.hasScrollbarRight && wtTable.hider.scrollWidth + this.scrollbarSize > rootElemScrollWidth) {
661
- this.hasScrollbarBottom = true;
662
- } else if (this.hasScrollbarBottom && wtTable.hider.scrollHeight + this.scrollbarSize > rootElemScrollHeight) {
663
- this.hasScrollbarRight = true;
664
- }
665
- }
666
646
  this.topOverlay.adjustElementsSize();
667
647
  this.inlineStartOverlay.adjustElementsSize();
668
648
  this.bottomOverlay.adjustElementsSize();
@@ -163,8 +163,6 @@ class Overlays {
163
163
  const isOverflowHidden = rootWindow.getComputedStyle(wtTable.wtRootElement.parentNode).getPropertyValue('overflow') === 'hidden';
164
164
  this.scrollableElement = isOverflowHidden ? wtTable.holder : getScrollableElement(wtTable.TABLE);
165
165
  this.initOverlays();
166
- this.hasScrollbarBottom = false;
167
- this.hasScrollbarRight = false;
168
166
  this.destroyed = false;
169
167
  this.keyPressed = false;
170
168
  this.spreaderLastSize = {
@@ -642,24 +640,6 @@ class Overlays {
642
640
  // we need to adjust the hider dimensions by the header border size. (https://github.com/handsontable/dev-handsontable/issues/1772)
643
641
  hiderStyle.width = `${proposedHiderWidth + rowHeaderBorderCompensation}px`;
644
642
  hiderStyle.height = `${proposedHiderHeight + columnHeaderBorderCompensation}px`;
645
- if (this.scrollbarSize > 0) {
646
- // todo refactoring, looking as a part of logic which should be moved outside the class
647
- const {
648
- scrollHeight: rootElemScrollHeight,
649
- scrollWidth: rootElemScrollWidth
650
- } = wtTable.wtRootElement;
651
- const {
652
- scrollHeight: holderScrollHeight,
653
- scrollWidth: holderScrollWidth
654
- } = wtTable.holder;
655
- this.hasScrollbarRight = rootElemScrollHeight < holderScrollHeight;
656
- this.hasScrollbarBottom = rootElemScrollWidth < holderScrollWidth;
657
- if (this.hasScrollbarRight && wtTable.hider.scrollWidth + this.scrollbarSize > rootElemScrollWidth) {
658
- this.hasScrollbarBottom = true;
659
- } else if (this.hasScrollbarBottom && wtTable.hider.scrollHeight + this.scrollbarSize > rootElemScrollHeight) {
660
- this.hasScrollbarRight = true;
661
- }
662
- }
663
643
  this.topOverlay.adjustElementsSize();
664
644
  this.inlineStartOverlay.adjustElementsSize();
665
645
  this.bottomOverlay.adjustElementsSize();
package/base.js CHANGED
@@ -45,8 +45,8 @@ Handsontable.hooks = _hooks.Hooks.getSingleton();
45
45
  Handsontable.CellCoords = _src.CellCoords;
46
46
  Handsontable.CellRange = _src.CellRange;
47
47
  Handsontable.packageName = 'handsontable';
48
- Handsontable.buildDate = "27/11/2024 10:03:09";
49
- Handsontable.version = "0.0.0-next-c3d40ad-20241127";
48
+ Handsontable.buildDate = "02/12/2024 12:56:55";
49
+ Handsontable.version = "0.0.0-next-ee5ee21-20241202";
50
50
  Handsontable.languages = {
51
51
  dictionaryKeys: _registry.dictionaryKeys,
52
52
  getLanguageDictionary: _registry.getLanguageDictionary,
package/base.mjs CHANGED
@@ -35,8 +35,8 @@ Handsontable.hooks = Hooks.getSingleton();
35
35
  Handsontable.CellCoords = CellCoords;
36
36
  Handsontable.CellRange = CellRange;
37
37
  Handsontable.packageName = 'handsontable';
38
- Handsontable.buildDate = "27/11/2024 10:03:15";
39
- Handsontable.version = "0.0.0-next-c3d40ad-20241127";
38
+ Handsontable.buildDate = "02/12/2024 12:57:00";
39
+ Handsontable.version = "0.0.0-next-ee5ee21-20241202";
40
40
  Handsontable.languages = {
41
41
  dictionaryKeys,
42
42
  getLanguageDictionary,
@@ -25,8 +25,8 @@
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: 0.0.0-next-c3d40ad-20241127
29
- * Release date: 17/10/2024 (built at 27/11/2024 10:03:20)
28
+ * Version: 0.0.0-next-ee5ee21-20241202
29
+ * Release date: 17/10/2024 (built at 02/12/2024 12:57:05)
30
30
  */
31
31
  /**
32
32
  * Fix for bootstrap styles
@@ -25,8 +25,8 @@
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: 0.0.0-next-c3d40ad-20241127
29
- * Release date: 17/10/2024 (built at 27/11/2024 10:03:20)
28
+ * Version: 0.0.0-next-ee5ee21-20241202
29
+ * Release date: 17/10/2024 (built at 02/12/2024 12:57:05)
30
30
  */
31
31
  /**
32
32
  * Fix for bootstrap styles
@@ -25,8 +25,8 @@
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: 0.0.0-next-c3d40ad-20241127
29
- * Release date: 17/10/2024 (built at 27/11/2024 10:03:20)
28
+ * Version: 0.0.0-next-ee5ee21-20241202
29
+ * Release date: 17/10/2024 (built at 02/12/2024 12:57:05)
30
30
  */
31
31
  (function webpackUniversalModuleDefinition(root, factory) {
32
32
  if(typeof exports === 'object' && typeof module === 'object')
@@ -42679,8 +42679,8 @@ Handsontable.hooks = _hooks.Hooks.getSingleton();
42679
42679
  Handsontable.CellCoords = _src.CellCoords;
42680
42680
  Handsontable.CellRange = _src.CellRange;
42681
42681
  Handsontable.packageName = 'handsontable';
42682
- Handsontable.buildDate = "27/11/2024 10:03:20";
42683
- Handsontable.version = "0.0.0-next-c3d40ad-20241127";
42682
+ Handsontable.buildDate = "02/12/2024 12:57:05";
42683
+ Handsontable.version = "0.0.0-next-ee5ee21-20241202";
42684
42684
  Handsontable.languages = {
42685
42685
  dictionaryKeys: _registry.dictionaryKeys,
42686
42686
  getLanguageDictionary: _registry.getLanguageDictionary,
@@ -54144,7 +54144,7 @@ const domMessages = {
54144
54144
  function _injectProductInfo(key, element) {
54145
54145
  const hasValidType = !isEmpty(key);
54146
54146
  const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
54147
- const hotVersion = "0.0.0-next-c3d40ad-20241127";
54147
+ const hotVersion = "0.0.0-next-ee5ee21-20241202";
54148
54148
  let keyValidityDate;
54149
54149
  let consoleMessageState = 'invalid';
54150
54150
  let domMessageState = 'invalid';
@@ -73348,8 +73348,6 @@ class Overlays {
73348
73348
  const isOverflowHidden = rootWindow.getComputedStyle(wtTable.wtRootElement.parentNode).getPropertyValue('overflow') === 'hidden';
73349
73349
  this.scrollableElement = isOverflowHidden ? wtTable.holder : (0, _element.getScrollableElement)(wtTable.TABLE);
73350
73350
  this.initOverlays();
73351
- this.hasScrollbarBottom = false;
73352
- this.hasScrollbarRight = false;
73353
73351
  this.destroyed = false;
73354
73352
  this.keyPressed = false;
73355
73353
  this.spreaderLastSize = {
@@ -73827,24 +73825,6 @@ class Overlays {
73827
73825
  // we need to adjust the hider dimensions by the header border size. (https://github.com/handsontable/dev-handsontable/issues/1772)
73828
73826
  hiderStyle.width = `${proposedHiderWidth + rowHeaderBorderCompensation}px`;
73829
73827
  hiderStyle.height = `${proposedHiderHeight + columnHeaderBorderCompensation}px`;
73830
- if (this.scrollbarSize > 0) {
73831
- // todo refactoring, looking as a part of logic which should be moved outside the class
73832
- const {
73833
- scrollHeight: rootElemScrollHeight,
73834
- scrollWidth: rootElemScrollWidth
73835
- } = wtTable.wtRootElement;
73836
- const {
73837
- scrollHeight: holderScrollHeight,
73838
- scrollWidth: holderScrollWidth
73839
- } = wtTable.holder;
73840
- this.hasScrollbarRight = rootElemScrollHeight < holderScrollHeight;
73841
- this.hasScrollbarBottom = rootElemScrollWidth < holderScrollWidth;
73842
- if (this.hasScrollbarRight && wtTable.hider.scrollWidth + this.scrollbarSize > rootElemScrollWidth) {
73843
- this.hasScrollbarBottom = true;
73844
- } else if (this.hasScrollbarBottom && wtTable.hider.scrollHeight + this.scrollbarSize > rootElemScrollHeight) {
73845
- this.hasScrollbarRight = true;
73846
- }
73847
- }
73848
73828
  this.topOverlay.adjustElementsSize();
73849
73829
  this.inlineStartOverlay.adjustElementsSize();
73850
73830
  this.bottomOverlay.adjustElementsSize();
@@ -78594,14 +78574,13 @@ class BottomOverlay extends _base.Overlay {
78594
78574
  rootDocument,
78595
78575
  rootWindow
78596
78576
  } = this.domBindings;
78597
- const scrollbarWidth = (0, _element.getScrollbarWidth)(rootDocument);
78598
78577
  const overlayRoot = this.clone.wtTable.holder.parentNode;
78599
78578
  const overlayRootStyle = overlayRoot.style;
78600
78579
  const preventOverflow = this.wtSettings.getSetting('preventOverflow');
78601
78580
  if (this.trimmingContainer !== rootWindow || preventOverflow === 'horizontal') {
78602
78581
  let width = wtViewport.getWorkspaceWidth();
78603
- if (this.wot.wtOverlays.hasScrollbarRight) {
78604
- width -= scrollbarWidth;
78582
+ if (wtViewport.hasVerticalScroll()) {
78583
+ width -= (0, _element.getScrollbarWidth)(rootDocument);
78605
78584
  }
78606
78585
  width = Math.min(width, wtTable.wtRootElement.scrollWidth);
78607
78586
  overlayRootStyle.width = `${width}px`;
@@ -78610,7 +78589,7 @@ class BottomOverlay extends _base.Overlay {
78610
78589
  }
78611
78590
  this.clone.wtTable.holder.style.width = overlayRootStyle.width;
78612
78591
  let tableHeight = (0, _element.outerHeight)(this.clone.wtTable.TABLE);
78613
- if (!this.wot.wtTable.hasDefinedSize()) {
78592
+ if (!wtTable.hasDefinedSize()) {
78614
78593
  tableHeight = 0;
78615
78594
  }
78616
78595
  overlayRootStyle.height = `${tableHeight}px`;
@@ -79076,20 +79055,20 @@ class InlineStartOverlay extends _base.Overlay {
79076
79055
  */
79077
79056
  adjustRootElementSize() {
79078
79057
  const {
79079
- wtTable
79058
+ wtTable,
79059
+ wtViewport
79080
79060
  } = this.wot;
79081
79061
  const {
79082
79062
  rootDocument,
79083
79063
  rootWindow
79084
79064
  } = this.domBindings;
79085
- const scrollbarHeight = (0, _element.getScrollbarWidth)(rootDocument);
79086
79065
  const overlayRoot = this.clone.wtTable.holder.parentNode;
79087
79066
  const overlayRootStyle = overlayRoot.style;
79088
79067
  const preventOverflow = this.wtSettings.getSetting('preventOverflow');
79089
79068
  if (this.trimmingContainer !== rootWindow || preventOverflow === 'vertical') {
79090
- let height = this.wot.wtViewport.getWorkspaceHeight();
79091
- if (this.wot.wtOverlays.hasScrollbarBottom) {
79092
- height -= scrollbarHeight;
79069
+ let height = wtViewport.getWorkspaceHeight();
79070
+ if (wtViewport.hasHorizontalScroll()) {
79071
+ height -= (0, _element.getScrollbarWidth)(rootDocument);
79093
79072
  }
79094
79073
  height = Math.min(height, wtTable.wtRootElement.scrollHeight);
79095
79074
  overlayRootStyle.height = `${height}px`;
@@ -81441,20 +81420,20 @@ class TopOverlay extends _base.Overlay {
81441
81420
  */
81442
81421
  adjustRootElementSize() {
81443
81422
  const {
81444
- wtTable
81423
+ wtTable,
81424
+ wtViewport
81445
81425
  } = this.wot;
81446
81426
  const {
81447
81427
  rootDocument,
81448
81428
  rootWindow
81449
81429
  } = this.domBindings;
81450
- const scrollbarWidth = (0, _element.getScrollbarWidth)(rootDocument);
81451
81430
  const overlayRoot = this.clone.wtTable.holder.parentNode;
81452
81431
  const overlayRootStyle = overlayRoot.style;
81453
81432
  const preventOverflow = this.wtSettings.getSetting('preventOverflow');
81454
81433
  if (this.trimmingContainer !== rootWindow || preventOverflow === 'horizontal') {
81455
- let width = this.wot.wtViewport.getWorkspaceWidth();
81456
- if (this.wot.wtOverlays.hasScrollbarRight) {
81457
- width -= scrollbarWidth;
81434
+ let width = wtViewport.getWorkspaceWidth();
81435
+ if (wtViewport.hasVerticalScroll()) {
81436
+ width -= (0, _element.getScrollbarWidth)(rootDocument);
81458
81437
  }
81459
81438
  width = Math.min(width, wtTable.wtRootElement.scrollWidth);
81460
81439
  overlayRootStyle.width = `${width}px`;
@@ -81463,7 +81442,7 @@ class TopOverlay extends _base.Overlay {
81463
81442
  }
81464
81443
  this.clone.wtTable.holder.style.width = overlayRootStyle.width;
81465
81444
  let tableHeight = (0, _element.outerHeight)(this.clone.wtTable.TABLE);
81466
- if (!this.wot.wtTable.hasDefinedSize()) {
81445
+ if (!wtTable.hasDefinedSize()) {
81467
81446
  tableHeight = 0;
81468
81447
  }
81469
81448
  overlayRootStyle.height = `${tableHeight}px`;
@@ -99957,7 +99936,7 @@ function useRecorder(ownerWindow, handleEvent, beforeKeyDown, afterKeyDown, call
99957
99936
  // keyCode 229 aka 'uninitialized' doesn't take into account with editors. This key code is
99958
99937
  // produced when unfinished character is entering using the IME editor. It is fired on macOS,
99959
99938
  // Windows and linux (ubuntu) with installed ibus-pinyin package.
99960
- if (event.keyCode === 229 || result === false || (0, _event.isImmediatePropagationStopped)(event)) {
99939
+ if (result === false || event.keyCode === 229 || typeof event.key !== 'string' || (0, _event.isImmediatePropagationStopped)(event)) {
99961
99940
  return;
99962
99941
  }
99963
99942
  const pressedKey = (0, _utils.normalizeEventKey)(event);
@@ -99981,7 +99960,7 @@ function useRecorder(ownerWindow, handleEvent, beforeKeyDown, afterKeyDown, call
99981
99960
  * @param {KeyboardEvent} event The event object
99982
99961
  */
99983
99962
  const onkeydownForModKeys = event => {
99984
- if (event.key) {
99963
+ if (typeof event.key === 'string') {
99985
99964
  const pressedKey = (0, _utils.normalizeEventKey)(event);
99986
99965
  if (isModifierKey(pressedKey)) {
99987
99966
  modifierKeysObserver.press(pressedKey);
@@ -99996,7 +99975,7 @@ function useRecorder(ownerWindow, handleEvent, beforeKeyDown, afterKeyDown, call
99996
99975
  * @param {KeyboardEvent} event The event object
99997
99976
  */
99998
99977
  const onkeyupForModKeys = event => {
99999
- if (event.key) {
99978
+ if (typeof event.key === 'string') {
100000
99979
  const pressedKey = (0, _utils.normalizeEventKey)(event);
100001
99980
  if (isModifierKey(pressedKey)) {
100002
99981
  modifierKeysObserver.release(pressedKey);
@@ -100668,6 +100647,7 @@ function getComputedStyle(element) {
100668
100647
  * @property {number} maxWidth The maximum width of the element.
100669
100648
  * @property {number} minHeight The minimum height of the element.
100670
100649
  * @property {number} maxHeight The maximum height of the element.
100650
+ * @property {function(HTMLElement): string} textContent The function that returns the text content to measure.
100671
100651
  */
100672
100652
  /**
100673
100653
  * @typedef InputElementResizer
@@ -100679,14 +100659,18 @@ function getComputedStyle(element) {
100679
100659
  * Creates an input element resizer.
100680
100660
  *
100681
100661
  * @param {Document} ownerDocument The document to create the resizer for.
100662
+ * @param {InputElementResizerConfig} initialOptions The configuration to extend the defaults with.
100682
100663
  * @returns {InputElementResizer}
100683
100664
  */
100684
100665
  function createInputElementResizer(ownerDocument) {
100666
+ let initialOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
100685
100667
  const defaults = {
100686
100668
  minHeight: 200,
100687
100669
  maxHeight: 300,
100688
100670
  minWidth: 100,
100689
- maxWidth: 300
100671
+ maxWidth: 300,
100672
+ textContent: element => element.value,
100673
+ ...initialOptions
100690
100674
  };
100691
100675
  const body = ownerDocument.body;
100692
100676
  const textHolder = ownerDocument.createTextNode('');
@@ -100697,7 +100681,7 @@ function createInputElementResizer(ownerDocument) {
100697
100681
  * Resizes the element.
100698
100682
  */
100699
100683
  function resize() {
100700
- textHolder.textContent = observedElement.value;
100684
+ textHolder.textContent = defaults.textContent(observedElement);
100701
100685
  // Won't expand the element size for displaying body as for example, `grid`, `inline-grid` or `flex` with
100702
100686
  // `flex-direction` set as `column`.
100703
100687
  textContainer.style.position = 'absolute';
@@ -103461,8 +103445,11 @@ exports.PasswordEditor = _passwordEditor.PasswordEditor;
103461
103445
  "use strict";
103462
103446
 
103463
103447
 
103448
+ var _interopRequireDefault = __webpack_require__(197);
103464
103449
  exports.__esModule = true;
103450
+ var _defineProperty2 = _interopRequireDefault(__webpack_require__(507));
103465
103451
  var _textEditor = __webpack_require__(753);
103452
+ var _autoResize = __webpack_require__(755);
103466
103453
  var _element = __webpack_require__(354);
103467
103454
  const EDITOR_TYPE = exports.EDITOR_TYPE = 'password';
103468
103455
 
@@ -103471,6 +103458,19 @@ const EDITOR_TYPE = exports.EDITOR_TYPE = 'password';
103471
103458
  * @class PasswordEditor
103472
103459
  */
103473
103460
  class PasswordEditor extends _textEditor.TextEditor {
103461
+ constructor() {
103462
+ super(...arguments);
103463
+ /**
103464
+ * Autoresize instance for resizing the editor to the size of the entered text. Its overwrites the default
103465
+ * resizer of the TextEditor.
103466
+ *
103467
+ * @private
103468
+ * @type {Function}
103469
+ */
103470
+ (0, _defineProperty2.default)(this, "autoResize", (0, _autoResize.createInputElementResizer)(this.hot.rootDocument, {
103471
+ textContent: element => '•'.repeat(element.value.length)
103472
+ }));
103473
+ }
103474
103474
  static get EDITOR_TYPE() {
103475
103475
  return EDITOR_TYPE;
103476
103476
  }
@@ -118119,7 +118119,7 @@ class Comments extends _base.BasePlugin {
118119
118119
  stopPropagation: true,
118120
118120
  runOnlyIf: () => {
118121
118121
  var _this$hot$getSelected;
118122
- return ((_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight.isCell()) && !_classPrivateFieldGet(_editor, this).isVisible();
118122
+ return (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight.isCell();
118123
118123
  },
118124
118124
  group: SHORTCUTS_GROUP
118125
118125
  });
@@ -118609,7 +118609,7 @@ function _onEditorResize(width, height) {
118609
118609
  * @param {Event} event The keydown event.
118610
118610
  */
118611
118611
  function _onAfterDocumentKeyDown(event) {
118612
- if (_classPrivateFieldGet(_editor, this).isVisible()) {
118612
+ if (_classPrivateFieldGet(_editor, this).isFocused()) {
118613
118613
  (0, _event.stopImmediatePropagation)(event);
118614
118614
  }
118615
118615
  }
@@ -25,8 +25,8 @@
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: 0.0.0-next-c3d40ad-20241127
29
- * Release date: 17/10/2024 (built at 27/11/2024 10:03:36)
28
+ * Version: 0.0.0-next-ee5ee21-20241202
29
+ * Release date: 17/10/2024 (built at 02/12/2024 12:57:22)
30
30
  */.handsontable .table td,.handsontable .table th{border-top:none}.handsontable tr{background:#fff}.handsontable td{background-color:inherit}.handsontable .table caption+thead tr:first-child td,.handsontable .table caption+thead tr:first-child th,.handsontable .table colgroup+thead tr:first-child td,.handsontable .table colgroup+thead tr:first-child th,.handsontable .table thead:first-child tr:first-child td,.handsontable .table thead:first-child tr:first-child th{border-top:1px solid #ccc}.handsontable .table-bordered{border:0;border-collapse:separate}.handsontable .table-bordered td,.handsontable .table-bordered th{border-left:none}.handsontable .table-bordered td:first-child,.handsontable .table-bordered th:first-child{border-left:1px solid #ccc}.handsontable .table>tbody>tr>td,.handsontable .table>tbody>tr>th,.handsontable .table>tfoot>tr>td,.handsontable .table>tfoot>tr>th,.handsontable .table>thead>tr>td,.handsontable .table>thead>tr>th{line-height:21px;padding:0}.col-lg-1.handsontable,.col-lg-10.handsontable,.col-lg-11.handsontable,.col-lg-12.handsontable,.col-lg-2.handsontable,.col-lg-3.handsontable,.col-lg-4.handsontable,.col-lg-5.handsontable,.col-lg-6.handsontable,.col-lg-7.handsontable,.col-lg-8.handsontable,.col-lg-9.handsontable,.col-md-1.handsontable,.col-md-10.handsontable,.col-md-11.handsontable,.col-md-12.handsontable,.col-md-2.handsontable,.col-md-3.handsontable,.col-md-4.handsontable,.col-md-5.handsontable,.col-md-6.handsontable,.col-md-7.handsontable,.col-md-8.handsontable,.col-md-9.handsontable .col-sm-1.handsontable,.col-sm-10.handsontable,.col-sm-11.handsontable,.col-sm-12.handsontable,.col-sm-2.handsontable,.col-sm-3.handsontable,.col-sm-4.handsontable,.col-sm-5.handsontable,.col-sm-6.handsontable,.col-sm-7.handsontable,.col-sm-8.handsontable,.col-sm-9.handsontable .col-xs-1.handsontable,.col-xs-10.handsontable,.col-xs-11.handsontable,.col-xs-12.handsontable,.col-xs-2.handsontable,.col-xs-3.handsontable,.col-xs-4.handsontable,.col-xs-5.handsontable,.col-xs-6.handsontable,.col-xs-7.handsontable,.col-xs-8.handsontable,.col-xs-9.handsontable{padding-left:0;padding-right:0}.handsontable .table-striped>tbody>tr:nth-of-type(2n){background-color:#fff}.handsontable{position:relative}.handsontable .hide{display:none}.handsontable .relative{position:relative}.handsontable .wtHider{width:0}.handsontable .wtSpreader{height:auto;position:relative;width:0}.handsontable div,.handsontable input,.handsontable table,.handsontable tbody,.handsontable td,.handsontable textarea,.handsontable th,.handsontable thead{box-sizing:content-box;-webkit-box-sizing:content-box;-moz-box-sizing:content-box}.handsontable input,.handsontable textarea{min-height:auto}.handsontable table.htCore{border-collapse:separate;border-spacing:0;border-width:0;cursor:default;margin:0;max-height:none;max-width:none;outline-width:0;table-layout:fixed;width:0}.handsontable col,.handsontable col.rowHeader{width:50px}.handsontable td,.handsontable th{background-color:#fff;border-bottom:1px solid #ccc;border-left-width:0;border-right:1px solid #ccc;border-top-width:0;empty-cells:show;height:22px;line-height:21px;outline:none;outline-width:0;overflow:hidden;padding:0 4px;vertical-align:top;white-space:pre-wrap}[dir=rtl].handsontable td,[dir=rtl].handsontable th{border-left:1px solid #ccc;border-right-width:0}.handsontable th:last-child{border-bottom:1px solid #ccc;border-left:none;border-right:1px solid #ccc}[dir=rtl].handsontable th:last-child{border-left:1px solid #ccc;border-right:none}.handsontable td:first-of-type,.handsontable th:first-child{border-left:1px solid #ccc}[dir=rtl].handsontable td:first-of-type,[dir=rtl].handsontable th:first-child{border-right:1px solid #ccc}.handsontable .ht_clone_top th:nth-child(2){border-left-width:0;border-right:1px solid #ccc}[dir=rtl].handsontable .ht_clone_top th:nth-child(2){border-left:1px solid #ccc;border-right-width:0}.handsontable.htRowHeaders thead tr th:nth-child(2){border-left:1px solid #ccc}[dir=rtl].handsontable.htRowHeaders thead tr th:nth-child(2){border-right:1px solid #ccc}.handsontable tr:first-child td,.handsontable tr:first-child th{border-top:1px solid #ccc}.ht_master:not(.innerBorderInlineStart):not(.emptyColumns) tbody tr th,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns) thead tr th:first-child,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.htGhostTable) tbody tr th,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.ht_clone_top):not(.htGhostTable) thead tr th:first-child{border-left:1px solid #ccc;border-right-width:0}[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns) tbody tr th,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns) thead tr th:first-child,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.htGhostTable) tbody tr th,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.ht_clone_top):not(.htGhostTable) thead tr th:first-child{border-left-width:0;border-right:1px solid #ccc}.ht_master:not(.innerBorderTop):not(.innerBorderBottom) thead tr.lastChild th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom) thead tr:last-child th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom)~.handsontable thead tr.lastChild th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom)~.handsontable thead tr:last-child th{border-bottom-width:0}.handsontable th{background-color:#f0f0f0;color:#222;font-weight:400;text-align:center;white-space:nowrap}.handsontable thead th{padding:0}.handsontable th.active{background-color:#ccc}.handsontable thead th .relative{padding:2px 4px}.handsontable span.colHeader{display:inline-block;line-height:1.1}.handsontable .wtBorder{font-size:0;position:absolute}.handsontable .wtBorder.hidden{display:none!important}.handsontable .wtBorder.current{z-index:10}.handsontable .wtBorder.area{z-index:8}.handsontable .wtBorder.fill{z-index:6}.handsontable .wtBorder.corner{cursor:crosshair;font-size:0}.ht_clone_master{z-index:100}.ht_clone_inline_start{z-index:120}.ht_clone_bottom{z-index:130}.ht_clone_bottom_inline_start_corner{z-index:150}.ht_clone_top{z-index:160}.ht_clone_top_inline_start_corner{z-index:180}.handsontable col.hidden{width:0!important}.handsontable tr.hidden,.handsontable tr.hidden td,.handsontable tr.hidden th{display:none}.ht_clone_bottom,.ht_clone_inline_start,.ht_clone_top,.ht_master{overflow:hidden}.ht_master .wtHolder{overflow:auto}.handsontable .ht_clone_inline_start table.htCore>thead,.handsontable .ht_master table.htCore>tbody>tr>th,.handsontable .ht_master table.htCore>thead{visibility:hidden}.ht_clone_bottom .wtHolder,.ht_clone_inline_start .wtHolder,.ht_clone_top .wtHolder{overflow:hidden}.handsontable{color:#373737;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:13px;font-weight:400;touch-action:manipulation}.handsontable a{color:#104acc}.handsontable.htAutoSize{left:-99000px;position:absolute;top:-99000px;visibility:hidden}.handsontable td.htInvalid{background-color:#ffbeba!important}.handsontable td.htNoWrap{white-space:nowrap}.handsontable td.invisibleSelection,.handsontable th.invisibleSelection{outline:none}.handsontable td.invisibleSelection::selection,.handsontable th.invisibleSelection::selection{background:hsla(0,0%,100%,0)}.hot-display-license-info{color:#373737;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:10px;font-weight:400;padding:5px 0 3px;text-align:left}.hot-display-license-info a{color:#104acc;font-size:10px}.handsontable .htFocusCatcher{border:0;height:0;margin:0;opacity:0;padding:0;position:absolute;width:0;z-index:-1}.handsontable .manualColumnResizer{cursor:col-resize;height:25px;position:absolute;top:0;width:5px;z-index:210}.handsontable .manualRowResizer{cursor:row-resize;height:5px;left:0;position:absolute;width:50px;z-index:210}.handsontable .manualColumnResizer.active,.handsontable .manualColumnResizer:hover,.handsontable .manualRowResizer.active,.handsontable .manualRowResizer:hover{background-color:#34a9db}.handsontable .manualColumnResizerGuide{background-color:#34a9db;border-left:none;border-right:1px dashed #777;display:none;margin-left:5px;margin-right:unset;position:absolute;right:unset;top:0;width:0}[dir=rtl].handsontable .manualColumnResizerGuide{border-left:1px dashed #777;border-right:none;left:unset;margin-left:unset;margin-right:5px}.handsontable .manualRowResizerGuide{background-color:#34a9db;border-bottom:1px dashed #777;bottom:0;display:none;height:0;left:0;margin-top:5px;position:absolute}.handsontable .manualColumnResizerGuide.active,.handsontable .manualRowResizerGuide.active{display:block;z-index:209}.handsontable td.area,.handsontable td.area-1,.handsontable td.area-2,.handsontable td.area-3,.handsontable td.area-4,.handsontable td.area-5,.handsontable td.area-6,.handsontable td.area-7{position:relative}.handsontable td.area-1:before,.handsontable td.area-2:before,.handsontable td.area-3:before,.handsontable td.area-4:before,.handsontable td.area-5:before,.handsontable td.area-6:before,.handsontable td.area-7:before,.handsontable td.area:before{background:#005eff;bottom:0;content:"";left:0;position:absolute;right:0;top:0}.handsontable td.area:before{opacity:.1}.handsontable td.area-1:before{opacity:.2}.handsontable td.area-2:before{opacity:.27}.handsontable td.area-3:before{opacity:.35}.handsontable td.area-4:before{opacity:.41}.handsontable td.area-5:before{opacity:.47}.handsontable td.area-6:before{opacity:.54}.handsontable td.area-7:before{opacity:.58}.handsontable tbody th.current,.handsontable thead th.current{box-shadow:inset 0 0 0 2px #4b89ff}.handsontable tbody th.ht__highlight,.handsontable thead th.ht__highlight{background-color:#dcdcdc}.handsontable tbody th.ht__active_highlight,.handsontable thead th.ht__active_highlight{background-color:#8eb0e7;color:#000}.handsontableInput{background-color:#fff;border:none;border-radius:0;box-shadow:inset 0 0 0 2px #5292f7;color:#000;display:block;font-family:inherit;font-size:inherit;line-height:21px;margin:0;outline-width:0;padding:1px 5px 0;resize:none}.handsontableInput:focus{outline:none}.handsontableInputHolder{left:0;position:absolute;top:0}.htSelectEditor{-webkit-appearance:menulist-button!important;border:2px solid #4b89ff;position:absolute;width:auto}.htSelectEditor:focus{outline:none}.handsontable .htDimmed{color:#777}.handsontable .htSubmenu{position:relative}.handsontable .htSubmenu :after{color:#777;content:"▶";font-size:9px;position:absolute;right:5px}[dir=rtl].handsontable .htSubmenu :after{content:""}[dir=rtl].handsontable .htSubmenu :before{color:#777;content:"◀";font-size:9px;left:5px;position:absolute}.handsontable .htLeft{text-align:left}.handsontable .htCenter{text-align:center}.handsontable .htRight{text-align:right}.handsontable .htJustify{text-align:justify}.handsontable .htTop{vertical-align:top}.handsontable .htMiddle{vertical-align:middle}.handsontable .htBottom{vertical-align:bottom}.handsontable .htPlaceholder{color:#999}.handsontable.listbox{margin:0}.handsontable.listbox .ht_master table{background:#fff;border:1px solid #ccc;border-collapse:separate}.handsontable.listbox td,.handsontable.listbox th,.handsontable.listbox tr:first-child td,.handsontable.listbox tr:first-child th,.handsontable.listbox tr:last-child th{border-color:transparent!important}.handsontable.listbox td,.handsontable.listbox th{text-overflow:ellipsis;white-space:nowrap}.handsontable.listbox td.htDimmed{color:inherit;cursor:default;font-style:inherit}.handsontable.listbox .wtBorder{visibility:hidden}.handsontable.listbox tr td.current,.handsontable.listbox tr:hover td{background:#eee}.ht_editor_hidden{z-index:-1}.ht_editor_visible{z-index:200}.handsontable td.htSearchResult{background:#fcedd9;color:#583707}.handsontable.mobile,.handsontable.mobile .wtHolder{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-overflow-scrolling:touch}.handsontable.mobile .handsontableInput:focus{-webkit-appearance:none;-webkit-box-shadow:inset 0 0 0 2px #5292f7;-moz-box-shadow:inset 0 0 0 2px #5292f7;box-shadow:inset 0 0 0 2px #5292f7}.handsontable .bottomSelectionHandle,.handsontable .bottomSelectionHandle-HitArea,.handsontable .topSelectionHandle,.handsontable .topSelectionHandle-HitArea{left:-10000px;right:unset;top:-10000px;z-index:9999}[dir=rtl].handsontable .bottomSelectionHandle,[dir=rtl].handsontable .bottomSelectionHandle-HitArea,[dir=rtl].handsontable .topSelectionHandle,[dir=rtl].handsontable .topSelectionHandle-HitArea{left:unset;right:-10000px}.handsontable.hide-tween{-webkit-animation:opacity-hide .3s;animation:opacity-hide .3s;animation-fill-mode:forwards;-webkit-animation-fill-mode:forwards}.handsontable.show-tween{-webkit-animation:opacity-show .3s;animation:opacity-show .3s;animation-fill-mode:forwards;-webkit-animation-fill-mode:forwards}
31
31
  /*!
32
32
  * Pikaday