handsontable 0.0.0-next-f11b1a2-20231123 → 0.0.0-next-a417c2b-20231124
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/3rdparty/walkontable/src/renderer/columnHeaders.js +1 -1
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +1 -1
- package/3rdparty/walkontable/src/selection/manager.js +8 -8
- package/3rdparty/walkontable/src/selection/manager.mjs +8 -8
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core/focusCatcher/focusDetector.js +1 -1
- package/core/focusCatcher/focusDetector.mjs +2 -2
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +59 -33
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +7 -7
- package/dist/handsontable.js +59 -33
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +7 -7
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/package.json +1 -1
- package/plugins/filters/filters.js +10 -1
- package/plugins/filters/filters.mjs +10 -1
- package/plugins/filters/menu/focusController.js +29 -10
- package/plugins/filters/menu/focusController.mjs +29 -10
- package/plugins/nestedRows/nestedRows.js +3 -0
- package/plugins/nestedRows/nestedRows.mjs +3 -0
- package/selection/highlight/types/focus.js +2 -6
- package/selection/highlight/types/focus.mjs +2 -6
- package/selection/selection.js +0 -1
- package/selection/selection.mjs +0 -1
package/dist/handsontable.js
CHANGED
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
* INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
|
|
26
26
|
* USE OR INABILITY TO USE THIS SOFTWARE.
|
|
27
27
|
*
|
|
28
|
-
* Version: 0.0.0-next-
|
|
29
|
-
* Release date: 31/08/2023 (built at
|
|
28
|
+
* Version: 0.0.0-next-a417c2b-20231124
|
|
29
|
+
* Release date: 31/08/2023 (built at 24/11/2023 11:00:21)
|
|
30
30
|
*/
|
|
31
31
|
(function webpackUniversalModuleDefinition(root, factory) {
|
|
32
32
|
if(typeof exports === 'object' && typeof module === 'object')
|
|
@@ -105,8 +105,8 @@ Handsontable.hooks = _pluginHooks.default.getSingleton();
|
|
|
105
105
|
Handsontable.CellCoords = _src.CellCoords;
|
|
106
106
|
Handsontable.CellRange = _src.CellRange;
|
|
107
107
|
Handsontable.packageName = 'handsontable';
|
|
108
|
-
Handsontable.buildDate = "
|
|
109
|
-
Handsontable.version = "0.0.0-next-
|
|
108
|
+
Handsontable.buildDate = "24/11/2023 11:00:21";
|
|
109
|
+
Handsontable.version = "0.0.0-next-a417c2b-20231124";
|
|
110
110
|
Handsontable.languages = {
|
|
111
111
|
dictionaryKeys: _registry.dictionaryKeys,
|
|
112
112
|
getLanguageDictionary: _registry.getLanguageDictionary,
|
|
@@ -8514,7 +8514,7 @@ const domMessages = {
|
|
|
8514
8514
|
function _injectProductInfo(key, element) {
|
|
8515
8515
|
const hasValidType = !isEmpty(key);
|
|
8516
8516
|
const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
|
|
8517
|
-
const hotVersion = "0.0.0-next-
|
|
8517
|
+
const hotVersion = "0.0.0-next-a417c2b-20231124";
|
|
8518
8518
|
let keyValidityDate;
|
|
8519
8519
|
let consoleMessageState = 'invalid';
|
|
8520
8520
|
let domMessageState = 'invalid';
|
|
@@ -22428,7 +22428,7 @@ class ColumnHeadersRenderer extends _base.default {
|
|
|
22428
22428
|
// Remove all accessibility-related attributes for the header to start fresh.
|
|
22429
22429
|
(0, _element.removeAttribute)(TH, [new RegExp('aria-(.*)'), new RegExp('role')]);
|
|
22430
22430
|
if (this.table.isAriaEnabled()) {
|
|
22431
|
-
(0, _element.setAttribute)(TH, [(0, _a11y.A11Y_COLINDEX)(renderedColumnIndex + 1 + this.table.rowHeadersCount), (0, _a11y.A11Y_TABINDEX)(-1),
|
|
22431
|
+
(0, _element.setAttribute)(TH, [(0, _a11y.A11Y_COLINDEX)(renderedColumnIndex + 1 + this.table.rowHeadersCount), (0, _a11y.A11Y_TABINDEX)(-1), (0, _a11y.A11Y_COLUMNHEADER)(), ...(renderedColumnIndex >= 0 ? [(0, _a11y.A11Y_SCOPE_COL)()] : [])]);
|
|
22432
22432
|
}
|
|
22433
22433
|
columnHeaderFunctions[rowHeaderIndex](sourceColumnIndex, TH, rowHeaderIndex);
|
|
22434
22434
|
}
|
|
@@ -25996,12 +25996,12 @@ class SelectionManager {
|
|
|
25996
25996
|
}
|
|
25997
25997
|
const selections = Array.from((0, _classPrivateFieldGet7.default)(this, _selections));
|
|
25998
25998
|
const classNamesMap = new Map();
|
|
25999
|
-
const
|
|
25999
|
+
const headerAttributesMap = new Map();
|
|
26000
26000
|
for (let i = 0; i < selections.length; i++) {
|
|
26001
26001
|
const selection = selections[i];
|
|
26002
26002
|
const {
|
|
26003
26003
|
className,
|
|
26004
|
-
|
|
26004
|
+
headerAttributes,
|
|
26005
26005
|
createLayers,
|
|
26006
26006
|
selectionType
|
|
26007
26007
|
} = selection.settings;
|
|
@@ -26028,12 +26028,12 @@ class SelectionManager {
|
|
|
26028
26028
|
} else {
|
|
26029
26029
|
classNamesMap.set(element, new Map([[className, 1]]));
|
|
26030
26030
|
}
|
|
26031
|
-
if (
|
|
26032
|
-
if (!
|
|
26033
|
-
|
|
26031
|
+
if (headerAttributes) {
|
|
26032
|
+
if (!headerAttributesMap.has(element)) {
|
|
26033
|
+
headerAttributesMap.set(element, []);
|
|
26034
26034
|
}
|
|
26035
26035
|
if (element.nodeName === 'TH') {
|
|
26036
|
-
|
|
26036
|
+
headerAttributesMap.get(element).push(...headerAttributes);
|
|
26037
26037
|
}
|
|
26038
26038
|
}
|
|
26039
26039
|
});
|
|
@@ -26061,8 +26061,8 @@ class SelectionManager {
|
|
|
26061
26061
|
});
|
|
26062
26062
|
|
|
26063
26063
|
// Set the attributes for the headers if they're focused.
|
|
26064
|
-
Array.from(
|
|
26065
|
-
(0, _element.setAttribute)(element, [...
|
|
26064
|
+
Array.from(headerAttributesMap.keys()).forEach(element => {
|
|
26065
|
+
(0, _element.setAttribute)(element, [...headerAttributesMap.get(element)]);
|
|
26066
26066
|
});
|
|
26067
26067
|
}
|
|
26068
26068
|
}
|
|
@@ -32052,7 +32052,6 @@ class Selection {
|
|
|
32052
32052
|
this.tableProps = tableProps;
|
|
32053
32053
|
this.highlight = new _highlight.default({
|
|
32054
32054
|
headerClassName: settings.currentHeaderClassName,
|
|
32055
|
-
headerAttributes: [(0, _a11y.A11Y_SELECTED)()],
|
|
32056
32055
|
activeHeaderClassName: settings.activeHeaderClassName,
|
|
32057
32056
|
rowClassName: settings.currentRowClassName,
|
|
32058
32057
|
columnClassName: settings.currentColClassName,
|
|
@@ -33651,27 +33650,23 @@ exports.__esModule = true;
|
|
|
33651
33650
|
exports.createHighlight = createHighlight;
|
|
33652
33651
|
var _src = __webpack_require__(147);
|
|
33653
33652
|
var _visualSelection = _interopRequireDefault(__webpack_require__(250));
|
|
33653
|
+
var _a11y = __webpack_require__(114);
|
|
33654
33654
|
/**
|
|
33655
33655
|
* Creates the new instance of Selection responsible for highlighting currently selected cell. This type of selection
|
|
33656
33656
|
* can present on the table only one at the time.
|
|
33657
33657
|
*
|
|
33658
33658
|
* @param {object} highlightParams A configuration object to create a highlight.
|
|
33659
33659
|
* @param {Function} highlightParams.cellCornerVisible Function to determine if cell's corner should be visible.
|
|
33660
|
-
* @param {Function} highlightParams.cellAttributes Array of cell attributes.
|
|
33661
|
-
* @param {Function} highlightParams.headerAttributes Array of header attributes.
|
|
33662
33660
|
* @returns {Selection}
|
|
33663
33661
|
*/
|
|
33664
33662
|
function createHighlight(_ref) {
|
|
33665
33663
|
let {
|
|
33666
33664
|
cellCornerVisible,
|
|
33667
|
-
cellAttributes,
|
|
33668
|
-
headerAttributes,
|
|
33669
33665
|
...restOptions
|
|
33670
33666
|
} = _ref;
|
|
33671
33667
|
return new _visualSelection.default({
|
|
33672
33668
|
className: 'current',
|
|
33673
|
-
|
|
33674
|
-
focusedHeaderAttributes: headerAttributes,
|
|
33669
|
+
headerAttributes: [(0, _a11y.A11Y_SELECTED)()],
|
|
33675
33670
|
border: {
|
|
33676
33671
|
width: 2,
|
|
33677
33672
|
color: '#4b89ff',
|
|
@@ -43584,7 +43579,7 @@ function createInputElement(hot) {
|
|
|
43584
43579
|
input.type = 'text';
|
|
43585
43580
|
input.classList.add('htFocusCatcher');
|
|
43586
43581
|
if (hot.getSettings().ariaTags) {
|
|
43587
|
-
(0, _element.setAttribute)(input, [(0, _a11y.A11Y_PRESENTATION)()]);
|
|
43582
|
+
(0, _element.setAttribute)(input, [(0, _a11y.A11Y_PRESENTATION)(), (0, _a11y.A11Y_HIDDEN)()]);
|
|
43588
43583
|
}
|
|
43589
43584
|
return input;
|
|
43590
43585
|
}
|
|
@@ -65057,7 +65052,16 @@ class Filters extends _base.BasePlugin {
|
|
|
65057
65052
|
// A fake menu item that once focused allows escaping from the focus navigation (using Tab keys)
|
|
65058
65053
|
// to the menu navigation using arrow keys.
|
|
65059
65054
|
{
|
|
65060
|
-
focus: () =>
|
|
65055
|
+
focus: () => {
|
|
65056
|
+
const menuNavigator = mainMenu.getNavigator();
|
|
65057
|
+
const lastSelectedMenuItem = (0, _classPrivateFieldGet2.default)(this, _menuFocusNavigator).getLastMenuPage();
|
|
65058
|
+
mainMenu.focus();
|
|
65059
|
+
if (lastSelectedMenuItem > 0) {
|
|
65060
|
+
menuNavigator.setCurrentPage(lastSelectedMenuItem);
|
|
65061
|
+
} else {
|
|
65062
|
+
menuNavigator.toFirstItem();
|
|
65063
|
+
}
|
|
65064
|
+
}
|
|
65061
65065
|
}, ...Array.from(this.components).map(_ref => {
|
|
65062
65066
|
let [, component] = _ref;
|
|
65063
65067
|
return component.getElements();
|
|
@@ -69726,12 +69730,17 @@ const SHORTCUTS_MENU_CONTEXT = 'filters';
|
|
|
69726
69730
|
* @returns {Paginator}
|
|
69727
69731
|
*/
|
|
69728
69732
|
function createMenuFocusController(mainMenu, menuItems) {
|
|
69729
|
-
|
|
69733
|
+
/**
|
|
69734
|
+
* @type {number} The last selected menu item (before clearing the the menu state after going
|
|
69735
|
+
* into the focus mode triggered by the TAB or SHIFT+TAB keys).
|
|
69736
|
+
*/
|
|
69737
|
+
let lastSelectedMenuItem = -1;
|
|
69738
|
+
const focusNavigator = (0, _focusNavigator.createFocusNavigator)(menuItems);
|
|
69730
69739
|
const updateNavigatorPosition = element => () => {
|
|
69731
69740
|
if (mainMenu.isOpened()) {
|
|
69732
69741
|
mainMenu.getKeyboardShortcutsCtrl().listen(SHORTCUTS_MENU_CONTEXT);
|
|
69733
69742
|
}
|
|
69734
|
-
|
|
69743
|
+
focusNavigator.setCurrentPage(menuItems.indexOf(element));
|
|
69735
69744
|
};
|
|
69736
69745
|
|
|
69737
69746
|
// update navigator position (internal state) to element that was recently clicked or focused
|
|
@@ -69744,7 +69753,7 @@ function createMenuFocusController(mainMenu, menuItems) {
|
|
|
69744
69753
|
});
|
|
69745
69754
|
mainMenu.addLocalHook('afterSelectionChange', selectedItem => {
|
|
69746
69755
|
if (!selectedItem.key.startsWith('filter_')) {
|
|
69747
|
-
|
|
69756
|
+
focusNavigator.clear();
|
|
69748
69757
|
}
|
|
69749
69758
|
});
|
|
69750
69759
|
|
|
@@ -69756,7 +69765,7 @@ function createMenuFocusController(mainMenu, menuItems) {
|
|
|
69756
69765
|
function addKeyboardShortcuts(menu) {
|
|
69757
69766
|
const mainMenuShortcutsCtrl = mainMenu.getKeyboardShortcutsCtrl();
|
|
69758
69767
|
const currentMenuShortcutsCtrl = menu.getKeyboardShortcutsCtrl();
|
|
69759
|
-
|
|
69768
|
+
focusNavigator.clear();
|
|
69760
69769
|
currentMenuShortcutsCtrl.addCustomShortcuts([{
|
|
69761
69770
|
keys: [['Tab'], ['Shift', 'Tab']],
|
|
69762
69771
|
forwardToContext: mainMenuShortcutsCtrl.getContext(SHORTCUTS_MENU_CONTEXT),
|
|
@@ -69773,11 +69782,15 @@ function createMenuFocusController(mainMenu, menuItems) {
|
|
|
69773
69782
|
mainMenuShortcutsCtrl.addCustomShortcuts([{
|
|
69774
69783
|
keys: [['Tab'], ['Shift', 'Tab']],
|
|
69775
69784
|
callback: event => {
|
|
69776
|
-
mainMenu.getNavigator()
|
|
69785
|
+
const menuNavigator = mainMenu.getNavigator();
|
|
69786
|
+
if (menuNavigator.getCurrentPage() > -1) {
|
|
69787
|
+
lastSelectedMenuItem = menuNavigator.getCurrentPage();
|
|
69788
|
+
}
|
|
69789
|
+
menuNavigator.clear();
|
|
69777
69790
|
if (event.shiftKey) {
|
|
69778
|
-
|
|
69791
|
+
focusNavigator.toPreviousItem();
|
|
69779
69792
|
} else {
|
|
69780
|
-
|
|
69793
|
+
focusNavigator.toNextItem();
|
|
69781
69794
|
}
|
|
69782
69795
|
}
|
|
69783
69796
|
}, {
|
|
@@ -69789,7 +69802,7 @@ function createMenuFocusController(mainMenu, menuItems) {
|
|
|
69789
69802
|
keys: [['Enter'], ['Space']],
|
|
69790
69803
|
preventDefault: false,
|
|
69791
69804
|
callback: event => {
|
|
69792
|
-
const element = menuItems[
|
|
69805
|
+
const element = menuItems[focusNavigator.getCurrentPage()];
|
|
69793
69806
|
if (element instanceof _select.SelectUI) {
|
|
69794
69807
|
element.openOptions();
|
|
69795
69808
|
event.preventDefault();
|
|
@@ -69815,9 +69828,19 @@ function createMenuFocusController(mainMenu, menuItems) {
|
|
|
69815
69828
|
mainMenu.focus();
|
|
69816
69829
|
mainMenu.getKeyboardShortcutsCtrl().listen(SHORTCUTS_MENU_CONTEXT);
|
|
69817
69830
|
}
|
|
69831
|
+
|
|
69832
|
+
/**
|
|
69833
|
+
* Retrieves the last selected menu item (before clearing the state after going into the focus mode).
|
|
69834
|
+
*
|
|
69835
|
+
* @returns {number} The last selected menu item.
|
|
69836
|
+
*/
|
|
69837
|
+
function getLastMenuPage() {
|
|
69838
|
+
return lastSelectedMenuItem;
|
|
69839
|
+
}
|
|
69818
69840
|
return {
|
|
69819
|
-
...
|
|
69820
|
-
listen
|
|
69841
|
+
...focusNavigator,
|
|
69842
|
+
listen,
|
|
69843
|
+
getLastMenuPage
|
|
69821
69844
|
};
|
|
69822
69845
|
}
|
|
69823
69846
|
|
|
@@ -84252,6 +84275,7 @@ class NestedRows extends _base.BasePlugin {
|
|
|
84252
84275
|
/**
|
|
84253
84276
|
* The modifyRowData hook callback.
|
|
84254
84277
|
*
|
|
84278
|
+
* @private
|
|
84255
84279
|
* @param {number} row Visual row index.
|
|
84256
84280
|
* @returns {boolean}
|
|
84257
84281
|
*/
|
|
@@ -84265,6 +84289,7 @@ class NestedRows extends _base.BasePlugin {
|
|
|
84265
84289
|
/**
|
|
84266
84290
|
* Modify the source data length to match the length of the nested structure.
|
|
84267
84291
|
*
|
|
84292
|
+
* @private
|
|
84268
84293
|
* @returns {number}
|
|
84269
84294
|
*/
|
|
84270
84295
|
onModifySourceLength() {
|
|
@@ -84275,6 +84300,7 @@ class NestedRows extends _base.BasePlugin {
|
|
|
84275
84300
|
}
|
|
84276
84301
|
|
|
84277
84302
|
/**
|
|
84303
|
+
* @private
|
|
84278
84304
|
* @param {number} index The index where the data was spliced.
|
|
84279
84305
|
* @param {number} amount An amount of items to remove.
|
|
84280
84306
|
* @param {object} element An element to add.
|
|
@@ -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: 31/08/2023 (built at
|
|
28
|
+
* Version: 0.0.0-next-a417c2b-20231124
|
|
29
|
+
* Release date: 31/08/2023 (built at 24/11/2023 11:00:38)
|
|
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,.handsontable th:nth-child(2){border-left:1px solid #ccc}[dir=rtl].handsontable td:first-of-type,[dir=rtl].handsontable th:first-child,[dir=rtl].handsontable th:nth-child(2){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 thead,.handsontable .ht_master thead,.handsontable .ht_master tr th{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-tap-highlight-color:rgba(0,0,0,0);-webkit-overflow-scrolling:touch;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.handsontable.mobile .handsontableInput:focus{-webkit-appearance:none;-webkit-box-shadow:inset 0 0 0 2px #5292f7;-moz-box-shadow:inset 0 0 0 2px #5292f7;box-shadow:inset 0 0 0 2px #5292f7}.handsontable .bottomSelectionHandle,.handsontable .bottomSelectionHandle-HitArea,.handsontable .topSelectionHandle,.handsontable .topSelectionHandle-HitArea{left:-10000px;right:unset;top:-10000px;z-index:9999}[dir=rtl].handsontable .bottomSelectionHandle,[dir=rtl].handsontable .bottomSelectionHandle-HitArea,[dir=rtl].handsontable .topSelectionHandle,[dir=rtl].handsontable .topSelectionHandle-HitArea{left:unset;right:-10000px}.handsontable.hide-tween{-webkit-animation:opacity-hide .3s;animation:opacity-hide .3s;animation-fill-mode:forwards;-webkit-animation-fill-mode:forwards}.handsontable.show-tween{-webkit-animation:opacity-show .3s;animation:opacity-show .3s;animation-fill-mode:forwards;-webkit-animation-fill-mode:forwards}.handsontable .htAutocompleteArrow{color:#bbb;cursor:default;float:right;font-size:10px;text-align:center;width:16px}[dir=rtl].handsontable .htAutocompleteArrow{float:left}.handsontable td.htInvalid .htAutocompleteArrow{color:#555}.handsontable td.htInvalid .htAutocompleteArrow:hover{color:#1a1a1a}.handsontable td .htAutocompleteArrow:hover{color:#777}.handsontable td.area .htAutocompleteArrow{color:#d3d3d3}.handsontable .htCheckboxRendererInput{display:inline-block}.handsontable .htCheckboxRendererInput.noValue{opacity:.5}.handsontable .htCheckboxRendererLabel{cursor:pointer;display:inline-block;font-size:inherit;vertical-align:middle}.handsontable .htCheckboxRendererLabel.fullWidth{width:100%}.handsontable .htCommentCell{position:relative}.handsontable .htCommentCell:after{border-left:6px solid transparent;border-right:none;border-top:6px solid #000;content:"";left:unset;position:absolute;right:0;top:0}[dir=rtl].handsontable .htCommentCell:after{border-left:none;border-right:6px solid transparent;left:0;right:unset}.htCommentsContainer .htComments{display:none;position:absolute;z-index:1059}.htCommentsContainer .htCommentTextArea{-webkit-appearance:none;background-color:#fff;border:none;border-left:3px solid #ccc;box-shadow:0 1px 3px rgba(0,0,0,.118),0 1px 2px rgba(0,0,0,.239);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-size:12px;height:90px;outline:0!important;padding:5px;width:215px}[dir=rtl].htCommentsContainer .htCommentTextArea{border-left:none;border-right:3px solid #ccc}.htCommentsContainer .htCommentTextArea:focus{border-left:3px solid #5292f7;border-right:none;box-shadow:0 1px 3px rgba(0,0,0,.118),0 1px 2px rgba(0,0,0,.239),inset 0 0 0 1px #5292f7}[dir=rtl].htCommentsContainer .htCommentTextArea:focus{border-left:none;border-right:3px solid #5292f7}
|
|
31
31
|
/*!
|
|
32
32
|
* Handsontable ContextMenu
|