handsontable 0.0.0-next-827c165-20240604 → 0.0.0-next-4a6df4e-20240606
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 +199 -95
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +42 -42
- package/dist/handsontable.js +199 -95
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +8 -8
- 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/selection/transformation.js +14 -20
- package/selection/transformation.mjs +14 -20
- package/shortcuts/context.d.ts +1 -1
package/base.js
CHANGED
@@ -45,8 +45,8 @@ Handsontable.hooks = _pluginHooks.default.getSingleton();
|
|
45
45
|
Handsontable.CellCoords = _src.CellCoords;
|
46
46
|
Handsontable.CellRange = _src.CellRange;
|
47
47
|
Handsontable.packageName = 'handsontable';
|
48
|
-
Handsontable.buildDate = "
|
49
|
-
Handsontable.version = "0.0.0-next-
|
48
|
+
Handsontable.buildDate = "06/06/2024 08:24:23";
|
49
|
+
Handsontable.version = "0.0.0-next-4a6df4e-20240606";
|
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 = "0.0.0-next-
|
38
|
+
Handsontable.buildDate = "06/06/2024 08:24:29";
|
39
|
+
Handsontable.version = "0.0.0-next-4a6df4e-20240606";
|
40
40
|
Handsontable.languages = {
|
41
41
|
dictionaryKeys,
|
42
42
|
getLanguageDictionary,
|
package/dist/handsontable.css
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-4a6df4e-20240606
|
29
|
+
* Release date: 16/04/2024 (built at 06/06/2024 08:24:33)
|
30
30
|
*/
|
31
31
|
/**
|
32
32
|
* Fix for bootstrap styles
|
@@ -25,8 +25,8 @@
|
|
25
25
|
* INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
|
26
26
|
* USE OR INABILITY TO USE THIS SOFTWARE.
|
27
27
|
*
|
28
|
-
* Version: 0.0.0-next-
|
29
|
-
* Release date: 16/04/2024 (built at
|
28
|
+
* Version: 0.0.0-next-4a6df4e-20240606
|
29
|
+
* Release date: 16/04/2024 (built at 06/06/2024 08:24:33)
|
30
30
|
*/
|
31
31
|
/**
|
32
32
|
* Fix for bootstrap styles
|
@@ -25,8 +25,8 @@
|
|
25
25
|
* INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
|
26
26
|
* USE OR INABILITY TO USE THIS SOFTWARE.
|
27
27
|
*
|
28
|
-
* Version: 0.0.0-next-
|
29
|
-
* Release date: 16/04/2024 (built at
|
28
|
+
* Version: 0.0.0-next-4a6df4e-20240606
|
29
|
+
* Release date: 16/04/2024 (built at 06/06/2024 08:24:33)
|
30
30
|
*/
|
31
31
|
(function webpackUniversalModuleDefinition(root, factory) {
|
32
32
|
if(typeof exports === 'object' && typeof module === 'object')
|
@@ -42675,8 +42675,8 @@ Handsontable.hooks = _pluginHooks.default.getSingleton();
|
|
42675
42675
|
Handsontable.CellCoords = _src.CellCoords;
|
42676
42676
|
Handsontable.CellRange = _src.CellRange;
|
42677
42677
|
Handsontable.packageName = 'handsontable';
|
42678
|
-
Handsontable.buildDate = "
|
42679
|
-
Handsontable.version = "0.0.0-next-
|
42678
|
+
Handsontable.buildDate = "06/06/2024 08:24:33";
|
42679
|
+
Handsontable.version = "0.0.0-next-4a6df4e-20240606";
|
42680
42680
|
Handsontable.languages = {
|
42681
42681
|
dictionaryKeys: _registry.dictionaryKeys,
|
42682
42682
|
getLanguageDictionary: _registry.getLanguageDictionary,
|
@@ -53274,7 +53274,7 @@ const domMessages = {
|
|
53274
53274
|
function _injectProductInfo(key, element) {
|
53275
53275
|
const hasValidType = !isEmpty(key);
|
53276
53276
|
const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
|
53277
|
-
const hotVersion = "0.0.0-next-
|
53277
|
+
const hotVersion = "0.0.0-next-4a6df4e-20240606";
|
53278
53278
|
let keyValidityDate;
|
53279
53279
|
let consoleMessageState = 'invalid';
|
53280
53280
|
let domMessageState = 'invalid';
|
@@ -86726,27 +86726,21 @@ class Transformation {
|
|
86726
86726
|
const topStartCorner = cellRange.getTopStartCorner();
|
86727
86727
|
const topEndCorner = cellRange.getTopEndCorner();
|
86728
86728
|
const bottomEndCorner = cellRange.getBottomEndCorner();
|
86729
|
-
|
86730
|
-
|
86731
|
-
col
|
86732
|
-
}
|
86733
|
-
|
86734
|
-
|
86735
|
-
|
86736
|
-
|
86737
|
-
|
86738
|
-
|
86739
|
-
|
86740
|
-
|
86741
|
-
|
86742
|
-
|
86743
|
-
|
86744
|
-
coords.row = _assertClassBrand(_Transformation_brand, this, _findFirstNonHiddenZeroBasedRow).call(this, topStartCorner.row, bottomEndCorner.row) + restDelta.row;
|
86745
|
-
}
|
86746
|
-
} else if (delta.row > 0) {
|
86747
|
-
if (toRow <= highlightRow && coords.row > highlightRow) {
|
86748
|
-
coords.row = _assertClassBrand(_Transformation_brand, this, _findFirstNonHiddenZeroBasedRow).call(this, bottomEndCorner.row, topStartCorner.row) + restDelta.row;
|
86749
|
-
}
|
86729
|
+
if (delta.col < 0 && toColumn >= highlightColumn && coords.col < highlightColumn) {
|
86730
|
+
const columnRestDelta = coords.col - highlightColumn;
|
86731
|
+
coords.col = _assertClassBrand(_Transformation_brand, this, _findFirstNonHiddenZeroBasedColumn).call(this, topStartCorner.col, topEndCorner.col) + columnRestDelta;
|
86732
|
+
} else if (delta.col > 0 && toColumn <= highlightColumn && coords.col > highlightColumn) {
|
86733
|
+
const endColumnIndex = _assertClassBrand(_Transformation_brand, this, _findFirstNonHiddenZeroBasedColumn).call(this, topEndCorner.col, topStartCorner.col);
|
86734
|
+
const columnRestDelta = Math.max(coords.col - endColumnIndex, 1);
|
86735
|
+
coords.col = endColumnIndex + columnRestDelta;
|
86736
|
+
}
|
86737
|
+
if (delta.row < 0 && toRow >= highlightRow && coords.row < highlightRow) {
|
86738
|
+
const rowRestDelta = coords.row - highlightRow;
|
86739
|
+
coords.row = _assertClassBrand(_Transformation_brand, this, _findFirstNonHiddenZeroBasedRow).call(this, topStartCorner.row, bottomEndCorner.row) + rowRestDelta;
|
86740
|
+
} else if (delta.row > 0 && toRow <= highlightRow && coords.row > highlightRow) {
|
86741
|
+
const bottomRowIndex = _assertClassBrand(_Transformation_brand, this, _findFirstNonHiddenZeroBasedRow).call(this, bottomEndCorner.row, topStartCorner.row);
|
86742
|
+
const rowRestDelta = Math.max(coords.row - bottomRowIndex, 1);
|
86743
|
+
coords.row = bottomRowIndex + rowRestDelta;
|
86750
86744
|
}
|
86751
86745
|
const {
|
86752
86746
|
rowDir,
|
@@ -131643,36 +131637,42 @@ class MergeCells extends _base.BasePlugin {
|
|
131643
131637
|
* @param {Array|boolean} settings The settings provided to the plugin.
|
131644
131638
|
*/
|
131645
131639
|
generateFromSettings(settings) {
|
131646
|
-
if (Array.isArray(settings)) {
|
131647
|
-
|
131648
|
-
|
131649
|
-
|
131650
|
-
|
131640
|
+
if (!Array.isArray(settings)) {
|
131641
|
+
return;
|
131642
|
+
}
|
131643
|
+
const validSettings = settings.filter(mergeCellInfo => this.validateSetting(mergeCellInfo));
|
131644
|
+
const nonOverlappingSettings = this.mergedCellsCollection.filterOverlappingMergeCells(validSettings);
|
131645
|
+
const populatedNulls = [];
|
131646
|
+
nonOverlappingSettings.forEach(mergeCellInfo => {
|
131647
|
+
const {
|
131648
|
+
row,
|
131649
|
+
col,
|
131650
|
+
rowspan,
|
131651
|
+
colspan
|
131652
|
+
} = mergeCellInfo;
|
131653
|
+
const from = this.hot._createCellCoords(row, col);
|
131654
|
+
const to = this.hot._createCellCoords(row + rowspan - 1, col + colspan - 1);
|
131655
|
+
const mergeRange = this.hot._createCellRange(from, from, to);
|
131656
|
+
|
131657
|
+
// Merging without data population.
|
131658
|
+
this.mergeRange(mergeRange, true, true);
|
131659
|
+
for (let r = row; r < row + rowspan; r++) {
|
131660
|
+
for (let c = col; c < col + colspan; c++) {
|
131661
|
+
// Not resetting a cell representing a merge area's value.
|
131662
|
+
if (r !== row || c !== col) {
|
131663
|
+
populatedNulls.push([r, c, null]);
|
131664
|
+
}
|
131651
131665
|
}
|
131652
|
-
const highlight = this.hot._createCellCoords(setting.row, setting.col);
|
131653
|
-
const rangeEnd = this.hot._createCellCoords(setting.row + setting.rowspan - 1, setting.col + setting.colspan - 1);
|
131654
|
-
const mergeRange = this.hot._createCellRange(highlight, highlight, rangeEnd);
|
131655
|
-
|
131656
|
-
// Merging without data population.
|
131657
|
-
this.mergeRange(mergeRange, true, true);
|
131658
|
-
(0, _number.rangeEach)(setting.row, setting.row + setting.rowspan - 1, rowIndex => {
|
131659
|
-
(0, _number.rangeEach)(setting.col, setting.col + setting.colspan - 1, columnIndex => {
|
131660
|
-
// Not resetting a cell representing a merge area's value.
|
131661
|
-
if ((rowIndex === setting.row && columnIndex === setting.col) === false) {
|
131662
|
-
populatedNulls.push([rowIndex, columnIndex, null]);
|
131663
|
-
}
|
131664
|
-
});
|
131665
|
-
});
|
131666
|
-
});
|
131667
|
-
|
131668
|
-
// There are no merged cells. Thus, no data population is needed.
|
131669
|
-
if (populatedNulls.length === 0) {
|
131670
|
-
return;
|
131671
131666
|
}
|
131667
|
+
});
|
131672
131668
|
|
131673
|
-
|
131674
|
-
|
131669
|
+
// There are no merged cells. Thus, no data population is needed.
|
131670
|
+
if (populatedNulls.length === 0) {
|
131671
|
+
return;
|
131675
131672
|
}
|
131673
|
+
|
131674
|
+
// TODO: Change the `source` argument to a more meaningful value, e.g. `${this.pluginName}.clearCells`.
|
131675
|
+
this.hot.setDataAtCell(populatedNulls, undefined, undefined, this.pluginName);
|
131676
131676
|
}
|
131677
131677
|
|
131678
131678
|
/**
|
@@ -131778,7 +131778,7 @@ class MergeCells extends _base.BasePlugin {
|
|
131778
131778
|
});
|
131779
131779
|
});
|
131780
131780
|
this.hot.setCellMeta(mergeParent.row, mergeParent.col, 'spanned', true);
|
131781
|
-
const mergedCellAdded = this.mergedCellsCollection.add(mergeParent);
|
131781
|
+
const mergedCellAdded = this.mergedCellsCollection.add(mergeParent, auto);
|
131782
131782
|
if (mergedCellAdded) {
|
131783
131783
|
if (preventPopulation) {
|
131784
131784
|
populationInfo = [mergeParent.row, mergeParent.col, clearedData];
|
@@ -132322,9 +132322,9 @@ function _addMergeActionsToContextMenu(defaultOptions) {
|
|
132322
132322
|
*/
|
132323
132323
|
function _onAfterRenderer(TD, row, col) {
|
132324
132324
|
const mergedCell = this.mergedCellsCollection.get(row, col);
|
132325
|
-
|
132326
|
-
|
132327
|
-
|
132325
|
+
if ((0, _object.isObject)(mergedCell)) {
|
132326
|
+
// We shouldn't override data in the collection.
|
132327
|
+
const mergedCellCopy = (0, _object.clone)(mergedCell);
|
132328
132328
|
const {
|
132329
132329
|
rowIndexMapper: rowMapper,
|
132330
132330
|
columnIndexMapper: columnMapper
|
@@ -132349,8 +132349,10 @@ function _onAfterRenderer(TD, row, col) {
|
|
132349
132349
|
mergedCellCopy.rowspan = Math.min(mergedCellCopy.rowspan, maxRowSpan);
|
132350
132350
|
// The `colSpan` property for a `TD` element should be at most equal to number of rendered columns in the merge area.
|
132351
132351
|
mergedCellCopy.colspan = Math.min(mergedCellCopy.colspan, maxColSpan);
|
132352
|
+
(0, _utils.applySpanProperties)(TD, mergedCellCopy, row, col);
|
132353
|
+
} else {
|
132354
|
+
(0, _utils.applySpanProperties)(TD, null, row, col);
|
132352
132355
|
}
|
132353
|
-
(0, _utils.applySpanProperties)(TD, mergedCellCopy, row, col);
|
132354
132356
|
}
|
132355
132357
|
/**
|
132356
132358
|
* Clears the last selected coordinates before setting a new selection range.
|
@@ -132685,9 +132687,15 @@ class MergedCellsCollection {
|
|
132685
132687
|
/**
|
132686
132688
|
* Array of merged cells.
|
132687
132689
|
*
|
132688
|
-
* @type {
|
132690
|
+
* @type {MergedCellCoords[]}
|
132689
132691
|
*/
|
132690
132692
|
(0, _defineProperty2.default)(this, "mergedCells", []);
|
132693
|
+
/**
|
132694
|
+
* Matrix of cells (row, col) that points to the instances of the MergedCellCoords objects.
|
132695
|
+
*
|
132696
|
+
* @type {Array}
|
132697
|
+
*/
|
132698
|
+
(0, _defineProperty2.default)(this, "mergedCellsMatrix", new Map());
|
132691
132699
|
/**
|
132692
132700
|
* The Handsontable instance.
|
132693
132701
|
*
|
@@ -132719,16 +132727,11 @@ class MergedCellsCollection {
|
|
132719
132727
|
* @returns {MergedCellCoords|boolean} Returns a wanted merged cell on success and `false` on failure.
|
132720
132728
|
*/
|
132721
132729
|
get(row, column) {
|
132722
|
-
|
132723
|
-
|
132724
|
-
|
132725
|
-
|
132726
|
-
|
132727
|
-
return false;
|
132728
|
-
}
|
132729
|
-
return true;
|
132730
|
-
});
|
132731
|
-
return result;
|
132730
|
+
var _this$mergedCellsMatr;
|
132731
|
+
if (!this.mergedCellsMatrix.has(row)) {
|
132732
|
+
return false;
|
132733
|
+
}
|
132734
|
+
return (_this$mergedCellsMatr = this.mergedCellsMatrix.get(row).get(column)) !== null && _this$mergedCellsMatr !== void 0 ? _this$mergedCellsMatr : false;
|
132732
132735
|
}
|
132733
132736
|
|
132734
132737
|
/**
|
@@ -132738,9 +132741,8 @@ class MergedCellsCollection {
|
|
132738
132741
|
* @returns {MergedCellCoords|boolean}
|
132739
132742
|
*/
|
132740
132743
|
getByRange(range) {
|
132741
|
-
const mergedCells = this.mergedCells;
|
132742
132744
|
let result = false;
|
132743
|
-
(0, _array.arrayEach)(mergedCells, mergedCell => {
|
132745
|
+
(0, _array.arrayEach)(this.mergedCells, mergedCell => {
|
132744
132746
|
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) {
|
132745
132747
|
result = mergedCell;
|
132746
132748
|
return result;
|
@@ -132750,6 +132752,59 @@ class MergedCellsCollection {
|
|
132750
132752
|
return result;
|
132751
132753
|
}
|
132752
132754
|
|
132755
|
+
/**
|
132756
|
+
* Filters merge cells objects provided by users from overlapping cells.
|
132757
|
+
*
|
132758
|
+
* @param {{ row: number, col: number, rowspan: number, colspan: number }} mergedCellsInfo The merged cell information object.
|
132759
|
+
* Has to contain `row`, `col`, `colspan` and `rowspan` properties.
|
132760
|
+
* @returns {Array<{ row: number, col: number, rowspan: number, colspan: number }>}
|
132761
|
+
*/
|
132762
|
+
filterOverlappingMergeCells(mergedCellsInfo) {
|
132763
|
+
const occupiedCells = new Set();
|
132764
|
+
this.mergedCells.forEach(mergedCell => {
|
132765
|
+
const {
|
132766
|
+
row,
|
132767
|
+
col,
|
132768
|
+
colspan,
|
132769
|
+
rowspan
|
132770
|
+
} = mergedCell;
|
132771
|
+
for (let r = row; r < row + rowspan; r++) {
|
132772
|
+
for (let c = col; c < col + colspan; c++) {
|
132773
|
+
occupiedCells.add(`r${r},c${c}`);
|
132774
|
+
}
|
132775
|
+
}
|
132776
|
+
});
|
132777
|
+
const filteredMergeCells = mergedCellsInfo.filter(mergedCell => {
|
132778
|
+
const {
|
132779
|
+
row,
|
132780
|
+
col,
|
132781
|
+
colspan,
|
132782
|
+
rowspan
|
132783
|
+
} = mergedCell;
|
132784
|
+
const localOccupiedCells = new Set();
|
132785
|
+
let isOverlapping = false;
|
132786
|
+
for (let r = row; r < row + rowspan; r++) {
|
132787
|
+
for (let c = col; c < col + colspan; c++) {
|
132788
|
+
const cellId = `r${r},c${c}`;
|
132789
|
+
if (occupiedCells.has(cellId)) {
|
132790
|
+
(0, _console.warn)(MergedCellsCollection.IS_OVERLAPPING_WARNING(mergedCell));
|
132791
|
+
isOverlapping = true;
|
132792
|
+
break;
|
132793
|
+
}
|
132794
|
+
localOccupiedCells.add(cellId);
|
132795
|
+
}
|
132796
|
+
if (isOverlapping) {
|
132797
|
+
break;
|
132798
|
+
}
|
132799
|
+
}
|
132800
|
+
if (!isOverlapping) {
|
132801
|
+
occupiedCells.add(...localOccupiedCells);
|
132802
|
+
}
|
132803
|
+
return !isOverlapping;
|
132804
|
+
});
|
132805
|
+
return filteredMergeCells;
|
132806
|
+
}
|
132807
|
+
|
132753
132808
|
/**
|
132754
132809
|
* Get a merged cell contained in the provided range.
|
132755
132810
|
*
|
@@ -132759,7 +132814,6 @@ class MergedCellsCollection {
|
|
132759
132814
|
*/
|
132760
132815
|
getWithinRange(range) {
|
132761
132816
|
let countPartials = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
132762
|
-
const mergedCells = this.mergedCells;
|
132763
132817
|
const foundMergedCells = [];
|
132764
132818
|
let testedRange = range;
|
132765
132819
|
if (!testedRange.includesRange) {
|
@@ -132767,7 +132821,7 @@ class MergedCellsCollection {
|
|
132767
132821
|
const to = this.hot._createCellCoords(testedRange.to.row, testedRange.to.col);
|
132768
132822
|
testedRange = this.hot._createCellRange(from, from, to);
|
132769
132823
|
}
|
132770
|
-
(0, _array.arrayEach)(mergedCells, mergedCell => {
|
132824
|
+
(0, _array.arrayEach)(this.mergedCells, mergedCell => {
|
132771
132825
|
const mergedCellTopLeft = this.hot._createCellCoords(mergedCell.row, mergedCell.col);
|
132772
132826
|
const mergedCellBottomRight = this.hot._createCellCoords(mergedCell.row + mergedCell.rowspan - 1, mergedCell.col + mergedCell.colspan - 1);
|
132773
132827
|
const mergedCellRange = this.hot._createCellRange(mergedCellTopLeft, mergedCellTopLeft, mergedCellBottomRight);
|
@@ -132786,22 +132840,24 @@ class MergedCellsCollection {
|
|
132786
132840
|
* Add a merged cell to the container.
|
132787
132841
|
*
|
132788
132842
|
* @param {object} mergedCellInfo The merged cell information object. Has to contain `row`, `col`, `colspan` and `rowspan` properties.
|
132843
|
+
* @param {boolean} [auto=false] `true` if called internally by the plugin (usually in batch).
|
132789
132844
|
* @returns {MergedCellCoords|boolean} Returns the new merged cell on success and `false` on failure.
|
132790
132845
|
*/
|
132791
132846
|
add(mergedCellInfo) {
|
132792
|
-
|
132847
|
+
let auto = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
132793
132848
|
const row = mergedCellInfo.row;
|
132794
132849
|
const column = mergedCellInfo.col;
|
132795
132850
|
const rowspan = mergedCellInfo.rowspan;
|
132796
132851
|
const colspan = mergedCellInfo.colspan;
|
132797
132852
|
const newMergedCell = new _cellCoords.default(row, column, rowspan, colspan, this.hot._createCellCoords, this.hot._createCellRange);
|
132798
132853
|
const alreadyExists = this.get(row, column);
|
132799
|
-
const isOverlapping = this.isOverlapping(newMergedCell);
|
132854
|
+
const isOverlapping = auto ? false : this.isOverlapping(newMergedCell);
|
132800
132855
|
if (!alreadyExists && !isOverlapping) {
|
132801
132856
|
if (this.hot) {
|
132802
132857
|
newMergedCell.normalize(this.hot);
|
132803
132858
|
}
|
132804
|
-
mergedCells.push(newMergedCell);
|
132859
|
+
this.mergedCells.push(newMergedCell);
|
132860
|
+
_assertClassBrand(_MergedCellsCollection_brand, this, _addMergedCellToMatrix).call(this, newMergedCell);
|
132805
132861
|
return newMergedCell;
|
132806
132862
|
}
|
132807
132863
|
(0, _console.warn)(MergedCellsCollection.IS_OVERLAPPING_WARNING(newMergedCell));
|
@@ -132817,12 +132873,12 @@ class MergedCellsCollection {
|
|
132817
132873
|
* @returns {MergedCellCoords|boolean} Returns the removed merged cell on success and `false` on failure.
|
132818
132874
|
*/
|
132819
132875
|
remove(row, column) {
|
132820
|
-
const
|
132821
|
-
const
|
132822
|
-
|
132823
|
-
|
132824
|
-
|
132825
|
-
return
|
132876
|
+
const mergedCell = this.get(row, column);
|
132877
|
+
const mergedCellIndex = mergedCell ? this.mergedCells.indexOf(mergedCell) : -1;
|
132878
|
+
if (mergedCell && mergedCellIndex !== -1) {
|
132879
|
+
this.mergedCells.splice(mergedCellIndex, 1);
|
132880
|
+
_assertClassBrand(_MergedCellsCollection_brand, this, _removeMergedCellFromMatrix).call(this, mergedCell);
|
132881
|
+
return mergedCell;
|
132826
132882
|
}
|
132827
132883
|
return false;
|
132828
132884
|
}
|
@@ -132831,16 +132887,16 @@ class MergedCellsCollection {
|
|
132831
132887
|
* Clear all the merged cells.
|
132832
132888
|
*/
|
132833
132889
|
clear() {
|
132834
|
-
const mergedCells = this.mergedCells;
|
132835
132890
|
const mergedCellParentsToClear = [];
|
132836
132891
|
const hiddenCollectionElements = [];
|
132837
|
-
(0, _array.arrayEach)(mergedCells, mergedCell => {
|
132892
|
+
(0, _array.arrayEach)(this.mergedCells, mergedCell => {
|
132838
132893
|
const TD = this.hot.getCell(mergedCell.row, mergedCell.col);
|
132839
132894
|
if (TD) {
|
132840
132895
|
mergedCellParentsToClear.push([TD, this.get(mergedCell.row, mergedCell.col), mergedCell.row, mergedCell.col]);
|
132841
132896
|
}
|
132842
132897
|
});
|
132843
132898
|
this.mergedCells.length = 0;
|
132899
|
+
this.mergedCellsMatrix = new Map();
|
132844
132900
|
(0, _array.arrayEach)(mergedCellParentsToClear, (mergedCell, i) => {
|
132845
132901
|
(0, _number.rangeEach)(0, mergedCell.rowspan - 1, j => {
|
132846
132902
|
(0, _number.rangeEach)(0, mergedCell.colspan - 1, k => {
|
@@ -132863,23 +132919,21 @@ class MergedCellsCollection {
|
|
132863
132919
|
}
|
132864
132920
|
|
132865
132921
|
/**
|
132866
|
-
* Check if the provided merged cell overlaps with the others
|
132922
|
+
* Check if the provided merged cell overlaps with the others already added.
|
132867
132923
|
*
|
132868
132924
|
* @param {MergedCellCoords} mergedCell The merged cell to check against all others in the container.
|
132869
132925
|
* @returns {boolean} `true` if the provided merged cell overlaps with the others, `false` otherwise.
|
132870
132926
|
*/
|
132871
132927
|
isOverlapping(mergedCell) {
|
132872
|
-
const mergedCellRange =
|
132873
|
-
let
|
132874
|
-
|
132875
|
-
const
|
132876
|
-
if (
|
132877
|
-
|
132878
|
-
return false;
|
132928
|
+
const mergedCellRange = mergedCell.getRange();
|
132929
|
+
for (let i = 0; i < this.mergedCells.length; i++) {
|
132930
|
+
const otherMergedCell = this.mergedCells[i];
|
132931
|
+
const otherMergedCellRange = otherMergedCell.getRange();
|
132932
|
+
if (otherMergedCellRange.overlaps(mergedCellRange)) {
|
132933
|
+
return true;
|
132879
132934
|
}
|
132880
|
-
|
132881
|
-
|
132882
|
-
return result;
|
132935
|
+
}
|
132936
|
+
return false;
|
132883
132937
|
}
|
132884
132938
|
|
132885
132939
|
/**
|
@@ -133014,15 +133068,24 @@ class MergedCellsCollection {
|
|
133014
133068
|
default:
|
133015
133069
|
}
|
133016
133070
|
(0, _array.arrayEach)(this.mergedCells, currentMerge => {
|
133071
|
+
_assertClassBrand(_MergedCellsCollection_brand, this, _removeMergedCellFromMatrix).call(this, currentMerge);
|
133017
133072
|
currentMerge.shift(shiftVector, index);
|
133073
|
+
_assertClassBrand(_MergedCellsCollection_brand, this, _addMergedCellToMatrix).call(this, currentMerge);
|
133018
133074
|
});
|
133019
133075
|
(0, _number.rangeEachReverse)(this.mergedCells.length - 1, 0, i => {
|
133020
133076
|
const currentMerge = this.mergedCells[i];
|
133021
133077
|
if (currentMerge && currentMerge.removed) {
|
133022
133078
|
this.mergedCells.splice(this.mergedCells.indexOf(currentMerge), 1);
|
133079
|
+
_assertClassBrand(_MergedCellsCollection_brand, this, _removeMergedCellFromMatrix).call(this, currentMerge);
|
133023
133080
|
}
|
133024
133081
|
});
|
133025
133082
|
}
|
133083
|
+
|
133084
|
+
/**
|
133085
|
+
* Adds a merged cell to the matrix.
|
133086
|
+
*
|
133087
|
+
* @param {MergedCellCoords} mergedCell The merged cell to add.
|
133088
|
+
*/
|
133026
133089
|
}
|
133027
133090
|
function _getNonIntersectingIndexes(range, axis) {
|
133028
133091
|
let scanDirection = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
@@ -133051,6 +133114,28 @@ function _getNonIntersectingIndexes(range, axis) {
|
|
133051
133114
|
return Array.from(set);
|
133052
133115
|
})));
|
133053
133116
|
}
|
133117
|
+
function _addMergedCellToMatrix(mergedCell) {
|
133118
|
+
for (let row = mergedCell.row; row < mergedCell.row + mergedCell.rowspan; row++) {
|
133119
|
+
for (let col = mergedCell.col; col < mergedCell.col + mergedCell.colspan; col++) {
|
133120
|
+
if (!this.mergedCellsMatrix.has(row)) {
|
133121
|
+
this.mergedCellsMatrix.set(row, new Map());
|
133122
|
+
}
|
133123
|
+
this.mergedCellsMatrix.get(row).set(col, mergedCell);
|
133124
|
+
}
|
133125
|
+
}
|
133126
|
+
}
|
133127
|
+
/**
|
133128
|
+
* Removes a merged cell from the matrix.
|
133129
|
+
*
|
133130
|
+
* @param {MergedCellCoords} mergedCell The merged cell to remove.
|
133131
|
+
*/
|
133132
|
+
function _removeMergedCellFromMatrix(mergedCell) {
|
133133
|
+
for (let row = mergedCell.row; row < mergedCell.row + mergedCell.rowspan; row++) {
|
133134
|
+
for (let col = mergedCell.col; col < mergedCell.col + mergedCell.colspan; col++) {
|
133135
|
+
this.mergedCellsMatrix.get(row).delete(col);
|
133136
|
+
}
|
133137
|
+
}
|
133138
|
+
}
|
133054
133139
|
var _default = exports["default"] = MergedCellsCollection;
|
133055
133140
|
|
133056
133141
|
/***/ }),
|
@@ -133062,14 +133147,21 @@ var _default = exports["default"] = MergedCellsCollection;
|
|
133062
133147
|
|
133063
133148
|
var _interopRequireDefault = __webpack_require__(197);
|
133064
133149
|
exports.__esModule = true;
|
133150
|
+
__webpack_require__(204);
|
133065
133151
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(487));
|
133066
133152
|
var _templateLiteralTag = __webpack_require__(477);
|
133153
|
+
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
133154
|
+
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
133155
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
133156
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
133157
|
+
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"); }
|
133067
133158
|
/**
|
133068
133159
|
* The `MergedCellCoords` class represents a single merged cell.
|
133069
133160
|
*
|
133070
133161
|
* @private
|
133071
133162
|
* @class MergedCellCoords
|
133072
133163
|
*/
|
133164
|
+
var _cellRange = /*#__PURE__*/new WeakMap();
|
133073
133165
|
class MergedCellCoords {
|
133074
133166
|
constructor(row, column, rowspan, colspan, cellCoordsFactory, cellRangeFactory) {
|
133075
133167
|
/**
|
@@ -133114,6 +133206,12 @@ class MergedCellCoords {
|
|
133114
133206
|
* @type {Function}
|
133115
133207
|
*/
|
133116
133208
|
(0, _defineProperty2.default)(this, "cellRangeFactory", void 0);
|
133209
|
+
/**
|
133210
|
+
* The cached range coordinates of the merged cell.
|
133211
|
+
*
|
133212
|
+
* @type {CellRange}
|
133213
|
+
*/
|
133214
|
+
_classPrivateFieldInitSpec(this, _cellRange, null);
|
133117
133215
|
this.row = row;
|
133118
133216
|
this.col = column;
|
133119
133217
|
this.rowspan = rowspan;
|
@@ -133235,6 +133333,7 @@ class MergedCellCoords {
|
|
133235
133333
|
if (this.col + this.colspan > totalColumns - 1) {
|
133236
133334
|
this.colspan = totalColumns - this.col;
|
133237
133335
|
}
|
133336
|
+
_classPrivateFieldSet(_cellRange, this, null);
|
133238
133337
|
}
|
133239
133338
|
|
133240
133339
|
/**
|
@@ -133299,6 +133398,7 @@ class MergedCellCoords {
|
|
133299
133398
|
// removing the whole merge
|
133300
133399
|
if (changeStart <= mergeStart && changeEnd >= mergeEnd) {
|
133301
133400
|
this.removed = true;
|
133401
|
+
_classPrivateFieldSet(_cellRange, this, null);
|
133302
133402
|
return false;
|
133303
133403
|
|
133304
133404
|
// removing the merge partially, including the beginning
|
@@ -133318,6 +133418,7 @@ class MergedCellCoords {
|
|
133318
133418
|
this[span] -= removedPart;
|
133319
133419
|
}
|
133320
133420
|
}
|
133421
|
+
_classPrivateFieldSet(_cellRange, this, null);
|
133321
133422
|
return true;
|
133322
133423
|
}
|
133323
133424
|
|
@@ -133368,7 +133469,10 @@ class MergedCellCoords {
|
|
133368
133469
|
* @returns {CellRange}
|
133369
133470
|
*/
|
133370
133471
|
getRange() {
|
133371
|
-
|
133472
|
+
if (!_classPrivateFieldGet(_cellRange, this)) {
|
133473
|
+
_classPrivateFieldSet(_cellRange, this, this.cellRangeFactory(this.cellCoordsFactory(this.row, this.col), this.cellCoordsFactory(this.row, this.col), this.cellCoordsFactory(this.getLastRow(), this.getLastColumn())));
|
133474
|
+
}
|
133475
|
+
return _classPrivateFieldGet(_cellRange, this);
|
133372
133476
|
}
|
133373
133477
|
}
|
133374
133478
|
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-4a6df4e-20240606
|
29
|
+
* Release date: 16/04/2024 (built at 06/06/2024 08:24:50)
|
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}
|
31
31
|
/*!
|
32
32
|
* Pikaday
|