handsontable 0.0.0-next-a77544c-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 +69 -35
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +8 -8
- package/dist/handsontable.js +69 -35
- 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/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/filters/ui/select.js +6 -0
- package/plugins/filters/ui/select.mjs +6 -0
- 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/tableView.js +4 -2
- package/tableView.mjs +4 -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: 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';
|
|
@@ -16595,8 +16595,10 @@ class TableView {
|
|
|
16595
16595
|
const span = rootDocument.createElement('span');
|
|
16596
16596
|
div.className = 'relative';
|
|
16597
16597
|
span.className = 'colHeader';
|
|
16598
|
-
(
|
|
16599
|
-
|
|
16598
|
+
if (this.settings.ariaTags) {
|
|
16599
|
+
(0, _element.setAttribute)(div, ...(0, _a11y.A11Y_PRESENTATION)());
|
|
16600
|
+
(0, _element.setAttribute)(span, ...(0, _a11y.A11Y_PRESENTATION)());
|
|
16601
|
+
}
|
|
16600
16602
|
this.updateCellHeader(span, visualColumnIndex, label, headerLevel);
|
|
16601
16603
|
div.appendChild(span);
|
|
16602
16604
|
TH.appendChild(div);
|
|
@@ -22426,7 +22428,7 @@ class ColumnHeadersRenderer extends _base.default {
|
|
|
22426
22428
|
// Remove all accessibility-related attributes for the header to start fresh.
|
|
22427
22429
|
(0, _element.removeAttribute)(TH, [new RegExp('aria-(.*)'), new RegExp('role')]);
|
|
22428
22430
|
if (this.table.isAriaEnabled()) {
|
|
22429
|
-
(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)()] : [])]);
|
|
22430
22432
|
}
|
|
22431
22433
|
columnHeaderFunctions[rowHeaderIndex](sourceColumnIndex, TH, rowHeaderIndex);
|
|
22432
22434
|
}
|
|
@@ -25994,12 +25996,12 @@ class SelectionManager {
|
|
|
25994
25996
|
}
|
|
25995
25997
|
const selections = Array.from((0, _classPrivateFieldGet7.default)(this, _selections));
|
|
25996
25998
|
const classNamesMap = new Map();
|
|
25997
|
-
const
|
|
25999
|
+
const headerAttributesMap = new Map();
|
|
25998
26000
|
for (let i = 0; i < selections.length; i++) {
|
|
25999
26001
|
const selection = selections[i];
|
|
26000
26002
|
const {
|
|
26001
26003
|
className,
|
|
26002
|
-
|
|
26004
|
+
headerAttributes,
|
|
26003
26005
|
createLayers,
|
|
26004
26006
|
selectionType
|
|
26005
26007
|
} = selection.settings;
|
|
@@ -26026,12 +26028,12 @@ class SelectionManager {
|
|
|
26026
26028
|
} else {
|
|
26027
26029
|
classNamesMap.set(element, new Map([[className, 1]]));
|
|
26028
26030
|
}
|
|
26029
|
-
if (
|
|
26030
|
-
if (!
|
|
26031
|
-
|
|
26031
|
+
if (headerAttributes) {
|
|
26032
|
+
if (!headerAttributesMap.has(element)) {
|
|
26033
|
+
headerAttributesMap.set(element, []);
|
|
26032
26034
|
}
|
|
26033
26035
|
if (element.nodeName === 'TH') {
|
|
26034
|
-
|
|
26036
|
+
headerAttributesMap.get(element).push(...headerAttributes);
|
|
26035
26037
|
}
|
|
26036
26038
|
}
|
|
26037
26039
|
});
|
|
@@ -26059,8 +26061,8 @@ class SelectionManager {
|
|
|
26059
26061
|
});
|
|
26060
26062
|
|
|
26061
26063
|
// Set the attributes for the headers if they're focused.
|
|
26062
|
-
Array.from(
|
|
26063
|
-
(0, _element.setAttribute)(element, [...
|
|
26064
|
+
Array.from(headerAttributesMap.keys()).forEach(element => {
|
|
26065
|
+
(0, _element.setAttribute)(element, [...headerAttributesMap.get(element)]);
|
|
26064
26066
|
});
|
|
26065
26067
|
}
|
|
26066
26068
|
}
|
|
@@ -32050,7 +32052,6 @@ class Selection {
|
|
|
32050
32052
|
this.tableProps = tableProps;
|
|
32051
32053
|
this.highlight = new _highlight.default({
|
|
32052
32054
|
headerClassName: settings.currentHeaderClassName,
|
|
32053
|
-
headerAttributes: [(0, _a11y.A11Y_SELECTED)()],
|
|
32054
32055
|
activeHeaderClassName: settings.activeHeaderClassName,
|
|
32055
32056
|
rowClassName: settings.currentRowClassName,
|
|
32056
32057
|
columnClassName: settings.currentColClassName,
|
|
@@ -33649,27 +33650,23 @@ exports.__esModule = true;
|
|
|
33649
33650
|
exports.createHighlight = createHighlight;
|
|
33650
33651
|
var _src = __webpack_require__(147);
|
|
33651
33652
|
var _visualSelection = _interopRequireDefault(__webpack_require__(250));
|
|
33653
|
+
var _a11y = __webpack_require__(114);
|
|
33652
33654
|
/**
|
|
33653
33655
|
* Creates the new instance of Selection responsible for highlighting currently selected cell. This type of selection
|
|
33654
33656
|
* can present on the table only one at the time.
|
|
33655
33657
|
*
|
|
33656
33658
|
* @param {object} highlightParams A configuration object to create a highlight.
|
|
33657
33659
|
* @param {Function} highlightParams.cellCornerVisible Function to determine if cell's corner should be visible.
|
|
33658
|
-
* @param {Function} highlightParams.cellAttributes Array of cell attributes.
|
|
33659
|
-
* @param {Function} highlightParams.headerAttributes Array of header attributes.
|
|
33660
33660
|
* @returns {Selection}
|
|
33661
33661
|
*/
|
|
33662
33662
|
function createHighlight(_ref) {
|
|
33663
33663
|
let {
|
|
33664
33664
|
cellCornerVisible,
|
|
33665
|
-
cellAttributes,
|
|
33666
|
-
headerAttributes,
|
|
33667
33665
|
...restOptions
|
|
33668
33666
|
} = _ref;
|
|
33669
33667
|
return new _visualSelection.default({
|
|
33670
33668
|
className: 'current',
|
|
33671
|
-
|
|
33672
|
-
focusedHeaderAttributes: headerAttributes,
|
|
33669
|
+
headerAttributes: [(0, _a11y.A11Y_SELECTED)()],
|
|
33673
33670
|
border: {
|
|
33674
33671
|
width: 2,
|
|
33675
33672
|
color: '#4b89ff',
|
|
@@ -43582,7 +43579,7 @@ function createInputElement(hot) {
|
|
|
43582
43579
|
input.type = 'text';
|
|
43583
43580
|
input.classList.add('htFocusCatcher');
|
|
43584
43581
|
if (hot.getSettings().ariaTags) {
|
|
43585
|
-
(0, _element.setAttribute)(input, [(0, _a11y.A11Y_PRESENTATION)()]);
|
|
43582
|
+
(0, _element.setAttribute)(input, [(0, _a11y.A11Y_PRESENTATION)(), (0, _a11y.A11Y_HIDDEN)()]);
|
|
43586
43583
|
}
|
|
43587
43584
|
return input;
|
|
43588
43585
|
}
|
|
@@ -65055,7 +65052,16 @@ class Filters extends _base.BasePlugin {
|
|
|
65055
65052
|
// A fake menu item that once focused allows escaping from the focus navigation (using Tab keys)
|
|
65056
65053
|
// to the menu navigation using arrow keys.
|
|
65057
65054
|
{
|
|
65058
|
-
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
|
+
}
|
|
65059
65065
|
}, ...Array.from(this.components).map(_ref => {
|
|
65060
65066
|
let [, component] = _ref;
|
|
65061
65067
|
return component.getElements();
|
|
@@ -67655,9 +67661,11 @@ var _classPrivateFieldGet2 = _interopRequireDefault(__webpack_require__(133));
|
|
|
67655
67661
|
var _menu2 = __webpack_require__(483);
|
|
67656
67662
|
var _object = __webpack_require__(117);
|
|
67657
67663
|
var _array = __webpack_require__(113);
|
|
67664
|
+
var _element = __webpack_require__(107);
|
|
67658
67665
|
var C = _interopRequireWildcard(__webpack_require__(245));
|
|
67659
67666
|
var _predefinedItems = __webpack_require__(458);
|
|
67660
67667
|
var _base = __webpack_require__(560);
|
|
67668
|
+
var _a11y = __webpack_require__(114);
|
|
67661
67669
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
67662
67670
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
67663
67671
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
|
@@ -67814,6 +67822,10 @@ class SelectUI extends _base.BaseUI {
|
|
|
67814
67822
|
(0, _classPrivateFieldSet2.default)(this, _caption, caption);
|
|
67815
67823
|
(0, _classPrivateFieldSet2.default)(this, _captionElement, caption.element);
|
|
67816
67824
|
(0, _classPrivateFieldSet2.default)(this, _dropdown, dropdown);
|
|
67825
|
+
if (this.hot.getSettings().ariaTags) {
|
|
67826
|
+
(0, _element.setAttribute)(dropdown.element, [(0, _a11y.A11Y_HIDDEN)()]);
|
|
67827
|
+
(0, _element.setAttribute)(this._element, [(0, _a11y.A11Y_LISTBOX)()]);
|
|
67828
|
+
}
|
|
67817
67829
|
(0, _array.arrayEach)([caption, dropdown], element => this._element.appendChild(element.element));
|
|
67818
67830
|
(0, _classPrivateFieldGet2.default)(this, _menu).addLocalHook('select', command => _classPrivateMethodGet(this, _onMenuSelect, _onMenuSelect2).call(this, command));
|
|
67819
67831
|
(0, _classPrivateFieldGet2.default)(this, _menu).addLocalHook('afterClose', () => _classPrivateMethodGet(this, _onMenuClosed, _onMenuClosed2).call(this));
|
|
@@ -69718,12 +69730,17 @@ const SHORTCUTS_MENU_CONTEXT = 'filters';
|
|
|
69718
69730
|
* @returns {Paginator}
|
|
69719
69731
|
*/
|
|
69720
69732
|
function createMenuFocusController(mainMenu, menuItems) {
|
|
69721
|
-
|
|
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);
|
|
69722
69739
|
const updateNavigatorPosition = element => () => {
|
|
69723
69740
|
if (mainMenu.isOpened()) {
|
|
69724
69741
|
mainMenu.getKeyboardShortcutsCtrl().listen(SHORTCUTS_MENU_CONTEXT);
|
|
69725
69742
|
}
|
|
69726
|
-
|
|
69743
|
+
focusNavigator.setCurrentPage(menuItems.indexOf(element));
|
|
69727
69744
|
};
|
|
69728
69745
|
|
|
69729
69746
|
// update navigator position (internal state) to element that was recently clicked or focused
|
|
@@ -69736,7 +69753,7 @@ function createMenuFocusController(mainMenu, menuItems) {
|
|
|
69736
69753
|
});
|
|
69737
69754
|
mainMenu.addLocalHook('afterSelectionChange', selectedItem => {
|
|
69738
69755
|
if (!selectedItem.key.startsWith('filter_')) {
|
|
69739
|
-
|
|
69756
|
+
focusNavigator.clear();
|
|
69740
69757
|
}
|
|
69741
69758
|
});
|
|
69742
69759
|
|
|
@@ -69748,7 +69765,7 @@ function createMenuFocusController(mainMenu, menuItems) {
|
|
|
69748
69765
|
function addKeyboardShortcuts(menu) {
|
|
69749
69766
|
const mainMenuShortcutsCtrl = mainMenu.getKeyboardShortcutsCtrl();
|
|
69750
69767
|
const currentMenuShortcutsCtrl = menu.getKeyboardShortcutsCtrl();
|
|
69751
|
-
|
|
69768
|
+
focusNavigator.clear();
|
|
69752
69769
|
currentMenuShortcutsCtrl.addCustomShortcuts([{
|
|
69753
69770
|
keys: [['Tab'], ['Shift', 'Tab']],
|
|
69754
69771
|
forwardToContext: mainMenuShortcutsCtrl.getContext(SHORTCUTS_MENU_CONTEXT),
|
|
@@ -69765,11 +69782,15 @@ function createMenuFocusController(mainMenu, menuItems) {
|
|
|
69765
69782
|
mainMenuShortcutsCtrl.addCustomShortcuts([{
|
|
69766
69783
|
keys: [['Tab'], ['Shift', 'Tab']],
|
|
69767
69784
|
callback: event => {
|
|
69768
|
-
mainMenu.getNavigator()
|
|
69785
|
+
const menuNavigator = mainMenu.getNavigator();
|
|
69786
|
+
if (menuNavigator.getCurrentPage() > -1) {
|
|
69787
|
+
lastSelectedMenuItem = menuNavigator.getCurrentPage();
|
|
69788
|
+
}
|
|
69789
|
+
menuNavigator.clear();
|
|
69769
69790
|
if (event.shiftKey) {
|
|
69770
|
-
|
|
69791
|
+
focusNavigator.toPreviousItem();
|
|
69771
69792
|
} else {
|
|
69772
|
-
|
|
69793
|
+
focusNavigator.toNextItem();
|
|
69773
69794
|
}
|
|
69774
69795
|
}
|
|
69775
69796
|
}, {
|
|
@@ -69781,7 +69802,7 @@ function createMenuFocusController(mainMenu, menuItems) {
|
|
|
69781
69802
|
keys: [['Enter'], ['Space']],
|
|
69782
69803
|
preventDefault: false,
|
|
69783
69804
|
callback: event => {
|
|
69784
|
-
const element = menuItems[
|
|
69805
|
+
const element = menuItems[focusNavigator.getCurrentPage()];
|
|
69785
69806
|
if (element instanceof _select.SelectUI) {
|
|
69786
69807
|
element.openOptions();
|
|
69787
69808
|
event.preventDefault();
|
|
@@ -69807,9 +69828,19 @@ function createMenuFocusController(mainMenu, menuItems) {
|
|
|
69807
69828
|
mainMenu.focus();
|
|
69808
69829
|
mainMenu.getKeyboardShortcutsCtrl().listen(SHORTCUTS_MENU_CONTEXT);
|
|
69809
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
|
+
}
|
|
69810
69840
|
return {
|
|
69811
|
-
...
|
|
69812
|
-
listen
|
|
69841
|
+
...focusNavigator,
|
|
69842
|
+
listen,
|
|
69843
|
+
getLastMenuPage
|
|
69813
69844
|
};
|
|
69814
69845
|
}
|
|
69815
69846
|
|
|
@@ -84244,6 +84275,7 @@ class NestedRows extends _base.BasePlugin {
|
|
|
84244
84275
|
/**
|
|
84245
84276
|
* The modifyRowData hook callback.
|
|
84246
84277
|
*
|
|
84278
|
+
* @private
|
|
84247
84279
|
* @param {number} row Visual row index.
|
|
84248
84280
|
* @returns {boolean}
|
|
84249
84281
|
*/
|
|
@@ -84257,6 +84289,7 @@ class NestedRows extends _base.BasePlugin {
|
|
|
84257
84289
|
/**
|
|
84258
84290
|
* Modify the source data length to match the length of the nested structure.
|
|
84259
84291
|
*
|
|
84292
|
+
* @private
|
|
84260
84293
|
* @returns {number}
|
|
84261
84294
|
*/
|
|
84262
84295
|
onModifySourceLength() {
|
|
@@ -84267,6 +84300,7 @@ class NestedRows extends _base.BasePlugin {
|
|
|
84267
84300
|
}
|
|
84268
84301
|
|
|
84269
84302
|
/**
|
|
84303
|
+
* @private
|
|
84270
84304
|
* @param {number} index The index where the data was spliced.
|
|
84271
84305
|
* @param {number} amount An amount of items to remove.
|
|
84272
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
|