handsontable 0.0.0-next-f900323-20250306 → 0.0.0-next-b209352-20250310
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.
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 +95 -46
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +11 -11
- package/dist/handsontable.js +95 -46
- 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/contextMenu/menu/menu.js +9 -2
- package/plugins/contextMenu/menu/menu.mjs +9 -2
- package/plugins/filters/conditionCollection.js +0 -26
- package/plugins/filters/conditionCollection.mjs +0 -26
- package/plugins/filters/filters.d.ts +2 -0
- package/plugins/filters/filters.js +77 -8
- package/plugins/filters/filters.mjs +77 -8
- package/plugins/mergeCells/mergeCells.js +2 -3
- package/plugins/mergeCells/mergeCells.mjs +2 -3
- package/plugins/undoRedo/actions/filters.js +2 -2
- package/plugins/undoRedo/actions/filters.mjs +2 -2
- package/styles/handsontable.css +2 -2
- package/styles/handsontable.min.css +2 -2
- package/styles/ht-theme-horizon.css +2 -2
- package/styles/ht-theme-horizon.min.css +2 -2
- package/styles/ht-theme-main.css +2 -2
- package/styles/ht-theme-main.min.css +2 -2
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: 20/02/2025 (built at
|
|
28
|
+
* Version: 0.0.0-next-b209352-20250310
|
|
29
|
+
* Release date: 20/02/2025 (built at 10/03/2025 12:40:00)
|
|
30
30
|
*/
|
|
31
31
|
(function webpackUniversalModuleDefinition(root, factory) {
|
|
32
32
|
if(typeof exports === 'object' && typeof module === 'object')
|
|
@@ -104,8 +104,8 @@ Handsontable.hooks = _hooks.Hooks.getSingleton();
|
|
|
104
104
|
Handsontable.CellCoords = _src.CellCoords;
|
|
105
105
|
Handsontable.CellRange = _src.CellRange;
|
|
106
106
|
Handsontable.packageName = 'handsontable';
|
|
107
|
-
Handsontable.buildDate = "
|
|
108
|
-
Handsontable.version = "0.0.0-next-
|
|
107
|
+
Handsontable.buildDate = "10/03/2025 12:40:00";
|
|
108
|
+
Handsontable.version = "0.0.0-next-b209352-20250310";
|
|
109
109
|
Handsontable.languages = {
|
|
110
110
|
dictionaryKeys: _registry.dictionaryKeys,
|
|
111
111
|
getLanguageDictionary: _registry.getLanguageDictionary,
|
|
@@ -10090,7 +10090,7 @@ const domMessages = {
|
|
|
10090
10090
|
function _injectProductInfo(key, element) {
|
|
10091
10091
|
const hasValidType = !isEmpty(key);
|
|
10092
10092
|
const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
|
|
10093
|
-
const hotVersion = "0.0.0-next-
|
|
10093
|
+
const hotVersion = "0.0.0-next-b209352-20250310";
|
|
10094
10094
|
let keyValidityDate;
|
|
10095
10095
|
let consoleMessageState = 'invalid';
|
|
10096
10096
|
let domMessageState = 'invalid';
|
|
@@ -65041,6 +65041,7 @@ class Menu {
|
|
|
65041
65041
|
* and adjusts the width and height of the menu's holder and hider elements accordingly.
|
|
65042
65042
|
*/
|
|
65043
65043
|
updateMenuDimensions() {
|
|
65044
|
+
const stylesHandler = this.hotMenu.view.getStylesHandler();
|
|
65044
65045
|
const {
|
|
65045
65046
|
wtTable
|
|
65046
65047
|
} = this.hotMenu.view._wt;
|
|
@@ -65053,8 +65054,14 @@ class Menu {
|
|
|
65053
65054
|
const currentRowHeight = itemCell ? (0, _element.outerHeight)(this.hotMenu.getCell(index, 0)) : 0;
|
|
65054
65055
|
return accumulator + (value.name === _predefinedItems.SEPARATOR ? 1 : currentRowHeight);
|
|
65055
65056
|
}, 0);
|
|
65056
|
-
|
|
65057
|
-
|
|
65057
|
+
if (stylesHandler.isClassicTheme()) {
|
|
65058
|
+
// Additional 3px to menu's size because of additional border around its `table.htCore`.
|
|
65059
|
+
holderStyle.width = `${currentHiderWidth + 3}px`;
|
|
65060
|
+
holderStyle.height = `${realHeight + 3}px`;
|
|
65061
|
+
} else {
|
|
65062
|
+
holderStyle.width = `${currentHiderWidth}px`;
|
|
65063
|
+
holderStyle.height = `${realHeight}px`;
|
|
65064
|
+
}
|
|
65058
65065
|
hiderStyle.height = holderStyle.height;
|
|
65059
65066
|
}
|
|
65060
65067
|
|
|
@@ -70283,6 +70290,7 @@ const SHORTCUTS_GROUP = PLUGIN_KEY;
|
|
|
70283
70290
|
*/
|
|
70284
70291
|
var _menuFocusNavigator = /*#__PURE__*/new WeakMap();
|
|
70285
70292
|
var _dropdownMenuTraces = /*#__PURE__*/new WeakMap();
|
|
70293
|
+
var _previousConditionStack = /*#__PURE__*/new WeakMap();
|
|
70286
70294
|
var _Filters_brand = /*#__PURE__*/new WeakSet();
|
|
70287
70295
|
class Filters extends _base.BasePlugin {
|
|
70288
70296
|
static get PLUGIN_KEY() {
|
|
@@ -70354,6 +70362,13 @@ class Filters extends _base.BasePlugin {
|
|
|
70354
70362
|
* @type {WeakSet<Menu>}
|
|
70355
70363
|
*/
|
|
70356
70364
|
_classPrivateFieldInitSpec(this, _dropdownMenuTraces, new WeakSet());
|
|
70365
|
+
/**
|
|
70366
|
+
* Stores the previous state of the condition stack before the latest filter operation.
|
|
70367
|
+
* This is used in the `beforeFilter` plugin to allow performing the undo operation.
|
|
70368
|
+
*
|
|
70369
|
+
* @type {Array}
|
|
70370
|
+
*/
|
|
70371
|
+
_classPrivateFieldInitSpec(this, _previousConditionStack, []);
|
|
70357
70372
|
this.hot.addHook('afterGetColHeader', function () {
|
|
70358
70373
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
70359
70374
|
args[_key] = arguments[_key];
|
|
@@ -70696,6 +70711,51 @@ class Filters extends _base.BasePlugin {
|
|
|
70696
70711
|
}
|
|
70697
70712
|
}
|
|
70698
70713
|
|
|
70714
|
+
/**
|
|
70715
|
+
* Imports filter conditions to all columns to the plugin. The method accepts
|
|
70716
|
+
* the array of conditions with the same structure as the {@link Filters#exportConditions} method returns.
|
|
70717
|
+
* Importing conditions will replace the current conditions. Once replaced, the state of the condition
|
|
70718
|
+
* will be reflected in the UI. To apply the changes and filter the table, call
|
|
70719
|
+
* the {@link Filters#filter} method eventually.
|
|
70720
|
+
*
|
|
70721
|
+
* @param {Array} conditions Array of conditions.
|
|
70722
|
+
*/
|
|
70723
|
+
importConditions(conditions) {
|
|
70724
|
+
this.conditionCollection.importAllConditions(conditions);
|
|
70725
|
+
}
|
|
70726
|
+
|
|
70727
|
+
/* eslint-disable jsdoc/require-description-complete-sentence */
|
|
70728
|
+
/**
|
|
70729
|
+
* Exports filter conditions for all columns from the plugin.
|
|
70730
|
+
* The array represents the filter state for each column. For example:
|
|
70731
|
+
*
|
|
70732
|
+
* ```js
|
|
70733
|
+
* [
|
|
70734
|
+
* {
|
|
70735
|
+
* column: 1,
|
|
70736
|
+
* operation: 'conjunction',
|
|
70737
|
+
* conditions: [
|
|
70738
|
+
* { name: 'gt', args: [95] },
|
|
70739
|
+
* ]
|
|
70740
|
+
* },
|
|
70741
|
+
* {
|
|
70742
|
+
* column: 7,
|
|
70743
|
+
* operation: 'conjunction',
|
|
70744
|
+
* conditions: [
|
|
70745
|
+
* { name: 'contains', args: ['mike'] },
|
|
70746
|
+
* { name: 'begins_with', args: ['m'] },
|
|
70747
|
+
* ]
|
|
70748
|
+
* },
|
|
70749
|
+
* ]
|
|
70750
|
+
* ```
|
|
70751
|
+
*
|
|
70752
|
+
* @returns {Array}
|
|
70753
|
+
*/
|
|
70754
|
+
/* eslint-enable jsdoc/require-description-complete-sentence */
|
|
70755
|
+
exportConditions() {
|
|
70756
|
+
return this.conditionCollection.exportAllConditions();
|
|
70757
|
+
}
|
|
70758
|
+
|
|
70699
70759
|
/**
|
|
70700
70760
|
* Filters data based on added filter conditions.
|
|
70701
70761
|
*
|
|
@@ -70709,8 +70769,8 @@ class Filters extends _base.BasePlugin {
|
|
|
70709
70769
|
const dataFilter = this._createDataFilter();
|
|
70710
70770
|
const needToFilter = !this.conditionCollection.isEmpty();
|
|
70711
70771
|
let visibleVisualRows = [];
|
|
70712
|
-
const conditions = this.
|
|
70713
|
-
const allowFiltering = this.hot.runHooks('beforeFilter', conditions, this
|
|
70772
|
+
const conditions = this.exportConditions();
|
|
70773
|
+
const allowFiltering = this.hot.runHooks('beforeFilter', conditions, _classPrivateFieldGet(_previousConditionStack, this));
|
|
70714
70774
|
if (allowFiltering !== false) {
|
|
70715
70775
|
if (needToFilter) {
|
|
70716
70776
|
const trimmedRows = [];
|
|
@@ -70733,11 +70793,13 @@ class Filters extends _base.BasePlugin {
|
|
|
70733
70793
|
} else {
|
|
70734
70794
|
this.filtersRowsMap.clear();
|
|
70735
70795
|
}
|
|
70796
|
+
_classPrivateFieldSet(_previousConditionStack, this, this.exportConditions());
|
|
70797
|
+
this.hot.runHooks('afterFilter', conditions);
|
|
70798
|
+
this.hot.view.adjustElementsSize();
|
|
70799
|
+
this.hot.render();
|
|
70800
|
+
} else {
|
|
70801
|
+
this.importConditions(_classPrivateFieldGet(_previousConditionStack, this));
|
|
70736
70802
|
}
|
|
70737
|
-
this.hot.runHooks('afterFilter', conditions);
|
|
70738
|
-
this.conditionCollection.setPreviousConditionStack(null);
|
|
70739
|
-
this.hot.view.adjustElementsSize();
|
|
70740
|
-
this.hot.render();
|
|
70741
70803
|
if (this.hot.selection.isSelected()) {
|
|
70742
70804
|
this.hot.selectCell(navigableHeaders ? -1 : 0, this.hot.getSelectedRangeLast().highlight.col);
|
|
70743
70805
|
}
|
|
@@ -71100,7 +71162,6 @@ function _onActionBarSubmit(submitType) {
|
|
|
71100
71162
|
}
|
|
71101
71163
|
this.conditionUpdateObserver.flush();
|
|
71102
71164
|
this.components.forEach(component => component.saveState(physicalIndex));
|
|
71103
|
-
this.filtersRowsMap.clear();
|
|
71104
71165
|
this.filter();
|
|
71105
71166
|
}
|
|
71106
71167
|
(_this$dropdownMenuPlu3 = this.dropdownMenuPlugin) === null || _this$dropdownMenuPlu3 === void 0 || _this$dropdownMenuPlu3.close();
|
|
@@ -71142,8 +71203,23 @@ function _updateComponents(conditionsState) {
|
|
|
71142
71203
|
editedConditionStack: {
|
|
71143
71204
|
conditions,
|
|
71144
71205
|
column
|
|
71145
|
-
}
|
|
71206
|
+
},
|
|
71207
|
+
conditionArgsChange
|
|
71146
71208
|
} = conditionsState;
|
|
71209
|
+
if (Array.isArray(conditionArgsChange)) {
|
|
71210
|
+
// update the previous condition stack (only for 'by_value' condition) on each dataset
|
|
71211
|
+
// change to make the undo/redo work properly
|
|
71212
|
+
_classPrivateFieldSet(_previousConditionStack, this, _classPrivateFieldGet(_previousConditionStack, this).map(stack => {
|
|
71213
|
+
if (stack.column === column && conditions.length > 0) {
|
|
71214
|
+
stack.conditions.forEach(condition => {
|
|
71215
|
+
if (condition.name === 'by_value') {
|
|
71216
|
+
condition.args = [[...conditionArgsChange]];
|
|
71217
|
+
}
|
|
71218
|
+
});
|
|
71219
|
+
}
|
|
71220
|
+
return stack;
|
|
71221
|
+
}));
|
|
71222
|
+
}
|
|
71147
71223
|
const conditionsByValue = conditions.filter(condition => condition.name === _constants2.CONDITION_BY_VALUE);
|
|
71148
71224
|
const conditionsWithoutByValue = conditions.filter(condition => condition.name !== _constants2.CONDITION_BY_VALUE);
|
|
71149
71225
|
if (conditionsByValue.length >= 2 || conditionsWithoutByValue.length >= 3) {
|
|
@@ -74587,13 +74663,6 @@ class ConditionCollection {
|
|
|
74587
74663
|
* @type {LinkedPhysicalIndexToValueMap}
|
|
74588
74664
|
*/
|
|
74589
74665
|
(0, _defineProperty2.default)(this, "filteringStates", new _translations.LinkedPhysicalIndexToValueMap());
|
|
74590
|
-
/**
|
|
74591
|
-
* Stores the previous state of the condition stack before the latest filter operation.
|
|
74592
|
-
* This is used in the `beforeFilter` plugin to allow performing the undo operation.
|
|
74593
|
-
*
|
|
74594
|
-
* @type {null|Array}
|
|
74595
|
-
*/
|
|
74596
|
-
(0, _defineProperty2.default)(this, "previousConditionStack", null);
|
|
74597
74666
|
this.hot = hot;
|
|
74598
74667
|
this.isMapRegistrable = isMapRegistrable;
|
|
74599
74668
|
if (this.isMapRegistrable === true) {
|
|
@@ -74662,13 +74731,6 @@ class ConditionCollection {
|
|
|
74662
74731
|
const localeForColumn = this.hot.getCellMeta(0, column).locale;
|
|
74663
74732
|
const args = conditionDefinition.args.map(v => typeof v === 'string' ? v.toLocaleLowerCase(localeForColumn) : v);
|
|
74664
74733
|
const name = conditionDefinition.name || conditionDefinition.command.key;
|
|
74665
|
-
|
|
74666
|
-
// If there's no previous condition stack defined (which means the condition stack was not cleared after the
|
|
74667
|
-
// previous filter operation or that there was no filter operation performed yet), store the current conditions as
|
|
74668
|
-
// the previous condition stack.
|
|
74669
|
-
if (this.previousConditionStack === null) {
|
|
74670
|
-
this.setPreviousConditionStack(this.exportAllConditions());
|
|
74671
|
-
}
|
|
74672
74734
|
this.runLocalHooks('beforeAdd', column);
|
|
74673
74735
|
const columnType = this.getOperation(column);
|
|
74674
74736
|
if (columnType) {
|
|
@@ -74797,8 +74859,6 @@ class ConditionCollection {
|
|
|
74797
74859
|
* @fires ConditionCollection#afterRemove
|
|
74798
74860
|
*/
|
|
74799
74861
|
removeConditions(column) {
|
|
74800
|
-
// Store the current conditions as the previous condition stack before it's cleared.
|
|
74801
|
-
this.setPreviousConditionStack(this.exportAllConditions());
|
|
74802
74862
|
this.runLocalHooks('beforeRemove', column);
|
|
74803
74863
|
this.filteringStates.clearValue(column);
|
|
74804
74864
|
this.runLocalHooks('afterRemove', column);
|
|
@@ -74832,16 +74892,6 @@ class ConditionCollection {
|
|
|
74832
74892
|
return conditions.length > 0;
|
|
74833
74893
|
}
|
|
74834
74894
|
|
|
74835
|
-
/**
|
|
74836
|
-
* Updates the `previousConditionStack` property with the provided stack.
|
|
74837
|
-
* It is used to store the current conditions before they are modified, allowing for undo operations.
|
|
74838
|
-
*
|
|
74839
|
-
* @param {Array|null} previousConditionStack The stack of previous conditions.
|
|
74840
|
-
*/
|
|
74841
|
-
setPreviousConditionStack(previousConditionStack) {
|
|
74842
|
-
this.previousConditionStack = previousConditionStack;
|
|
74843
|
-
}
|
|
74844
|
-
|
|
74845
74895
|
/**
|
|
74846
74896
|
* Destroy object.
|
|
74847
74897
|
*/
|
|
@@ -83994,12 +84044,11 @@ function _sumCellsHeights(row, rowspan) {
|
|
|
83994
84044
|
} = this.hot;
|
|
83995
84045
|
const stylesHandler = view.getStylesHandler();
|
|
83996
84046
|
const defaultHeight = view.getDefaultRowHeight();
|
|
83997
|
-
const autoRowSizePlugin = this.hot.getPlugin('autoRowSize');
|
|
83998
84047
|
let height = 0;
|
|
83999
84048
|
for (let i = row; i < row + rowspan; i++) {
|
|
84000
84049
|
if (!rowIndexMapper.isHidden(i)) {
|
|
84001
|
-
var
|
|
84002
|
-
height += (
|
|
84050
|
+
var _this$hot$getRowHeigh;
|
|
84051
|
+
height += (_this$hot$getRowHeigh = this.hot.getRowHeight(i)) !== null && _this$hot$getRowHeigh !== void 0 ? _this$hot$getRowHeigh : defaultHeight;
|
|
84003
84052
|
if (i === 0 && !stylesHandler.isClassicTheme()) {
|
|
84004
84053
|
height += 1; // border-top-width
|
|
84005
84054
|
}
|
|
@@ -95360,7 +95409,7 @@ class FiltersAction extends _base.BaseAction {
|
|
|
95360
95409
|
undo(hot, undoneCallback) {
|
|
95361
95410
|
const filters = hot.getPlugin('filters');
|
|
95362
95411
|
hot.addHookOnce('afterViewRender', undoneCallback);
|
|
95363
|
-
filters.
|
|
95412
|
+
filters.importConditions(this.previousConditionsStack);
|
|
95364
95413
|
filters.filter();
|
|
95365
95414
|
}
|
|
95366
95415
|
|
|
@@ -95371,7 +95420,7 @@ class FiltersAction extends _base.BaseAction {
|
|
|
95371
95420
|
redo(hot, redoneCallback) {
|
|
95372
95421
|
const filters = hot.getPlugin('filters');
|
|
95373
95422
|
hot.addHookOnce('afterViewRender', redoneCallback);
|
|
95374
|
-
filters.
|
|
95423
|
+
filters.importConditions(this.conditionsStack);
|
|
95375
95424
|
filters.filter();
|
|
95376
95425
|
}
|
|
95377
95426
|
}
|
|
@@ -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: 0.0.0-next-
|
|
30
|
-
* Release date: 20/02/2025 (built at
|
|
29
|
+
* Version: 0.0.0-next-b209352-20250310
|
|
30
|
+
* Release date: 20/02/2025 (built at 10/03/2025 12:40:52)
|
|
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 td:first-of-type,.handsontable th:first-child{border-left:1px solid #ccc}[dir=rtl].handsontable td:first-of-type,[dir=rtl].handsontable th:first-child{border-right:1px solid #ccc}.handsontable .ht_clone_top th:nth-child(2){border-left-width:0;border-right:1px solid #ccc}[dir=rtl].handsontable .ht_clone_top th:nth-child(2){border-left:1px solid #ccc;border-right-width:0}.handsontable.htRowHeaders thead tr th:nth-child(2){border-left:1px solid #ccc}[dir=rtl].handsontable.htRowHeaders thead tr th:nth-child(2){border-right:1px solid #ccc}.handsontable tr:first-child td,.handsontable tr:first-child th{border-top:1px solid #ccc}.ht_master:not(.innerBorderInlineStart):not(.emptyColumns) tbody tr th,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns) thead tr th:first-child,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.htGhostTable) tbody tr th,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.ht_clone_top):not(.htGhostTable) thead tr th:first-child{border-left:1px solid #ccc;border-right-width:0}[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns) tbody tr th,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns) thead tr th:first-child,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.htGhostTable) tbody tr th,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.ht_clone_top):not(.htGhostTable) thead tr th:first-child{border-left-width:0;border-right:1px solid #ccc}.ht_master:not(.innerBorderTop):not(.innerBorderBottom) thead tr.lastChild th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom) thead tr:last-child th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom)~.handsontable thead tr.lastChild th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom)~.handsontable thead tr:last-child th{border-bottom-width:0}.handsontable th{background-color:#f0f0f0;color:#222;font-weight:400;text-align:center;white-space:nowrap}.handsontable thead th{padding:0}.handsontable th.active{background-color:#ccc}.handsontable thead th .relative{padding:2px 4px}.handsontable span.colHeader{display:inline-block;line-height:1.1}.handsontable .wtBorder{font-size:0;position:absolute}.handsontable .wtBorder.hidden{display:none!important}.handsontable .wtBorder.current{z-index:10}.handsontable .wtBorder.area{z-index:8}.handsontable .wtBorder.fill{z-index:6}.handsontable .wtBorder.corner{cursor:crosshair;font-size:0}.ht_clone_master{z-index:100}.ht_clone_inline_start{z-index:120}.ht_clone_bottom{z-index:130}.ht_clone_bottom_inline_start_corner{z-index:150}.ht_clone_top{z-index:160}.ht_clone_top_inline_start_corner{z-index:180}.handsontable col.hidden{width:0!important}.handsontable tr.hidden,.handsontable tr.hidden td,.handsontable tr.hidden th{display:none}.ht_clone_bottom,.ht_clone_inline_start,.ht_clone_top,.ht_master{overflow:hidden}.ht_master .wtHolder{overflow:auto}.handsontable .ht_clone_inline_start table.htCore>thead,.handsontable .ht_master table.htCore>tbody>tr>th,.handsontable .ht_master table.htCore>thead{visibility:hidden}.ht_clone_bottom .wtHolder,.ht_clone_inline_start .wtHolder,.ht_clone_top .wtHolder{overflow:hidden}.handsontable{color:#373737;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:13px;font-weight:400;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}.handsontable .htFocusCatcher{border:0;height:0;margin:0;opacity:0;padding:0;position:absolute;width:0;z-index:-1}.handsontable .manualColumnResizer{cursor:col-resize;height:25px;position:absolute;top:0;width:5px;z-index:210}.handsontable .manualRowResizer{cursor:row-resize;height:5px;left:0;position:absolute;width:50px;z-index:210}.handsontable .manualColumnResizer.active,.handsontable .manualColumnResizer:hover,.handsontable .manualRowResizer.active,.handsontable .manualRowResizer:hover{background-color:#34a9db}.handsontable .manualColumnResizerGuide{background-color:#34a9db;border-left:none;border-right:1px dashed #777;display:none;margin-left:5px;margin-right:unset;position:absolute;right:unset;top:0;width:0}[dir=rtl].handsontable .manualColumnResizerGuide{border-left:1px dashed #777;border-right:none;left:unset;margin-left:unset;margin-right:5px}.handsontable .manualRowResizerGuide{background-color:#34a9db;border-bottom:1px dashed #777;bottom:0;display:none;height:0;left:0;margin-top:5px;position:absolute}.handsontable .manualColumnResizerGuide.active,.handsontable .manualRowResizerGuide.active{display:block;z-index:209}.handsontable td.area,.handsontable td.area-1,.handsontable td.area-2,.handsontable td.area-3,.handsontable td.area-4,.handsontable td.area-5,.handsontable td.area-6,.handsontable td.area-7{position:relative}.handsontable td.area-1:before,.handsontable td.area-2:before,.handsontable td.area-3:before,.handsontable td.area-4:before,.handsontable td.area-5:before,.handsontable td.area-6:before,.handsontable td.area-7:before,.handsontable td.area:before{background:#005eff;bottom:0;content:"";left:0;position:absolute;right:0;top:0}.handsontable td.area:before{opacity:.1}.handsontable td.area-1:before{opacity:.2}.handsontable td.area-2:before{opacity:.27}.handsontable td.area-3:before{opacity:.35}.handsontable td.area-4:before{opacity:.41}.handsontable td.area-5:before{opacity:.47}.handsontable td.area-6:before{opacity:.54}.handsontable td.area-7:before{opacity:.58}.handsontable tbody th.current,.handsontable thead th.current{box-shadow:inset 0 0 0 2px #4b89ff}.handsontable tbody th.ht__highlight,.handsontable thead th.ht__highlight{background-color:#dcdcdc}.handsontable tbody th.ht__active_highlight,.handsontable thead th.ht__active_highlight{background-color:#8eb0e7;color:#000}.handsontableInput{background-color:#fff;border:none;border-radius:0;box-shadow:inset 0 0 0 2px #5292f7;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{margin:0}.handsontable.listbox .ht_master table{background:#fff;border:1px solid #ccc;border-collapse:separate}.handsontable.listbox td,.handsontable.listbox th,.handsontable.listbox tr:first-child td,.handsontable.listbox tr:first-child th,.handsontable.listbox tr:last-child th{border-color:transparent!important}.handsontable.listbox td,.handsontable.listbox th{text-overflow:ellipsis;white-space:nowrap}.handsontable.listbox td.htDimmed{color:inherit;cursor:default;font-style:inherit}.handsontable.listbox .wtBorder{visibility:hidden}.handsontable.listbox tr td.current,.handsontable.listbox tr:hover td{background:#eee}.ht_editor_hidden{z-index:-1}.ht_editor_visible{z-index:200}.handsontable td.htSearchResult{background:#fcedd9;color:#583707}.handsontable.mobile,.handsontable.mobile .wtHolder{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-overflow-scrolling:touch}.handsontable.mobile .handsontableInput:focus{-webkit-appearance:none;-webkit-box-shadow:inset 0 0 0 2px #5292f7;-moz-box-shadow:inset 0 0 0 2px #5292f7;box-shadow:inset 0 0 0 2px #5292f7}.handsontable .bottomSelectionHandle,.handsontable .bottomSelectionHandle-HitArea,.handsontable .topSelectionHandle,.handsontable .topSelectionHandle-HitArea{left:-10000px;right:unset;top:-10000px;z-index:9999}[dir=rtl].handsontable .bottomSelectionHandle,[dir=rtl].handsontable .bottomSelectionHandle-HitArea,[dir=rtl].handsontable .topSelectionHandle,[dir=rtl].handsontable .topSelectionHandle-HitArea{left:unset;right:-10000px}.handsontable.hide-tween{-webkit-animation:opacity-hide .3s;animation:opacity-hide .3s;animation-fill-mode:forwards;-webkit-animation-fill-mode:forwards}.handsontable.show-tween{-webkit-animation:opacity-show .3s;animation:opacity-show .3s;animation-fill-mode:forwards;-webkit-animation-fill-mode:forwards}.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
|