handsontable 0.0.0-next-1c936db-20240912 → 0.0.0-next-108000e-20240912
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/core.d.ts +12 -0
- package/core.js +152 -0
- package/core.mjs +152 -0
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +213 -19
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +5 -5
- package/dist/handsontable.js +213 -19
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +11 -11
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/package.json +1 -1
- package/plugins/contextMenu/contextMenu.js +7 -0
- package/plugins/contextMenu/contextMenu.mjs +7 -0
- package/plugins/contextMenu/menu/menu.js +47 -14
- package/plugins/contextMenu/menu/menu.mjs +48 -15
- package/plugins/filters/filters.js +2 -0
- package/plugins/filters/filters.mjs +2 -0
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: 30/07/2024 (built at 12/09/2024
|
28
|
+
* Version: 0.0.0-next-108000e-20240912
|
29
|
+
* Release date: 30/07/2024 (built at 12/09/2024 19:04:08)
|
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 = "12/09/2024
|
111
|
-
Handsontable.version = "0.0.0-next-
|
110
|
+
Handsontable.buildDate = "12/09/2024 19:04:08";
|
111
|
+
Handsontable.version = "0.0.0-next-108000e-20240912";
|
112
112
|
Handsontable.languages = {
|
113
113
|
dictionaryKeys: _registry.dictionaryKeys,
|
114
114
|
getLanguageDictionary: _registry.getLanguageDictionary,
|
@@ -4402,6 +4402,158 @@ function Core(rootElement, userSettings) {
|
|
4402
4402
|
return editorManager.getActiveEditor();
|
4403
4403
|
};
|
4404
4404
|
|
4405
|
+
/**
|
4406
|
+
* Returns the first rendered row in the DOM (usually, it is not visible in the table's viewport).
|
4407
|
+
*
|
4408
|
+
* @since 14.6.0
|
4409
|
+
* @memberof Core#
|
4410
|
+
* @function getFirstRenderedVisibleRow
|
4411
|
+
* @returns {number | null}
|
4412
|
+
*/
|
4413
|
+
this.getFirstRenderedVisibleRow = function () {
|
4414
|
+
return instance.view.getFirstRenderedVisibleRow();
|
4415
|
+
};
|
4416
|
+
|
4417
|
+
/**
|
4418
|
+
* Returns the last rendered row in the DOM (usually, it is not visible in the table's viewport).
|
4419
|
+
*
|
4420
|
+
* @since 14.6.0
|
4421
|
+
* @memberof Core#
|
4422
|
+
* @function getLastRenderedVisibleRow
|
4423
|
+
* @returns {number | null}
|
4424
|
+
*/
|
4425
|
+
this.getLastRenderedVisibleRow = function () {
|
4426
|
+
return instance.view.getLastRenderedVisibleRow();
|
4427
|
+
};
|
4428
|
+
|
4429
|
+
/**
|
4430
|
+
* Returns the first rendered column in the DOM (usually, it is not visible in the table's viewport).
|
4431
|
+
*
|
4432
|
+
* @since 14.6.0
|
4433
|
+
* @memberof Core#
|
4434
|
+
* @function getFirstRenderedVisibleColumn
|
4435
|
+
* @returns {number | null}
|
4436
|
+
*/
|
4437
|
+
this.getFirstRenderedVisibleColumn = function () {
|
4438
|
+
return instance.view.getFirstRenderedVisibleColumn();
|
4439
|
+
};
|
4440
|
+
|
4441
|
+
/**
|
4442
|
+
* Returns the last rendered column in the DOM (usually, it is not visible in the table's viewport).
|
4443
|
+
*
|
4444
|
+
* @since 14.6.0
|
4445
|
+
* @memberof Core#
|
4446
|
+
* @function getLastRenderedVisibleColumn
|
4447
|
+
* @returns {number | null}
|
4448
|
+
*/
|
4449
|
+
this.getLastRenderedVisibleColumn = function () {
|
4450
|
+
return instance.view.getLastRenderedVisibleColumn();
|
4451
|
+
};
|
4452
|
+
|
4453
|
+
/**
|
4454
|
+
* Returns the first fully visible row in the table viewport. When the table has overlays the method returns
|
4455
|
+
* the first row of the main table that is not overlapped by overlay.
|
4456
|
+
*
|
4457
|
+
* @since 14.6.0
|
4458
|
+
* @memberof Core#
|
4459
|
+
* @function getFirstFullyVisibleRow
|
4460
|
+
* @returns {number | null}
|
4461
|
+
*/
|
4462
|
+
this.getFirstFullyVisibleRow = function () {
|
4463
|
+
return instance.view.getFirstFullyVisibleRow();
|
4464
|
+
};
|
4465
|
+
|
4466
|
+
/**
|
4467
|
+
* Returns the last fully visible row in the table viewport. When the table has overlays the method returns
|
4468
|
+
* the first row of the main table that is not overlapped by overlay.
|
4469
|
+
*
|
4470
|
+
* @since 14.6.0
|
4471
|
+
* @memberof Core#
|
4472
|
+
* @function getLastFullyVisibleRow
|
4473
|
+
* @returns {number | null}
|
4474
|
+
*/
|
4475
|
+
this.getLastFullyVisibleRow = function () {
|
4476
|
+
return instance.view.getLastFullyVisibleRow();
|
4477
|
+
};
|
4478
|
+
|
4479
|
+
/**
|
4480
|
+
* Returns the first fully visible column in the table viewport. When the table has overlays the method returns
|
4481
|
+
* the first row of the main table that is not overlapped by overlay.
|
4482
|
+
*
|
4483
|
+
* @since 14.6.0
|
4484
|
+
* @memberof Core#
|
4485
|
+
* @function getFirstFullyVisibleColumn
|
4486
|
+
* @returns {number | null}
|
4487
|
+
*/
|
4488
|
+
this.getFirstFullyVisibleColumn = function () {
|
4489
|
+
return instance.view.getFirstFullyVisibleColumn();
|
4490
|
+
};
|
4491
|
+
|
4492
|
+
/**
|
4493
|
+
* Returns the last fully visible column in the table viewport. When the table has overlays the method returns
|
4494
|
+
* the first row of the main table that is not overlapped by overlay.
|
4495
|
+
*
|
4496
|
+
* @since 14.6.0
|
4497
|
+
* @memberof Core#
|
4498
|
+
* @function getLastFullyVisibleColumn
|
4499
|
+
* @returns {number | null}
|
4500
|
+
*/
|
4501
|
+
this.getLastFullyVisibleColumn = function () {
|
4502
|
+
return instance.view.getLastFullyVisibleColumn();
|
4503
|
+
};
|
4504
|
+
|
4505
|
+
/**
|
4506
|
+
* Returns the first partially visible row in the table viewport. When the table has overlays the method returns
|
4507
|
+
* the first row of the main table that is not overlapped by overlay.
|
4508
|
+
*
|
4509
|
+
* @since 14.6.0
|
4510
|
+
* @memberof Core#
|
4511
|
+
* @function getFirstPartiallyVisibleRow
|
4512
|
+
* @returns {number | null}
|
4513
|
+
*/
|
4514
|
+
this.getFirstPartiallyVisibleRow = function () {
|
4515
|
+
return instance.view.getFirstPartiallyVisibleRow();
|
4516
|
+
};
|
4517
|
+
|
4518
|
+
/**
|
4519
|
+
* Returns the last partially visible row in the table viewport. When the table has overlays the method returns
|
4520
|
+
* the first row of the main table that is not overlapped by overlay.
|
4521
|
+
*
|
4522
|
+
* @since 14.6.0
|
4523
|
+
* @memberof Core#
|
4524
|
+
* @function getLastPartiallyVisibleRow
|
4525
|
+
* @returns {number | null}
|
4526
|
+
*/
|
4527
|
+
this.getLastPartiallyVisibleRow = function () {
|
4528
|
+
return instance.view.getLastPartiallyVisibleRow();
|
4529
|
+
};
|
4530
|
+
|
4531
|
+
/**
|
4532
|
+
* Returns the first partially visible column in the table viewport. When the table has overlays the method returns
|
4533
|
+
* the first row of the main table that is not overlapped by overlay.
|
4534
|
+
*
|
4535
|
+
* @since 14.6.0
|
4536
|
+
* @memberof Core#
|
4537
|
+
* @function getFirstPartiallyVisibleColumn
|
4538
|
+
* @returns {number | null}
|
4539
|
+
*/
|
4540
|
+
this.getFirstPartiallyVisibleColumn = function () {
|
4541
|
+
return instance.view.getFirstPartiallyVisibleColumn();
|
4542
|
+
};
|
4543
|
+
|
4544
|
+
/**
|
4545
|
+
* Returns the last partially visible column in the table viewport. When the table has overlays the method returns
|
4546
|
+
* the first row of the main table that is not overlapped by overlay.
|
4547
|
+
*
|
4548
|
+
* @since 14.6.0
|
4549
|
+
* @memberof Core#
|
4550
|
+
* @function getLastPartiallyVisibleColumn
|
4551
|
+
* @returns {number | null}
|
4552
|
+
*/
|
4553
|
+
this.getLastPartiallyVisibleColumn = function () {
|
4554
|
+
return instance.view.getLastPartiallyVisibleColumn();
|
4555
|
+
};
|
4556
|
+
|
4405
4557
|
/**
|
4406
4558
|
* Returns plugin instance by provided its name.
|
4407
4559
|
*
|
@@ -9134,7 +9286,7 @@ const domMessages = {
|
|
9134
9286
|
function _injectProductInfo(key, element) {
|
9135
9287
|
const hasValidType = !isEmpty(key);
|
9136
9288
|
const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
|
9137
|
-
const hotVersion = "0.0.0-next-
|
9289
|
+
const hotVersion = "0.0.0-next-108000e-20240912";
|
9138
9290
|
let keyValidityDate;
|
9139
9291
|
let consoleMessageState = 'invalid';
|
9140
9292
|
let domMessageState = 'invalid';
|
@@ -61962,6 +62114,13 @@ class ContextMenu extends _base.BasePlugin {
|
|
61962
62114
|
}
|
61963
62115
|
this.prepareMenuItems();
|
61964
62116
|
this.menu.open();
|
62117
|
+
const themeHasTableBorder = this.menu.tableBorderWidth > 0;
|
62118
|
+
if (!themeHasTableBorder) {
|
62119
|
+
offset.below += 1;
|
62120
|
+
offset.right += 1;
|
62121
|
+
offset.above -= 1;
|
62122
|
+
offset.left -= 1;
|
62123
|
+
}
|
61965
62124
|
(0, _object.objectEach)(offset, (value, key) => {
|
61966
62125
|
this.menu.setOffset(key, value);
|
61967
62126
|
});
|
@@ -62498,7 +62657,21 @@ const MIN_WIDTH = 215;
|
|
62498
62657
|
*/
|
62499
62658
|
var _navigator = /*#__PURE__*/new WeakMap();
|
62500
62659
|
var _shortcutsCtrl = /*#__PURE__*/new WeakMap();
|
62660
|
+
var _tableBorderWidth = /*#__PURE__*/new WeakMap();
|
62501
62661
|
class Menu {
|
62662
|
+
/**
|
62663
|
+
* Getter for the table border width.
|
62664
|
+
* This getter retrieves the border width of the table used in the menu.
|
62665
|
+
*
|
62666
|
+
* @returns {number} The border width of the table in pixels.
|
62667
|
+
*/
|
62668
|
+
get tableBorderWidth() {
|
62669
|
+
if (_classPrivateFieldGet(_tableBorderWidth, this) === undefined && this.hotMenu) {
|
62670
|
+
_classPrivateFieldSet(_tableBorderWidth, this, parseInt((0, _element.getComputedStyle)(this.hotMenu.view._wt.wtTable.TABLE).borderWidth, 10));
|
62671
|
+
}
|
62672
|
+
return _classPrivateFieldGet(_tableBorderWidth, this);
|
62673
|
+
}
|
62674
|
+
|
62502
62675
|
/**
|
62503
62676
|
* @param {Core} hotInstance Handsontable instance.
|
62504
62677
|
* @param {MenuOptions} [options] Menu options.
|
@@ -62571,6 +62744,12 @@ class Menu {
|
|
62571
62744
|
* @type {KeyboardShortcutsMenuController}
|
62572
62745
|
*/
|
62573
62746
|
_classPrivateFieldInitSpec(this, _shortcutsCtrl, void 0);
|
62747
|
+
/**
|
62748
|
+
* The border width of the table used in the menu.
|
62749
|
+
*
|
62750
|
+
* @type {number}
|
62751
|
+
*/
|
62752
|
+
_classPrivateFieldInitSpec(this, _tableBorderWidth, void 0);
|
62574
62753
|
this.hot = hotInstance;
|
62575
62754
|
this.options = options || {
|
62576
62755
|
parent: null,
|
@@ -62727,7 +62906,7 @@ class Menu {
|
|
62727
62906
|
this.openSubMenu(coords.row);
|
62728
62907
|
}
|
62729
62908
|
},
|
62730
|
-
rowHeights: row => filteredItems[row].name === _predefinedItems.SEPARATOR ? 1 :
|
62909
|
+
rowHeights: row => filteredItems[row].name === _predefinedItems.SEPARATOR ? 1 : undefined,
|
62731
62910
|
afterOnCellContextMenu: event => {
|
62732
62911
|
event.preventDefault();
|
62733
62912
|
|
@@ -62992,6 +63171,31 @@ class Menu {
|
|
62992
63171
|
this.positioner.setElement(this.container).updatePosition(coords);
|
62993
63172
|
}
|
62994
63173
|
|
63174
|
+
/**
|
63175
|
+
* Updates the dimensions of the menu based on its content.
|
63176
|
+
* This method calculates the real height of the menu by summing up the heights of its items,
|
63177
|
+
* and adjusts the width and height of the menu's holder and hider elements accordingly.
|
63178
|
+
*/
|
63179
|
+
updateMenuDimensions() {
|
63180
|
+
const {
|
63181
|
+
wtTable
|
63182
|
+
} = this.hotMenu.view._wt;
|
63183
|
+
const data = this.hotMenu.getSettings().data;
|
63184
|
+
const hiderStyle = wtTable.hider.style;
|
63185
|
+
const holderStyle = wtTable.holder.style;
|
63186
|
+
const currentHiderWidth = parseInt(hiderStyle.width, 10);
|
63187
|
+
const realHeight = (0, _array.arrayReduce)(data, (accumulator, value, index) => {
|
63188
|
+
const itemCell = this.hotMenu.getCell(index, 0);
|
63189
|
+
const currentRowHeight = itemCell ? (0, _element.outerHeight)(this.hotMenu.getCell(index, 0)) : 0;
|
63190
|
+
return accumulator + (value.name === _predefinedItems.SEPARATOR ? 1 : currentRowHeight);
|
63191
|
+
}, 0);
|
63192
|
+
|
63193
|
+
// Additional 3px to menu's size because of additional border around its `table.htCore`.
|
63194
|
+
holderStyle.width = `${currentHiderWidth + 3}px`;
|
63195
|
+
holderStyle.height = `${realHeight + 3}px`;
|
63196
|
+
hiderStyle.height = holderStyle.height;
|
63197
|
+
}
|
63198
|
+
|
62995
63199
|
/**
|
62996
63200
|
* Create container/wrapper for handsontable.
|
62997
63201
|
*
|
@@ -63034,19 +63238,7 @@ class Menu {
|
|
63034
63238
|
* @private
|
63035
63239
|
*/
|
63036
63240
|
onAfterInit() {
|
63037
|
-
|
63038
|
-
wtTable
|
63039
|
-
} = this.hotMenu.view._wt;
|
63040
|
-
const data = this.hotMenu.getSettings().data;
|
63041
|
-
const hiderStyle = wtTable.hider.style;
|
63042
|
-
const holderStyle = wtTable.holder.style;
|
63043
|
-
const currentHiderWidth = parseInt(hiderStyle.width, 10);
|
63044
|
-
const realHeight = (0, _array.arrayReduce)(data, (accumulator, value) => accumulator + (value.name === _predefinedItems.SEPARATOR ? 1 : 26), 0);
|
63045
|
-
|
63046
|
-
// Additional 3px to menu's size because of additional border around its `table.htCore`.
|
63047
|
-
holderStyle.width = `${currentHiderWidth + 3}px`;
|
63048
|
-
holderStyle.height = `${realHeight + 3}px`;
|
63049
|
-
hiderStyle.height = holderStyle.height;
|
63241
|
+
this.updateMenuDimensions();
|
63050
63242
|
|
63051
63243
|
// Replace the default accessibility tags with the context menu's
|
63052
63244
|
if (this.hot.getSettings().ariaTags) {
|
@@ -68958,7 +69150,9 @@ function _onAfterChange(changes) {
|
|
68958
69150
|
}
|
68959
69151
|
}
|
68960
69152
|
function _onAfterDropdownMenuShow() {
|
69153
|
+
const menu = this.dropdownMenuPlugin.menu;
|
68961
69154
|
this.restoreComponents(Array.from(this.components.values()));
|
69155
|
+
menu.updateMenuDimensions();
|
68962
69156
|
}
|
68963
69157
|
/**
|
68964
69158
|
* After dropdown menu hide listener.
|
@@ -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: 30/07/2024 (built at 12/09/2024
|
28
|
+
* Version: 0.0.0-next-108000e-20240912
|
29
|
+
* Release date: 30/07/2024 (built at 12/09/2024 19:04:25)
|
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) 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;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;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;border:2px solid #4b89ff;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.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 .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 .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
|