handsontable 16.1.0 → 16.1.1-next-799e8f4-20250923
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/CHANGELOG.md +7 -0
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +63 -18
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +6 -6
- package/dist/handsontable.js +63 -18
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +5 -5
- package/helpers/mixed.js +2 -2
- package/helpers/mixed.mjs +2 -2
- package/package.json +1 -1
- package/plugins/formulas/formulas.js +51 -11
- package/plugins/formulas/formulas.mjs +51 -11
- package/plugins/manualRowResize/manualRowResize.js +6 -1
- package/plugins/manualRowResize/manualRowResize.mjs +6 -1
- package/styles/handsontable.css +2 -2
- package/styles/handsontable.min.css +2 -2
- 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 +30 -30
- package/styles/ht-theme-main.min.css +3 -3
package/CHANGELOG.md
CHANGED
@@ -9,6 +9,13 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
9
9
|
|
10
10
|
<!-- UNVERSIONED -->
|
11
11
|
|
12
|
+
## [16.1.1] - 2025-09-23
|
13
|
+
|
14
|
+
### Fixed
|
15
|
+
- Fixed row misalignment when setting `manualRowResize` on an instance with `autoRowSize` enabled. [#11849](https://github.com/handsontable/handsontable/pull/11849)
|
16
|
+
- Reverted the foreground color change for the "main" theme. [#11852](https://github.com/handsontable/handsontable/pull/11852)
|
17
|
+
- Fixed an error thrown when using autocomplete-typed cells with key/value sources alongside formulas. [#11853](https://github.com/handsontable/handsontable/pull/11853)
|
18
|
+
|
12
19
|
## [16.1.0] - 2025-09-15
|
13
20
|
|
14
21
|
### Added
|
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.
|
48
|
+
Handsontable.buildDate = "23/09/2025 08:39:47";
|
49
|
+
Handsontable.version = "16.1.1-next-799e8f4-20250923";
|
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.
|
38
|
+
Handsontable.buildDate = "23/09/2025 08:39:53";
|
39
|
+
Handsontable.version = "16.1.1-next-799e8f4-20250923";
|
40
40
|
Handsontable.languages = {
|
41
41
|
dictionaryKeys,
|
42
42
|
getLanguageDictionary,
|
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.
|
30
|
-
* Release date:
|
29
|
+
* Version: 16.1.1-next-799e8f4-20250923
|
30
|
+
* Release date: 23/09/2025 (built at 23/09/2025 08:40:16)
|
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.
|
30
|
-
* Release date:
|
29
|
+
* Version: 16.1.1-next-799e8f4-20250923
|
30
|
+
* Release date: 23/09/2025 (built at 23/09/2025 08:40:16)
|
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.
|
29
|
-
* Release date:
|
28
|
+
* Version: 16.1.1-next-799e8f4-20250923
|
29
|
+
* Release date: 23/09/2025 (built at 23/09/2025 08:39:58)
|
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.
|
42880
|
+
Handsontable.buildDate = "23/09/2025 08:39:58";
|
42881
|
+
Handsontable.version = "16.1.1-next-799e8f4-20250923";
|
42882
42882
|
Handsontable.languages = {
|
42883
42883
|
dictionaryKeys: _registry.dictionaryKeys,
|
42884
42884
|
getLanguageDictionary: _registry.getLanguageDictionary,
|
@@ -54788,7 +54788,7 @@ const domMessages = {
|
|
54788
54788
|
function _injectProductInfo(key, element) {
|
54789
54789
|
const hasValidType = !isEmpty(key);
|
54790
54790
|
const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
|
54791
|
-
const hotVersion = "16.1.
|
54791
|
+
const hotVersion = "16.1.1-next-799e8f4-20250923";
|
54792
54792
|
let keyValidityDate;
|
54793
54793
|
let consoleMessageState = 'invalid';
|
54794
54794
|
let domMessageState = 'invalid';
|
@@ -54796,7 +54796,7 @@ function _injectProductInfo(key, element) {
|
|
54796
54796
|
const schemaValidity = _checkKeySchema(key);
|
54797
54797
|
if (hasValidType || isNonCommercial || schemaValidity) {
|
54798
54798
|
if (schemaValidity) {
|
54799
|
-
const releaseDate = (0, _moment.default)("
|
54799
|
+
const releaseDate = (0, _moment.default)("23/09/2025", 'DD/MM/YYYY');
|
54800
54800
|
const releaseDays = Math.floor(releaseDate.toDate().getTime() / 8.64e7);
|
54801
54801
|
const keyValidityDays = _extractTime(key);
|
54802
54802
|
keyValidityDate = (0, _moment.default)((keyValidityDays + 1) * 8.64e7, 'x').format('MMMM DD, YYYY');
|
@@ -136699,6 +136699,7 @@ var _base = __webpack_require__(865);
|
|
136699
136699
|
var _staticRegister = __webpack_require__(527);
|
136700
136700
|
var _console = __webpack_require__(518);
|
136701
136701
|
var _number = __webpack_require__(539);
|
136702
|
+
var _object = __webpack_require__(504);
|
136702
136703
|
var _mixed = __webpack_require__(358);
|
136703
136704
|
var _register = __webpack_require__(1014);
|
136704
136705
|
var _utils = __webpack_require__(1016);
|
@@ -136886,7 +136887,7 @@ class Formulas extends _base.BasePlugin {
|
|
136886
136887
|
|
136887
136888
|
// Useful for disabling -> enabling the plugin using `updateSettings` or the API.
|
136888
136889
|
if (this.sheetName !== null && !this.engine.doesSheetExist(this.sheetName)) {
|
136889
|
-
const newSheetName = this.addSheet(this.sheetName, this.
|
136890
|
+
const newSheetName = this.addSheet(this.sheetName, _assertClassBrand(_Formulas_brand, this, _getProcessedSourceDataArray).call(this));
|
136890
136891
|
if (newSheetName !== false) {
|
136891
136892
|
_assertClassBrand(_Formulas_brand, this, _updateSheetNameAndSheetId).call(this, newSheetName);
|
136892
136893
|
}
|
@@ -137119,7 +137120,7 @@ class Formulas extends _base.BasePlugin {
|
|
137119
137120
|
if (sheetName && this.engine.doesSheetExist(sheetName)) {
|
137120
137121
|
this.switchSheet(this.sheetName);
|
137121
137122
|
} else {
|
137122
|
-
const newSheetName = this.addSheet(sheetName !== null && sheetName !== void 0 ? sheetName : undefined, this.
|
137123
|
+
const newSheetName = this.addSheet(sheetName !== null && sheetName !== void 0 ? sheetName : undefined, _assertClassBrand(_Formulas_brand, this, _getProcessedSourceDataArray).call(this));
|
137123
137124
|
_assertClassBrand(_Formulas_brand, this, _updateSheetNameAndSheetId).call(this, newSheetName);
|
137124
137125
|
}
|
137125
137126
|
}
|
@@ -137344,13 +137345,13 @@ class Formulas extends _base.BasePlugin {
|
|
137344
137345
|
}
|
137345
137346
|
|
137346
137347
|
/**
|
137347
|
-
*
|
137348
|
-
*
|
137348
|
+
* Get the value to be passed to the formula engine.
|
137349
|
+
* If the value is an object, utilize the valueGetter for that cell, otherwise return the value as is.
|
137349
137350
|
*
|
137350
|
-
* @param {
|
137351
|
-
* @param {number}
|
137352
|
-
* @param {
|
137353
|
-
* @returns {*}
|
137351
|
+
* @param {number} row The physical row index.
|
137352
|
+
* @param {number} column The physical column index.
|
137353
|
+
* @param {*} value The value to be passed to the formula engine.
|
137354
|
+
* @returns {*} The value to be displayed in the cell.
|
137354
137355
|
*/
|
137355
137356
|
}
|
137356
137357
|
exports.Formulas = Formulas;
|
@@ -137358,6 +137359,44 @@ function _updateSheetNameAndSheetId(sheetName) {
|
|
137358
137359
|
this.sheetName = sheetName;
|
137359
137360
|
this.sheetId = this.engine.getSheetId(this.sheetName);
|
137360
137361
|
}
|
137362
|
+
function _getValueGetterValue(row, column, value) {
|
137363
|
+
if ((0, _object.isObject)(value) && value !== null) {
|
137364
|
+
const visualRow = this.hot.toVisualRow(row);
|
137365
|
+
const visualColumn = this.hot.toVisualColumn(column);
|
137366
|
+
const valueGetter = this.hot.getCellMeta(visualRow, visualColumn).valueGetter;
|
137367
|
+
if (valueGetter) {
|
137368
|
+
return valueGetter.call(this.hot, value);
|
137369
|
+
}
|
137370
|
+
return value.toString();
|
137371
|
+
}
|
137372
|
+
return value;
|
137373
|
+
}
|
137374
|
+
/**
|
137375
|
+
* Get the source data array to be passed to the formula engine.
|
137376
|
+
* If the value is an object, utilize the valueGetter for that cell, otherwise return the value as is.
|
137377
|
+
*
|
137378
|
+
* @param {number} [row] The starting visual row index.
|
137379
|
+
* @param {number} [column] The starting visual column index.
|
137380
|
+
* @param {number} [row2] The ending visual row index.
|
137381
|
+
* @param {number} [column2] The ending visual column index.
|
137382
|
+
* @returns {Array} The source data array to be passed to the formula engine.
|
137383
|
+
*/
|
137384
|
+
function _getProcessedSourceDataArray(row, column, row2, column2) {
|
137385
|
+
return this.hot.getSourceDataArray(row, column, row2, column2).map((rowObject, rowIndex) => {
|
137386
|
+
return rowObject.map((value, columnIndex) => {
|
137387
|
+
return _assertClassBrand(_Formulas_brand, this, _getValueGetterValue).call(this, rowIndex, columnIndex, value);
|
137388
|
+
});
|
137389
|
+
});
|
137390
|
+
}
|
137391
|
+
/**
|
137392
|
+
* The hook allows to translate the formula value to calculated value before it goes to the
|
137393
|
+
* validator function.
|
137394
|
+
*
|
137395
|
+
* @param {*} value The cell value to validate.
|
137396
|
+
* @param {number} visualRow The visual row index.
|
137397
|
+
* @param {number|string} prop The visual column index or property name of the column.
|
137398
|
+
* @returns {*} Returns value to validate.
|
137399
|
+
*/
|
137361
137400
|
function _onBeforeValidate(value, visualRow, prop) {
|
137362
137401
|
const visualColumn = this.hot.propToCol(prop);
|
137363
137402
|
if (this.isFormulaCellType(visualRow, visualColumn)) {
|
@@ -137489,7 +137528,7 @@ function _onAfterCellMetaReset() {
|
|
137489
137528
|
this.switchSheet(this.sheetName);
|
137490
137529
|
return;
|
137491
137530
|
}
|
137492
|
-
const sourceDataArray = this.
|
137531
|
+
const sourceDataArray = _assertClassBrand(_Formulas_brand, this, _getProcessedSourceDataArray).call(this);
|
137493
137532
|
sourceDataArray.forEach((rowData, rowIndex) => {
|
137494
137533
|
rowData.forEach((cellValue, columnIndex) => {
|
137495
137534
|
const cellMeta = this.hot.getCellMeta(rowIndex, columnIndex, {
|
@@ -137532,7 +137571,7 @@ function _onAfterLoadData(sourceData, initialLoad) {
|
|
137532
137571
|
return;
|
137533
137572
|
}
|
137534
137573
|
if (!_classPrivateFieldGet(_hotWasInitializedWithEmptyData, this)) {
|
137535
|
-
const sourceDataArray = this.
|
137574
|
+
const sourceDataArray = _assertClassBrand(_Formulas_brand, this, _getProcessedSourceDataArray).call(this);
|
137536
137575
|
if (this.engine.isItPossibleToReplaceSheetContent(this.sheetId, sourceDataArray)) {
|
137537
137576
|
_classPrivateFieldSet(_internalOperationPending, this, true);
|
137538
137577
|
const dependentCells = this.engine.setSheetContent(this.sheetId, sourceDataArray);
|
@@ -137644,6 +137683,7 @@ function _onAfterSetDataAtCell(changes, source) {
|
|
137644
137683
|
col: this.columnAxisSyncer.getHfIndexFromVisualIndex(visualColumn),
|
137645
137684
|
sheet: this.sheetId
|
137646
137685
|
};
|
137686
|
+
newValue = _assertClassBrand(_Formulas_brand, this, _getValueGetterValue).call(this, physicalRow, physicalColumn, newValue);
|
137647
137687
|
if (physicalRow !== null && physicalColumn !== null) {
|
137648
137688
|
this.syncChangeWithEngine(visualRow, visualColumn, newValue);
|
137649
137689
|
} else {
|
@@ -137853,7 +137893,7 @@ function _onAfterRemoveCol(col, amount, physicalColumns, source) {
|
|
137853
137893
|
function _onAfterDetachChild(parent, element, finalElementRowIndex) {
|
137854
137894
|
var _element$__children;
|
137855
137895
|
_classPrivateFieldSet(_internalOperationPending, this, true);
|
137856
|
-
const rowsData = this.
|
137896
|
+
const rowsData = _assertClassBrand(_Formulas_brand, this, _getProcessedSourceDataArray).call(this, finalElementRowIndex, 0, finalElementRowIndex + (((_element$__children = element.__children) === null || _element$__children === void 0 ? void 0 : _element$__children.length) || 0), this.hot.countSourceCols());
|
137857
137897
|
_classPrivateFieldSet(_internalOperationPending, this, false);
|
137858
137898
|
rowsData.forEach((row, relativeRowIndex) => {
|
137859
137899
|
row.forEach((value, colIndex) => {
|
@@ -143858,7 +143898,12 @@ function _onModifyRowHeight(height, row) {
|
|
143858
143898
|
const physicalRow = this.hot.toPhysicalRow(row);
|
143859
143899
|
const rowHeight = _classPrivateFieldGet(_rowHeightsMap, this).getValueAtIndex(physicalRow);
|
143860
143900
|
if (this.hot.getSettings()[PLUGIN_KEY] && rowHeight) {
|
143861
|
-
|
143901
|
+
var _this$hot$getPlugin;
|
143902
|
+
if ((_this$hot$getPlugin = this.hot.getPlugin('autoRowSize')) !== null && _this$hot$getPlugin !== void 0 && _this$hot$getPlugin.isEnabled()) {
|
143903
|
+
newHeight = Math.max(rowHeight, newHeight !== null && newHeight !== void 0 ? newHeight : 0);
|
143904
|
+
} else {
|
143905
|
+
newHeight = rowHeight;
|
143906
|
+
}
|
143862
143907
|
}
|
143863
143908
|
}
|
143864
143909
|
return newHeight;
|
@@ -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.
|
30
|
-
* Release date:
|
29
|
+
* Version: 16.1.1-next-799e8f4-20250923
|
30
|
+
* Release date: 23/09/2025 (built at 23/09/2025 08:40:54)
|
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
|