handsontable 0.0.0-next-df87bb0-20240604 → 0.0.0-next-7230ce6-20240605
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.
- 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 +184 -74
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +6 -6
- package/dist/handsontable.js +184 -74
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +7 -7
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/package.json +1 -1
- package/plugins/mergeCells/cellCoords.js +19 -1
- package/plugins/mergeCells/cellCoords.mjs +19 -1
- package/plugins/mergeCells/cellsCollection.js +120 -37
- package/plugins/mergeCells/cellsCollection.mjs +120 -37
- package/plugins/mergeCells/mergeCells.js +39 -31
- package/plugins/mergeCells/mergeCells.mjs +39 -31
- package/shortcuts/context.d.ts +1 -1
package/dist/handsontable.js
CHANGED
@@ -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-
|
29
|
-
* Release date: 16/04/2024 (built at
|
28
|
+
* Version: 0.0.0-next-7230ce6-20240605
|
29
|
+
* Release date: 16/04/2024 (built at 05/06/2024 11:36:56)
|
30
30
|
*/
|
31
31
|
(function webpackUniversalModuleDefinition(root, factory) {
|
32
32
|
if(typeof exports === 'object' && typeof module === 'object')
|
@@ -107,8 +107,8 @@ Handsontable.hooks = _pluginHooks.default.getSingleton();
|
|
107
107
|
Handsontable.CellCoords = _src.CellCoords;
|
108
108
|
Handsontable.CellRange = _src.CellRange;
|
109
109
|
Handsontable.packageName = 'handsontable';
|
110
|
-
Handsontable.buildDate = "
|
111
|
-
Handsontable.version = "0.0.0-next-
|
110
|
+
Handsontable.buildDate = "05/06/2024 11:36:56";
|
111
|
+
Handsontable.version = "0.0.0-next-7230ce6-20240605";
|
112
112
|
Handsontable.languages = {
|
113
113
|
dictionaryKeys: _registry.dictionaryKeys,
|
114
114
|
getLanguageDictionary: _registry.getLanguageDictionary,
|
@@ -9129,7 +9129,7 @@ const domMessages = {
|
|
9129
9129
|
function _injectProductInfo(key, element) {
|
9130
9130
|
const hasValidType = !isEmpty(key);
|
9131
9131
|
const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
|
9132
|
-
const hotVersion = "0.0.0-next-
|
9132
|
+
const hotVersion = "0.0.0-next-7230ce6-20240605";
|
9133
9133
|
let keyValidityDate;
|
9134
9134
|
let consoleMessageState = 'invalid';
|
9135
9135
|
let domMessageState = 'invalid';
|
@@ -79743,36 +79743,42 @@ class MergeCells extends _base.BasePlugin {
|
|
79743
79743
|
* @param {Array|boolean} settings The settings provided to the plugin.
|
79744
79744
|
*/
|
79745
79745
|
generateFromSettings(settings) {
|
79746
|
-
if (Array.isArray(settings)) {
|
79747
|
-
|
79748
|
-
|
79749
|
-
|
79750
|
-
|
79746
|
+
if (!Array.isArray(settings)) {
|
79747
|
+
return;
|
79748
|
+
}
|
79749
|
+
const validSettings = settings.filter(mergeCellInfo => this.validateSetting(mergeCellInfo));
|
79750
|
+
const nonOverlappingSettings = this.mergedCellsCollection.filterOverlappingMergeCells(validSettings);
|
79751
|
+
const populatedNulls = [];
|
79752
|
+
nonOverlappingSettings.forEach(mergeCellInfo => {
|
79753
|
+
const {
|
79754
|
+
row,
|
79755
|
+
col,
|
79756
|
+
rowspan,
|
79757
|
+
colspan
|
79758
|
+
} = mergeCellInfo;
|
79759
|
+
const from = this.hot._createCellCoords(row, col);
|
79760
|
+
const to = this.hot._createCellCoords(row + rowspan - 1, col + colspan - 1);
|
79761
|
+
const mergeRange = this.hot._createCellRange(from, from, to);
|
79762
|
+
|
79763
|
+
// Merging without data population.
|
79764
|
+
this.mergeRange(mergeRange, true, true);
|
79765
|
+
for (let r = row; r < row + rowspan; r++) {
|
79766
|
+
for (let c = col; c < col + colspan; c++) {
|
79767
|
+
// Not resetting a cell representing a merge area's value.
|
79768
|
+
if (r !== row || c !== col) {
|
79769
|
+
populatedNulls.push([r, c, null]);
|
79770
|
+
}
|
79751
79771
|
}
|
79752
|
-
const highlight = this.hot._createCellCoords(setting.row, setting.col);
|
79753
|
-
const rangeEnd = this.hot._createCellCoords(setting.row + setting.rowspan - 1, setting.col + setting.colspan - 1);
|
79754
|
-
const mergeRange = this.hot._createCellRange(highlight, highlight, rangeEnd);
|
79755
|
-
|
79756
|
-
// Merging without data population.
|
79757
|
-
this.mergeRange(mergeRange, true, true);
|
79758
|
-
(0, _number.rangeEach)(setting.row, setting.row + setting.rowspan - 1, rowIndex => {
|
79759
|
-
(0, _number.rangeEach)(setting.col, setting.col + setting.colspan - 1, columnIndex => {
|
79760
|
-
// Not resetting a cell representing a merge area's value.
|
79761
|
-
if ((rowIndex === setting.row && columnIndex === setting.col) === false) {
|
79762
|
-
populatedNulls.push([rowIndex, columnIndex, null]);
|
79763
|
-
}
|
79764
|
-
});
|
79765
|
-
});
|
79766
|
-
});
|
79767
|
-
|
79768
|
-
// There are no merged cells. Thus, no data population is needed.
|
79769
|
-
if (populatedNulls.length === 0) {
|
79770
|
-
return;
|
79771
79772
|
}
|
79773
|
+
});
|
79772
79774
|
|
79773
|
-
|
79774
|
-
|
79775
|
+
// There are no merged cells. Thus, no data population is needed.
|
79776
|
+
if (populatedNulls.length === 0) {
|
79777
|
+
return;
|
79775
79778
|
}
|
79779
|
+
|
79780
|
+
// TODO: Change the `source` argument to a more meaningful value, e.g. `${this.pluginName}.clearCells`.
|
79781
|
+
this.hot.setDataAtCell(populatedNulls, undefined, undefined, this.pluginName);
|
79776
79782
|
}
|
79777
79783
|
|
79778
79784
|
/**
|
@@ -79878,7 +79884,7 @@ class MergeCells extends _base.BasePlugin {
|
|
79878
79884
|
});
|
79879
79885
|
});
|
79880
79886
|
this.hot.setCellMeta(mergeParent.row, mergeParent.col, 'spanned', true);
|
79881
|
-
const mergedCellAdded = this.mergedCellsCollection.add(mergeParent);
|
79887
|
+
const mergedCellAdded = this.mergedCellsCollection.add(mergeParent, auto);
|
79882
79888
|
if (mergedCellAdded) {
|
79883
79889
|
if (preventPopulation) {
|
79884
79890
|
populationInfo = [mergeParent.row, mergeParent.col, clearedData];
|
@@ -80422,9 +80428,9 @@ function _addMergeActionsToContextMenu(defaultOptions) {
|
|
80422
80428
|
*/
|
80423
80429
|
function _onAfterRenderer(TD, row, col) {
|
80424
80430
|
const mergedCell = this.mergedCellsCollection.get(row, col);
|
80425
|
-
|
80426
|
-
|
80427
|
-
|
80431
|
+
if ((0, _object.isObject)(mergedCell)) {
|
80432
|
+
// We shouldn't override data in the collection.
|
80433
|
+
const mergedCellCopy = (0, _object.clone)(mergedCell);
|
80428
80434
|
const {
|
80429
80435
|
rowIndexMapper: rowMapper,
|
80430
80436
|
columnIndexMapper: columnMapper
|
@@ -80449,8 +80455,10 @@ function _onAfterRenderer(TD, row, col) {
|
|
80449
80455
|
mergedCellCopy.rowspan = Math.min(mergedCellCopy.rowspan, maxRowSpan);
|
80450
80456
|
// The `colSpan` property for a `TD` element should be at most equal to number of rendered columns in the merge area.
|
80451
80457
|
mergedCellCopy.colspan = Math.min(mergedCellCopy.colspan, maxColSpan);
|
80458
|
+
(0, _utils.applySpanProperties)(TD, mergedCellCopy, row, col);
|
80459
|
+
} else {
|
80460
|
+
(0, _utils.applySpanProperties)(TD, null, row, col);
|
80452
80461
|
}
|
80453
|
-
(0, _utils.applySpanProperties)(TD, mergedCellCopy, row, col);
|
80454
80462
|
}
|
80455
80463
|
/**
|
80456
80464
|
* Clears the last selected coordinates before setting a new selection range.
|
@@ -80785,9 +80793,15 @@ class MergedCellsCollection {
|
|
80785
80793
|
/**
|
80786
80794
|
* Array of merged cells.
|
80787
80795
|
*
|
80788
|
-
* @type {
|
80796
|
+
* @type {MergedCellCoords[]}
|
80789
80797
|
*/
|
80790
80798
|
(0, _defineProperty2.default)(this, "mergedCells", []);
|
80799
|
+
/**
|
80800
|
+
* Matrix of cells (row, col) that points to the instances of the MergedCellCoords objects.
|
80801
|
+
*
|
80802
|
+
* @type {Array}
|
80803
|
+
*/
|
80804
|
+
(0, _defineProperty2.default)(this, "mergedCellsMatrix", new Map());
|
80791
80805
|
/**
|
80792
80806
|
* The Handsontable instance.
|
80793
80807
|
*
|
@@ -80819,16 +80833,11 @@ class MergedCellsCollection {
|
|
80819
80833
|
* @returns {MergedCellCoords|boolean} Returns a wanted merged cell on success and `false` on failure.
|
80820
80834
|
*/
|
80821
80835
|
get(row, column) {
|
80822
|
-
|
80823
|
-
|
80824
|
-
|
80825
|
-
|
80826
|
-
|
80827
|
-
return false;
|
80828
|
-
}
|
80829
|
-
return true;
|
80830
|
-
});
|
80831
|
-
return result;
|
80836
|
+
var _this$mergedCellsMatr;
|
80837
|
+
if (!this.mergedCellsMatrix.has(row)) {
|
80838
|
+
return false;
|
80839
|
+
}
|
80840
|
+
return (_this$mergedCellsMatr = this.mergedCellsMatrix.get(row).get(column)) !== null && _this$mergedCellsMatr !== void 0 ? _this$mergedCellsMatr : false;
|
80832
80841
|
}
|
80833
80842
|
|
80834
80843
|
/**
|
@@ -80838,9 +80847,8 @@ class MergedCellsCollection {
|
|
80838
80847
|
* @returns {MergedCellCoords|boolean}
|
80839
80848
|
*/
|
80840
80849
|
getByRange(range) {
|
80841
|
-
const mergedCells = this.mergedCells;
|
80842
80850
|
let result = false;
|
80843
|
-
(0, _array.arrayEach)(mergedCells, mergedCell => {
|
80851
|
+
(0, _array.arrayEach)(this.mergedCells, mergedCell => {
|
80844
80852
|
if (mergedCell.row <= range.from.row && mergedCell.row + mergedCell.rowspan - 1 >= range.to.row && mergedCell.col <= range.from.col && mergedCell.col + mergedCell.colspan - 1 >= range.to.col) {
|
80845
80853
|
result = mergedCell;
|
80846
80854
|
return result;
|
@@ -80850,6 +80858,59 @@ class MergedCellsCollection {
|
|
80850
80858
|
return result;
|
80851
80859
|
}
|
80852
80860
|
|
80861
|
+
/**
|
80862
|
+
* Filters merge cells objects provided by users from overlapping cells.
|
80863
|
+
*
|
80864
|
+
* @param {{ row: number, col: number, rowspan: number, colspan: number }} mergedCellsInfo The merged cell information object.
|
80865
|
+
* Has to contain `row`, `col`, `colspan` and `rowspan` properties.
|
80866
|
+
* @returns {Array<{ row: number, col: number, rowspan: number, colspan: number }>}
|
80867
|
+
*/
|
80868
|
+
filterOverlappingMergeCells(mergedCellsInfo) {
|
80869
|
+
const occupiedCells = new Set();
|
80870
|
+
this.mergedCells.forEach(mergedCell => {
|
80871
|
+
const {
|
80872
|
+
row,
|
80873
|
+
col,
|
80874
|
+
colspan,
|
80875
|
+
rowspan
|
80876
|
+
} = mergedCell;
|
80877
|
+
for (let r = row; r < row + rowspan; r++) {
|
80878
|
+
for (let c = col; c < col + colspan; c++) {
|
80879
|
+
occupiedCells.add(`r${r},c${c}`);
|
80880
|
+
}
|
80881
|
+
}
|
80882
|
+
});
|
80883
|
+
const filteredMergeCells = mergedCellsInfo.filter(mergedCell => {
|
80884
|
+
const {
|
80885
|
+
row,
|
80886
|
+
col,
|
80887
|
+
colspan,
|
80888
|
+
rowspan
|
80889
|
+
} = mergedCell;
|
80890
|
+
const localOccupiedCells = new Set();
|
80891
|
+
let isOverlapping = false;
|
80892
|
+
for (let r = row; r < row + rowspan; r++) {
|
80893
|
+
for (let c = col; c < col + colspan; c++) {
|
80894
|
+
const cellId = `r${r},c${c}`;
|
80895
|
+
if (occupiedCells.has(cellId)) {
|
80896
|
+
(0, _console.warn)(MergedCellsCollection.IS_OVERLAPPING_WARNING(mergedCell));
|
80897
|
+
isOverlapping = true;
|
80898
|
+
break;
|
80899
|
+
}
|
80900
|
+
localOccupiedCells.add(cellId);
|
80901
|
+
}
|
80902
|
+
if (isOverlapping) {
|
80903
|
+
break;
|
80904
|
+
}
|
80905
|
+
}
|
80906
|
+
if (!isOverlapping) {
|
80907
|
+
occupiedCells.add(...localOccupiedCells);
|
80908
|
+
}
|
80909
|
+
return !isOverlapping;
|
80910
|
+
});
|
80911
|
+
return filteredMergeCells;
|
80912
|
+
}
|
80913
|
+
|
80853
80914
|
/**
|
80854
80915
|
* Get a merged cell contained in the provided range.
|
80855
80916
|
*
|
@@ -80859,7 +80920,6 @@ class MergedCellsCollection {
|
|
80859
80920
|
*/
|
80860
80921
|
getWithinRange(range) {
|
80861
80922
|
let countPartials = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
80862
|
-
const mergedCells = this.mergedCells;
|
80863
80923
|
const foundMergedCells = [];
|
80864
80924
|
let testedRange = range;
|
80865
80925
|
if (!testedRange.includesRange) {
|
@@ -80867,7 +80927,7 @@ class MergedCellsCollection {
|
|
80867
80927
|
const to = this.hot._createCellCoords(testedRange.to.row, testedRange.to.col);
|
80868
80928
|
testedRange = this.hot._createCellRange(from, from, to);
|
80869
80929
|
}
|
80870
|
-
(0, _array.arrayEach)(mergedCells, mergedCell => {
|
80930
|
+
(0, _array.arrayEach)(this.mergedCells, mergedCell => {
|
80871
80931
|
const mergedCellTopLeft = this.hot._createCellCoords(mergedCell.row, mergedCell.col);
|
80872
80932
|
const mergedCellBottomRight = this.hot._createCellCoords(mergedCell.row + mergedCell.rowspan - 1, mergedCell.col + mergedCell.colspan - 1);
|
80873
80933
|
const mergedCellRange = this.hot._createCellRange(mergedCellTopLeft, mergedCellTopLeft, mergedCellBottomRight);
|
@@ -80886,22 +80946,24 @@ class MergedCellsCollection {
|
|
80886
80946
|
* Add a merged cell to the container.
|
80887
80947
|
*
|
80888
80948
|
* @param {object} mergedCellInfo The merged cell information object. Has to contain `row`, `col`, `colspan` and `rowspan` properties.
|
80949
|
+
* @param {boolean} [auto=false] `true` if called internally by the plugin (usually in batch).
|
80889
80950
|
* @returns {MergedCellCoords|boolean} Returns the new merged cell on success and `false` on failure.
|
80890
80951
|
*/
|
80891
80952
|
add(mergedCellInfo) {
|
80892
|
-
|
80953
|
+
let auto = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
80893
80954
|
const row = mergedCellInfo.row;
|
80894
80955
|
const column = mergedCellInfo.col;
|
80895
80956
|
const rowspan = mergedCellInfo.rowspan;
|
80896
80957
|
const colspan = mergedCellInfo.colspan;
|
80897
80958
|
const newMergedCell = new _cellCoords.default(row, column, rowspan, colspan, this.hot._createCellCoords, this.hot._createCellRange);
|
80898
80959
|
const alreadyExists = this.get(row, column);
|
80899
|
-
const isOverlapping = this.isOverlapping(newMergedCell);
|
80960
|
+
const isOverlapping = auto ? false : this.isOverlapping(newMergedCell);
|
80900
80961
|
if (!alreadyExists && !isOverlapping) {
|
80901
80962
|
if (this.hot) {
|
80902
80963
|
newMergedCell.normalize(this.hot);
|
80903
80964
|
}
|
80904
|
-
mergedCells.push(newMergedCell);
|
80965
|
+
this.mergedCells.push(newMergedCell);
|
80966
|
+
_assertClassBrand(_MergedCellsCollection_brand, this, _addMergedCellToMatrix).call(this, newMergedCell);
|
80905
80967
|
return newMergedCell;
|
80906
80968
|
}
|
80907
80969
|
(0, _console.warn)(MergedCellsCollection.IS_OVERLAPPING_WARNING(newMergedCell));
|
@@ -80917,12 +80979,12 @@ class MergedCellsCollection {
|
|
80917
80979
|
* @returns {MergedCellCoords|boolean} Returns the removed merged cell on success and `false` on failure.
|
80918
80980
|
*/
|
80919
80981
|
remove(row, column) {
|
80920
|
-
const
|
80921
|
-
const
|
80922
|
-
|
80923
|
-
|
80924
|
-
|
80925
|
-
return
|
80982
|
+
const mergedCell = this.get(row, column);
|
80983
|
+
const mergedCellIndex = mergedCell ? this.mergedCells.indexOf(mergedCell) : -1;
|
80984
|
+
if (mergedCell && mergedCellIndex !== -1) {
|
80985
|
+
this.mergedCells.splice(mergedCellIndex, 1);
|
80986
|
+
_assertClassBrand(_MergedCellsCollection_brand, this, _removeMergedCellFromMatrix).call(this, mergedCell);
|
80987
|
+
return mergedCell;
|
80926
80988
|
}
|
80927
80989
|
return false;
|
80928
80990
|
}
|
@@ -80931,16 +80993,16 @@ class MergedCellsCollection {
|
|
80931
80993
|
* Clear all the merged cells.
|
80932
80994
|
*/
|
80933
80995
|
clear() {
|
80934
|
-
const mergedCells = this.mergedCells;
|
80935
80996
|
const mergedCellParentsToClear = [];
|
80936
80997
|
const hiddenCollectionElements = [];
|
80937
|
-
(0, _array.arrayEach)(mergedCells, mergedCell => {
|
80998
|
+
(0, _array.arrayEach)(this.mergedCells, mergedCell => {
|
80938
80999
|
const TD = this.hot.getCell(mergedCell.row, mergedCell.col);
|
80939
81000
|
if (TD) {
|
80940
81001
|
mergedCellParentsToClear.push([TD, this.get(mergedCell.row, mergedCell.col), mergedCell.row, mergedCell.col]);
|
80941
81002
|
}
|
80942
81003
|
});
|
80943
81004
|
this.mergedCells.length = 0;
|
81005
|
+
this.mergedCellsMatrix = new Map();
|
80944
81006
|
(0, _array.arrayEach)(mergedCellParentsToClear, (mergedCell, i) => {
|
80945
81007
|
(0, _number.rangeEach)(0, mergedCell.rowspan - 1, j => {
|
80946
81008
|
(0, _number.rangeEach)(0, mergedCell.colspan - 1, k => {
|
@@ -80963,23 +81025,21 @@ class MergedCellsCollection {
|
|
80963
81025
|
}
|
80964
81026
|
|
80965
81027
|
/**
|
80966
|
-
* Check if the provided merged cell overlaps with the others
|
81028
|
+
* Check if the provided merged cell overlaps with the others already added.
|
80967
81029
|
*
|
80968
81030
|
* @param {MergedCellCoords} mergedCell The merged cell to check against all others in the container.
|
80969
81031
|
* @returns {boolean} `true` if the provided merged cell overlaps with the others, `false` otherwise.
|
80970
81032
|
*/
|
80971
81033
|
isOverlapping(mergedCell) {
|
80972
|
-
const mergedCellRange =
|
80973
|
-
let
|
80974
|
-
|
80975
|
-
const
|
80976
|
-
if (
|
80977
|
-
|
80978
|
-
return false;
|
81034
|
+
const mergedCellRange = mergedCell.getRange();
|
81035
|
+
for (let i = 0; i < this.mergedCells.length; i++) {
|
81036
|
+
const otherMergedCell = this.mergedCells[i];
|
81037
|
+
const otherMergedCellRange = otherMergedCell.getRange();
|
81038
|
+
if (otherMergedCellRange.overlaps(mergedCellRange)) {
|
81039
|
+
return true;
|
80979
81040
|
}
|
80980
|
-
|
80981
|
-
|
80982
|
-
return result;
|
81041
|
+
}
|
81042
|
+
return false;
|
80983
81043
|
}
|
80984
81044
|
|
80985
81045
|
/**
|
@@ -81114,15 +81174,24 @@ class MergedCellsCollection {
|
|
81114
81174
|
default:
|
81115
81175
|
}
|
81116
81176
|
(0, _array.arrayEach)(this.mergedCells, currentMerge => {
|
81177
|
+
_assertClassBrand(_MergedCellsCollection_brand, this, _removeMergedCellFromMatrix).call(this, currentMerge);
|
81117
81178
|
currentMerge.shift(shiftVector, index);
|
81179
|
+
_assertClassBrand(_MergedCellsCollection_brand, this, _addMergedCellToMatrix).call(this, currentMerge);
|
81118
81180
|
});
|
81119
81181
|
(0, _number.rangeEachReverse)(this.mergedCells.length - 1, 0, i => {
|
81120
81182
|
const currentMerge = this.mergedCells[i];
|
81121
81183
|
if (currentMerge && currentMerge.removed) {
|
81122
81184
|
this.mergedCells.splice(this.mergedCells.indexOf(currentMerge), 1);
|
81185
|
+
_assertClassBrand(_MergedCellsCollection_brand, this, _removeMergedCellFromMatrix).call(this, currentMerge);
|
81123
81186
|
}
|
81124
81187
|
});
|
81125
81188
|
}
|
81189
|
+
|
81190
|
+
/**
|
81191
|
+
* Adds a merged cell to the matrix.
|
81192
|
+
*
|
81193
|
+
* @param {MergedCellCoords} mergedCell The merged cell to add.
|
81194
|
+
*/
|
81126
81195
|
}
|
81127
81196
|
function _getNonIntersectingIndexes(range, axis) {
|
81128
81197
|
let scanDirection = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
@@ -81151,6 +81220,28 @@ function _getNonIntersectingIndexes(range, axis) {
|
|
81151
81220
|
return Array.from(set);
|
81152
81221
|
})));
|
81153
81222
|
}
|
81223
|
+
function _addMergedCellToMatrix(mergedCell) {
|
81224
|
+
for (let row = mergedCell.row; row < mergedCell.row + mergedCell.rowspan; row++) {
|
81225
|
+
for (let col = mergedCell.col; col < mergedCell.col + mergedCell.colspan; col++) {
|
81226
|
+
if (!this.mergedCellsMatrix.has(row)) {
|
81227
|
+
this.mergedCellsMatrix.set(row, new Map());
|
81228
|
+
}
|
81229
|
+
this.mergedCellsMatrix.get(row).set(col, mergedCell);
|
81230
|
+
}
|
81231
|
+
}
|
81232
|
+
}
|
81233
|
+
/**
|
81234
|
+
* Removes a merged cell from the matrix.
|
81235
|
+
*
|
81236
|
+
* @param {MergedCellCoords} mergedCell The merged cell to remove.
|
81237
|
+
*/
|
81238
|
+
function _removeMergedCellFromMatrix(mergedCell) {
|
81239
|
+
for (let row = mergedCell.row; row < mergedCell.row + mergedCell.rowspan; row++) {
|
81240
|
+
for (let col = mergedCell.col; col < mergedCell.col + mergedCell.colspan; col++) {
|
81241
|
+
this.mergedCellsMatrix.get(row).delete(col);
|
81242
|
+
}
|
81243
|
+
}
|
81244
|
+
}
|
81154
81245
|
var _default = exports["default"] = MergedCellsCollection;
|
81155
81246
|
|
81156
81247
|
/***/ }),
|
@@ -81162,14 +81253,21 @@ var _default = exports["default"] = MergedCellsCollection;
|
|
81162
81253
|
|
81163
81254
|
var _interopRequireDefault = __webpack_require__(1);
|
81164
81255
|
exports.__esModule = true;
|
81256
|
+
__webpack_require__(8);
|
81165
81257
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(153));
|
81166
81258
|
var _templateLiteralTag = __webpack_require__(143);
|
81259
|
+
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
81260
|
+
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
81261
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
81262
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
81263
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
81167
81264
|
/**
|
81168
81265
|
* The `MergedCellCoords` class represents a single merged cell.
|
81169
81266
|
*
|
81170
81267
|
* @private
|
81171
81268
|
* @class MergedCellCoords
|
81172
81269
|
*/
|
81270
|
+
var _cellRange = /*#__PURE__*/new WeakMap();
|
81173
81271
|
class MergedCellCoords {
|
81174
81272
|
constructor(row, column, rowspan, colspan, cellCoordsFactory, cellRangeFactory) {
|
81175
81273
|
/**
|
@@ -81214,6 +81312,12 @@ class MergedCellCoords {
|
|
81214
81312
|
* @type {Function}
|
81215
81313
|
*/
|
81216
81314
|
(0, _defineProperty2.default)(this, "cellRangeFactory", void 0);
|
81315
|
+
/**
|
81316
|
+
* The cached range coordinates of the merged cell.
|
81317
|
+
*
|
81318
|
+
* @type {CellRange}
|
81319
|
+
*/
|
81320
|
+
_classPrivateFieldInitSpec(this, _cellRange, null);
|
81217
81321
|
this.row = row;
|
81218
81322
|
this.col = column;
|
81219
81323
|
this.rowspan = rowspan;
|
@@ -81335,6 +81439,7 @@ class MergedCellCoords {
|
|
81335
81439
|
if (this.col + this.colspan > totalColumns - 1) {
|
81336
81440
|
this.colspan = totalColumns - this.col;
|
81337
81441
|
}
|
81442
|
+
_classPrivateFieldSet(_cellRange, this, null);
|
81338
81443
|
}
|
81339
81444
|
|
81340
81445
|
/**
|
@@ -81399,6 +81504,7 @@ class MergedCellCoords {
|
|
81399
81504
|
// removing the whole merge
|
81400
81505
|
if (changeStart <= mergeStart && changeEnd >= mergeEnd) {
|
81401
81506
|
this.removed = true;
|
81507
|
+
_classPrivateFieldSet(_cellRange, this, null);
|
81402
81508
|
return false;
|
81403
81509
|
|
81404
81510
|
// removing the merge partially, including the beginning
|
@@ -81418,6 +81524,7 @@ class MergedCellCoords {
|
|
81418
81524
|
this[span] -= removedPart;
|
81419
81525
|
}
|
81420
81526
|
}
|
81527
|
+
_classPrivateFieldSet(_cellRange, this, null);
|
81421
81528
|
return true;
|
81422
81529
|
}
|
81423
81530
|
|
@@ -81468,7 +81575,10 @@ class MergedCellCoords {
|
|
81468
81575
|
* @returns {CellRange}
|
81469
81576
|
*/
|
81470
81577
|
getRange() {
|
81471
|
-
|
81578
|
+
if (!_classPrivateFieldGet(_cellRange, this)) {
|
81579
|
+
_classPrivateFieldSet(_cellRange, this, this.cellRangeFactory(this.cellCoordsFactory(this.row, this.col), this.cellCoordsFactory(this.row, this.col), this.cellCoordsFactory(this.getLastRow(), this.getLastColumn())));
|
81580
|
+
}
|
81581
|
+
return _classPrivateFieldGet(_cellRange, this);
|
81472
81582
|
}
|
81473
81583
|
}
|
81474
81584
|
var _default = exports["default"] = MergedCellCoords;
|
@@ -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-
|
29
|
-
* Release date: 16/04/2024 (built at
|
28
|
+
* Version: 0.0.0-next-7230ce6-20240605
|
29
|
+
* Release date: 16/04/2024 (built at 05/06/2024 11:37:15)
|
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)~.handsontable tbody tr th,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.ht_clone_top) thead tr th:first-child{border-left:1px solid #ccc;border-right-width:0}[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable tbody tr th,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.ht_clone_top) 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 .columnSorting{position:relative}.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 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;bottom:-100%\9;content:"";left:0;position:absolute;right:0;top:0}@media (-ms-high-contrast:none),screen and (-ms-high-contrast:active){.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{bottom:-100%}}.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;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 .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.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{display:inline-block}.handsontable .htCheckboxRendererInput.noValue{opacity:.5}.handsontable .htCheckboxRendererLabel{cursor:pointer;display:inline-block;font-size:inherit;vertical-align:middle}.handsontable .htCheckboxRendererLabel.fullWidth{width:100%}.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}
|
31
31
|
/*!
|
32
32
|
* Handsontable ContextMenu
|