handsontable 0.0.0-next-c3d199b-20230626 → 0.0.0-next-208afb8-20230627

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/base.js CHANGED
@@ -44,8 +44,8 @@ Handsontable.hooks = _pluginHooks.default.getSingleton();
44
44
  Handsontable.CellCoords = _src.CellCoords;
45
45
  Handsontable.CellRange = _src.CellRange;
46
46
  Handsontable.packageName = 'handsontable';
47
- Handsontable.buildDate = "26/06/2023 11:06:22";
48
- Handsontable.version = "0.0.0-next-c3d199b-20230626";
47
+ Handsontable.buildDate = "27/06/2023 13:48:19";
48
+ Handsontable.version = "0.0.0-next-208afb8-20230627";
49
49
  Handsontable.languages = {
50
50
  dictionaryKeys: _registry.dictionaryKeys,
51
51
  getLanguageDictionary: _registry.getLanguageDictionary,
package/base.mjs CHANGED
@@ -35,8 +35,8 @@ Handsontable.hooks = Hooks.getSingleton();
35
35
  Handsontable.CellCoords = CellCoords;
36
36
  Handsontable.CellRange = CellRange;
37
37
  Handsontable.packageName = 'handsontable';
38
- Handsontable.buildDate = "26/06/2023 11:06:37";
39
- Handsontable.version = "0.0.0-next-c3d199b-20230626";
38
+ Handsontable.buildDate = "27/06/2023 13:48:38";
39
+ Handsontable.version = "0.0.0-next-208afb8-20230627";
40
40
  Handsontable.languages = {
41
41
  dictionaryKeys: dictionaryKeys,
42
42
  getLanguageDictionary: getLanguageDictionary,
package/core.d.ts CHANGED
@@ -131,6 +131,7 @@ export default class Core {
131
131
  rowIndexMapper: IndexMapper;
132
132
  runHooks(key: keyof Events, p1?: any, p2?: any, p3?: any, p4?: any, p5?: any, p6?: any): any;
133
133
  scrollViewportTo(row?: number, column?: number, snapToBottom?: boolean, snapToRight?: boolean, considerHiddenIndexes?: boolean): boolean;
134
+ scrollToFocusedCell(callback?: () => void): void;
134
135
  selectAll(includeRowHeaders?: boolean, includeColumnHeaders?: boolean, focusPosition?: { row?: number, col?: number }): void;
135
136
  selectCell(row: number, col: number, endRow?: number, endCol?: number, scrollToCell?: boolean, changeListener?: boolean): boolean;
136
137
  selectCellByProp(row: number, prop: string, endRow?: number, endProp?: string, scrollToCell?: boolean): boolean;
package/core.js CHANGED
@@ -3738,7 +3738,7 @@ function Core(rootElement, userSettings) {
3738
3738
  /**
3739
3739
  * Returns the number of rendered row headers.
3740
3740
  *
3741
- * @since 13.0.0
3741
+ * @since 14.0.0
3742
3742
  * @memberof Core#
3743
3743
  * @function countRowHeaders
3744
3744
  * @returns {number} Number of row headers.
@@ -3750,7 +3750,7 @@ function Core(rootElement, userSettings) {
3750
3750
  /**
3751
3751
  * Returns the number of rendered column headers.
3752
3752
  *
3753
- * @since 13.0.0
3753
+ * @since 14.0.0
3754
3754
  * @memberof Core#
3755
3755
  * @function countColHeaders
3756
3756
  * @returns {number} Number of column headers.
@@ -4124,6 +4124,35 @@ function Core(rootElement, userSettings) {
4124
4124
  return false;
4125
4125
  };
4126
4126
 
4127
+ /**
4128
+ * Scrolls the viewport to coordinates specified by the currently focused cell.
4129
+ *
4130
+ * @since 14.0.0
4131
+ * @memberof Core#
4132
+ * @function scrollToFocusedCell
4133
+ * @param {Function} callback The callback function to call after the viewport is scrolled.
4134
+ */
4135
+ this.scrollToFocusedCell = function () {
4136
+ var callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function () {};
4137
+ if (!this.selection.isSelected()) {
4138
+ return;
4139
+ }
4140
+ this.addHookOnce('afterScroll', callback);
4141
+ var _this$getSelectedRang = this.getSelectedRangeLast(),
4142
+ highlight = _this$getSelectedRang.highlight;
4143
+ var renderableRowIndex = this.rowIndexMapper.getRenderableFromVisualIndex(highlight.row);
4144
+ var renderableColumnIndex = this.columnIndexMapper.getRenderableFromVisualIndex(highlight.col);
4145
+ var isScrolled = this.view.scrollViewport(this._createCellCoords(renderableRowIndex, renderableColumnIndex));
4146
+ if (isScrolled) {
4147
+ this.view.render();
4148
+ } else {
4149
+ this.removeHook('afterScroll', callback);
4150
+ this._registerImmediate(function () {
4151
+ return callback();
4152
+ });
4153
+ }
4154
+ };
4155
+
4127
4156
  /**
4128
4157
  * Removes the table from the DOM and destroys the instance of the Handsontable.
4129
4158
  *
package/core.mjs CHANGED
@@ -3733,7 +3733,7 @@ export default function Core(rootElement, userSettings) {
3733
3733
  /**
3734
3734
  * Returns the number of rendered row headers.
3735
3735
  *
3736
- * @since 13.0.0
3736
+ * @since 14.0.0
3737
3737
  * @memberof Core#
3738
3738
  * @function countRowHeaders
3739
3739
  * @returns {number} Number of row headers.
@@ -3745,7 +3745,7 @@ export default function Core(rootElement, userSettings) {
3745
3745
  /**
3746
3746
  * Returns the number of rendered column headers.
3747
3747
  *
3748
- * @since 13.0.0
3748
+ * @since 14.0.0
3749
3749
  * @memberof Core#
3750
3750
  * @function countColHeaders
3751
3751
  * @returns {number} Number of column headers.
@@ -4119,6 +4119,35 @@ export default function Core(rootElement, userSettings) {
4119
4119
  return false;
4120
4120
  };
4121
4121
 
4122
+ /**
4123
+ * Scrolls the viewport to coordinates specified by the currently focused cell.
4124
+ *
4125
+ * @since 14.0.0
4126
+ * @memberof Core#
4127
+ * @function scrollToFocusedCell
4128
+ * @param {Function} callback The callback function to call after the viewport is scrolled.
4129
+ */
4130
+ this.scrollToFocusedCell = function () {
4131
+ var callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function () {};
4132
+ if (!this.selection.isSelected()) {
4133
+ return;
4134
+ }
4135
+ this.addHookOnce('afterScroll', callback);
4136
+ var _this$getSelectedRang = this.getSelectedRangeLast(),
4137
+ highlight = _this$getSelectedRang.highlight;
4138
+ var renderableRowIndex = this.rowIndexMapper.getRenderableFromVisualIndex(highlight.row);
4139
+ var renderableColumnIndex = this.columnIndexMapper.getRenderableFromVisualIndex(highlight.col);
4140
+ var isScrolled = this.view.scrollViewport(this._createCellCoords(renderableRowIndex, renderableColumnIndex));
4141
+ if (isScrolled) {
4142
+ this.view.render();
4143
+ } else {
4144
+ this.removeHook('afterScroll', callback);
4145
+ this._registerImmediate(function () {
4146
+ return callback();
4147
+ });
4148
+ }
4149
+ };
4150
+
4122
4151
  /**
4123
4152
  * Removes the table from the DOM and destroys the instance of the Handsontable.
4124
4153
  *
@@ -3115,7 +3115,7 @@ var _default = function _default() {
3115
3115
  /**
3116
3116
  * When set to `true`, the `navigableHeaders` option lets you navigate [row headers](@/guides/rows/row-header.md) and [column headers](@/guides/columns/column-header.md), using the arrow keys or the <kbd>**Tab**</kbd> key (if the [`disableTabNavigation`](#disabletabnavigation) option is set to `false`).
3117
3117
  *
3118
- * @since 13.0.0
3118
+ * @since 14.0.0
3119
3119
  * @memberof Options#
3120
3120
  * @type {boolean}
3121
3121
  * @default false
@@ -3111,7 +3111,7 @@ export default (function () {
3111
3111
  /**
3112
3112
  * When set to `true`, the `navigableHeaders` option lets you navigate [row headers](@/guides/rows/row-header.md) and [column headers](@/guides/columns/column-header.md), using the arrow keys or the <kbd>**Tab**</kbd> key (if the [`disableTabNavigation`](#disabletabnavigation) option is set to `false`).
3113
3113
  *
3114
- * @since 13.0.0
3114
+ * @since 14.0.0
3115
3115
  * @memberof Options#
3116
3116
  * @type {boolean}
3117
3117
  * @default false
@@ -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-c3d199b-20230626
29
- * Release date: 23/05/2023 (built at 26/06/2023 11:06:49)
28
+ * Version: 0.0.0-next-208afb8-20230627
29
+ * Release date: 23/05/2023 (built at 27/06/2023 13:48:55)
30
30
  */
31
31
  /**
32
32
  * Fix for bootstrap styles
@@ -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-c3d199b-20230626
29
- * Release date: 23/05/2023 (built at 26/06/2023 11:06:49)
28
+ * Version: 0.0.0-next-208afb8-20230627
29
+ * Release date: 23/05/2023 (built at 27/06/2023 13:48:55)
30
30
  */
31
31
  /**
32
32
  * Fix for bootstrap styles
@@ -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-c3d199b-20230626
29
- * Release date: 23/05/2023 (built at 26/06/2023 11:06:49)
28
+ * Version: 0.0.0-next-208afb8-20230627
29
+ * Release date: 23/05/2023 (built at 27/06/2023 13:48:55)
30
30
  */
31
31
  (function webpackUniversalModuleDefinition(root, factory) {
32
32
  if(typeof exports === 'object' && typeof module === 'object')
@@ -3083,7 +3083,7 @@ var domMessages = {
3083
3083
  function _injectProductInfo(key, element) {
3084
3084
  var hasValidType = !isEmpty(key);
3085
3085
  var isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
3086
- var hotVersion = "0.0.0-next-c3d199b-20230626";
3086
+ var hotVersion = "0.0.0-next-208afb8-20230627";
3087
3087
  var keyValidityDate;
3088
3088
  var consoleMessageState = 'invalid';
3089
3089
  var domMessageState = 'invalid';
@@ -6727,6 +6727,13 @@ var REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-sen
6727
6727
  * @event Hooks#afterScrollVertically
6728
6728
  */
6729
6729
  'afterScrollVertically',
6730
+ /**
6731
+ * Fired after the vertical or horizontal scroll event.
6732
+ *
6733
+ * @since 14.0.0
6734
+ * @event Hooks#afterScroll
6735
+ */
6736
+ 'afterScroll',
6730
6737
  /**
6731
6738
  * Fired after one or more cells are selected (e.g. During mouse move).
6732
6739
  *
@@ -6833,7 +6840,7 @@ var REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-sen
6833
6840
  /**
6834
6841
  * Fired before one or more columns are selected (e.g. During mouse header click or {@link Core#selectColumns} API call).
6835
6842
  *
6836
- * @since 13.0.0
6843
+ * @since 14.0.0
6837
6844
  * @event Hooks#beforeSelectColumns
6838
6845
  * @param {CellCoords} from Selection start coords object.
6839
6846
  * @param {CellCoords} to Selection end coords object.
@@ -6867,7 +6874,7 @@ var REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-sen
6867
6874
  /**
6868
6875
  * Fired after one or more columns are selected (e.g. During mouse header click or {@link Core#selectColumns} API call).
6869
6876
  *
6870
- * @since 13.0.0
6877
+ * @since 14.0.0
6871
6878
  * @event Hooks#afterSelectColumns
6872
6879
  * @param {CellCoords} from Selection start coords object.
6873
6880
  * @param {CellCoords} to Selection end coords object.
@@ -6877,7 +6884,7 @@ var REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-sen
6877
6884
  /**
6878
6885
  * Fired before one or more rows are selected (e.g. During mouse header click or {@link Core#selectRows} API call).
6879
6886
  *
6880
- * @since 13.0.0
6887
+ * @since 14.0.0
6881
6888
  * @event Hooks#beforeSelectRows
6882
6889
  * @param {CellCoords} from Selection start coords object.
6883
6890
  * @param {CellCoords} to Selection end coords object.
@@ -6911,7 +6918,7 @@ var REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-sen
6911
6918
  /**
6912
6919
  * Fired after one or more rows are selected (e.g. During mouse header click or {@link Core#selectRows} API call).
6913
6920
  *
6914
- * @since 13.0.0
6921
+ * @since 14.0.0
6915
6922
  * @event Hooks#afterSelectRows
6916
6923
  * @param {CellCoords} from Selection start coords object.
6917
6924
  * @param {CellCoords} to Selection end coords object.
@@ -35974,13 +35981,7 @@ var EditorManager = /*#__PURE__*/function () {
35974
35981
  return;
35975
35982
  }
35976
35983
  if (!this.activeEditor) {
35977
- var _this$instance$getSel2 = this.instance.getSelectedRangeLast().highlight,
35978
- row = _this$instance$getSel2.row,
35979
- col = _this$instance$getSel2.col;
35980
- var renderableRowIndex = this.instance.rowIndexMapper.getRenderableFromVisualIndex(row);
35981
- var renderableColumnIndex = this.instance.columnIndexMapper.getRenderableFromVisualIndex(col);
35982
- this.instance.view.scrollViewport(this.instance._createCellCoords(renderableRowIndex, renderableColumnIndex));
35983
- this.instance.view.render();
35984
+ this.instance.scrollToFocusedCell();
35984
35985
  this.prepareEditor();
35985
35986
  }
35986
35987
  if (this.activeEditor) {
@@ -36055,9 +36056,9 @@ var EditorManager = /*#__PURE__*/function () {
36055
36056
  key: "isCellEditable",
36056
36057
  value: function isCellEditable() {
36057
36058
  var editorClass = this.instance.getCellEditor(this.cellProperties);
36058
- var _this$instance$getSel3 = this.instance.getSelectedRangeLast().highlight,
36059
- row = _this$instance$getSel3.row,
36060
- col = _this$instance$getSel3.col;
36059
+ var _this$instance$getSel2 = this.instance.getSelectedRangeLast().highlight,
36060
+ row = _this$instance$getSel2.row,
36061
+ col = _this$instance$getSel2.col;
36061
36062
  var _this$instance = this.instance,
36062
36063
  rowIndexMapper = _this$instance.rowIndexMapper,
36063
36064
  columnIndexMapper = _this$instance.columnIndexMapper;
@@ -66736,7 +66737,7 @@ function Core(rootElement, userSettings) {
66736
66737
  /**
66737
66738
  * Returns the number of rendered row headers.
66738
66739
  *
66739
- * @since 13.0.0
66740
+ * @since 14.0.0
66740
66741
  * @memberof Core#
66741
66742
  * @function countRowHeaders
66742
66743
  * @returns {number} Number of row headers.
@@ -66748,7 +66749,7 @@ function Core(rootElement, userSettings) {
66748
66749
  /**
66749
66750
  * Returns the number of rendered column headers.
66750
66751
  *
66751
- * @since 13.0.0
66752
+ * @since 14.0.0
66752
66753
  * @memberof Core#
66753
66754
  * @function countColHeaders
66754
66755
  * @returns {number} Number of column headers.
@@ -67122,6 +67123,35 @@ function Core(rootElement, userSettings) {
67122
67123
  return false;
67123
67124
  };
67124
67125
 
67126
+ /**
67127
+ * Scrolls the viewport to coordinates specified by the currently focused cell.
67128
+ *
67129
+ * @since 14.0.0
67130
+ * @memberof Core#
67131
+ * @function scrollToFocusedCell
67132
+ * @param {Function} callback The callback function to call after the viewport is scrolled.
67133
+ */
67134
+ this.scrollToFocusedCell = function () {
67135
+ var callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function () {};
67136
+ if (!this.selection.isSelected()) {
67137
+ return;
67138
+ }
67139
+ this.addHookOnce('afterScroll', callback);
67140
+ var _this$getSelectedRang = this.getSelectedRangeLast(),
67141
+ highlight = _this$getSelectedRang.highlight;
67142
+ var renderableRowIndex = this.rowIndexMapper.getRenderableFromVisualIndex(highlight.row);
67143
+ var renderableColumnIndex = this.columnIndexMapper.getRenderableFromVisualIndex(highlight.col);
67144
+ var isScrolled = this.view.scrollViewport(this._createCellCoords(renderableRowIndex, renderableColumnIndex));
67145
+ if (isScrolled) {
67146
+ this.view.render();
67147
+ } else {
67148
+ this.removeHook('afterScroll', callback);
67149
+ this._registerImmediate(function () {
67150
+ return callback();
67151
+ });
67152
+ }
67153
+ };
67154
+
67125
67155
  /**
67126
67156
  * Removes the table from the DOM and destroys the instance of the Handsontable.
67127
67157
  *
@@ -79122,7 +79152,7 @@ var _default = function _default() {
79122
79152
  /**
79123
79153
  * When set to `true`, the `navigableHeaders` option lets you navigate [row headers](@/guides/rows/row-header.md) and [column headers](@/guides/columns/column-header.md), using the arrow keys or the <kbd>**Tab**</kbd> key (if the [`disableTabNavigation`](#disabletabnavigation) option is set to `false`).
79124
79154
  *
79125
- * @since 13.0.0
79155
+ * @since 14.0.0
79126
79156
  * @memberof Options#
79127
79157
  * @type {boolean}
79128
79158
  * @default false
@@ -82644,6 +82674,7 @@ var SHORTCUTS_CONTEXT_NAME = "plugin:".concat(PLUGIN_KEY);
82644
82674
  var _editor = /*#__PURE__*/new WeakMap();
82645
82675
  var _displaySwitch = /*#__PURE__*/new WeakMap();
82646
82676
  var _preventEditorAutoSwitch = /*#__PURE__*/new WeakMap();
82677
+ var _preventEditorHiding = /*#__PURE__*/new WeakMap();
82647
82678
  var _tempEditorDimensions = /*#__PURE__*/new WeakMap();
82648
82679
  var _cellBelowCursor = /*#__PURE__*/new WeakMap();
82649
82680
  var _commentValueBeforeSave = /*#__PURE__*/new WeakMap();
@@ -82700,6 +82731,17 @@ var Comments = /*#__PURE__*/function (_BasePlugin) {
82700
82731
  writable: true,
82701
82732
  value: false
82702
82733
  });
82734
+ /**
82735
+ * Prevents hiding editor when the table viewport is scrolled and that scroll is triggered by the
82736
+ * keyboard shortcut that insert or edits the comment.
82737
+ *
82738
+ * @private
82739
+ * @type {boolean}
82740
+ */
82741
+ _classPrivateFieldInitSpec((0, _assertThisInitialized2.default)(_this), _preventEditorHiding, {
82742
+ writable: true,
82743
+ value: false
82744
+ });
82703
82745
  /**
82704
82746
  * The property for holding editor dimensions for further processing.
82705
82747
  *
@@ -82770,11 +82812,8 @@ var Comments = /*#__PURE__*/function (_BasePlugin) {
82770
82812
  this.addHook('afterRenderer', function (TD, row, col, prop, value, cellProperties) {
82771
82813
  return _this2.onAfterRenderer(TD, cellProperties);
82772
82814
  });
82773
- this.addHook('afterScrollHorizontally', function () {
82774
- return _this2.hide();
82775
- });
82776
- this.addHook('afterScrollVertically', function () {
82777
- return _this2.hide();
82815
+ this.addHook('afterScroll', function () {
82816
+ return _this2.onAfterScroll();
82778
82817
  });
82779
82818
  this.addHook('afterBeginEditing', function () {
82780
82819
  return _this2.hide();
@@ -82832,10 +82871,16 @@ var Comments = /*#__PURE__*/function (_BasePlugin) {
82832
82871
  keys: [['Control', 'Alt', 'M']],
82833
82872
  callback: function callback() {
82834
82873
  var range = _this3.hot.getSelectedRangeLast();
82835
- _this3.setRange(range);
82836
- _this3.show();
82837
- _this3.focusEditor();
82838
- manager.setActiveContextName(SHORTCUTS_CONTEXT_NAME);
82874
+ (0, _classPrivateFieldSet2.default)(_this3, _preventEditorHiding, true);
82875
+ _this3.hot.scrollToFocusedCell(function () {
82876
+ _this3.setRange(range);
82877
+ _this3.show();
82878
+ _this3.focusEditor();
82879
+ manager.setActiveContextName(SHORTCUTS_CONTEXT_NAME);
82880
+ _this3.hot._registerTimeout(function () {
82881
+ (0, _classPrivateFieldSet2.default)(_this3, _preventEditorHiding, false);
82882
+ });
82883
+ });
82839
82884
  },
82840
82885
  stopPropagation: true,
82841
82886
  runOnlyIf: function runOnlyIf() {
@@ -83397,6 +83442,17 @@ var Comments = /*#__PURE__*/function (_BasePlugin) {
83397
83442
  }
83398
83443
  }
83399
83444
 
83445
+ /**
83446
+ * Observes the changes in the scroll position if triggered it hides the comment editor.
83447
+ */
83448
+ }, {
83449
+ key: "onAfterScroll",
83450
+ value: function onAfterScroll() {
83451
+ if (!(0, _classPrivateFieldGet3.default)(this, _preventEditorHiding)) {
83452
+ this.hide();
83453
+ }
83454
+ }
83455
+
83400
83456
  /**
83401
83457
  * Add Comments plugin options to the Context Menu.
83402
83458
  *
@@ -94041,8 +94097,8 @@ Handsontable.hooks = _pluginHooks.default.getSingleton();
94041
94097
  Handsontable.CellCoords = _src.CellCoords;
94042
94098
  Handsontable.CellRange = _src.CellRange;
94043
94099
  Handsontable.packageName = 'handsontable';
94044
- Handsontable.buildDate = "26/06/2023 11:06:49";
94045
- Handsontable.version = "0.0.0-next-c3d199b-20230626";
94100
+ Handsontable.buildDate = "27/06/2023 13:48:55";
94101
+ Handsontable.version = "0.0.0-next-208afb8-20230627";
94046
94102
  Handsontable.languages = {
94047
94103
  dictionaryKeys: _registry.dictionaryKeys,
94048
94104
  getLanguageDictionary: _registry.getLanguageDictionary,
@@ -96361,10 +96417,12 @@ var TableView = /*#__PURE__*/function () {
96361
96417
  return _this2.afterRender(force);
96362
96418
  },
96363
96419
  onScrollVertically: function onScrollVertically() {
96364
- return _this2.instance.runHooks('afterScrollVertically');
96420
+ _this2.instance.runHooks('afterScrollVertically');
96421
+ _this2.instance.runHooks('afterScroll');
96365
96422
  },
96366
96423
  onScrollHorizontally: function onScrollHorizontally() {
96367
- return _this2.instance.runHooks('afterScrollHorizontally');
96424
+ _this2.instance.runHooks('afterScrollHorizontally');
96425
+ _this2.instance.runHooks('afterScroll');
96368
96426
  },
96369
96427
  onBeforeRemoveCellClassNames: function onBeforeRemoveCellClassNames() {
96370
96428
  return _this2.instance.runHooks('beforeRemoveCellClassNames');
@@ -125744,6 +125802,7 @@ var ContextMenu = /*#__PURE__*/function (_BasePlugin) {
125744
125802
  callback: function callback() {
125745
125803
  var _this3$hot$getSelecte = _this3.hot.getSelectedRangeLast(),
125746
125804
  highlight = _this3$hot$getSelecte.highlight;
125805
+ _this3.hot.scrollToFocusedCell();
125747
125806
  var rect = _this3.hot.getCell(highlight.row, highlight.col, true).getBoundingClientRect();
125748
125807
  var offset = (0, _utils.getDocumentOffsetByElement)(_this3.menu.container, _this3.hot.rootDocument);
125749
125808
  _this3.open({
@@ -26,8 +26,8 @@
26
26
  * INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
27
27
  * USE OR INABILITY TO USE THIS SOFTWARE.
28
28
  *
29
- * Version: 0.0.0-next-c3d199b-20230626
30
- * Release date: 23/05/2023 (built at 26/06/2023 11:07:22)
29
+ * Version: 0.0.0-next-208afb8-20230627
30
+ * Release date: 23/05/2023 (built at 27/06/2023 13:49:41)
31
31
  */.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-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:#ff4c42!important}.handsontable td.htNoWrap{white-space:nowrap}.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 .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):after{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 #5292f7}.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}.topSelectionHandle-HitArea:not(.ht_master .topSelectionHandle-HitArea),.topSelectionHandle:not(.ht_master .topSelectionHandle){z-index:9999}.handsontable .bottomSelectionHandle,.handsontable .bottomSelectionHandle-HitArea,.handsontable .topSelectionHandle,.handsontable .topSelectionHandle-HitArea{left:-10000px;right:unset;top:-10000px}[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}
32
32
  /*!
33
33
  * Pikaday