handsontable 14.0.0-next-23212d5-20231127 → 14.0.0-next-477622d-20231128
Sign up to get free protection for your applications and to get access to all the features.
- package/3rdparty/walkontable/src/overlay/_base.js +2 -2
- package/3rdparty/walkontable/src/overlay/_base.mjs +2 -2
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +5 -2
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +6 -3
- package/3rdparty/walkontable/src/renderer/rows.js +1 -1
- package/3rdparty/walkontable/src/renderer/rows.mjs +2 -2
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/dataMap/replaceData.js +3 -1
- package/dataMap/replaceData.mjs +3 -1
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +155 -82
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +6 -6
- package/dist/handsontable.js +155 -82
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +6 -6
- package/editors/passwordEditor/passwordEditor.js +4 -0
- package/editors/passwordEditor/passwordEditor.mjs +5 -1
- package/focusManager.js +92 -58
- package/focusManager.mjs +92 -58
- package/helpers/a11y.js +2 -0
- package/helpers/a11y.mjs +1 -0
- package/helpers/mixed.js +2 -2
- package/helpers/mixed.mjs +2 -2
- package/package.json +1 -1
- package/renderers/checkboxRenderer/checkboxRenderer.js +0 -1
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +0 -1
- package/tableView.js +31 -2
- package/tableView.mjs +31 -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: 14.0.0-next-
|
29
|
-
* Release date:
|
28
|
+
* Version: 14.0.0-next-477622d-20231128
|
29
|
+
* Release date: 29/11/2023 (built at 28/11/2023 12:48:17)
|
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 = "14.0.0-next-
|
108
|
+
Handsontable.buildDate = "28/11/2023 12:48:17";
|
109
|
+
Handsontable.version = "14.0.0-next-477622d-20231128";
|
110
110
|
Handsontable.languages = {
|
111
111
|
dictionaryKeys: _registry.dictionaryKeys,
|
112
112
|
getLanguageDictionary: _registry.getLanguageDictionary,
|
@@ -8513,7 +8513,7 @@ const domMessages = {
|
|
8513
8513
|
function _injectProductInfo(key, element) {
|
8514
8514
|
const hasValidType = !isEmpty(key);
|
8515
8515
|
const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
|
8516
|
-
const hotVersion = "14.0.0-next-
|
8516
|
+
const hotVersion = "14.0.0-next-477622d-20231128";
|
8517
8517
|
let keyValidityDate;
|
8518
8518
|
let consoleMessageState = 'invalid';
|
8519
8519
|
let domMessageState = 'invalid';
|
@@ -8521,7 +8521,7 @@ function _injectProductInfo(key, element) {
|
|
8521
8521
|
const schemaValidity = _checkKeySchema(key);
|
8522
8522
|
if (hasValidType || isNonCommercial || schemaValidity) {
|
8523
8523
|
if (schemaValidity) {
|
8524
|
-
const releaseDate = (0, _moment.default)("
|
8524
|
+
const releaseDate = (0, _moment.default)("29/11/2023", 'DD/MM/YYYY');
|
8525
8525
|
const releaseDays = Math.floor(releaseDate.toDate().getTime() / 8.64e7);
|
8526
8526
|
const keyValidityDays = _extractTime(key);
|
8527
8527
|
keyValidityDate = (0, _moment.default)((keyValidityDays + 1) * 8.64e7, 'x').format('MMMM DD, YYYY');
|
@@ -8971,6 +8971,8 @@ const A11Y_GRIDCELL = () => ['role', 'gridcell'];
|
|
8971
8971
|
exports.A11Y_GRIDCELL = A11Y_GRIDCELL;
|
8972
8972
|
const A11Y_ROWHEADER = () => ['role', 'rowheader'];
|
8973
8973
|
exports.A11Y_ROWHEADER = A11Y_ROWHEADER;
|
8974
|
+
const A11Y_ROWGROUP = () => ['role', 'rowgroup'];
|
8975
|
+
exports.A11Y_ROWGROUP = A11Y_ROWGROUP;
|
8974
8976
|
const A11Y_COLUMNHEADER = () => ['role', 'columnheader'];
|
8975
8977
|
exports.A11Y_COLUMNHEADER = A11Y_COLUMNHEADER;
|
8976
8978
|
const A11Y_ROW = () => ['role', 'row'];
|
@@ -14180,10 +14182,11 @@ function getListenersCounter() {
|
|
14180
14182
|
__webpack_require__(78);
|
14181
14183
|
var _interopRequireDefault = __webpack_require__(1);
|
14182
14184
|
exports.__esModule = true;
|
14183
|
-
var
|
14185
|
+
var _classPrivateFieldGet7 = _interopRequireDefault(__webpack_require__(133));
|
14184
14186
|
var _classPrivateFieldSet2 = _interopRequireDefault(__webpack_require__(136));
|
14185
14187
|
var _console = __webpack_require__(129);
|
14186
14188
|
var _element = __webpack_require__(107);
|
14189
|
+
var _function = __webpack_require__(115);
|
14187
14190
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
14188
14191
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
14189
14192
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
@@ -14208,9 +14211,10 @@ var _hot = /*#__PURE__*/new WeakMap();
|
|
14208
14211
|
var _focusMode = /*#__PURE__*/new WeakMap();
|
14209
14212
|
var _refocusDelay = /*#__PURE__*/new WeakMap();
|
14210
14213
|
var _refocusElementGetter = /*#__PURE__*/new WeakMap();
|
14211
|
-
var
|
14214
|
+
var _debouncedSelect = /*#__PURE__*/new WeakMap();
|
14212
14215
|
var _getSelectedCell = /*#__PURE__*/new WeakSet();
|
14213
|
-
var
|
14216
|
+
var _focusCell = /*#__PURE__*/new WeakSet();
|
14217
|
+
var _focusEditorElement = /*#__PURE__*/new WeakSet();
|
14214
14218
|
var _onUpdateSettings = /*#__PURE__*/new WeakSet();
|
14215
14219
|
class FocusManager {
|
14216
14220
|
constructor(hotInstance) {
|
@@ -14218,29 +14222,23 @@ class FocusManager {
|
|
14218
14222
|
/**
|
14219
14223
|
* Update the manager configuration after calling `updateSettings`.
|
14220
14224
|
*
|
14221
|
-
* @private
|
14222
14225
|
* @param {object} newSettings The new settings passed to the `updateSettings` method.
|
14223
14226
|
*/
|
14224
14227
|
_classPrivateMethodInitSpec(this, _onUpdateSettings);
|
14225
14228
|
/**
|
14226
|
-
* Manage the browser's focus after cell selection.
|
14227
|
-
*
|
14228
|
-
* @private
|
14229
|
+
* Manage the browser's focus after cell selection end.
|
14229
14230
|
*/
|
14230
|
-
_classPrivateMethodInitSpec(this,
|
14231
|
+
_classPrivateMethodInitSpec(this, _focusEditorElement);
|
14231
14232
|
/**
|
14232
|
-
*
|
14233
|
-
*
|
14234
|
-
* @private
|
14235
|
-
* @returns {HTMLTableCellElement}
|
14233
|
+
* Manage the browser's focus after each cell selection change.
|
14236
14234
|
*/
|
14237
|
-
_classPrivateMethodInitSpec(this,
|
14235
|
+
_classPrivateMethodInitSpec(this, _focusCell);
|
14238
14236
|
/**
|
14239
|
-
* Get
|
14237
|
+
* Get and return the currently selected and highlighted cell/header element.
|
14240
14238
|
*
|
14241
|
-
* @
|
14239
|
+
* @param {Function} callback Callback function to be called after the cell element is retrieved.
|
14242
14240
|
*/
|
14243
|
-
_classPrivateMethodInitSpec(this,
|
14241
|
+
_classPrivateMethodInitSpec(this, _getSelectedCell);
|
14244
14242
|
/**
|
14245
14243
|
* The Handsontable instance.
|
14246
14244
|
*/
|
@@ -14256,7 +14254,7 @@ class FocusManager {
|
|
14256
14254
|
* - 'mixed' - The browser's focus switches from the lastly selected cell element to the currently active editor's
|
14257
14255
|
* `TEXTAREA` element after a delay defined in the manager.
|
14258
14256
|
*
|
14259
|
-
* @type {
|
14257
|
+
* @type {'cell' | 'mixed'}
|
14260
14258
|
*/
|
14261
14259
|
_classPrivateFieldInitSpec(this, _focusMode, {
|
14262
14260
|
writable: true,
|
@@ -14282,20 +14280,35 @@ class FocusManager {
|
|
14282
14280
|
writable: true,
|
14283
14281
|
value: null
|
14284
14282
|
});
|
14283
|
+
/**
|
14284
|
+
* Map of the debounced `select` functions.
|
14285
|
+
*
|
14286
|
+
* @type {Map<number, Function>}
|
14287
|
+
*/
|
14288
|
+
_classPrivateFieldInitSpec(this, _debouncedSelect, {
|
14289
|
+
writable: true,
|
14290
|
+
value: new Map()
|
14291
|
+
});
|
14285
14292
|
const hotSettings = hotInstance.getSettings();
|
14286
14293
|
(0, _classPrivateFieldSet2.default)(this, _hot, hotInstance);
|
14287
14294
|
(0, _classPrivateFieldSet2.default)(this, _focusMode, hotSettings.imeFastEdit ? FOCUS_MODES.MIXED : FOCUS_MODES.CELL);
|
14288
|
-
(0,
|
14295
|
+
(0, _classPrivateFieldGet7.default)(this, _hot).addHook('afterUpdateSettings', function () {
|
14289
14296
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
14290
14297
|
args[_key] = arguments[_key];
|
14291
14298
|
}
|
14292
14299
|
return _classPrivateMethodGet(_this, _onUpdateSettings, _onUpdateSettings2).call(_this, ...args);
|
14293
14300
|
});
|
14294
|
-
(0,
|
14301
|
+
(0, _classPrivateFieldGet7.default)(this, _hot).addHook('afterSelection', function () {
|
14295
14302
|
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
14296
14303
|
args[_key2] = arguments[_key2];
|
14297
14304
|
}
|
14298
|
-
return _classPrivateMethodGet(_this,
|
14305
|
+
return _classPrivateMethodGet(_this, _focusCell, _focusCell2).call(_this, ...args);
|
14306
|
+
});
|
14307
|
+
(0, _classPrivateFieldGet7.default)(this, _hot).addHook('afterSelectionEnd', function () {
|
14308
|
+
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
14309
|
+
args[_key3] = arguments[_key3];
|
14310
|
+
}
|
14311
|
+
return _classPrivateMethodGet(_this, _focusEditorElement, _focusEditorElement2).call(_this, ...args);
|
14299
14312
|
});
|
14300
14313
|
}
|
14301
14314
|
|
@@ -14305,7 +14318,7 @@ class FocusManager {
|
|
14305
14318
|
* @returns {'cell' | 'mixed'}
|
14306
14319
|
*/
|
14307
14320
|
getFocusMode() {
|
14308
|
-
return (0,
|
14321
|
+
return (0, _classPrivateFieldGet7.default)(this, _focusMode);
|
14309
14322
|
}
|
14310
14323
|
|
14311
14324
|
/**
|
@@ -14328,7 +14341,7 @@ class FocusManager {
|
|
14328
14341
|
* @returns {number} Delay in milliseconds.
|
14329
14342
|
*/
|
14330
14343
|
getRefocusDelay() {
|
14331
|
-
return (0,
|
14344
|
+
return (0, _classPrivateFieldGet7.default)(this, _refocusDelay);
|
14332
14345
|
}
|
14333
14346
|
|
14334
14347
|
/**
|
@@ -14356,11 +14369,11 @@ class FocusManager {
|
|
14356
14369
|
* @returns {HTMLTextAreaElement|HTMLElement|undefined}
|
14357
14370
|
*/
|
14358
14371
|
getRefocusElement() {
|
14359
|
-
if (typeof (0,
|
14360
|
-
return (0,
|
14372
|
+
if (typeof (0, _classPrivateFieldGet7.default)(this, _refocusElementGetter) === 'function') {
|
14373
|
+
return (0, _classPrivateFieldGet7.default)(this, _refocusElementGetter).call(this);
|
14361
14374
|
} else {
|
14362
14375
|
var _classPrivateFieldGet2;
|
14363
|
-
return (_classPrivateFieldGet2 = (0,
|
14376
|
+
return (_classPrivateFieldGet2 = (0, _classPrivateFieldGet7.default)(this, _hot).getActiveEditor()) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2.TEXTAREA;
|
14364
14377
|
}
|
14365
14378
|
}
|
14366
14379
|
|
@@ -14370,17 +14383,26 @@ class FocusManager {
|
|
14370
14383
|
* @param {HTMLTableCellElement} [selectedCell] The highlighted cell/header element.
|
14371
14384
|
*/
|
14372
14385
|
focusOnHighlightedCell(selectedCell) {
|
14373
|
-
|
14374
|
-
|
14375
|
-
|
14376
|
-
|
14377
|
-
|
14378
|
-
|
14379
|
-
|
14380
|
-
|
14381
|
-
|
14382
|
-
|
14383
|
-
|
14386
|
+
const focusElement = element => {
|
14387
|
+
var _classPrivateFieldGet3, _classPrivateFieldGet4;
|
14388
|
+
const currentHighlightCoords = (_classPrivateFieldGet3 = (0, _classPrivateFieldGet7.default)(this, _hot).getSelectedRangeLast()) === null || _classPrivateFieldGet3 === void 0 ? void 0 : _classPrivateFieldGet3.highlight;
|
14389
|
+
if (!currentHighlightCoords || !element) {
|
14390
|
+
return;
|
14391
|
+
}
|
14392
|
+
let elementToBeFocused = (0, _classPrivateFieldGet7.default)(this, _hot).runHooks('modifyFocusedElement', currentHighlightCoords.row, currentHighlightCoords.col, element);
|
14393
|
+
if (!(elementToBeFocused instanceof HTMLElement)) {
|
14394
|
+
elementToBeFocused = element;
|
14395
|
+
}
|
14396
|
+
if (elementToBeFocused && !((_classPrivateFieldGet4 = (0, _classPrivateFieldGet7.default)(this, _hot).getActiveEditor()) !== null && _classPrivateFieldGet4 !== void 0 && _classPrivateFieldGet4.isOpened())) {
|
14397
|
+
elementToBeFocused.focus({
|
14398
|
+
preventScroll: true
|
14399
|
+
});
|
14400
|
+
}
|
14401
|
+
};
|
14402
|
+
if (selectedCell) {
|
14403
|
+
focusElement(selectedCell);
|
14404
|
+
} else {
|
14405
|
+
_classPrivateMethodGet(this, _getSelectedCell, _getSelectedCell2).call(this, element => focusElement(element));
|
14384
14406
|
}
|
14385
14407
|
}
|
14386
14408
|
|
@@ -14388,49 +14410,63 @@ class FocusManager {
|
|
14388
14410
|
* Set the focus to the active editor's `TEXTAREA` element after the provided delay. If no delay is provided, it
|
14389
14411
|
* will be taken from the manager's configuration.
|
14390
14412
|
*
|
14391
|
-
* @param {number} delay Delay in milliseconds.
|
14413
|
+
* @param {number} [delay] Delay in milliseconds.
|
14392
14414
|
*/
|
14393
14415
|
refocusToEditorTextarea() {
|
14394
|
-
var
|
14395
|
-
let delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0,
|
14416
|
+
var _classPrivateFieldGet5;
|
14417
|
+
let delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0, _classPrivateFieldGet7.default)(this, _refocusDelay);
|
14396
14418
|
const refocusElement = this.getRefocusElement();
|
14397
14419
|
|
14398
14420
|
// Re-focus on the editor's `TEXTAREA` element (or a predefined element) if the `imeFastEdit` option is enabled.
|
14399
|
-
if ((0,
|
14400
|
-
(0,
|
14401
|
-
|
14402
|
-
|
14421
|
+
if ((0, _classPrivateFieldGet7.default)(this, _hot).getSettings().imeFastEdit && !((_classPrivateFieldGet5 = (0, _classPrivateFieldGet7.default)(this, _hot).getActiveEditor()) !== null && _classPrivateFieldGet5 !== void 0 && _classPrivateFieldGet5.isOpened()) && !!refocusElement) {
|
14422
|
+
if (!(0, _classPrivateFieldGet7.default)(this, _debouncedSelect).has(delay)) {
|
14423
|
+
(0, _classPrivateFieldGet7.default)(this, _debouncedSelect).set(delay, (0, _function.debounce)(() => {
|
14424
|
+
refocusElement.select();
|
14425
|
+
}, delay));
|
14426
|
+
}
|
14427
|
+
(0, _classPrivateFieldGet7.default)(this, _debouncedSelect).get(delay)();
|
14403
14428
|
}
|
14404
14429
|
}
|
14405
14430
|
}
|
14406
14431
|
exports.FocusManager = FocusManager;
|
14407
|
-
function
|
14408
|
-
|
14409
|
-
|
14432
|
+
function _getSelectedCell2(callback) {
|
14433
|
+
var _classPrivateFieldGet6;
|
14434
|
+
const highlight = (_classPrivateFieldGet6 = (0, _classPrivateFieldGet7.default)(this, _hot).getSelectedRangeLast()) === null || _classPrivateFieldGet6 === void 0 ? void 0 : _classPrivateFieldGet6.highlight;
|
14435
|
+
if (!highlight) {
|
14436
|
+
callback(null);
|
14437
|
+
return;
|
14438
|
+
}
|
14439
|
+
const cell = (0, _classPrivateFieldGet7.default)(this, _hot).getCell(highlight.row, highlight.col, true);
|
14440
|
+
if (cell === null) {
|
14441
|
+
(0, _classPrivateFieldGet7.default)(this, _hot).addHookOnce('afterScroll', () => {
|
14442
|
+
callback((0, _classPrivateFieldGet7.default)(this, _hot).getCell(highlight.row, highlight.col, true));
|
14443
|
+
});
|
14444
|
+
} else {
|
14445
|
+
callback(cell);
|
14446
|
+
}
|
14410
14447
|
}
|
14411
|
-
function
|
14412
|
-
|
14413
|
-
|
14448
|
+
function _focusCell2() {
|
14449
|
+
_classPrivateMethodGet(this, _getSelectedCell, _getSelectedCell2).call(this, selectedCell => {
|
14450
|
+
const {
|
14451
|
+
activeElement
|
14452
|
+
} = (0, _classPrivateFieldGet7.default)(this, _hot).rootDocument;
|
14453
|
+
|
14454
|
+
// Blurring the `activeElement` removes the unwanted border around the focusable element (#6877)
|
14455
|
+
// and resets the `document.activeElement` property. The blurring should happen only when the
|
14456
|
+
// previously selected input element has not belonged to the Handsontable editor. If blurring is
|
14457
|
+
// triggered for all elements, there is a problem with the disappearing IME editor (#9672).
|
14458
|
+
if (activeElement && (0, _element.isOutsideInput)(activeElement)) {
|
14459
|
+
activeElement.blur();
|
14460
|
+
}
|
14461
|
+
this.focusOnHighlightedCell(selectedCell);
|
14462
|
+
});
|
14414
14463
|
}
|
14415
|
-
function
|
14416
|
-
|
14417
|
-
|
14418
|
-
activeElement
|
14419
|
-
} = (0, _classPrivateFieldGet5.default)(this, _hot).rootDocument;
|
14420
|
-
|
14421
|
-
// Blurring the `activeElement` removes the unwanted border around the focusable element (#6877)
|
14422
|
-
// and resets the `document.activeElement` property. The blurring should happen only when the
|
14423
|
-
// previously selected input element has not belonged to the Handsontable editor. If blurring is
|
14424
|
-
// triggered for all elements, there is a problem with the disappearing IME editor (#9672).
|
14425
|
-
if (activeElement && (0, _element.isOutsideInput)(activeElement)) {
|
14426
|
-
activeElement.blur();
|
14427
|
-
}
|
14428
|
-
this.focusOnHighlightedCell(selectedCell);
|
14429
|
-
if (this.getFocusMode() === FOCUS_MODES.MIXED && selectedCell.nodeName === 'TD') {
|
14430
|
-
(0, _classPrivateFieldGet5.default)(this, _hot).addHookOnce('afterSelectionEnd', () => {
|
14464
|
+
function _focusEditorElement2() {
|
14465
|
+
_classPrivateMethodGet(this, _getSelectedCell, _getSelectedCell2).call(this, selectedCell => {
|
14466
|
+
if (this.getFocusMode() === FOCUS_MODES.MIXED && selectedCell.nodeName === 'TD') {
|
14431
14467
|
this.refocusToEditorTextarea();
|
14432
|
-
}
|
14433
|
-
}
|
14468
|
+
}
|
14469
|
+
});
|
14434
14470
|
}
|
14435
14471
|
function _onUpdateSettings2(newSettings) {
|
14436
14472
|
if (newSettings.imeFastEdit && this.getFocusMode() !== FOCUS_MODES.MIXED) {
|
@@ -15447,8 +15483,10 @@ var _src = _interopRequireDefault(__webpack_require__(147));
|
|
15447
15483
|
var _mouseEventHandler = __webpack_require__(217);
|
15448
15484
|
var _rootInstance = __webpack_require__(218);
|
15449
15485
|
var _a11y = __webpack_require__(114);
|
15486
|
+
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
15450
15487
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
15451
15488
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
15489
|
+
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
15452
15490
|
/**
|
15453
15491
|
* @class TableView
|
15454
15492
|
* @private
|
@@ -15460,11 +15498,25 @@ var _mouseDown = /*#__PURE__*/new WeakMap();
|
|
15460
15498
|
var _table = /*#__PURE__*/new WeakMap();
|
15461
15499
|
var _lastWidth = /*#__PURE__*/new WeakMap();
|
15462
15500
|
var _lastHeight = /*#__PURE__*/new WeakMap();
|
15501
|
+
var _getAriaColcount = /*#__PURE__*/new WeakSet();
|
15502
|
+
var _updateAriaColcount = /*#__PURE__*/new WeakSet();
|
15463
15503
|
class TableView {
|
15464
15504
|
/**
|
15465
15505
|
* @param {Hanstontable} hotInstance Instance of {@link Handsontable}.
|
15466
15506
|
*/
|
15467
15507
|
constructor(hotInstance) {
|
15508
|
+
/**
|
15509
|
+
* Update the `aria-colcount` attribute by the provided value.
|
15510
|
+
*
|
15511
|
+
* @param {number} delta The number of columns to add or remove to the aria tag.
|
15512
|
+
*/
|
15513
|
+
_classPrivateMethodInitSpec(this, _updateAriaColcount);
|
15514
|
+
/**
|
15515
|
+
* Return the value of the `aria-colcount` attribute.
|
15516
|
+
*
|
15517
|
+
* @returns {number} The value of the `aria-colcount` attribute.
|
15518
|
+
*/
|
15519
|
+
_classPrivateMethodInitSpec(this, _getAriaColcount);
|
15468
15520
|
/**
|
15469
15521
|
* Instance of {@link Handsontable}.
|
15470
15522
|
*
|
@@ -15701,7 +15753,7 @@ class TableView {
|
|
15701
15753
|
}
|
15702
15754
|
if (this.settings.ariaTags) {
|
15703
15755
|
(0, _element.setAttribute)((0, _classPrivateFieldGet2.default)(this, _table), [(0, _a11y.A11Y_PRESENTATION)()]);
|
15704
|
-
(0, _element.setAttribute)(rootElement, [(0, _a11y.A11Y_TREEGRID)(), (0, _a11y.A11Y_ROWCOUNT)(
|
15756
|
+
(0, _element.setAttribute)(rootElement, [(0, _a11y.A11Y_TREEGRID)(), (0, _a11y.A11Y_ROWCOUNT)(-1), (0, _a11y.A11Y_COLCOUNT)(this.hot.countCols()), (0, _a11y.A11Y_MULTISELECTABLE)()]);
|
15705
15757
|
}
|
15706
15758
|
this.THEAD = rootDocument.createElement('THEAD');
|
15707
15759
|
(0, _classPrivateFieldGet2.default)(this, _table).appendChild(this.THEAD);
|
@@ -16094,6 +16146,13 @@ class TableView {
|
|
16094
16146
|
}
|
16095
16147
|
this.hot.runHooks('afterGetRowHeaderRenderers', headerRenderers);
|
16096
16148
|
(0, _classPrivateFieldSet2.default)(this, _rowHeadersCount, headerRenderers.length);
|
16149
|
+
if (this.hot.getSettings().ariaTags) {
|
16150
|
+
// Update the aria-colcount attribute.
|
16151
|
+
// Only needs to be done once after initialization/data update.
|
16152
|
+
if (_classPrivateMethodGet(this, _getAriaColcount, _getAriaColcount2).call(this) === this.hot.countCols()) {
|
16153
|
+
_classPrivateMethodGet(this, _updateAriaColcount, _updateAriaColcount2).call(this, (0, _classPrivateFieldGet2.default)(this, _rowHeadersCount));
|
16154
|
+
}
|
16155
|
+
}
|
16097
16156
|
return headerRenderers;
|
16098
16157
|
},
|
16099
16158
|
columnHeaders: () => {
|
@@ -16733,7 +16792,6 @@ class TableView {
|
|
16733
16792
|
getRowHeadersCount() {
|
16734
16793
|
return (0, _classPrivateFieldGet2.default)(this, _rowHeadersCount);
|
16735
16794
|
}
|
16736
|
-
|
16737
16795
|
/**
|
16738
16796
|
* Destroys internal WalkOnTable's instance. Detaches all of the bonded listeners.
|
16739
16797
|
*
|
@@ -16744,6 +16802,13 @@ class TableView {
|
|
16744
16802
|
this.eventManager.destroy();
|
16745
16803
|
}
|
16746
16804
|
}
|
16805
|
+
function _getAriaColcount2() {
|
16806
|
+
return parseInt(this.hot.rootElement.getAttribute((0, _a11y.A11Y_COLCOUNT)()[0]), 10);
|
16807
|
+
}
|
16808
|
+
function _updateAriaColcount2(delta) {
|
16809
|
+
const colCount = _classPrivateMethodGet(this, _getAriaColcount, _getAriaColcount2).call(this) + delta;
|
16810
|
+
(0, _element.setAttribute)(this.hot.rootElement, ...(0, _a11y.A11Y_COLCOUNT)(colCount));
|
16811
|
+
}
|
16747
16812
|
var _default = exports["default"] = TableView;
|
16748
16813
|
|
16749
16814
|
/***/ }),
|
@@ -22380,7 +22445,7 @@ class ColumnHeadersRenderer extends _base.default {
|
|
22380
22445
|
columnHeadersCount
|
22381
22446
|
} = this.table;
|
22382
22447
|
if (this.table.isAriaEnabled()) {
|
22383
|
-
(0, _element.setAttribute)(this.rootNode, [(0, _a11y.
|
22448
|
+
(0, _element.setAttribute)(this.rootNode, [(0, _a11y.A11Y_ROWGROUP)()]);
|
22384
22449
|
}
|
22385
22450
|
for (let rowHeaderIndex = 0; rowHeaderIndex < columnHeadersCount; rowHeaderIndex += 1) {
|
22386
22451
|
const {
|
@@ -22402,7 +22467,10 @@ class ColumnHeadersRenderer extends _base.default {
|
|
22402
22467
|
// Remove all accessibility-related attributes for the header to start fresh.
|
22403
22468
|
(0, _element.removeAttribute)(TH, [new RegExp('aria-(.*)'), new RegExp('role')]);
|
22404
22469
|
if (this.table.isAriaEnabled()) {
|
22405
|
-
(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)()] : [
|
22470
|
+
(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)()] : [
|
22471
|
+
// Adding `role=row` to the corner headers to prevent
|
22472
|
+
// https://github.com/handsontable/dev-handsontable/issues/1574
|
22473
|
+
(0, _a11y.A11Y_ROW)()])]);
|
22406
22474
|
}
|
22407
22475
|
columnHeaderFunctions[rowHeaderIndex](sourceColumnIndex, TH, rowHeaderIndex);
|
22408
22476
|
}
|
@@ -22554,7 +22622,7 @@ class RowsRenderer extends _base.default {
|
|
22554
22622
|
the number of rendered rows by specifying the table height and/or turning off the "renderAllRows" option.`);
|
22555
22623
|
}
|
22556
22624
|
if (this.table.isAriaEnabled()) {
|
22557
|
-
(0, _element.setAttribute)(this.rootNode, [(0, _a11y.
|
22625
|
+
(0, _element.setAttribute)(this.rootNode, [(0, _a11y.A11Y_ROWGROUP)()]);
|
22558
22626
|
}
|
22559
22627
|
this.orderView.setSize(rowsToRender).setOffset(this.table.renderedRowToSource(0)).start();
|
22560
22628
|
for (let visibleRowIndex = 0; visibleRowIndex < rowsToRender; visibleRowIndex++) {
|
@@ -23625,8 +23693,8 @@ class Overlay {
|
|
23625
23693
|
rootDocument,
|
23626
23694
|
rootWindow
|
23627
23695
|
} = this.domBindings;
|
23628
|
-
const clone = rootDocument.createElement('
|
23629
|
-
const clonedTable = rootDocument.createElement('
|
23696
|
+
const clone = rootDocument.createElement('div');
|
23697
|
+
const clonedTable = rootDocument.createElement('table');
|
23630
23698
|
const tableParent = wtTable.wtRootElement.parentNode;
|
23631
23699
|
clone.className = `${_constants.CLONE_CLASS_NAMES.get(this.type)} handsontable`;
|
23632
23700
|
clone.setAttribute('dir', this.isRtl() ? 'rtl' : 'ltr');
|
@@ -41619,7 +41687,9 @@ function replaceData(data, setDataMapFunction, callbackFunction, config) {
|
|
41619
41687
|
hotInstance.render();
|
41620
41688
|
}
|
41621
41689
|
if (hotInstance.getSettings().ariaTags) {
|
41622
|
-
(0, _element.setAttribute)(hotInstance.rootElement, [(0, _a11y.A11Y_ROWCOUNT)(
|
41690
|
+
(0, _element.setAttribute)(hotInstance.rootElement, [(0, _a11y.A11Y_ROWCOUNT)(-1),
|
41691
|
+
// If run after initialization, add the number of row headers.
|
41692
|
+
(0, _a11y.A11Y_COLCOUNT)(hotInstance.countCols() + (hotInstance.view ? hotInstance.countRowHeaders() : 0))]);
|
41623
41693
|
}
|
41624
41694
|
}
|
41625
41695
|
|
@@ -47133,6 +47203,7 @@ exports.PasswordEditor = _passwordEditor.PasswordEditor;
|
|
47133
47203
|
exports.__esModule = true;
|
47134
47204
|
var _textEditor = __webpack_require__(335);
|
47135
47205
|
var _element = __webpack_require__(107);
|
47206
|
+
var _a11y = __webpack_require__(114);
|
47136
47207
|
const EDITOR_TYPE = exports.EDITOR_TYPE = 'password';
|
47137
47208
|
|
47138
47209
|
/**
|
@@ -47152,6 +47223,9 @@ class PasswordEditor extends _textEditor.TextEditor {
|
|
47152
47223
|
this.textareaStyle = this.TEXTAREA.style;
|
47153
47224
|
this.textareaStyle.width = 0;
|
47154
47225
|
this.textareaStyle.height = 0;
|
47226
|
+
if (this.hot.getSettings().ariaTags) {
|
47227
|
+
(0, _element.setAttribute)(this.TEXTAREA, [(0, _a11y.A11Y_HIDDEN)()]);
|
47228
|
+
}
|
47155
47229
|
(0, _element.empty)(this.TEXTAREA_PARENT);
|
47156
47230
|
this.TEXTAREA_PARENT.appendChild(this.TEXTAREA);
|
47157
47231
|
}
|
@@ -47954,7 +48028,6 @@ function createInput(rootDocument) {
|
|
47954
48028
|
const input = rootDocument.createElement('input');
|
47955
48029
|
input.className = 'htCheckboxRendererInput';
|
47956
48030
|
input.type = 'checkbox';
|
47957
|
-
input.setAttribute('autocomplete', 'off');
|
47958
48031
|
input.setAttribute('tabindex', '-1');
|
47959
48032
|
return input.cloneNode(false);
|
47960
48033
|
}
|
@@ -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: 14.0.0-next-
|
29
|
-
* Release date:
|
28
|
+
* Version: 14.0.0-next-477622d-20231128
|
29
|
+
* Release date: 29/11/2023 (built at 28/11/2023 12:48:34)
|
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
|