handsontable 14.0.0-next-23212d5-20231127 → 14.0.0-next-477622d-20231128
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.
- 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
@@ -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')
|
@@ -43033,8 +43033,8 @@ Handsontable.hooks = _pluginHooks.default.getSingleton();
|
|
43033
43033
|
Handsontable.CellCoords = _src.CellCoords;
|
43034
43034
|
Handsontable.CellRange = _src.CellRange;
|
43035
43035
|
Handsontable.packageName = 'handsontable';
|
43036
|
-
Handsontable.buildDate = "
|
43037
|
-
Handsontable.version = "14.0.0-next-
|
43036
|
+
Handsontable.buildDate = "28/11/2023 12:48:17";
|
43037
|
+
Handsontable.version = "14.0.0-next-477622d-20231128";
|
43038
43038
|
Handsontable.languages = {
|
43039
43039
|
dictionaryKeys: _registry.dictionaryKeys,
|
43040
43040
|
getLanguageDictionary: _registry.getLanguageDictionary,
|
@@ -53154,7 +53154,7 @@ const domMessages = {
|
|
53154
53154
|
function _injectProductInfo(key, element) {
|
53155
53155
|
const hasValidType = !isEmpty(key);
|
53156
53156
|
const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
|
53157
|
-
const hotVersion = "14.0.0-next-
|
53157
|
+
const hotVersion = "14.0.0-next-477622d-20231128";
|
53158
53158
|
let keyValidityDate;
|
53159
53159
|
let consoleMessageState = 'invalid';
|
53160
53160
|
let domMessageState = 'invalid';
|
@@ -53162,7 +53162,7 @@ function _injectProductInfo(key, element) {
|
|
53162
53162
|
const schemaValidity = _checkKeySchema(key);
|
53163
53163
|
if (hasValidType || isNonCommercial || schemaValidity) {
|
53164
53164
|
if (schemaValidity) {
|
53165
|
-
const releaseDate = (0, _moment.default)("
|
53165
|
+
const releaseDate = (0, _moment.default)("29/11/2023", 'DD/MM/YYYY');
|
53166
53166
|
const releaseDays = Math.floor(releaseDate.toDate().getTime() / 8.64e7);
|
53167
53167
|
const keyValidityDays = _extractTime(key);
|
53168
53168
|
keyValidityDate = (0, _moment.default)((keyValidityDays + 1) * 8.64e7, 'x').format('MMMM DD, YYYY');
|
@@ -60406,6 +60406,8 @@ const A11Y_GRIDCELL = () => ['role', 'gridcell'];
|
|
60406
60406
|
exports.A11Y_GRIDCELL = A11Y_GRIDCELL;
|
60407
60407
|
const A11Y_ROWHEADER = () => ['role', 'rowheader'];
|
60408
60408
|
exports.A11Y_ROWHEADER = A11Y_ROWHEADER;
|
60409
|
+
const A11Y_ROWGROUP = () => ['role', 'rowgroup'];
|
60410
|
+
exports.A11Y_ROWGROUP = A11Y_ROWGROUP;
|
60409
60411
|
const A11Y_COLUMNHEADER = () => ['role', 'columnheader'];
|
60410
60412
|
exports.A11Y_COLUMNHEADER = A11Y_COLUMNHEADER;
|
60411
60413
|
const A11Y_ROW = () => ['role', 'row'];
|
@@ -65615,10 +65617,11 @@ function getListenersCounter() {
|
|
65615
65617
|
__webpack_require__(275);
|
65616
65618
|
var _interopRequireDefault = __webpack_require__(198);
|
65617
65619
|
exports.__esModule = true;
|
65618
|
-
var
|
65620
|
+
var _classPrivateFieldGet7 = _interopRequireDefault(__webpack_require__(466));
|
65619
65621
|
var _classPrivateFieldSet2 = _interopRequireDefault(__webpack_require__(469));
|
65620
65622
|
var _console = __webpack_require__(462);
|
65621
65623
|
var _element = __webpack_require__(304);
|
65624
|
+
var _function = __webpack_require__(448);
|
65622
65625
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
65623
65626
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
65624
65627
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
@@ -65643,9 +65646,10 @@ var _hot = /*#__PURE__*/new WeakMap();
|
|
65643
65646
|
var _focusMode = /*#__PURE__*/new WeakMap();
|
65644
65647
|
var _refocusDelay = /*#__PURE__*/new WeakMap();
|
65645
65648
|
var _refocusElementGetter = /*#__PURE__*/new WeakMap();
|
65646
|
-
var
|
65649
|
+
var _debouncedSelect = /*#__PURE__*/new WeakMap();
|
65647
65650
|
var _getSelectedCell = /*#__PURE__*/new WeakSet();
|
65648
|
-
var
|
65651
|
+
var _focusCell = /*#__PURE__*/new WeakSet();
|
65652
|
+
var _focusEditorElement = /*#__PURE__*/new WeakSet();
|
65649
65653
|
var _onUpdateSettings = /*#__PURE__*/new WeakSet();
|
65650
65654
|
class FocusManager {
|
65651
65655
|
constructor(hotInstance) {
|
@@ -65653,29 +65657,23 @@ class FocusManager {
|
|
65653
65657
|
/**
|
65654
65658
|
* Update the manager configuration after calling `updateSettings`.
|
65655
65659
|
*
|
65656
|
-
* @private
|
65657
65660
|
* @param {object} newSettings The new settings passed to the `updateSettings` method.
|
65658
65661
|
*/
|
65659
65662
|
_classPrivateMethodInitSpec(this, _onUpdateSettings);
|
65660
65663
|
/**
|
65661
|
-
* Manage the browser's focus after cell selection.
|
65662
|
-
*
|
65663
|
-
* @private
|
65664
|
+
* Manage the browser's focus after cell selection end.
|
65664
65665
|
*/
|
65665
|
-
_classPrivateMethodInitSpec(this,
|
65666
|
+
_classPrivateMethodInitSpec(this, _focusEditorElement);
|
65666
65667
|
/**
|
65667
|
-
*
|
65668
|
-
*
|
65669
|
-
* @private
|
65670
|
-
* @returns {HTMLTableCellElement}
|
65668
|
+
* Manage the browser's focus after each cell selection change.
|
65671
65669
|
*/
|
65672
|
-
_classPrivateMethodInitSpec(this,
|
65670
|
+
_classPrivateMethodInitSpec(this, _focusCell);
|
65673
65671
|
/**
|
65674
|
-
* Get
|
65672
|
+
* Get and return the currently selected and highlighted cell/header element.
|
65675
65673
|
*
|
65676
|
-
* @
|
65674
|
+
* @param {Function} callback Callback function to be called after the cell element is retrieved.
|
65677
65675
|
*/
|
65678
|
-
_classPrivateMethodInitSpec(this,
|
65676
|
+
_classPrivateMethodInitSpec(this, _getSelectedCell);
|
65679
65677
|
/**
|
65680
65678
|
* The Handsontable instance.
|
65681
65679
|
*/
|
@@ -65691,7 +65689,7 @@ class FocusManager {
|
|
65691
65689
|
* - 'mixed' - The browser's focus switches from the lastly selected cell element to the currently active editor's
|
65692
65690
|
* `TEXTAREA` element after a delay defined in the manager.
|
65693
65691
|
*
|
65694
|
-
* @type {
|
65692
|
+
* @type {'cell' | 'mixed'}
|
65695
65693
|
*/
|
65696
65694
|
_classPrivateFieldInitSpec(this, _focusMode, {
|
65697
65695
|
writable: true,
|
@@ -65717,20 +65715,35 @@ class FocusManager {
|
|
65717
65715
|
writable: true,
|
65718
65716
|
value: null
|
65719
65717
|
});
|
65718
|
+
/**
|
65719
|
+
* Map of the debounced `select` functions.
|
65720
|
+
*
|
65721
|
+
* @type {Map<number, Function>}
|
65722
|
+
*/
|
65723
|
+
_classPrivateFieldInitSpec(this, _debouncedSelect, {
|
65724
|
+
writable: true,
|
65725
|
+
value: new Map()
|
65726
|
+
});
|
65720
65727
|
const hotSettings = hotInstance.getSettings();
|
65721
65728
|
(0, _classPrivateFieldSet2.default)(this, _hot, hotInstance);
|
65722
65729
|
(0, _classPrivateFieldSet2.default)(this, _focusMode, hotSettings.imeFastEdit ? FOCUS_MODES.MIXED : FOCUS_MODES.CELL);
|
65723
|
-
(0,
|
65730
|
+
(0, _classPrivateFieldGet7.default)(this, _hot).addHook('afterUpdateSettings', function () {
|
65724
65731
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
65725
65732
|
args[_key] = arguments[_key];
|
65726
65733
|
}
|
65727
65734
|
return _classPrivateMethodGet(_this, _onUpdateSettings, _onUpdateSettings2).call(_this, ...args);
|
65728
65735
|
});
|
65729
|
-
(0,
|
65736
|
+
(0, _classPrivateFieldGet7.default)(this, _hot).addHook('afterSelection', function () {
|
65730
65737
|
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
65731
65738
|
args[_key2] = arguments[_key2];
|
65732
65739
|
}
|
65733
|
-
return _classPrivateMethodGet(_this,
|
65740
|
+
return _classPrivateMethodGet(_this, _focusCell, _focusCell2).call(_this, ...args);
|
65741
|
+
});
|
65742
|
+
(0, _classPrivateFieldGet7.default)(this, _hot).addHook('afterSelectionEnd', function () {
|
65743
|
+
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
65744
|
+
args[_key3] = arguments[_key3];
|
65745
|
+
}
|
65746
|
+
return _classPrivateMethodGet(_this, _focusEditorElement, _focusEditorElement2).call(_this, ...args);
|
65734
65747
|
});
|
65735
65748
|
}
|
65736
65749
|
|
@@ -65740,7 +65753,7 @@ class FocusManager {
|
|
65740
65753
|
* @returns {'cell' | 'mixed'}
|
65741
65754
|
*/
|
65742
65755
|
getFocusMode() {
|
65743
|
-
return (0,
|
65756
|
+
return (0, _classPrivateFieldGet7.default)(this, _focusMode);
|
65744
65757
|
}
|
65745
65758
|
|
65746
65759
|
/**
|
@@ -65763,7 +65776,7 @@ class FocusManager {
|
|
65763
65776
|
* @returns {number} Delay in milliseconds.
|
65764
65777
|
*/
|
65765
65778
|
getRefocusDelay() {
|
65766
|
-
return (0,
|
65779
|
+
return (0, _classPrivateFieldGet7.default)(this, _refocusDelay);
|
65767
65780
|
}
|
65768
65781
|
|
65769
65782
|
/**
|
@@ -65791,11 +65804,11 @@ class FocusManager {
|
|
65791
65804
|
* @returns {HTMLTextAreaElement|HTMLElement|undefined}
|
65792
65805
|
*/
|
65793
65806
|
getRefocusElement() {
|
65794
|
-
if (typeof (0,
|
65795
|
-
return (0,
|
65807
|
+
if (typeof (0, _classPrivateFieldGet7.default)(this, _refocusElementGetter) === 'function') {
|
65808
|
+
return (0, _classPrivateFieldGet7.default)(this, _refocusElementGetter).call(this);
|
65796
65809
|
} else {
|
65797
65810
|
var _classPrivateFieldGet2;
|
65798
|
-
return (_classPrivateFieldGet2 = (0,
|
65811
|
+
return (_classPrivateFieldGet2 = (0, _classPrivateFieldGet7.default)(this, _hot).getActiveEditor()) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2.TEXTAREA;
|
65799
65812
|
}
|
65800
65813
|
}
|
65801
65814
|
|
@@ -65805,17 +65818,26 @@ class FocusManager {
|
|
65805
65818
|
* @param {HTMLTableCellElement} [selectedCell] The highlighted cell/header element.
|
65806
65819
|
*/
|
65807
65820
|
focusOnHighlightedCell(selectedCell) {
|
65808
|
-
|
65809
|
-
|
65810
|
-
|
65811
|
-
|
65812
|
-
|
65813
|
-
|
65814
|
-
|
65815
|
-
|
65816
|
-
|
65817
|
-
|
65818
|
-
|
65821
|
+
const focusElement = element => {
|
65822
|
+
var _classPrivateFieldGet3, _classPrivateFieldGet4;
|
65823
|
+
const currentHighlightCoords = (_classPrivateFieldGet3 = (0, _classPrivateFieldGet7.default)(this, _hot).getSelectedRangeLast()) === null || _classPrivateFieldGet3 === void 0 ? void 0 : _classPrivateFieldGet3.highlight;
|
65824
|
+
if (!currentHighlightCoords || !element) {
|
65825
|
+
return;
|
65826
|
+
}
|
65827
|
+
let elementToBeFocused = (0, _classPrivateFieldGet7.default)(this, _hot).runHooks('modifyFocusedElement', currentHighlightCoords.row, currentHighlightCoords.col, element);
|
65828
|
+
if (!(elementToBeFocused instanceof HTMLElement)) {
|
65829
|
+
elementToBeFocused = element;
|
65830
|
+
}
|
65831
|
+
if (elementToBeFocused && !((_classPrivateFieldGet4 = (0, _classPrivateFieldGet7.default)(this, _hot).getActiveEditor()) !== null && _classPrivateFieldGet4 !== void 0 && _classPrivateFieldGet4.isOpened())) {
|
65832
|
+
elementToBeFocused.focus({
|
65833
|
+
preventScroll: true
|
65834
|
+
});
|
65835
|
+
}
|
65836
|
+
};
|
65837
|
+
if (selectedCell) {
|
65838
|
+
focusElement(selectedCell);
|
65839
|
+
} else {
|
65840
|
+
_classPrivateMethodGet(this, _getSelectedCell, _getSelectedCell2).call(this, element => focusElement(element));
|
65819
65841
|
}
|
65820
65842
|
}
|
65821
65843
|
|
@@ -65823,49 +65845,63 @@ class FocusManager {
|
|
65823
65845
|
* Set the focus to the active editor's `TEXTAREA` element after the provided delay. If no delay is provided, it
|
65824
65846
|
* will be taken from the manager's configuration.
|
65825
65847
|
*
|
65826
|
-
* @param {number} delay Delay in milliseconds.
|
65848
|
+
* @param {number} [delay] Delay in milliseconds.
|
65827
65849
|
*/
|
65828
65850
|
refocusToEditorTextarea() {
|
65829
|
-
var
|
65830
|
-
let delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0,
|
65851
|
+
var _classPrivateFieldGet5;
|
65852
|
+
let delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0, _classPrivateFieldGet7.default)(this, _refocusDelay);
|
65831
65853
|
const refocusElement = this.getRefocusElement();
|
65832
65854
|
|
65833
65855
|
// Re-focus on the editor's `TEXTAREA` element (or a predefined element) if the `imeFastEdit` option is enabled.
|
65834
|
-
if ((0,
|
65835
|
-
(0,
|
65836
|
-
|
65837
|
-
|
65856
|
+
if ((0, _classPrivateFieldGet7.default)(this, _hot).getSettings().imeFastEdit && !((_classPrivateFieldGet5 = (0, _classPrivateFieldGet7.default)(this, _hot).getActiveEditor()) !== null && _classPrivateFieldGet5 !== void 0 && _classPrivateFieldGet5.isOpened()) && !!refocusElement) {
|
65857
|
+
if (!(0, _classPrivateFieldGet7.default)(this, _debouncedSelect).has(delay)) {
|
65858
|
+
(0, _classPrivateFieldGet7.default)(this, _debouncedSelect).set(delay, (0, _function.debounce)(() => {
|
65859
|
+
refocusElement.select();
|
65860
|
+
}, delay));
|
65861
|
+
}
|
65862
|
+
(0, _classPrivateFieldGet7.default)(this, _debouncedSelect).get(delay)();
|
65838
65863
|
}
|
65839
65864
|
}
|
65840
65865
|
}
|
65841
65866
|
exports.FocusManager = FocusManager;
|
65842
|
-
function
|
65843
|
-
|
65844
|
-
|
65867
|
+
function _getSelectedCell2(callback) {
|
65868
|
+
var _classPrivateFieldGet6;
|
65869
|
+
const highlight = (_classPrivateFieldGet6 = (0, _classPrivateFieldGet7.default)(this, _hot).getSelectedRangeLast()) === null || _classPrivateFieldGet6 === void 0 ? void 0 : _classPrivateFieldGet6.highlight;
|
65870
|
+
if (!highlight) {
|
65871
|
+
callback(null);
|
65872
|
+
return;
|
65873
|
+
}
|
65874
|
+
const cell = (0, _classPrivateFieldGet7.default)(this, _hot).getCell(highlight.row, highlight.col, true);
|
65875
|
+
if (cell === null) {
|
65876
|
+
(0, _classPrivateFieldGet7.default)(this, _hot).addHookOnce('afterScroll', () => {
|
65877
|
+
callback((0, _classPrivateFieldGet7.default)(this, _hot).getCell(highlight.row, highlight.col, true));
|
65878
|
+
});
|
65879
|
+
} else {
|
65880
|
+
callback(cell);
|
65881
|
+
}
|
65845
65882
|
}
|
65846
|
-
function
|
65847
|
-
|
65848
|
-
|
65883
|
+
function _focusCell2() {
|
65884
|
+
_classPrivateMethodGet(this, _getSelectedCell, _getSelectedCell2).call(this, selectedCell => {
|
65885
|
+
const {
|
65886
|
+
activeElement
|
65887
|
+
} = (0, _classPrivateFieldGet7.default)(this, _hot).rootDocument;
|
65888
|
+
|
65889
|
+
// Blurring the `activeElement` removes the unwanted border around the focusable element (#6877)
|
65890
|
+
// and resets the `document.activeElement` property. The blurring should happen only when the
|
65891
|
+
// previously selected input element has not belonged to the Handsontable editor. If blurring is
|
65892
|
+
// triggered for all elements, there is a problem with the disappearing IME editor (#9672).
|
65893
|
+
if (activeElement && (0, _element.isOutsideInput)(activeElement)) {
|
65894
|
+
activeElement.blur();
|
65895
|
+
}
|
65896
|
+
this.focusOnHighlightedCell(selectedCell);
|
65897
|
+
});
|
65849
65898
|
}
|
65850
|
-
function
|
65851
|
-
|
65852
|
-
|
65853
|
-
activeElement
|
65854
|
-
} = (0, _classPrivateFieldGet5.default)(this, _hot).rootDocument;
|
65855
|
-
|
65856
|
-
// Blurring the `activeElement` removes the unwanted border around the focusable element (#6877)
|
65857
|
-
// and resets the `document.activeElement` property. The blurring should happen only when the
|
65858
|
-
// previously selected input element has not belonged to the Handsontable editor. If blurring is
|
65859
|
-
// triggered for all elements, there is a problem with the disappearing IME editor (#9672).
|
65860
|
-
if (activeElement && (0, _element.isOutsideInput)(activeElement)) {
|
65861
|
-
activeElement.blur();
|
65862
|
-
}
|
65863
|
-
this.focusOnHighlightedCell(selectedCell);
|
65864
|
-
if (this.getFocusMode() === FOCUS_MODES.MIXED && selectedCell.nodeName === 'TD') {
|
65865
|
-
(0, _classPrivateFieldGet5.default)(this, _hot).addHookOnce('afterSelectionEnd', () => {
|
65899
|
+
function _focusEditorElement2() {
|
65900
|
+
_classPrivateMethodGet(this, _getSelectedCell, _getSelectedCell2).call(this, selectedCell => {
|
65901
|
+
if (this.getFocusMode() === FOCUS_MODES.MIXED && selectedCell.nodeName === 'TD') {
|
65866
65902
|
this.refocusToEditorTextarea();
|
65867
|
-
}
|
65868
|
-
}
|
65903
|
+
}
|
65904
|
+
});
|
65869
65905
|
}
|
65870
65906
|
function _onUpdateSettings2(newSettings) {
|
65871
65907
|
if (newSettings.imeFastEdit && this.getFocusMode() !== FOCUS_MODES.MIXED) {
|
@@ -66882,8 +66918,10 @@ var _src = _interopRequireDefault(__webpack_require__(480));
|
|
66882
66918
|
var _mouseEventHandler = __webpack_require__(550);
|
66883
66919
|
var _rootInstance = __webpack_require__(551);
|
66884
66920
|
var _a11y = __webpack_require__(447);
|
66921
|
+
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
66885
66922
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
66886
66923
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
66924
|
+
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
66887
66925
|
/**
|
66888
66926
|
* @class TableView
|
66889
66927
|
* @private
|
@@ -66895,11 +66933,25 @@ var _mouseDown = /*#__PURE__*/new WeakMap();
|
|
66895
66933
|
var _table = /*#__PURE__*/new WeakMap();
|
66896
66934
|
var _lastWidth = /*#__PURE__*/new WeakMap();
|
66897
66935
|
var _lastHeight = /*#__PURE__*/new WeakMap();
|
66936
|
+
var _getAriaColcount = /*#__PURE__*/new WeakSet();
|
66937
|
+
var _updateAriaColcount = /*#__PURE__*/new WeakSet();
|
66898
66938
|
class TableView {
|
66899
66939
|
/**
|
66900
66940
|
* @param {Hanstontable} hotInstance Instance of {@link Handsontable}.
|
66901
66941
|
*/
|
66902
66942
|
constructor(hotInstance) {
|
66943
|
+
/**
|
66944
|
+
* Update the `aria-colcount` attribute by the provided value.
|
66945
|
+
*
|
66946
|
+
* @param {number} delta The number of columns to add or remove to the aria tag.
|
66947
|
+
*/
|
66948
|
+
_classPrivateMethodInitSpec(this, _updateAriaColcount);
|
66949
|
+
/**
|
66950
|
+
* Return the value of the `aria-colcount` attribute.
|
66951
|
+
*
|
66952
|
+
* @returns {number} The value of the `aria-colcount` attribute.
|
66953
|
+
*/
|
66954
|
+
_classPrivateMethodInitSpec(this, _getAriaColcount);
|
66903
66955
|
/**
|
66904
66956
|
* Instance of {@link Handsontable}.
|
66905
66957
|
*
|
@@ -67136,7 +67188,7 @@ class TableView {
|
|
67136
67188
|
}
|
67137
67189
|
if (this.settings.ariaTags) {
|
67138
67190
|
(0, _element.setAttribute)((0, _classPrivateFieldGet2.default)(this, _table), [(0, _a11y.A11Y_PRESENTATION)()]);
|
67139
|
-
(0, _element.setAttribute)(rootElement, [(0, _a11y.A11Y_TREEGRID)(), (0, _a11y.A11Y_ROWCOUNT)(
|
67191
|
+
(0, _element.setAttribute)(rootElement, [(0, _a11y.A11Y_TREEGRID)(), (0, _a11y.A11Y_ROWCOUNT)(-1), (0, _a11y.A11Y_COLCOUNT)(this.hot.countCols()), (0, _a11y.A11Y_MULTISELECTABLE)()]);
|
67140
67192
|
}
|
67141
67193
|
this.THEAD = rootDocument.createElement('THEAD');
|
67142
67194
|
(0, _classPrivateFieldGet2.default)(this, _table).appendChild(this.THEAD);
|
@@ -67529,6 +67581,13 @@ class TableView {
|
|
67529
67581
|
}
|
67530
67582
|
this.hot.runHooks('afterGetRowHeaderRenderers', headerRenderers);
|
67531
67583
|
(0, _classPrivateFieldSet2.default)(this, _rowHeadersCount, headerRenderers.length);
|
67584
|
+
if (this.hot.getSettings().ariaTags) {
|
67585
|
+
// Update the aria-colcount attribute.
|
67586
|
+
// Only needs to be done once after initialization/data update.
|
67587
|
+
if (_classPrivateMethodGet(this, _getAriaColcount, _getAriaColcount2).call(this) === this.hot.countCols()) {
|
67588
|
+
_classPrivateMethodGet(this, _updateAriaColcount, _updateAriaColcount2).call(this, (0, _classPrivateFieldGet2.default)(this, _rowHeadersCount));
|
67589
|
+
}
|
67590
|
+
}
|
67532
67591
|
return headerRenderers;
|
67533
67592
|
},
|
67534
67593
|
columnHeaders: () => {
|
@@ -68168,7 +68227,6 @@ class TableView {
|
|
68168
68227
|
getRowHeadersCount() {
|
68169
68228
|
return (0, _classPrivateFieldGet2.default)(this, _rowHeadersCount);
|
68170
68229
|
}
|
68171
|
-
|
68172
68230
|
/**
|
68173
68231
|
* Destroys internal WalkOnTable's instance. Detaches all of the bonded listeners.
|
68174
68232
|
*
|
@@ -68179,6 +68237,13 @@ class TableView {
|
|
68179
68237
|
this.eventManager.destroy();
|
68180
68238
|
}
|
68181
68239
|
}
|
68240
|
+
function _getAriaColcount2() {
|
68241
|
+
return parseInt(this.hot.rootElement.getAttribute((0, _a11y.A11Y_COLCOUNT)()[0]), 10);
|
68242
|
+
}
|
68243
|
+
function _updateAriaColcount2(delta) {
|
68244
|
+
const colCount = _classPrivateMethodGet(this, _getAriaColcount, _getAriaColcount2).call(this) + delta;
|
68245
|
+
(0, _element.setAttribute)(this.hot.rootElement, ...(0, _a11y.A11Y_COLCOUNT)(colCount));
|
68246
|
+
}
|
68182
68247
|
var _default = exports["default"] = TableView;
|
68183
68248
|
|
68184
68249
|
/***/ }),
|
@@ -73815,7 +73880,7 @@ class ColumnHeadersRenderer extends _base.default {
|
|
73815
73880
|
columnHeadersCount
|
73816
73881
|
} = this.table;
|
73817
73882
|
if (this.table.isAriaEnabled()) {
|
73818
|
-
(0, _element.setAttribute)(this.rootNode, [(0, _a11y.
|
73883
|
+
(0, _element.setAttribute)(this.rootNode, [(0, _a11y.A11Y_ROWGROUP)()]);
|
73819
73884
|
}
|
73820
73885
|
for (let rowHeaderIndex = 0; rowHeaderIndex < columnHeadersCount; rowHeaderIndex += 1) {
|
73821
73886
|
const {
|
@@ -73837,7 +73902,10 @@ class ColumnHeadersRenderer extends _base.default {
|
|
73837
73902
|
// Remove all accessibility-related attributes for the header to start fresh.
|
73838
73903
|
(0, _element.removeAttribute)(TH, [new RegExp('aria-(.*)'), new RegExp('role')]);
|
73839
73904
|
if (this.table.isAriaEnabled()) {
|
73840
|
-
(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)()] : [
|
73905
|
+
(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)()] : [
|
73906
|
+
// Adding `role=row` to the corner headers to prevent
|
73907
|
+
// https://github.com/handsontable/dev-handsontable/issues/1574
|
73908
|
+
(0, _a11y.A11Y_ROW)()])]);
|
73841
73909
|
}
|
73842
73910
|
columnHeaderFunctions[rowHeaderIndex](sourceColumnIndex, TH, rowHeaderIndex);
|
73843
73911
|
}
|
@@ -73989,7 +74057,7 @@ class RowsRenderer extends _base.default {
|
|
73989
74057
|
the number of rendered rows by specifying the table height and/or turning off the "renderAllRows" option.`);
|
73990
74058
|
}
|
73991
74059
|
if (this.table.isAriaEnabled()) {
|
73992
|
-
(0, _element.setAttribute)(this.rootNode, [(0, _a11y.
|
74060
|
+
(0, _element.setAttribute)(this.rootNode, [(0, _a11y.A11Y_ROWGROUP)()]);
|
73993
74061
|
}
|
73994
74062
|
this.orderView.setSize(rowsToRender).setOffset(this.table.renderedRowToSource(0)).start();
|
73995
74063
|
for (let visibleRowIndex = 0; visibleRowIndex < rowsToRender; visibleRowIndex++) {
|
@@ -75060,8 +75128,8 @@ class Overlay {
|
|
75060
75128
|
rootDocument,
|
75061
75129
|
rootWindow
|
75062
75130
|
} = this.domBindings;
|
75063
|
-
const clone = rootDocument.createElement('
|
75064
|
-
const clonedTable = rootDocument.createElement('
|
75131
|
+
const clone = rootDocument.createElement('div');
|
75132
|
+
const clonedTable = rootDocument.createElement('table');
|
75065
75133
|
const tableParent = wtTable.wtRootElement.parentNode;
|
75066
75134
|
clone.className = `${_constants.CLONE_CLASS_NAMES.get(this.type)} handsontable`;
|
75067
75135
|
clone.setAttribute('dir', this.isRtl() ? 'rtl' : 'ltr');
|
@@ -93054,7 +93122,9 @@ function replaceData(data, setDataMapFunction, callbackFunction, config) {
|
|
93054
93122
|
hotInstance.render();
|
93055
93123
|
}
|
93056
93124
|
if (hotInstance.getSettings().ariaTags) {
|
93057
|
-
(0, _element.setAttribute)(hotInstance.rootElement, [(0, _a11y.A11Y_ROWCOUNT)(
|
93125
|
+
(0, _element.setAttribute)(hotInstance.rootElement, [(0, _a11y.A11Y_ROWCOUNT)(-1),
|
93126
|
+
// If run after initialization, add the number of row headers.
|
93127
|
+
(0, _a11y.A11Y_COLCOUNT)(hotInstance.countCols() + (hotInstance.view ? hotInstance.countRowHeaders() : 0))]);
|
93058
93128
|
}
|
93059
93129
|
}
|
93060
93130
|
|
@@ -99857,6 +99927,7 @@ exports.PasswordEditor = _passwordEditor.PasswordEditor;
|
|
99857
99927
|
exports.__esModule = true;
|
99858
99928
|
var _textEditor = __webpack_require__(668);
|
99859
99929
|
var _element = __webpack_require__(304);
|
99930
|
+
var _a11y = __webpack_require__(447);
|
99860
99931
|
const EDITOR_TYPE = exports.EDITOR_TYPE = 'password';
|
99861
99932
|
|
99862
99933
|
/**
|
@@ -99876,6 +99947,9 @@ class PasswordEditor extends _textEditor.TextEditor {
|
|
99876
99947
|
this.textareaStyle = this.TEXTAREA.style;
|
99877
99948
|
this.textareaStyle.width = 0;
|
99878
99949
|
this.textareaStyle.height = 0;
|
99950
|
+
if (this.hot.getSettings().ariaTags) {
|
99951
|
+
(0, _element.setAttribute)(this.TEXTAREA, [(0, _a11y.A11Y_HIDDEN)()]);
|
99952
|
+
}
|
99879
99953
|
(0, _element.empty)(this.TEXTAREA_PARENT);
|
99880
99954
|
this.TEXTAREA_PARENT.appendChild(this.TEXTAREA);
|
99881
99955
|
}
|
@@ -100678,7 +100752,6 @@ function createInput(rootDocument) {
|
|
100678
100752
|
const input = rootDocument.createElement('input');
|
100679
100753
|
input.className = 'htCheckboxRendererInput';
|
100680
100754
|
input.type = 'checkbox';
|
100681
|
-
input.setAttribute('autocomplete', 'off');
|
100682
100755
|
input.setAttribute('tabindex', '-1');
|
100683
100756
|
return input.cloneNode(false);
|
100684
100757
|
}
|
@@ -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}
|
31
31
|
/*!
|
32
32
|
* Pikaday
|