handsontable 16.1.0-next-91b8a0f-20250905 → 16.1.0-next-1494b74-20250909
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/3rdparty/walkontable/src/viewport.js +30 -18
- package/3rdparty/walkontable/src/viewport.mjs +30 -18
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core.js +12 -1
- package/core.mjs +12 -1
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +47 -24
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +61 -61
- package/dist/handsontable.js +47 -24
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +6 -6
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/package.json +1 -1
- package/styles/handsontable.css +17 -10
- package/styles/handsontable.min.css +3 -3
- package/styles/ht-theme-classic.css +2 -2
- package/styles/ht-theme-classic.min.css +2 -2
- package/styles/ht-theme-horizon.css +2 -2
- package/styles/ht-theme-horizon.min.css +2 -2
- package/styles/ht-theme-main.css +2 -2
- package/styles/ht-theme-main.min.css +2 -2
@@ -348,12 +348,14 @@ class Viewport {
|
|
348
348
|
const rowsCalculator = this.createRowsCalculator();
|
349
349
|
const columnsCalculator = this.createColumnsCalculator();
|
350
350
|
if (fastDraw && !wtSettings.getSetting('renderAllRows')) {
|
351
|
-
const
|
352
|
-
|
351
|
+
const proposedFullyVisibleRowsCalculator = rowsCalculator.getResultsFor('fullyVisible');
|
352
|
+
const proposedPartiallyVisibleRowsCalculator = rowsCalculator.getResultsFor('partiallyVisible');
|
353
|
+
fastDraw = this.areAllProposedVisibleRowsAlreadyRendered(proposedFullyVisibleRowsCalculator, proposedPartiallyVisibleRowsCalculator);
|
353
354
|
}
|
354
355
|
if (fastDraw && !wtSettings.getSetting('renderAllColumns')) {
|
355
|
-
const
|
356
|
-
|
356
|
+
const proposedFullyVisibleColumnsCalculator = columnsCalculator.getResultsFor('fullyVisible');
|
357
|
+
const proposedPartiallyVisibleColumnsCalculator = columnsCalculator.getResultsFor('partiallyVisible');
|
358
|
+
fastDraw = this.areAllProposedVisibleColumnsAlreadyRendered(proposedFullyVisibleColumnsCalculator, proposedPartiallyVisibleColumnsCalculator);
|
357
359
|
}
|
358
360
|
if (!fastDraw) {
|
359
361
|
this.rowsRenderCalculator = rowsCalculator.getResultsFor('rendered');
|
@@ -380,30 +382,35 @@ class Viewport {
|
|
380
382
|
}
|
381
383
|
|
382
384
|
/**
|
383
|
-
* Returns information whether
|
385
|
+
* Returns information whether proposedFullyVisibleRowsCalculator viewport
|
384
386
|
* is contained inside rows rendered in previous draw (cached in rowsRenderCalculator).
|
385
387
|
*
|
386
|
-
* @param {ViewportRowsCalculator}
|
388
|
+
* @param {ViewportRowsCalculator} proposedFullyVisibleRowsCalculator The instance of the fully visible rows viewport calculator to compare with.
|
389
|
+
* @param {ViewportRowsCalculator} proposedPartiallyVisibleRowsCalculator The instance of the partially visible rows viewport calculator to compare with.
|
387
390
|
* @returns {boolean} Returns `true` if all proposed visible rows are already rendered (meaning: redraw is not needed).
|
388
391
|
* Returns `false` if at least one proposed visible row is not already rendered (meaning: redraw is needed).
|
389
392
|
*/
|
390
|
-
areAllProposedVisibleRowsAlreadyRendered(
|
393
|
+
areAllProposedVisibleRowsAlreadyRendered(proposedFullyVisibleRowsCalculator, proposedPartiallyVisibleRowsCalculator) {
|
391
394
|
if (!this.rowsVisibleCalculator) {
|
392
395
|
return false;
|
393
396
|
}
|
394
397
|
let {
|
395
398
|
startRow,
|
396
399
|
endRow
|
397
|
-
} =
|
400
|
+
} = proposedFullyVisibleRowsCalculator;
|
401
|
+
const {
|
402
|
+
startRow: partiallyVisibleStartRow,
|
403
|
+
endRow: partiallyVisibleEndRow
|
404
|
+
} = proposedPartiallyVisibleRowsCalculator;
|
398
405
|
|
399
406
|
// if there are no fully visible rows at all...
|
400
407
|
if (startRow === null && endRow === null) {
|
401
|
-
if (!
|
408
|
+
if (!proposedFullyVisibleRowsCalculator.isVisibleInTrimmingContainer && !this.wtTable.isRowBeforeRenderedRows(partiallyVisibleStartRow) && !this.wtTable.isRowAfterRenderedRows(partiallyVisibleEndRow)) {
|
402
409
|
return true;
|
403
410
|
}
|
404
411
|
// ...use partially visible rows calculator to determine what render type is needed
|
405
|
-
startRow =
|
406
|
-
endRow =
|
412
|
+
startRow = partiallyVisibleStartRow;
|
413
|
+
endRow = partiallyVisibleEndRow;
|
407
414
|
}
|
408
415
|
const {
|
409
416
|
startRow: renderedStartRow,
|
@@ -429,30 +436,35 @@ class Viewport {
|
|
429
436
|
}
|
430
437
|
|
431
438
|
/**
|
432
|
-
* Returns information whether
|
439
|
+
* Returns information whether proposedFullyVisibleColumnsCalculator viewport
|
433
440
|
* is contained inside column rendered in previous draw (cached in columnsRenderCalculator).
|
434
441
|
*
|
435
|
-
* @param {ViewportRowsCalculator}
|
442
|
+
* @param {ViewportRowsCalculator} proposedFullyVisibleColumnsCalculator The instance of the fully visible columns viewport calculator to compare with.
|
443
|
+
* @param {ViewportRowsCalculator} proposedPartiallyVisibleColumnsCalculator The instance of the partially visible columns viewport calculator to compare with.
|
436
444
|
* @returns {boolean} Returns `true` if all proposed visible columns are already rendered (meaning: redraw is not needed).
|
437
445
|
* Returns `false` if at least one proposed visible column is not already rendered (meaning: redraw is needed).
|
438
446
|
*/
|
439
|
-
areAllProposedVisibleColumnsAlreadyRendered(
|
447
|
+
areAllProposedVisibleColumnsAlreadyRendered(proposedFullyVisibleColumnsCalculator, proposedPartiallyVisibleColumnsCalculator) {
|
440
448
|
if (!this.columnsVisibleCalculator) {
|
441
449
|
return false;
|
442
450
|
}
|
443
451
|
let {
|
444
452
|
startColumn,
|
445
453
|
endColumn
|
446
|
-
} =
|
454
|
+
} = proposedFullyVisibleColumnsCalculator;
|
455
|
+
const {
|
456
|
+
startColumn: partiallyVisibleStartColumn,
|
457
|
+
endColumn: partiallyVisibleEndColumn
|
458
|
+
} = proposedPartiallyVisibleColumnsCalculator;
|
447
459
|
|
448
460
|
// if there are no fully visible columns at all...
|
449
461
|
if (startColumn === null && endColumn === null) {
|
450
|
-
if (!
|
462
|
+
if (!proposedFullyVisibleColumnsCalculator.isVisibleInTrimmingContainer && !this.wtTable.isColumnBeforeRenderedColumns(partiallyVisibleStartColumn) && !this.wtTable.isColumnAfterRenderedColumns(partiallyVisibleEndColumn)) {
|
451
463
|
return true;
|
452
464
|
}
|
453
465
|
// ...use partially visible columns calculator to determine what render type is needed
|
454
|
-
startColumn =
|
455
|
-
endColumn =
|
466
|
+
startColumn = partiallyVisibleStartColumn;
|
467
|
+
endColumn = partiallyVisibleEndColumn;
|
456
468
|
}
|
457
469
|
const {
|
458
470
|
startColumn: renderedStartColumn,
|
@@ -345,12 +345,14 @@ class Viewport {
|
|
345
345
|
const rowsCalculator = this.createRowsCalculator();
|
346
346
|
const columnsCalculator = this.createColumnsCalculator();
|
347
347
|
if (fastDraw && !wtSettings.getSetting('renderAllRows')) {
|
348
|
-
const
|
349
|
-
|
348
|
+
const proposedFullyVisibleRowsCalculator = rowsCalculator.getResultsFor('fullyVisible');
|
349
|
+
const proposedPartiallyVisibleRowsCalculator = rowsCalculator.getResultsFor('partiallyVisible');
|
350
|
+
fastDraw = this.areAllProposedVisibleRowsAlreadyRendered(proposedFullyVisibleRowsCalculator, proposedPartiallyVisibleRowsCalculator);
|
350
351
|
}
|
351
352
|
if (fastDraw && !wtSettings.getSetting('renderAllColumns')) {
|
352
|
-
const
|
353
|
-
|
353
|
+
const proposedFullyVisibleColumnsCalculator = columnsCalculator.getResultsFor('fullyVisible');
|
354
|
+
const proposedPartiallyVisibleColumnsCalculator = columnsCalculator.getResultsFor('partiallyVisible');
|
355
|
+
fastDraw = this.areAllProposedVisibleColumnsAlreadyRendered(proposedFullyVisibleColumnsCalculator, proposedPartiallyVisibleColumnsCalculator);
|
354
356
|
}
|
355
357
|
if (!fastDraw) {
|
356
358
|
this.rowsRenderCalculator = rowsCalculator.getResultsFor('rendered');
|
@@ -377,30 +379,35 @@ class Viewport {
|
|
377
379
|
}
|
378
380
|
|
379
381
|
/**
|
380
|
-
* Returns information whether
|
382
|
+
* Returns information whether proposedFullyVisibleRowsCalculator viewport
|
381
383
|
* is contained inside rows rendered in previous draw (cached in rowsRenderCalculator).
|
382
384
|
*
|
383
|
-
* @param {ViewportRowsCalculator}
|
385
|
+
* @param {ViewportRowsCalculator} proposedFullyVisibleRowsCalculator The instance of the fully visible rows viewport calculator to compare with.
|
386
|
+
* @param {ViewportRowsCalculator} proposedPartiallyVisibleRowsCalculator The instance of the partially visible rows viewport calculator to compare with.
|
384
387
|
* @returns {boolean} Returns `true` if all proposed visible rows are already rendered (meaning: redraw is not needed).
|
385
388
|
* Returns `false` if at least one proposed visible row is not already rendered (meaning: redraw is needed).
|
386
389
|
*/
|
387
|
-
areAllProposedVisibleRowsAlreadyRendered(
|
390
|
+
areAllProposedVisibleRowsAlreadyRendered(proposedFullyVisibleRowsCalculator, proposedPartiallyVisibleRowsCalculator) {
|
388
391
|
if (!this.rowsVisibleCalculator) {
|
389
392
|
return false;
|
390
393
|
}
|
391
394
|
let {
|
392
395
|
startRow,
|
393
396
|
endRow
|
394
|
-
} =
|
397
|
+
} = proposedFullyVisibleRowsCalculator;
|
398
|
+
const {
|
399
|
+
startRow: partiallyVisibleStartRow,
|
400
|
+
endRow: partiallyVisibleEndRow
|
401
|
+
} = proposedPartiallyVisibleRowsCalculator;
|
395
402
|
|
396
403
|
// if there are no fully visible rows at all...
|
397
404
|
if (startRow === null && endRow === null) {
|
398
|
-
if (!
|
405
|
+
if (!proposedFullyVisibleRowsCalculator.isVisibleInTrimmingContainer && !this.wtTable.isRowBeforeRenderedRows(partiallyVisibleStartRow) && !this.wtTable.isRowAfterRenderedRows(partiallyVisibleEndRow)) {
|
399
406
|
return true;
|
400
407
|
}
|
401
408
|
// ...use partially visible rows calculator to determine what render type is needed
|
402
|
-
startRow =
|
403
|
-
endRow =
|
409
|
+
startRow = partiallyVisibleStartRow;
|
410
|
+
endRow = partiallyVisibleEndRow;
|
404
411
|
}
|
405
412
|
const {
|
406
413
|
startRow: renderedStartRow,
|
@@ -426,30 +433,35 @@ class Viewport {
|
|
426
433
|
}
|
427
434
|
|
428
435
|
/**
|
429
|
-
* Returns information whether
|
436
|
+
* Returns information whether proposedFullyVisibleColumnsCalculator viewport
|
430
437
|
* is contained inside column rendered in previous draw (cached in columnsRenderCalculator).
|
431
438
|
*
|
432
|
-
* @param {ViewportRowsCalculator}
|
439
|
+
* @param {ViewportRowsCalculator} proposedFullyVisibleColumnsCalculator The instance of the fully visible columns viewport calculator to compare with.
|
440
|
+
* @param {ViewportRowsCalculator} proposedPartiallyVisibleColumnsCalculator The instance of the partially visible columns viewport calculator to compare with.
|
433
441
|
* @returns {boolean} Returns `true` if all proposed visible columns are already rendered (meaning: redraw is not needed).
|
434
442
|
* Returns `false` if at least one proposed visible column is not already rendered (meaning: redraw is needed).
|
435
443
|
*/
|
436
|
-
areAllProposedVisibleColumnsAlreadyRendered(
|
444
|
+
areAllProposedVisibleColumnsAlreadyRendered(proposedFullyVisibleColumnsCalculator, proposedPartiallyVisibleColumnsCalculator) {
|
437
445
|
if (!this.columnsVisibleCalculator) {
|
438
446
|
return false;
|
439
447
|
}
|
440
448
|
let {
|
441
449
|
startColumn,
|
442
450
|
endColumn
|
443
|
-
} =
|
451
|
+
} = proposedFullyVisibleColumnsCalculator;
|
452
|
+
const {
|
453
|
+
startColumn: partiallyVisibleStartColumn,
|
454
|
+
endColumn: partiallyVisibleEndColumn
|
455
|
+
} = proposedPartiallyVisibleColumnsCalculator;
|
444
456
|
|
445
457
|
// if there are no fully visible columns at all...
|
446
458
|
if (startColumn === null && endColumn === null) {
|
447
|
-
if (!
|
459
|
+
if (!proposedFullyVisibleColumnsCalculator.isVisibleInTrimmingContainer && !this.wtTable.isColumnBeforeRenderedColumns(partiallyVisibleStartColumn) && !this.wtTable.isColumnAfterRenderedColumns(partiallyVisibleEndColumn)) {
|
448
460
|
return true;
|
449
461
|
}
|
450
462
|
// ...use partially visible columns calculator to determine what render type is needed
|
451
|
-
startColumn =
|
452
|
-
endColumn =
|
463
|
+
startColumn = partiallyVisibleStartColumn;
|
464
|
+
endColumn = partiallyVisibleEndColumn;
|
453
465
|
}
|
454
466
|
const {
|
455
467
|
startColumn: renderedStartColumn,
|
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 = "
|
49
|
-
Handsontable.version = "16.1.0-next-
|
48
|
+
Handsontable.buildDate = "09/09/2025 12:56:23";
|
49
|
+
Handsontable.version = "16.1.0-next-1494b74-20250909";
|
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 = "
|
39
|
-
Handsontable.version = "16.1.0-next-
|
38
|
+
Handsontable.buildDate = "09/09/2025 12:56:29";
|
39
|
+
Handsontable.version = "16.1.0-next-1494b74-20250909";
|
40
40
|
Handsontable.languages = {
|
41
41
|
dictionaryKeys,
|
42
42
|
getLanguageDictionary,
|
package/core.js
CHANGED
@@ -58,6 +58,13 @@ var _valueAccessors = require("./utils/valueAccessors");
|
|
58
58
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
59
59
|
let activeGuid = null;
|
60
60
|
|
61
|
+
/**
|
62
|
+
* A set of deprecated warn instances.
|
63
|
+
*
|
64
|
+
* @type {Set<string>}
|
65
|
+
*/
|
66
|
+
const deprecatedWarnInstances = new WeakSet();
|
67
|
+
|
61
68
|
/**
|
62
69
|
* Keeps the collection of the all Handsontable instances created on the same page. The
|
63
70
|
* list is then used to trigger the "afterUnlisten" hook when the "listen()" method was
|
@@ -2536,9 +2543,13 @@ function Core(rootContainer, userSettings) {
|
|
2536
2543
|
instance.useTheme(settings.themeName);
|
2537
2544
|
}
|
2538
2545
|
}
|
2539
|
-
if (
|
2546
|
+
if (deprecatedWarnInstances.has(instance) && instance.stylesHandler.getThemeName() !== undefined) {
|
2547
|
+
deprecatedWarnInstances.delete(instance);
|
2548
|
+
}
|
2549
|
+
if ((0, _rootInstance.isRootInstance)(instance) && !deprecatedWarnInstances.has(instance) && instance.stylesHandler.isClassicTheme()) {
|
2540
2550
|
// eslint-disable-next-line max-len
|
2541
2551
|
(0, _console.deprecatedWarn)('Handsontable classic theme is a legacy theme and will be removed in version 17.0. Please update your theme settings to ensure compatibility with future versions.');
|
2552
|
+
deprecatedWarnInstances.add(instance);
|
2542
2553
|
}
|
2543
2554
|
|
2544
2555
|
// Load data or create data map
|
package/core.mjs
CHANGED
@@ -53,6 +53,13 @@ import { install as installAccessibilityAnnouncer, uninstall as uninstallAccessi
|
|
53
53
|
import { getValueSetterValue } from "./utils/valueAccessors.mjs";
|
54
54
|
let activeGuid = null;
|
55
55
|
|
56
|
+
/**
|
57
|
+
* A set of deprecated warn instances.
|
58
|
+
*
|
59
|
+
* @type {Set<string>}
|
60
|
+
*/
|
61
|
+
const deprecatedWarnInstances = new WeakSet();
|
62
|
+
|
56
63
|
/**
|
57
64
|
* Keeps the collection of the all Handsontable instances created on the same page. The
|
58
65
|
* list is then used to trigger the "afterUnlisten" hook when the "listen()" method was
|
@@ -2531,9 +2538,13 @@ export default function Core(rootContainer, userSettings) {
|
|
2531
2538
|
instance.useTheme(settings.themeName);
|
2532
2539
|
}
|
2533
2540
|
}
|
2534
|
-
if (
|
2541
|
+
if (deprecatedWarnInstances.has(instance) && instance.stylesHandler.getThemeName() !== undefined) {
|
2542
|
+
deprecatedWarnInstances.delete(instance);
|
2543
|
+
}
|
2544
|
+
if (isRootInstance(instance) && !deprecatedWarnInstances.has(instance) && instance.stylesHandler.isClassicTheme()) {
|
2535
2545
|
// eslint-disable-next-line max-len
|
2536
2546
|
deprecatedWarn('Handsontable classic theme is a legacy theme and will be removed in version 17.0. Please update your theme settings to ensure compatibility with future versions.');
|
2547
|
+
deprecatedWarnInstances.add(instance);
|
2537
2548
|
}
|
2538
2549
|
|
2539
2550
|
// Load data or create data map
|
package/dist/handsontable.css
CHANGED
@@ -26,8 +26,8 @@
|
|
26
26
|
* INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
|
27
27
|
* USE OR INABILITY TO USE THIS SOFTWARE.
|
28
28
|
*
|
29
|
-
* Version: 16.1.0-next-
|
30
|
-
* Release date: 11/09/2025 (built at
|
29
|
+
* Version: 16.1.0-next-1494b74-20250909
|
30
|
+
* Release date: 11/09/2025 (built at 09/09/2025 12:56:52)
|
31
31
|
*/
|
32
32
|
/**
|
33
33
|
* Fix for bootstrap styles
|
@@ -26,8 +26,8 @@
|
|
26
26
|
* INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
|
27
27
|
* USE OR INABILITY TO USE THIS SOFTWARE.
|
28
28
|
*
|
29
|
-
* Version: 16.1.0-next-
|
30
|
-
* Release date: 11/09/2025 (built at
|
29
|
+
* Version: 16.1.0-next-1494b74-20250909
|
30
|
+
* Release date: 11/09/2025 (built at 09/09/2025 12:56:52)
|
31
31
|
*/
|
32
32
|
/**
|
33
33
|
* 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: 16.1.0-next-
|
29
|
-
* Release date: 11/09/2025 (built at
|
28
|
+
* Version: 16.1.0-next-1494b74-20250909
|
29
|
+
* Release date: 11/09/2025 (built at 09/09/2025 12:56:34)
|
30
30
|
*/
|
31
31
|
(function webpackUniversalModuleDefinition(root, factory) {
|
32
32
|
if(typeof exports === 'object' && typeof module === 'object')
|
@@ -42877,8 +42877,8 @@ Handsontable.hooks = _hooks.Hooks.getSingleton();
|
|
42877
42877
|
Handsontable.CellCoords = _src.CellCoords;
|
42878
42878
|
Handsontable.CellRange = _src.CellRange;
|
42879
42879
|
Handsontable.packageName = 'handsontable';
|
42880
|
-
Handsontable.buildDate = "
|
42881
|
-
Handsontable.version = "16.1.0-next-
|
42880
|
+
Handsontable.buildDate = "09/09/2025 12:56:34";
|
42881
|
+
Handsontable.version = "16.1.0-next-1494b74-20250909";
|
42882
42882
|
Handsontable.languages = {
|
42883
42883
|
dictionaryKeys: _registry.dictionaryKeys,
|
42884
42884
|
getLanguageDictionary: _registry.getLanguageDictionary,
|
@@ -42959,6 +42959,13 @@ var _a11yAnnouncer = __webpack_require__(767);
|
|
42959
42959
|
var _valueAccessors = __webpack_require__(680);
|
42960
42960
|
let activeGuid = null;
|
42961
42961
|
|
42962
|
+
/**
|
42963
|
+
* A set of deprecated warn instances.
|
42964
|
+
*
|
42965
|
+
* @type {Set<string>}
|
42966
|
+
*/
|
42967
|
+
const deprecatedWarnInstances = new WeakSet();
|
42968
|
+
|
42962
42969
|
/**
|
42963
42970
|
* Keeps the collection of the all Handsontable instances created on the same page. The
|
42964
42971
|
* list is then used to trigger the "afterUnlisten" hook when the "listen()" method was
|
@@ -45437,9 +45444,13 @@ function Core(rootContainer, userSettings) {
|
|
45437
45444
|
instance.useTheme(settings.themeName);
|
45438
45445
|
}
|
45439
45446
|
}
|
45440
|
-
if (
|
45447
|
+
if (deprecatedWarnInstances.has(instance) && instance.stylesHandler.getThemeName() !== undefined) {
|
45448
|
+
deprecatedWarnInstances.delete(instance);
|
45449
|
+
}
|
45450
|
+
if ((0, _rootInstance.isRootInstance)(instance) && !deprecatedWarnInstances.has(instance) && instance.stylesHandler.isClassicTheme()) {
|
45441
45451
|
// eslint-disable-next-line max-len
|
45442
45452
|
(0, _console.deprecatedWarn)('Handsontable classic theme is a legacy theme and will be removed in version 17.0. Please update your theme settings to ensure compatibility with future versions.');
|
45453
|
+
deprecatedWarnInstances.add(instance);
|
45443
45454
|
}
|
45444
45455
|
|
45445
45456
|
// Load data or create data map
|
@@ -54777,7 +54788,7 @@ const domMessages = {
|
|
54777
54788
|
function _injectProductInfo(key, element) {
|
54778
54789
|
const hasValidType = !isEmpty(key);
|
54779
54790
|
const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
|
54780
|
-
const hotVersion = "16.1.0-next-
|
54791
|
+
const hotVersion = "16.1.0-next-1494b74-20250909";
|
54781
54792
|
let keyValidityDate;
|
54782
54793
|
let consoleMessageState = 'invalid';
|
54783
54794
|
let domMessageState = 'invalid';
|
@@ -84436,12 +84447,14 @@ class Viewport {
|
|
84436
84447
|
const rowsCalculator = this.createRowsCalculator();
|
84437
84448
|
const columnsCalculator = this.createColumnsCalculator();
|
84438
84449
|
if (fastDraw && !wtSettings.getSetting('renderAllRows')) {
|
84439
|
-
const
|
84440
|
-
|
84450
|
+
const proposedFullyVisibleRowsCalculator = rowsCalculator.getResultsFor('fullyVisible');
|
84451
|
+
const proposedPartiallyVisibleRowsCalculator = rowsCalculator.getResultsFor('partiallyVisible');
|
84452
|
+
fastDraw = this.areAllProposedVisibleRowsAlreadyRendered(proposedFullyVisibleRowsCalculator, proposedPartiallyVisibleRowsCalculator);
|
84441
84453
|
}
|
84442
84454
|
if (fastDraw && !wtSettings.getSetting('renderAllColumns')) {
|
84443
|
-
const
|
84444
|
-
|
84455
|
+
const proposedFullyVisibleColumnsCalculator = columnsCalculator.getResultsFor('fullyVisible');
|
84456
|
+
const proposedPartiallyVisibleColumnsCalculator = columnsCalculator.getResultsFor('partiallyVisible');
|
84457
|
+
fastDraw = this.areAllProposedVisibleColumnsAlreadyRendered(proposedFullyVisibleColumnsCalculator, proposedPartiallyVisibleColumnsCalculator);
|
84445
84458
|
}
|
84446
84459
|
if (!fastDraw) {
|
84447
84460
|
this.rowsRenderCalculator = rowsCalculator.getResultsFor('rendered');
|
@@ -84468,30 +84481,35 @@ class Viewport {
|
|
84468
84481
|
}
|
84469
84482
|
|
84470
84483
|
/**
|
84471
|
-
* Returns information whether
|
84484
|
+
* Returns information whether proposedFullyVisibleRowsCalculator viewport
|
84472
84485
|
* is contained inside rows rendered in previous draw (cached in rowsRenderCalculator).
|
84473
84486
|
*
|
84474
|
-
* @param {ViewportRowsCalculator}
|
84487
|
+
* @param {ViewportRowsCalculator} proposedFullyVisibleRowsCalculator The instance of the fully visible rows viewport calculator to compare with.
|
84488
|
+
* @param {ViewportRowsCalculator} proposedPartiallyVisibleRowsCalculator The instance of the partially visible rows viewport calculator to compare with.
|
84475
84489
|
* @returns {boolean} Returns `true` if all proposed visible rows are already rendered (meaning: redraw is not needed).
|
84476
84490
|
* Returns `false` if at least one proposed visible row is not already rendered (meaning: redraw is needed).
|
84477
84491
|
*/
|
84478
|
-
areAllProposedVisibleRowsAlreadyRendered(
|
84492
|
+
areAllProposedVisibleRowsAlreadyRendered(proposedFullyVisibleRowsCalculator, proposedPartiallyVisibleRowsCalculator) {
|
84479
84493
|
if (!this.rowsVisibleCalculator) {
|
84480
84494
|
return false;
|
84481
84495
|
}
|
84482
84496
|
let {
|
84483
84497
|
startRow,
|
84484
84498
|
endRow
|
84485
|
-
} =
|
84499
|
+
} = proposedFullyVisibleRowsCalculator;
|
84500
|
+
const {
|
84501
|
+
startRow: partiallyVisibleStartRow,
|
84502
|
+
endRow: partiallyVisibleEndRow
|
84503
|
+
} = proposedPartiallyVisibleRowsCalculator;
|
84486
84504
|
|
84487
84505
|
// if there are no fully visible rows at all...
|
84488
84506
|
if (startRow === null && endRow === null) {
|
84489
|
-
if (!
|
84507
|
+
if (!proposedFullyVisibleRowsCalculator.isVisibleInTrimmingContainer && !this.wtTable.isRowBeforeRenderedRows(partiallyVisibleStartRow) && !this.wtTable.isRowAfterRenderedRows(partiallyVisibleEndRow)) {
|
84490
84508
|
return true;
|
84491
84509
|
}
|
84492
84510
|
// ...use partially visible rows calculator to determine what render type is needed
|
84493
|
-
startRow =
|
84494
|
-
endRow =
|
84511
|
+
startRow = partiallyVisibleStartRow;
|
84512
|
+
endRow = partiallyVisibleEndRow;
|
84495
84513
|
}
|
84496
84514
|
const {
|
84497
84515
|
startRow: renderedStartRow,
|
@@ -84517,30 +84535,35 @@ class Viewport {
|
|
84517
84535
|
}
|
84518
84536
|
|
84519
84537
|
/**
|
84520
|
-
* Returns information whether
|
84538
|
+
* Returns information whether proposedFullyVisibleColumnsCalculator viewport
|
84521
84539
|
* is contained inside column rendered in previous draw (cached in columnsRenderCalculator).
|
84522
84540
|
*
|
84523
|
-
* @param {ViewportRowsCalculator}
|
84541
|
+
* @param {ViewportRowsCalculator} proposedFullyVisibleColumnsCalculator The instance of the fully visible columns viewport calculator to compare with.
|
84542
|
+
* @param {ViewportRowsCalculator} proposedPartiallyVisibleColumnsCalculator The instance of the partially visible columns viewport calculator to compare with.
|
84524
84543
|
* @returns {boolean} Returns `true` if all proposed visible columns are already rendered (meaning: redraw is not needed).
|
84525
84544
|
* Returns `false` if at least one proposed visible column is not already rendered (meaning: redraw is needed).
|
84526
84545
|
*/
|
84527
|
-
areAllProposedVisibleColumnsAlreadyRendered(
|
84546
|
+
areAllProposedVisibleColumnsAlreadyRendered(proposedFullyVisibleColumnsCalculator, proposedPartiallyVisibleColumnsCalculator) {
|
84528
84547
|
if (!this.columnsVisibleCalculator) {
|
84529
84548
|
return false;
|
84530
84549
|
}
|
84531
84550
|
let {
|
84532
84551
|
startColumn,
|
84533
84552
|
endColumn
|
84534
|
-
} =
|
84553
|
+
} = proposedFullyVisibleColumnsCalculator;
|
84554
|
+
const {
|
84555
|
+
startColumn: partiallyVisibleStartColumn,
|
84556
|
+
endColumn: partiallyVisibleEndColumn
|
84557
|
+
} = proposedPartiallyVisibleColumnsCalculator;
|
84535
84558
|
|
84536
84559
|
// if there are no fully visible columns at all...
|
84537
84560
|
if (startColumn === null && endColumn === null) {
|
84538
|
-
if (!
|
84561
|
+
if (!proposedFullyVisibleColumnsCalculator.isVisibleInTrimmingContainer && !this.wtTable.isColumnBeforeRenderedColumns(partiallyVisibleStartColumn) && !this.wtTable.isColumnAfterRenderedColumns(partiallyVisibleEndColumn)) {
|
84539
84562
|
return true;
|
84540
84563
|
}
|
84541
84564
|
// ...use partially visible columns calculator to determine what render type is needed
|
84542
|
-
startColumn =
|
84543
|
-
endColumn =
|
84565
|
+
startColumn = partiallyVisibleStartColumn;
|
84566
|
+
endColumn = partiallyVisibleEndColumn;
|
84544
84567
|
}
|
84545
84568
|
const {
|
84546
84569
|
startColumn: renderedStartColumn,
|
@@ -26,8 +26,8 @@
|
|
26
26
|
* INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
|
27
27
|
* USE OR INABILITY TO USE THIS SOFTWARE.
|
28
28
|
*
|
29
|
-
* Version: 16.1.0-next-
|
30
|
-
* Release date: 11/09/2025 (built at
|
29
|
+
* Version: 16.1.0-next-1494b74-20250909
|
30
|
+
* Release date: 11/09/2025 (built at 09/09/2025 12:57:28)
|
31
31
|
*/.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 .hide{display:none}.handsontable .relative{position:relative}.handsontable .wtHider{position:relative;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 .ht_clone_bottom_inline_start_corner td:first-of-type,.handsontable .ht_clone_inline_start td:first-of-type,.handsontable .ht_clone_top_inline_start_corner td:first-of-type,.handsontable th:first-child,.handsontable.ht-wrapper:not(.htFirstDatasetColumnNotRendered) td:first-of-type{border-left:1px solid #ccc}[dir=rtl].handsontable th:first-child,[dir=rtl].handsontable.ht-wrapper:not(.htFirstDatasetColumnNotRendered) td:first-of-type{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:first-child,.handsontable .wtBorder:nth-child(3){z-index:2}.handsontable .wtBorder:nth-child(2),.handsontable .wtBorder:nth-child(4){z-index:1}.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;position:relative;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}.ht-root-wrapper .htFocusCatcher{border:0;height:0;margin:0;opacity:0;padding:0;position:absolute;width:0;z-index:-1}.handsontable .htTextEllipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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;box-sizing:border-box!important;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{position:absolute;select{-webkit-appearance:menulist-button!important;border:2px solid #4b89ff;box-sizing:border-box!important;height:100%;width:100%}}.htSelectEditor select:focus{outline:none}.htSelectEditor .htAutocompleteArrow{display: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{border:1px solid #ccc;margin:0}.handsontable.listbox.autocompleteEditor,.handsontable.listbox.dropdownEditor{border-width:0}.handsontable.listbox .ht_master table{background:#fff;border-collapse:separate}.handsontable.listbox.autocompleteEditor .ht_master table,.handsontable.listbox.dropdownEditor .ht_master table{border:1px solid #ccc}.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}.handsontable .htAutocompleteArrow{color:#bbb;cursor:default;float:right;font-size:10px;text-align:center;width:16px}[dir=rtl].handsontable .htAutocompleteArrow{float:left}.handsontable td.htInvalid .htAutocompleteArrow{color:#555}.handsontable td.htInvalid .htAutocompleteArrow:hover{color:#1a1a1a}.handsontable td .htAutocompleteArrow:hover{color:#777}.handsontable td.area .htAutocompleteArrow{color:#d3d3d3}.handsontable .htCheckboxRendererInput.noValue{opacity:.5}.handsontable .htCheckboxRendererLabel{cursor:pointer;display:inline-block;font-size:inherit;vertical-align:middle}.handsontable .htCheckboxRendererLabel.fullWidth{width:100%}.handsontable .collapsibleIndicator{background:#eee;border:1px solid #a6a6a6;border-radius:10px;-webkit-box-shadow:0 0 0 6px #eee;-moz-box-shadow:0 0 0 6px #eee;box-shadow:0 0 0 3px #eee;color:#222;cursor:pointer;font-size:10px;height:10px;left:unset;line-height:8px;position:absolute;right:5px;text-align:center;top:50%;transform:translateY(-50%);width:10px}[dir=rtl].handsontable .collapsibleIndicator{left:5px;right:unset}.handsontable[dir=ltr] thead th:has(.collapsibleIndicator) div.htRight span.colHeader{margin-right:20px}.handsontable[dir=rtl] thead th:has(.collapsibleIndicator) div.htLeft span.colHeader{margin-left:20px}.handsontable .columnSorting{position:relative}.handsontable[dir=ltr] div.htRight span[class*=ascending],.handsontable[dir=ltr] div.htRight span[class*=descending]{margin-left:-10px;margin-right:10px}.handsontable[dir=rtl] div.htLeft span[class*=ascending],.handsontable[dir=rtl] div.htLeft span[class*=descending]{margin-left:10px;margin-right:-10px}.handsontable[dir=ltr] div.htRight span[class*=ascending]:only-child,.handsontable[dir=ltr] div.htRight span[class*=descending]:only-child{margin-left:-15px;margin-right:15px}.handsontable[dir=rtl] div.htLeft span[class*=ascending]:only-child,.handsontable[dir=rtl] div.htLeft span[class*=descending]:only-child{margin-left:15px;margin-right:-15px}.handsontable .columnSorting.sortAction:hover{cursor:pointer;text-decoration:underline}.handsontable span.colHeader.columnSorting:before{background-position-x:right;background-repeat:no-repeat;background-size:contain;content:"";height:10px;left:unset;margin-top:-6px;padding-left:8px;padding-right:0;position:absolute;right:-9px;top:50%;width:5px}[dir=rtl].handsontable span.colHeader.columnSorting:before{background-position-x:left;left:-9px;padding-left:0;padding-right:8px;right:unset}.handsontable span.colHeader.columnSorting.ascending:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAoCAMAAADJ7yrpAAAAKlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKE86IAAAADXRSTlMABBEmRGprlJW72e77tTkTKwAAAFNJREFUeAHtzjkSgCAUBNHPgsoy97+ulGXRqJE5L+xkxoYt2UdsLb5bqFINz+aLuuLn5rIu2RkO3fZpWENimNgiw6iBYRTPMLJjGFxQZ1hxxb/xBI1qC8k39CdKAAAAAElFTkSuQmCC)}.handsontable span.colHeader.columnSorting.descending:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAoCAMAAADJ7yrpAAAAKlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKE86IAAAADXRSTlMABBEmRGprlJW72e77tTkTKwAAAFJJREFUeAHtzjkSgCAQRNFmQYUZ7n9dKUvru0TmvPAn3br0QfgdZ5xx6x+rQn23GqTYnq1FDcnuzZIO2WmedVqIRVxgGKEyjNgYRjKGkZ1hFIZ3I70LyM0VtU8AAAAASUVORK5CYII=)}.htGhostTable .htCore span.colHeader.columnSorting:not(.indicatorDisabled):before{content:"*";display:inline-block;padding-right:20px;position:relative}.handsontable.htGhostTable table thead th{border-bottom-width:0}.handsontable.htGhostTable table tbody tr td,.handsontable.htGhostTable table tbody tr th{border-top-width:0}.handsontable .htCommentCell{position:relative}.handsontable .htCommentCell:after{border-left:6px solid transparent;border-right:none;border-top:6px solid #000;content:"";left:unset;position:absolute;right:0;top:0}[dir=rtl].handsontable .htCommentCell:after{border-left:none;border-right:6px solid transparent;left:0;right:unset}.htCommentsContainer .htComments{display:none;position:absolute;z-index:1059}.htCommentsContainer .htCommentTextArea{-webkit-appearance:none;background-color:#fff;border:none;border-left:3px solid #ccc;box-shadow:0 1px 3px rgba(0,0,0,.118),0 1px 2px rgba(0,0,0,.239);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-size:12px;height:90px;outline:0!important;padding:5px;width:215px}[dir=rtl].htCommentsContainer .htCommentTextArea{border-left:none;border-right:3px solid #ccc}.htCommentsContainer .htCommentTextArea:focus{border-left:3px solid #5292f7;border-right:none;box-shadow:0 1px 3px rgba(0,0,0,.118),0 1px 2px rgba(0,0,0,.239),inset 0 0 0 1px #5292f7}[dir=rtl].htCommentsContainer .htCommentTextArea:focus{border-left:none;border-right:3px solid #5292f7}
|
32
32
|
/*!
|
33
33
|
* Handsontable ContextMenu
|