handsontable 0.0.0-next-c3d40ad-20241127 → 0.0.0-next-ee5ee21-20241202
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of handsontable might be problematic. Click here for more details.
- package/3rdparty/walkontable/src/overlay/bottom.js +3 -4
- package/3rdparty/walkontable/src/overlay/bottom.mjs +3 -4
- package/3rdparty/walkontable/src/overlay/inlineStart.js +5 -5
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +5 -5
- package/3rdparty/walkontable/src/overlay/top.js +6 -6
- package/3rdparty/walkontable/src/overlay/top.mjs +6 -6
- package/3rdparty/walkontable/src/overlays.js +0 -20
- package/3rdparty/walkontable/src/overlays.mjs +0 -20
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +47 -47
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +7 -7
- package/dist/handsontable.js +47 -47
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +7 -7
- package/editors/passwordEditor/passwordEditor.js +18 -0
- package/editors/passwordEditor/passwordEditor.mjs +18 -0
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/package.json +1 -1
- package/plugins/comments/comments.js +2 -2
- package/plugins/comments/comments.mjs +2 -2
- package/shortcuts/recorder.js +3 -3
- package/shortcuts/recorder.mjs +3 -3
- package/utils/autoResize.js +7 -2
- package/utils/autoResize.mjs +7 -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: 17/10/2024 (built at
|
28
|
+
* Version: 0.0.0-next-ee5ee21-20241202
|
29
|
+
* Release date: 17/10/2024 (built at 02/12/2024 12:57:05)
|
30
30
|
*/
|
31
31
|
(function webpackUniversalModuleDefinition(root, factory) {
|
32
32
|
if(typeof exports === 'object' && typeof module === 'object')
|
@@ -107,8 +107,8 @@ Handsontable.hooks = _hooks.Hooks.getSingleton();
|
|
107
107
|
Handsontable.CellCoords = _src.CellCoords;
|
108
108
|
Handsontable.CellRange = _src.CellRange;
|
109
109
|
Handsontable.packageName = 'handsontable';
|
110
|
-
Handsontable.buildDate = "
|
111
|
-
Handsontable.version = "0.0.0-next-
|
110
|
+
Handsontable.buildDate = "02/12/2024 12:57:05";
|
111
|
+
Handsontable.version = "0.0.0-next-ee5ee21-20241202";
|
112
112
|
Handsontable.languages = {
|
113
113
|
dictionaryKeys: _registry.dictionaryKeys,
|
114
114
|
getLanguageDictionary: _registry.getLanguageDictionary,
|
@@ -10009,7 +10009,7 @@ const domMessages = {
|
|
10009
10009
|
function _injectProductInfo(key, element) {
|
10010
10010
|
const hasValidType = !isEmpty(key);
|
10011
10011
|
const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
|
10012
|
-
const hotVersion = "0.0.0-next-
|
10012
|
+
const hotVersion = "0.0.0-next-ee5ee21-20241202";
|
10013
10013
|
let keyValidityDate;
|
10014
10014
|
let consoleMessageState = 'invalid';
|
10015
10015
|
let domMessageState = 'invalid';
|
@@ -22400,8 +22400,6 @@ class Overlays {
|
|
22400
22400
|
const isOverflowHidden = rootWindow.getComputedStyle(wtTable.wtRootElement.parentNode).getPropertyValue('overflow') === 'hidden';
|
22401
22401
|
this.scrollableElement = isOverflowHidden ? wtTable.holder : (0, _element.getScrollableElement)(wtTable.TABLE);
|
22402
22402
|
this.initOverlays();
|
22403
|
-
this.hasScrollbarBottom = false;
|
22404
|
-
this.hasScrollbarRight = false;
|
22405
22403
|
this.destroyed = false;
|
22406
22404
|
this.keyPressed = false;
|
22407
22405
|
this.spreaderLastSize = {
|
@@ -22879,24 +22877,6 @@ class Overlays {
|
|
22879
22877
|
// we need to adjust the hider dimensions by the header border size. (https://github.com/handsontable/dev-handsontable/issues/1772)
|
22880
22878
|
hiderStyle.width = `${proposedHiderWidth + rowHeaderBorderCompensation}px`;
|
22881
22879
|
hiderStyle.height = `${proposedHiderHeight + columnHeaderBorderCompensation}px`;
|
22882
|
-
if (this.scrollbarSize > 0) {
|
22883
|
-
// todo refactoring, looking as a part of logic which should be moved outside the class
|
22884
|
-
const {
|
22885
|
-
scrollHeight: rootElemScrollHeight,
|
22886
|
-
scrollWidth: rootElemScrollWidth
|
22887
|
-
} = wtTable.wtRootElement;
|
22888
|
-
const {
|
22889
|
-
scrollHeight: holderScrollHeight,
|
22890
|
-
scrollWidth: holderScrollWidth
|
22891
|
-
} = wtTable.holder;
|
22892
|
-
this.hasScrollbarRight = rootElemScrollHeight < holderScrollHeight;
|
22893
|
-
this.hasScrollbarBottom = rootElemScrollWidth < holderScrollWidth;
|
22894
|
-
if (this.hasScrollbarRight && wtTable.hider.scrollWidth + this.scrollbarSize > rootElemScrollWidth) {
|
22895
|
-
this.hasScrollbarBottom = true;
|
22896
|
-
} else if (this.hasScrollbarBottom && wtTable.hider.scrollHeight + this.scrollbarSize > rootElemScrollHeight) {
|
22897
|
-
this.hasScrollbarRight = true;
|
22898
|
-
}
|
22899
|
-
}
|
22900
22880
|
this.topOverlay.adjustElementsSize();
|
22901
22881
|
this.inlineStartOverlay.adjustElementsSize();
|
22902
22882
|
this.bottomOverlay.adjustElementsSize();
|
@@ -27646,14 +27626,13 @@ class BottomOverlay extends _base.Overlay {
|
|
27646
27626
|
rootDocument,
|
27647
27627
|
rootWindow
|
27648
27628
|
} = this.domBindings;
|
27649
|
-
const scrollbarWidth = (0, _element.getScrollbarWidth)(rootDocument);
|
27650
27629
|
const overlayRoot = this.clone.wtTable.holder.parentNode;
|
27651
27630
|
const overlayRootStyle = overlayRoot.style;
|
27652
27631
|
const preventOverflow = this.wtSettings.getSetting('preventOverflow');
|
27653
27632
|
if (this.trimmingContainer !== rootWindow || preventOverflow === 'horizontal') {
|
27654
27633
|
let width = wtViewport.getWorkspaceWidth();
|
27655
|
-
if (
|
27656
|
-
width -=
|
27634
|
+
if (wtViewport.hasVerticalScroll()) {
|
27635
|
+
width -= (0, _element.getScrollbarWidth)(rootDocument);
|
27657
27636
|
}
|
27658
27637
|
width = Math.min(width, wtTable.wtRootElement.scrollWidth);
|
27659
27638
|
overlayRootStyle.width = `${width}px`;
|
@@ -27662,7 +27641,7 @@ class BottomOverlay extends _base.Overlay {
|
|
27662
27641
|
}
|
27663
27642
|
this.clone.wtTable.holder.style.width = overlayRootStyle.width;
|
27664
27643
|
let tableHeight = (0, _element.outerHeight)(this.clone.wtTable.TABLE);
|
27665
|
-
if (!
|
27644
|
+
if (!wtTable.hasDefinedSize()) {
|
27666
27645
|
tableHeight = 0;
|
27667
27646
|
}
|
27668
27647
|
overlayRootStyle.height = `${tableHeight}px`;
|
@@ -28128,20 +28107,20 @@ class InlineStartOverlay extends _base.Overlay {
|
|
28128
28107
|
*/
|
28129
28108
|
adjustRootElementSize() {
|
28130
28109
|
const {
|
28131
|
-
wtTable
|
28110
|
+
wtTable,
|
28111
|
+
wtViewport
|
28132
28112
|
} = this.wot;
|
28133
28113
|
const {
|
28134
28114
|
rootDocument,
|
28135
28115
|
rootWindow
|
28136
28116
|
} = this.domBindings;
|
28137
|
-
const scrollbarHeight = (0, _element.getScrollbarWidth)(rootDocument);
|
28138
28117
|
const overlayRoot = this.clone.wtTable.holder.parentNode;
|
28139
28118
|
const overlayRootStyle = overlayRoot.style;
|
28140
28119
|
const preventOverflow = this.wtSettings.getSetting('preventOverflow');
|
28141
28120
|
if (this.trimmingContainer !== rootWindow || preventOverflow === 'vertical') {
|
28142
|
-
let height =
|
28143
|
-
if (
|
28144
|
-
height -=
|
28121
|
+
let height = wtViewport.getWorkspaceHeight();
|
28122
|
+
if (wtViewport.hasHorizontalScroll()) {
|
28123
|
+
height -= (0, _element.getScrollbarWidth)(rootDocument);
|
28145
28124
|
}
|
28146
28125
|
height = Math.min(height, wtTable.wtRootElement.scrollHeight);
|
28147
28126
|
overlayRootStyle.height = `${height}px`;
|
@@ -30493,20 +30472,20 @@ class TopOverlay extends _base.Overlay {
|
|
30493
30472
|
*/
|
30494
30473
|
adjustRootElementSize() {
|
30495
30474
|
const {
|
30496
|
-
wtTable
|
30475
|
+
wtTable,
|
30476
|
+
wtViewport
|
30497
30477
|
} = this.wot;
|
30498
30478
|
const {
|
30499
30479
|
rootDocument,
|
30500
30480
|
rootWindow
|
30501
30481
|
} = this.domBindings;
|
30502
|
-
const scrollbarWidth = (0, _element.getScrollbarWidth)(rootDocument);
|
30503
30482
|
const overlayRoot = this.clone.wtTable.holder.parentNode;
|
30504
30483
|
const overlayRootStyle = overlayRoot.style;
|
30505
30484
|
const preventOverflow = this.wtSettings.getSetting('preventOverflow');
|
30506
30485
|
if (this.trimmingContainer !== rootWindow || preventOverflow === 'horizontal') {
|
30507
|
-
let width =
|
30508
|
-
if (
|
30509
|
-
width -=
|
30486
|
+
let width = wtViewport.getWorkspaceWidth();
|
30487
|
+
if (wtViewport.hasVerticalScroll()) {
|
30488
|
+
width -= (0, _element.getScrollbarWidth)(rootDocument);
|
30510
30489
|
}
|
30511
30490
|
width = Math.min(width, wtTable.wtRootElement.scrollWidth);
|
30512
30491
|
overlayRootStyle.width = `${width}px`;
|
@@ -30515,7 +30494,7 @@ class TopOverlay extends _base.Overlay {
|
|
30515
30494
|
}
|
30516
30495
|
this.clone.wtTable.holder.style.width = overlayRootStyle.width;
|
30517
30496
|
let tableHeight = (0, _element.outerHeight)(this.clone.wtTable.TABLE);
|
30518
|
-
if (!
|
30497
|
+
if (!wtTable.hasDefinedSize()) {
|
30519
30498
|
tableHeight = 0;
|
30520
30499
|
}
|
30521
30500
|
overlayRootStyle.height = `${tableHeight}px`;
|
@@ -49009,7 +48988,7 @@ function useRecorder(ownerWindow, handleEvent, beforeKeyDown, afterKeyDown, call
|
|
49009
48988
|
// keyCode 229 aka 'uninitialized' doesn't take into account with editors. This key code is
|
49010
48989
|
// produced when unfinished character is entering using the IME editor. It is fired on macOS,
|
49011
48990
|
// Windows and linux (ubuntu) with installed ibus-pinyin package.
|
49012
|
-
if (event.keyCode === 229 ||
|
48991
|
+
if (result === false || event.keyCode === 229 || typeof event.key !== 'string' || (0, _event.isImmediatePropagationStopped)(event)) {
|
49013
48992
|
return;
|
49014
48993
|
}
|
49015
48994
|
const pressedKey = (0, _utils.normalizeEventKey)(event);
|
@@ -49033,7 +49012,7 @@ function useRecorder(ownerWindow, handleEvent, beforeKeyDown, afterKeyDown, call
|
|
49033
49012
|
* @param {KeyboardEvent} event The event object
|
49034
49013
|
*/
|
49035
49014
|
const onkeydownForModKeys = event => {
|
49036
|
-
if (event.key) {
|
49015
|
+
if (typeof event.key === 'string') {
|
49037
49016
|
const pressedKey = (0, _utils.normalizeEventKey)(event);
|
49038
49017
|
if (isModifierKey(pressedKey)) {
|
49039
49018
|
modifierKeysObserver.press(pressedKey);
|
@@ -49048,7 +49027,7 @@ function useRecorder(ownerWindow, handleEvent, beforeKeyDown, afterKeyDown, call
|
|
49048
49027
|
* @param {KeyboardEvent} event The event object
|
49049
49028
|
*/
|
49050
49029
|
const onkeyupForModKeys = event => {
|
49051
|
-
if (event.key) {
|
49030
|
+
if (typeof event.key === 'string') {
|
49052
49031
|
const pressedKey = (0, _utils.normalizeEventKey)(event);
|
49053
49032
|
if (isModifierKey(pressedKey)) {
|
49054
49033
|
modifierKeysObserver.release(pressedKey);
|
@@ -49720,6 +49699,7 @@ function getComputedStyle(element) {
|
|
49720
49699
|
* @property {number} maxWidth The maximum width of the element.
|
49721
49700
|
* @property {number} minHeight The minimum height of the element.
|
49722
49701
|
* @property {number} maxHeight The maximum height of the element.
|
49702
|
+
* @property {function(HTMLElement): string} textContent The function that returns the text content to measure.
|
49723
49703
|
*/
|
49724
49704
|
/**
|
49725
49705
|
* @typedef InputElementResizer
|
@@ -49731,14 +49711,18 @@ function getComputedStyle(element) {
|
|
49731
49711
|
* Creates an input element resizer.
|
49732
49712
|
*
|
49733
49713
|
* @param {Document} ownerDocument The document to create the resizer for.
|
49714
|
+
* @param {InputElementResizerConfig} initialOptions The configuration to extend the defaults with.
|
49734
49715
|
* @returns {InputElementResizer}
|
49735
49716
|
*/
|
49736
49717
|
function createInputElementResizer(ownerDocument) {
|
49718
|
+
let initialOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
49737
49719
|
const defaults = {
|
49738
49720
|
minHeight: 200,
|
49739
49721
|
maxHeight: 300,
|
49740
49722
|
minWidth: 100,
|
49741
|
-
maxWidth: 300
|
49723
|
+
maxWidth: 300,
|
49724
|
+
textContent: element => element.value,
|
49725
|
+
...initialOptions
|
49742
49726
|
};
|
49743
49727
|
const body = ownerDocument.body;
|
49744
49728
|
const textHolder = ownerDocument.createTextNode('');
|
@@ -49749,7 +49733,7 @@ function createInputElementResizer(ownerDocument) {
|
|
49749
49733
|
* Resizes the element.
|
49750
49734
|
*/
|
49751
49735
|
function resize() {
|
49752
|
-
textHolder.textContent = observedElement
|
49736
|
+
textHolder.textContent = defaults.textContent(observedElement);
|
49753
49737
|
// Won't expand the element size for displaying body as for example, `grid`, `inline-grid` or `flex` with
|
49754
49738
|
// `flex-direction` set as `column`.
|
49755
49739
|
textContainer.style.position = 'absolute';
|
@@ -51575,8 +51559,11 @@ exports.PasswordEditor = _passwordEditor.PasswordEditor;
|
|
51575
51559
|
"use strict";
|
51576
51560
|
|
51577
51561
|
|
51562
|
+
var _interopRequireDefault = __webpack_require__(1);
|
51578
51563
|
exports.__esModule = true;
|
51564
|
+
var _defineProperty2 = _interopRequireDefault(__webpack_require__(173));
|
51579
51565
|
var _textEditor = __webpack_require__(419);
|
51566
|
+
var _autoResize = __webpack_require__(421);
|
51580
51567
|
var _element = __webpack_require__(158);
|
51581
51568
|
const EDITOR_TYPE = exports.EDITOR_TYPE = 'password';
|
51582
51569
|
|
@@ -51585,6 +51572,19 @@ const EDITOR_TYPE = exports.EDITOR_TYPE = 'password';
|
|
51585
51572
|
* @class PasswordEditor
|
51586
51573
|
*/
|
51587
51574
|
class PasswordEditor extends _textEditor.TextEditor {
|
51575
|
+
constructor() {
|
51576
|
+
super(...arguments);
|
51577
|
+
/**
|
51578
|
+
* Autoresize instance for resizing the editor to the size of the entered text. Its overwrites the default
|
51579
|
+
* resizer of the TextEditor.
|
51580
|
+
*
|
51581
|
+
* @private
|
51582
|
+
* @type {Function}
|
51583
|
+
*/
|
51584
|
+
(0, _defineProperty2.default)(this, "autoResize", (0, _autoResize.createInputElementResizer)(this.hot.rootDocument, {
|
51585
|
+
textContent: element => '•'.repeat(element.value.length)
|
51586
|
+
}));
|
51587
|
+
}
|
51588
51588
|
static get EDITOR_TYPE() {
|
51589
51589
|
return EDITOR_TYPE;
|
51590
51590
|
}
|
@@ -60762,7 +60762,7 @@ class Comments extends _base.BasePlugin {
|
|
60762
60762
|
stopPropagation: true,
|
60763
60763
|
runOnlyIf: () => {
|
60764
60764
|
var _this$hot$getSelected;
|
60765
|
-
return (
|
60765
|
+
return (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight.isCell();
|
60766
60766
|
},
|
60767
60767
|
group: SHORTCUTS_GROUP
|
60768
60768
|
});
|
@@ -61252,7 +61252,7 @@ function _onEditorResize(width, height) {
|
|
61252
61252
|
* @param {Event} event The keydown event.
|
61253
61253
|
*/
|
61254
61254
|
function _onAfterDocumentKeyDown(event) {
|
61255
|
-
if (_classPrivateFieldGet(_editor, this).
|
61255
|
+
if (_classPrivateFieldGet(_editor, this).isFocused()) {
|
61256
61256
|
(0, _event.stopImmediatePropagation)(event);
|
61257
61257
|
}
|
61258
61258
|
}
|
@@ -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: 17/10/2024 (built at
|
28
|
+
* Version: 0.0.0-next-ee5ee21-20241202
|
29
|
+
* Release date: 17/10/2024 (built at 02/12/2024 12:57:22)
|
30
30
|
*/.handsontable .table td,.handsontable .table th{border-top:none}.handsontable tr{background:#fff}.handsontable td{background-color:inherit}.handsontable .table caption+thead tr:first-child td,.handsontable .table caption+thead tr:first-child th,.handsontable .table colgroup+thead tr:first-child td,.handsontable .table colgroup+thead tr:first-child th,.handsontable .table thead:first-child tr:first-child td,.handsontable .table thead:first-child tr:first-child th{border-top:1px solid #ccc}.handsontable .table-bordered{border:0;border-collapse:separate}.handsontable .table-bordered td,.handsontable .table-bordered th{border-left:none}.handsontable .table-bordered td:first-child,.handsontable .table-bordered th:first-child{border-left:1px solid #ccc}.handsontable .table>tbody>tr>td,.handsontable .table>tbody>tr>th,.handsontable .table>tfoot>tr>td,.handsontable .table>tfoot>tr>th,.handsontable .table>thead>tr>td,.handsontable .table>thead>tr>th{line-height:21px;padding:0}.col-lg-1.handsontable,.col-lg-10.handsontable,.col-lg-11.handsontable,.col-lg-12.handsontable,.col-lg-2.handsontable,.col-lg-3.handsontable,.col-lg-4.handsontable,.col-lg-5.handsontable,.col-lg-6.handsontable,.col-lg-7.handsontable,.col-lg-8.handsontable,.col-lg-9.handsontable,.col-md-1.handsontable,.col-md-10.handsontable,.col-md-11.handsontable,.col-md-12.handsontable,.col-md-2.handsontable,.col-md-3.handsontable,.col-md-4.handsontable,.col-md-5.handsontable,.col-md-6.handsontable,.col-md-7.handsontable,.col-md-8.handsontable,.col-md-9.handsontable .col-sm-1.handsontable,.col-sm-10.handsontable,.col-sm-11.handsontable,.col-sm-12.handsontable,.col-sm-2.handsontable,.col-sm-3.handsontable,.col-sm-4.handsontable,.col-sm-5.handsontable,.col-sm-6.handsontable,.col-sm-7.handsontable,.col-sm-8.handsontable,.col-sm-9.handsontable .col-xs-1.handsontable,.col-xs-10.handsontable,.col-xs-11.handsontable,.col-xs-12.handsontable,.col-xs-2.handsontable,.col-xs-3.handsontable,.col-xs-4.handsontable,.col-xs-5.handsontable,.col-xs-6.handsontable,.col-xs-7.handsontable,.col-xs-8.handsontable,.col-xs-9.handsontable{padding-left:0;padding-right:0}.handsontable .table-striped>tbody>tr:nth-of-type(2n){background-color:#fff}.handsontable{position:relative}.handsontable .hide{display:none}.handsontable .relative{position:relative}.handsontable .wtHider{width:0}.handsontable .wtSpreader{height:auto;position:relative;width:0}.handsontable div,.handsontable input,.handsontable table,.handsontable tbody,.handsontable td,.handsontable textarea,.handsontable th,.handsontable thead{box-sizing:content-box;-webkit-box-sizing:content-box;-moz-box-sizing:content-box}.handsontable input,.handsontable textarea{min-height:auto}.handsontable table.htCore{border-collapse:separate;border-spacing:0;border-width:0;cursor:default;margin:0;max-height:none;max-width:none;outline-width:0;table-layout:fixed;width:0}.handsontable col,.handsontable col.rowHeader{width:50px}.handsontable td,.handsontable th{background-color:#fff;border-bottom:1px solid #ccc;border-left-width:0;border-right:1px solid #ccc;border-top-width:0;empty-cells:show;height:22px;line-height:21px;outline:none;outline-width:0;overflow:hidden;padding:0 4px;vertical-align:top;white-space:pre-wrap}[dir=rtl].handsontable td,[dir=rtl].handsontable th{border-left:1px solid #ccc;border-right-width:0}.handsontable th:last-child{border-bottom:1px solid #ccc;border-left:none;border-right:1px solid #ccc}[dir=rtl].handsontable th:last-child{border-left:1px solid #ccc;border-right:none}.handsontable td:first-of-type,.handsontable th:first-child{border-left:1px solid #ccc}[dir=rtl].handsontable td:first-of-type,[dir=rtl].handsontable th:first-child{border-right:1px solid #ccc}.handsontable .ht_clone_top th:nth-child(2){border-left-width:0;border-right:1px solid #ccc}[dir=rtl].handsontable .ht_clone_top th:nth-child(2){border-left:1px solid #ccc;border-right-width:0}.handsontable.htRowHeaders thead tr th:nth-child(2){border-left:1px solid #ccc}[dir=rtl].handsontable.htRowHeaders thead tr th:nth-child(2){border-right:1px solid #ccc}.handsontable tr:first-child td,.handsontable tr:first-child th{border-top:1px solid #ccc}.ht_master:not(.innerBorderInlineStart):not(.emptyColumns) tbody tr th,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns) thead tr th:first-child,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.htGhostTable) tbody tr th,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.ht_clone_top):not(.htGhostTable) thead tr th:first-child{border-left:1px solid #ccc;border-right-width:0}[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns) tbody tr th,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns) thead tr th:first-child,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.htGhostTable) tbody tr th,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.ht_clone_top):not(.htGhostTable) thead tr th:first-child{border-left-width:0;border-right:1px solid #ccc}.ht_master:not(.innerBorderTop):not(.innerBorderBottom) thead tr.lastChild th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom) thead tr:last-child th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom)~.handsontable thead tr.lastChild th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom)~.handsontable thead tr:last-child th{border-bottom-width:0}.handsontable th{background-color:#f0f0f0;color:#222;font-weight:400;text-align:center;white-space:nowrap}.handsontable thead th{padding:0}.handsontable th.active{background-color:#ccc}.handsontable thead th .relative{padding:2px 4px}.handsontable span.colHeader{display:inline-block;line-height:1.1}.handsontable .wtBorder{font-size:0;position:absolute}.handsontable .wtBorder.hidden{display:none!important}.handsontable .wtBorder.current{z-index:10}.handsontable .wtBorder.area{z-index:8}.handsontable .wtBorder.fill{z-index:6}.handsontable .wtBorder.corner{cursor:crosshair;font-size:0}.ht_clone_master{z-index:100}.ht_clone_inline_start{z-index:120}.ht_clone_bottom{z-index:130}.ht_clone_bottom_inline_start_corner{z-index:150}.ht_clone_top{z-index:160}.ht_clone_top_inline_start_corner{z-index:180}.handsontable col.hidden{width:0!important}.handsontable tr.hidden,.handsontable tr.hidden td,.handsontable tr.hidden th{display:none}.ht_clone_bottom,.ht_clone_inline_start,.ht_clone_top,.ht_master{overflow:hidden}.ht_master .wtHolder{overflow:auto}.handsontable .ht_clone_inline_start table.htCore>thead,.handsontable .ht_master table.htCore>tbody>tr>th,.handsontable .ht_master table.htCore>thead{visibility:hidden}.ht_clone_bottom .wtHolder,.ht_clone_inline_start .wtHolder,.ht_clone_top .wtHolder{overflow:hidden}.handsontable{color:#373737;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:13px;font-weight:400;touch-action:manipulation}.handsontable a{color:#104acc}.handsontable.htAutoSize{left:-99000px;position:absolute;top:-99000px;visibility:hidden}.handsontable td.htInvalid{background-color:#ffbeba!important}.handsontable td.htNoWrap{white-space:nowrap}.handsontable td.invisibleSelection,.handsontable th.invisibleSelection{outline:none}.handsontable td.invisibleSelection::selection,.handsontable th.invisibleSelection::selection{background:hsla(0,0%,100%,0)}.hot-display-license-info{color:#373737;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:10px;font-weight:400;padding:5px 0 3px;text-align:left}.hot-display-license-info a{color:#104acc;font-size:10px}.handsontable .htFocusCatcher{border:0;height:0;margin:0;opacity:0;padding:0;position:absolute;width:0;z-index:-1}.handsontable .manualColumnResizer{cursor:col-resize;height:25px;position:absolute;top:0;width:5px;z-index:210}.handsontable .manualRowResizer{cursor:row-resize;height:5px;left:0;position:absolute;width:50px;z-index:210}.handsontable .manualColumnResizer.active,.handsontable .manualColumnResizer:hover,.handsontable .manualRowResizer.active,.handsontable .manualRowResizer:hover{background-color:#34a9db}.handsontable .manualColumnResizerGuide{background-color:#34a9db;border-left:none;border-right:1px dashed #777;display:none;margin-left:5px;margin-right:unset;position:absolute;right:unset;top:0;width:0}[dir=rtl].handsontable .manualColumnResizerGuide{border-left:1px dashed #777;border-right:none;left:unset;margin-left:unset;margin-right:5px}.handsontable .manualRowResizerGuide{background-color:#34a9db;border-bottom:1px dashed #777;bottom:0;display:none;height:0;left:0;margin-top:5px;position:absolute}.handsontable .manualColumnResizerGuide.active,.handsontable .manualRowResizerGuide.active{display:block;z-index:209}.handsontable td.area,.handsontable td.area-1,.handsontable td.area-2,.handsontable td.area-3,.handsontable td.area-4,.handsontable td.area-5,.handsontable td.area-6,.handsontable td.area-7{position:relative}.handsontable td.area-1:before,.handsontable td.area-2:before,.handsontable td.area-3:before,.handsontable td.area-4:before,.handsontable td.area-5:before,.handsontable td.area-6:before,.handsontable td.area-7:before,.handsontable td.area:before{background:#005eff;bottom:0;content:"";left:0;position:absolute;right:0;top:0}.handsontable td.area:before{opacity:.1}.handsontable td.area-1:before{opacity:.2}.handsontable td.area-2:before{opacity:.27}.handsontable td.area-3:before{opacity:.35}.handsontable td.area-4:before{opacity:.41}.handsontable td.area-5:before{opacity:.47}.handsontable td.area-6:before{opacity:.54}.handsontable td.area-7:before{opacity:.58}.handsontable tbody th.current,.handsontable thead th.current{box-shadow:inset 0 0 0 2px #4b89ff}.handsontable tbody th.ht__highlight,.handsontable thead th.ht__highlight{background-color:#dcdcdc}.handsontable tbody th.ht__active_highlight,.handsontable thead th.ht__active_highlight{background-color:#8eb0e7;color:#000}.handsontableInput{background-color:#fff;border:none;border-radius:0;box-shadow:inset 0 0 0 2px #5292f7;color:#000;display:block;font-family:inherit;font-size:inherit;line-height:21px;margin:0;outline-width:0;padding:1px 5px 0;resize:none}.handsontableInput:focus{outline:none}.handsontableInputHolder{left:0;position:absolute;top:0}.htSelectEditor{-webkit-appearance:menulist-button!important;border:2px solid #4b89ff;position:absolute;width:auto}.htSelectEditor:focus{outline:none}.handsontable .htDimmed{color:#777}.handsontable .htSubmenu{position:relative}.handsontable .htSubmenu :after{color:#777;content:"▶";font-size:9px;position:absolute;right:5px}[dir=rtl].handsontable .htSubmenu :after{content:""}[dir=rtl].handsontable .htSubmenu :before{color:#777;content:"◀";font-size:9px;left:5px;position:absolute}.handsontable .htLeft{text-align:left}.handsontable .htCenter{text-align:center}.handsontable .htRight{text-align:right}.handsontable .htJustify{text-align:justify}.handsontable .htTop{vertical-align:top}.handsontable .htMiddle{vertical-align:middle}.handsontable .htBottom{vertical-align:bottom}.handsontable .htPlaceholder{color:#999}.handsontable.listbox{margin:0}.handsontable.listbox .ht_master table{background:#fff;border:1px solid #ccc;border-collapse:separate}.handsontable.listbox td,.handsontable.listbox th,.handsontable.listbox tr:first-child td,.handsontable.listbox tr:first-child th,.handsontable.listbox tr:last-child th{border-color:transparent!important}.handsontable.listbox td,.handsontable.listbox th{text-overflow:ellipsis;white-space:nowrap}.handsontable.listbox td.htDimmed{color:inherit;cursor:default;font-style:inherit}.handsontable.listbox .wtBorder{visibility:hidden}.handsontable.listbox tr td.current,.handsontable.listbox tr:hover td{background:#eee}.ht_editor_hidden{z-index:-1}.ht_editor_visible{z-index:200}.handsontable td.htSearchResult{background:#fcedd9;color:#583707}.handsontable.mobile,.handsontable.mobile .wtHolder{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-overflow-scrolling:touch}.handsontable.mobile .handsontableInput:focus{-webkit-appearance:none;-webkit-box-shadow:inset 0 0 0 2px #5292f7;-moz-box-shadow:inset 0 0 0 2px #5292f7;box-shadow:inset 0 0 0 2px #5292f7}.handsontable .bottomSelectionHandle,.handsontable .bottomSelectionHandle-HitArea,.handsontable .topSelectionHandle,.handsontable .topSelectionHandle-HitArea{left:-10000px;right:unset;top:-10000px;z-index:9999}[dir=rtl].handsontable .bottomSelectionHandle,[dir=rtl].handsontable .bottomSelectionHandle-HitArea,[dir=rtl].handsontable .topSelectionHandle,[dir=rtl].handsontable .topSelectionHandle-HitArea{left:unset;right:-10000px}.handsontable.hide-tween{-webkit-animation:opacity-hide .3s;animation:opacity-hide .3s;animation-fill-mode:forwards;-webkit-animation-fill-mode:forwards}.handsontable.show-tween{-webkit-animation:opacity-show .3s;animation:opacity-show .3s;animation-fill-mode:forwards;-webkit-animation-fill-mode:forwards}.handsontable .htAutocompleteArrow{color:#bbb;cursor:default;float:right;font-size:10px;text-align:center;width:16px}[dir=rtl].handsontable .htAutocompleteArrow{float:left}.handsontable td.htInvalid .htAutocompleteArrow{color:#555}.handsontable td.htInvalid .htAutocompleteArrow:hover{color:#1a1a1a}.handsontable td .htAutocompleteArrow:hover{color:#777}.handsontable td.area .htAutocompleteArrow{color:#d3d3d3}.handsontable .htCheckboxRendererInput{display:inline-block}.handsontable .htCheckboxRendererInput.noValue{opacity:.5}.handsontable .htCheckboxRendererLabel{cursor:pointer;display:inline-block;font-size:inherit;vertical-align:middle}.handsontable .htCheckboxRendererLabel.fullWidth{width:100%}.handsontable .collapsibleIndicator{background:#eee;border:1px solid #a6a6a6;border-radius:10px;-webkit-box-shadow:0 0 0 6px #eee;-moz-box-shadow:0 0 0 6px #eee;box-shadow:0 0 0 3px #eee;color:#222;cursor:pointer;font-size:10px;height:10px;left:unset;line-height:8px;position:absolute;right:5px;text-align:center;top:50%;transform:translateY(-50%);width:10px}[dir=rtl].handsontable .collapsibleIndicator{left:5px;right:unset}.handsontable[dir=ltr] thead th:has(.collapsibleIndicator) div.htRight span.colHeader{margin-right:20px}.handsontable[dir=rtl] thead th:has(.collapsibleIndicator) div.htLeft span.colHeader{margin-left:20px}.handsontable .columnSorting{position:relative}.handsontable[dir=ltr] div.htRight span[class*=ascending],.handsontable[dir=ltr] div.htRight span[class*=descending]{margin-left:-10px;margin-right:10px}.handsontable[dir=rtl] div.htLeft span[class*=ascending],.handsontable[dir=rtl] div.htLeft span[class*=descending]{margin-left:10px;margin-right:-10px}.handsontable[dir=ltr] div.htRight span[class*=ascending]:only-child,.handsontable[dir=ltr] div.htRight span[class*=descending]:only-child{margin-left:-15px;margin-right:15px}.handsontable[dir=rtl] div.htLeft span[class*=ascending]:only-child,.handsontable[dir=rtl] div.htLeft span[class*=descending]:only-child{margin-left:15px;margin-right:-15px}.handsontable .columnSorting.sortAction:hover{cursor:pointer;text-decoration:underline}.handsontable span.colHeader.columnSorting:before{background-position-x:right;background-repeat:no-repeat;background-size:contain;content:"";height:10px;left:unset;margin-top:-6px;padding-left:8px;padding-right:0;position:absolute;right:-9px;top:50%;width:5px}[dir=rtl].handsontable span.colHeader.columnSorting:before{background-position-x:left;left:-9px;padding-left:0;padding-right:8px;right:unset}.handsontable span.colHeader.columnSorting.ascending:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAoCAMAAADJ7yrpAAAAKlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKE86IAAAADXRSTlMABBEmRGprlJW72e77tTkTKwAAAFNJREFUeAHtzjkSgCAUBNHPgsoy97+ulGXRqJE5L+xkxoYt2UdsLb5bqFINz+aLuuLn5rIu2RkO3fZpWENimNgiw6iBYRTPMLJjGFxQZ1hxxb/xBI1qC8k39CdKAAAAAElFTkSuQmCC)}.handsontable span.colHeader.columnSorting.descending:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAoCAMAAADJ7yrpAAAAKlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKE86IAAAADXRSTlMABBEmRGprlJW72e77tTkTKwAAAFJJREFUeAHtzjkSgCAQRNFmQYUZ7n9dKUvru0TmvPAn3br0QfgdZ5xx6x+rQn23GqTYnq1FDcnuzZIO2WmedVqIRVxgGKEyjNgYRjKGkZ1hFIZ3I70LyM0VtU8AAAAASUVORK5CYII=)}.htGhostTable .htCore span.colHeader.columnSorting:not(.indicatorDisabled):before{content:"*";display:inline-block;padding-right:20px;position:relative}.handsontable .htCommentCell{position:relative}.handsontable .htCommentCell:after{border-left:6px solid transparent;border-right:none;border-top:6px solid #000;content:"";left:unset;position:absolute;right:0;top:0}[dir=rtl].handsontable .htCommentCell:after{border-left:none;border-right:6px solid transparent;left:0;right:unset}.htCommentsContainer .htComments{display:none;position:absolute;z-index:1059}.htCommentsContainer .htCommentTextArea{-webkit-appearance:none;background-color:#fff;border:none;border-left:3px solid #ccc;box-shadow:0 1px 3px rgba(0,0,0,.118),0 1px 2px rgba(0,0,0,.239);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-size:12px;height:90px;outline:0!important;padding:5px;width:215px}[dir=rtl].htCommentsContainer .htCommentTextArea{border-left:none;border-right:3px solid #ccc}.htCommentsContainer .htCommentTextArea:focus{border-left:3px solid #5292f7;border-right:none;box-shadow:0 1px 3px rgba(0,0,0,.118),0 1px 2px rgba(0,0,0,.239),inset 0 0 0 1px #5292f7}[dir=rtl].htCommentsContainer .htCommentTextArea:focus{border-left:none;border-right:3px solid #5292f7}
|
31
31
|
/*!
|
32
32
|
* Handsontable ContextMenu
|