handsontable 12.3.0 → 12.3.1-next-712715f-20230130

Sign up to get free protection for your applications and to get access to all the features.
Files changed (188) hide show
  1. package/3rdparty/walkontable/src/border.js +4 -4
  2. package/3rdparty/walkontable/src/border.mjs +4 -4
  3. package/3rdparty/walkontable/src/overlays.js +20 -2
  4. package/3rdparty/walkontable/src/overlays.mjs +20 -2
  5. package/3rdparty/walkontable/src/selection.js +2 -2
  6. package/3rdparty/walkontable/src/selection.mjs +2 -2
  7. package/3rdparty/walkontable/src/table.js +35 -8
  8. package/3rdparty/walkontable/src/table.mjs +35 -8
  9. package/CHANGELOG.md +123 -108
  10. package/base.js +2 -2
  11. package/base.mjs +2 -2
  12. package/core.js +10 -4
  13. package/core.mjs +10 -4
  14. package/dataMap/dataMap.js +1 -1
  15. package/dataMap/dataMap.mjs +1 -1
  16. package/dataMap/metaManager/lazyFactoryMap.js +1 -1
  17. package/dataMap/metaManager/lazyFactoryMap.mjs +1 -1
  18. package/dataMap/metaManager/metaLayers/cellMeta.js +1 -1
  19. package/dataMap/metaManager/metaLayers/cellMeta.mjs +1 -1
  20. package/dataMap/metaManager/metaSchema.js +3 -3
  21. package/dataMap/metaManager/metaSchema.mjs +3 -3
  22. package/dist/handsontable.css +7 -5
  23. package/dist/handsontable.full.css +7 -5
  24. package/dist/handsontable.full.js +4399 -4182
  25. package/dist/handsontable.full.min.css +4 -4
  26. package/dist/handsontable.full.min.js +107 -107
  27. package/dist/handsontable.js +2491 -2286
  28. package/dist/handsontable.min.css +4 -4
  29. package/dist/handsontable.min.js +3 -3
  30. package/dist/languages/all.js +1 -1
  31. package/dist/languages/all.min.js +1 -1
  32. package/dist/languages/ja-JP.js +1 -1
  33. package/dist/languages/ja-JP.min.js +1 -1
  34. package/editorManager.js +2 -2
  35. package/editorManager.mjs +2 -2
  36. package/editors/baseEditor/baseEditor.js +2 -2
  37. package/editors/baseEditor/baseEditor.mjs +2 -2
  38. package/editors/textEditor/textEditor.js +2 -2
  39. package/editors/textEditor/textEditor.mjs +2 -2
  40. package/helpers/dom/element.js +1 -1
  41. package/helpers/dom/element.mjs +1 -1
  42. package/helpers/mixed.js +5 -6
  43. package/helpers/mixed.mjs +5 -6
  44. package/helpers/number.js +1 -1
  45. package/helpers/number.mjs +1 -1
  46. package/i18n/languages/ja-JP.js +1 -1
  47. package/i18n/languages/ja-JP.mjs +2 -2
  48. package/languages/all.js +1 -1
  49. package/languages/index.js +1 -1
  50. package/languages/ja-JP.js +1 -1
  51. package/languages/ja-JP.mjs +2 -2
  52. package/package.json +1 -1
  53. package/plugins/autoColumnSize/autoColumnSize.js +3 -3
  54. package/plugins/autoColumnSize/autoColumnSize.mjs +3 -3
  55. package/plugins/autoRowSize/autoRowSize.js +2 -2
  56. package/plugins/autoRowSize/autoRowSize.mjs +2 -2
  57. package/plugins/autofill/autofill.js +2 -2
  58. package/plugins/autofill/autofill.mjs +2 -2
  59. package/plugins/base/base.js +2 -2
  60. package/plugins/base/base.mjs +2 -2
  61. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +1 -1
  62. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +1 -1
  63. package/plugins/collapsibleColumns/collapsibleColumns.js +1 -1
  64. package/plugins/collapsibleColumns/collapsibleColumns.mjs +1 -1
  65. package/plugins/columnSorting/columnSorting.js +1 -1
  66. package/plugins/columnSorting/columnSorting.mjs +1 -1
  67. package/plugins/columnSorting/columnStatesManager.js +2 -2
  68. package/plugins/columnSorting/columnStatesManager.mjs +2 -2
  69. package/plugins/columnSorting/rootComparator.js +1 -1
  70. package/plugins/columnSorting/rootComparator.mjs +1 -1
  71. package/plugins/contextMenu/predefinedItems/removeColumn.js +2 -2
  72. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +2 -2
  73. package/plugins/contextMenu/predefinedItems/removeRow.js +2 -2
  74. package/plugins/contextMenu/predefinedItems/removeRow.mjs +2 -2
  75. package/plugins/copyPaste/copyPaste.js +2 -2
  76. package/plugins/copyPaste/copyPaste.mjs +2 -2
  77. package/plugins/customBorders/customBorders.js +2 -2
  78. package/plugins/customBorders/customBorders.mjs +2 -2
  79. package/plugins/exportFile/dataProvider.js +2 -2
  80. package/plugins/exportFile/dataProvider.mjs +2 -2
  81. package/plugins/filters/component/value.js +2 -2
  82. package/plugins/filters/component/value.mjs +2 -2
  83. package/plugins/filters/condition/beginsWith.js +2 -2
  84. package/plugins/filters/condition/beginsWith.mjs +2 -2
  85. package/plugins/filters/condition/between.js +2 -2
  86. package/plugins/filters/condition/between.mjs +2 -2
  87. package/plugins/filters/condition/byValue.js +2 -2
  88. package/plugins/filters/condition/byValue.mjs +2 -2
  89. package/plugins/filters/condition/contains.js +2 -2
  90. package/plugins/filters/condition/contains.mjs +2 -2
  91. package/plugins/filters/condition/date/after.js +2 -2
  92. package/plugins/filters/condition/date/after.mjs +2 -2
  93. package/plugins/filters/condition/date/before.js +2 -2
  94. package/plugins/filters/condition/date/before.mjs +2 -2
  95. package/plugins/filters/condition/endsWith.js +2 -2
  96. package/plugins/filters/condition/endsWith.mjs +2 -2
  97. package/plugins/filters/condition/equal.js +2 -2
  98. package/plugins/filters/condition/equal.mjs +2 -2
  99. package/plugins/filters/condition/greaterThan.js +2 -2
  100. package/plugins/filters/condition/greaterThan.mjs +2 -2
  101. package/plugins/filters/condition/greaterThanOrEqual.js +2 -2
  102. package/plugins/filters/condition/greaterThanOrEqual.mjs +2 -2
  103. package/plugins/filters/condition/lessThan.js +2 -2
  104. package/plugins/filters/condition/lessThan.mjs +2 -2
  105. package/plugins/filters/condition/lessThanOrEqual.js +2 -2
  106. package/plugins/filters/condition/lessThanOrEqual.mjs +2 -2
  107. package/plugins/filters/conditionCollection.js +2 -2
  108. package/plugins/filters/conditionCollection.mjs +2 -2
  109. package/plugins/filters/filters.js +2 -2
  110. package/plugins/filters/filters.mjs +2 -2
  111. package/plugins/filters/ui/multipleSelect.js +1 -1
  112. package/plugins/filters/ui/multipleSelect.mjs +1 -1
  113. package/plugins/formulas/formulas.js +2 -2
  114. package/plugins/formulas/formulas.mjs +2 -2
  115. package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +2 -2
  116. package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +2 -2
  117. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +1 -1
  118. package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +1 -1
  119. package/plugins/hiddenRows/contextMenuItem/hideRow.js +2 -2
  120. package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +2 -2
  121. package/plugins/hiddenRows/contextMenuItem/showRow.js +1 -1
  122. package/plugins/hiddenRows/contextMenuItem/showRow.mjs +1 -1
  123. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +2 -2
  124. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +2 -2
  125. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +2 -2
  126. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +2 -2
  127. package/plugins/mergeCells/calculations/autofill.js +2 -2
  128. package/plugins/mergeCells/calculations/autofill.mjs +2 -2
  129. package/plugins/mergeCells/cellsCollection.js +1 -1
  130. package/plugins/mergeCells/cellsCollection.mjs +1 -1
  131. package/plugins/mergeCells/mergeCells.js +97 -20
  132. package/plugins/mergeCells/mergeCells.mjs +97 -20
  133. package/plugins/multiColumnSorting/rootComparator.js +1 -1
  134. package/plugins/multiColumnSorting/rootComparator.mjs +1 -1
  135. package/plugins/nestedHeaders/stateManager/headersTree.js +2 -2
  136. package/plugins/nestedHeaders/stateManager/headersTree.mjs +2 -2
  137. package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +1 -1
  138. package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +1 -1
  139. package/plugins/nestedRows/data/dataManager.js +1 -1
  140. package/plugins/nestedRows/data/dataManager.mjs +1 -1
  141. package/plugins/nestedRows/nestedRows.js +4 -1
  142. package/plugins/nestedRows/nestedRows.mjs +4 -1
  143. package/plugins/nestedRows/ui/collapsing.js +1 -1
  144. package/plugins/nestedRows/ui/collapsing.mjs +1 -1
  145. package/plugins/nestedRows/utils/rowMoveController.js +1 -1
  146. package/plugins/nestedRows/utils/rowMoveController.mjs +1 -1
  147. package/plugins/registry.js +2 -2
  148. package/plugins/registry.mjs +2 -2
  149. package/plugins/search/search.js +1 -1
  150. package/plugins/search/search.mjs +1 -1
  151. package/plugins/undoRedo/undoRedo.js +2 -2
  152. package/plugins/undoRedo/undoRedo.mjs +2 -2
  153. package/selection/highlight/highlight.js +1 -1
  154. package/selection/highlight/highlight.mjs +1 -1
  155. package/selection/selection.js +2 -2
  156. package/selection/selection.mjs +2 -2
  157. package/selection/utils.js +2 -2
  158. package/selection/utils.mjs +2 -2
  159. package/shortcuts/context.js +2 -2
  160. package/shortcuts/context.mjs +2 -2
  161. package/shortcuts/manager.js +9 -0
  162. package/shortcuts/manager.mjs +9 -0
  163. package/shortcuts/recorder.js +3 -0
  164. package/shortcuts/recorder.mjs +3 -0
  165. package/tableView.js +2 -2
  166. package/tableView.mjs +2 -2
  167. package/translations/indexMapper.js +1 -1
  168. package/translations/indexMapper.mjs +1 -1
  169. package/translations/maps/linkedPhysicalIndexToValueMap.js +1 -1
  170. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +1 -1
  171. package/translations/maps/utils/indexesSequence.js +1 -1
  172. package/translations/maps/utils/indexesSequence.mjs +1 -1
  173. package/translations/maps/utils/physicallyIndexed.js +1 -1
  174. package/translations/maps/utils/physicallyIndexed.mjs +1 -1
  175. package/utils/dataStructures/priorityMap.js +2 -2
  176. package/utils/dataStructures/priorityMap.mjs +2 -2
  177. package/utils/dataStructures/tree.js +1 -1
  178. package/utils/dataStructures/tree.mjs +1 -1
  179. package/utils/dataStructures/uniqueMap.js +2 -2
  180. package/utils/dataStructures/uniqueMap.mjs +2 -2
  181. package/utils/dataStructures/uniqueSet.js +1 -1
  182. package/utils/dataStructures/uniqueSet.mjs +1 -1
  183. package/utils/ghostTable.js +2 -2
  184. package/utils/ghostTable.mjs +2 -2
  185. package/utils/parseTable.js +1 -1
  186. package/utils/parseTable.mjs +1 -1
  187. package/utils/staticRegister.js +1 -1
  188. package/utils/staticRegister.mjs +1 -1
package/CHANGELOG.md CHANGED
@@ -2,19 +2,28 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
8
  <!-- This file should generally be updated automatically using our changelog script. See `.changelogs/README.md` for more information. -->
9
9
 
10
10
  <!-- UNVERSIONED -->
11
11
 
12
- ## [12.3.0] - 2022-12-14
12
+ ## [12.3.1] - 2023-02-06
13
+
14
+ ### Added
15
+ - Added Japanese translation for Copy with Headers feature. [#10201](https://github.com/handsontable/handsontable/pull/10201)
13
16
 
14
- For more information on this release, see:
15
- - [Blog post](https://handsontable.com/blog/articles/2022/12/handsontable-12-3-0-copying-cells-with-headers)
16
- - [Documentation (12.3)](https://handsontable.com/docs/12.3/)
17
- - [Release notes](https://handsontable.com/docs/release-notes/#_12-3-0)
17
+ ### Removed
18
+ - Removed the license key delay condition that prevents printing warnings about key expiration in the console. [#10175](https://github.com/handsontable/handsontable/pull/10175)
19
+
20
+ ### Fixed
21
+ - Fixed the _NestedRows_ plugin that did not react when the Core `updateData` method was called. [#10178](https://github.com/handsontable/handsontable/pull/10178)
22
+ - Fixed a Chrome issue, where the freshly-merged cells were missing right and bottom borders. [#10212](https://github.com/handsontable/handsontable/pull/10212)
23
+ - Fixed an issue where some browser or system shortcuts left the CTRL/CMD key held down [#6441](https://github.com/handsontable/handsontable/issues/6441)
24
+ - Fixed unwanted rendered overlay that was visible in the Filters conditional component. [#10174](https://github.com/handsontable/handsontable/pull/10174)
25
+
26
+ ## [12.3.0] - 2022-12-14
18
27
 
19
28
  ### Added
20
29
 
@@ -34,12 +43,12 @@ For more information on this release, see:
34
43
  - Fixed an issue where typing in a `dropdown` editor caused the IME to disappear, resulting in wrong characters being typed. [#9672](https://github.com/handsontable/handsontable/issues/9672)
35
44
  - React: Fixed an issue where `dropdown` cells weren't validated properly when using the `HotColumn` component. [#10065](https://github.com/handsontable/handsontable/issues/10065)
36
45
 
37
- ## [12.2.0] - 2022-10-25
46
+ For more information on Handsontable 12.3.0, see:
47
+ - [Blog post (12.3.0)](https://handsontable.com/blog/articles/2022/12/handsontable-12-3-0-copying-cells-with-headers)
48
+ - [Documentation (12.3)](https://handsontable.com/docs/12.3)
49
+ - [Release notes (12.3.0)](https://handsontable.com/docs/release-notes/#_12-3-0)
38
50
 
39
- For more information on this release, see:
40
- - [Blog post](https://handsontable.com/blog/handsontable-12.2.0)
41
- - [Documentation (12.2)](https://handsontable.com/docs/12.2/)
42
- - [Release notes](https://handsontable.com/docs/release-notes/#_12-2-0)
51
+ ## [12.2.0] - 2022-10-25
43
52
 
44
53
  ### Added
45
54
 
@@ -62,11 +71,12 @@ For more information on this release, see:
62
71
  - Fixed an issue where changing a cell's `type` through `setCellMeta()` didn't properly set the cell's `editor` and `renderer`. [#9734](https://github.com/handsontable/handsontable/issues/9734)
63
72
  - Fixed an issue where the dropdown menu didn't display when the `NestedHeaders` plugin was enabled and all rows were trimmed out. [#9753](https://github.com/handsontable/handsontable/issues/9753)
64
73
 
65
- ## [12.1.3] - 2022-09-22
74
+ For more information on Handsontable 12.2.0, see:
75
+ - [Blog post (12.2.0)](https://handsontable.com/blog/handsontable-12.2.0)
76
+ - [Documentation (12.2)](https://handsontable.com/docs/12.2)
77
+ - [Release notes (12.2.0)](https://handsontable.com/docs/release-notes/#_12-2-0)
66
78
 
67
- For more information on this release, see:
68
- - [Documentation (12.1)](https://handsontable.com/docs/12.1/)
69
- - [Release notes](https://handsontable.com/docs/release-notes/#_12-1-3)
79
+ ## [12.1.3] - 2022-09-22
70
80
 
71
81
  ### Removed
72
82
 
@@ -86,33 +96,32 @@ For more information on this release, see:
86
96
  - Fixed misalignment on mobile devices when the edge cells were selected. [#9621](https://github.com/handsontable/handsontable/issues/9621)
87
97
  - Fixed type definitions for the method `setSourceDataAtCell`. [#8599](https://github.com/handsontable/handsontable/issues/8599)
88
98
 
89
- ## [12.1.2] - 2022-07-08
99
+ For more information on Handsontable 12.1.3, see:
100
+ - [Documentation (12.1)](https://handsontable.com/docs/12.1)
101
+ - [Release notes (12.1.3)](https://handsontable.com/docs/release-notes/#_12-1-3)
90
102
 
91
- For more information on this release, see:
92
- - [Documentation (12.1)](https://handsontable.com/docs/12.1/)
93
- - [Release notes](https://handsontable.com/docs/release-notes/#_12-1-2)
103
+ ## [12.1.2] - 2022-07-08
94
104
 
95
105
  ### Changed
96
106
 
97
107
  - Changed the version of the Moment.js dependency from 2.29.3 to 2.29.4, in reaction to a recently-found Moment.js security vulnerability. The vulnerability did not affect a correct configuration of Handsontable. [#9638](https://github.com/handsontable/handsontable/issues/9638)
98
108
  - Vue: Freezed the version of the Vue framework that is used in our build chain to ~2.6. This shouldn't affect apps that use Vue 2.7+. [#9624](https://github.com/handsontable/handsontable/issues/9624)
99
109
 
100
- ## [12.1.1] - 2022-07-05
110
+ For more information on Handsontable 12.1.2, see:
111
+ - [Documentation (12.1)](https://handsontable.com/docs/12.1)
112
+ - [Release notes (12.1.2)](https://handsontable.com/docs/release-notes/#_12-1-2)
101
113
 
102
- For more information on this release, see:
103
- - [Documentation (12.1)](https://handsontable.com/docs/12.1/)
104
- - [Release notes](https://handsontable.com/docs/release-notes/#_12-1-1)
114
+ ## [12.1.1] - 2022-07-05
105
115
 
106
116
  ### Fixed
107
117
 
108
118
  - Angular: Fixed an issue where the installation of `@handsontable/angular` package failed for versions of Angular other than 9 [#9622](https://github.com/handsontable/handsontable/issues/9622)
109
119
 
110
- ## [12.1.0] - 2022-06-28
120
+ For more information on Handsontable 12.1.1, see:
121
+ - [Documentation (12.1)](https://handsontable.com/docs/12.1)
122
+ - [Release notes (12.1.1)](https://handsontable.com/docs/release-notes/#_12-1-1)
111
123
 
112
- For more information on this release, see:
113
- - [Blog post](https://handsontable.com/blog/handsontable-12.1.0-data-grid-new-hooks-new-translations-and-rendering-improvements)
114
- - [Documentation (12.1)](https://handsontable.com/docs/12.1/)
115
- - [Release notes](https://handsontable.com/docs/release-notes/#_12-1-0)
124
+ ## [12.1.0] - 2022-06-28
116
125
 
117
126
  ### Added
118
127
 
@@ -146,11 +155,12 @@ For more information on this release, see:
146
155
  - Fixed an issue where hiding columns with nested headers caused incorrect column width calculation (for the `stretchH: 'all'` option). [#9496](https://github.com/handsontable/handsontable/issues/9496)
147
156
  - Fixed an issue where `ShortcutManager` unnecessarily handled `keyup` events with no `key` defined. [#9562](https://github.com/handsontable/handsontable/issues/9562)
148
157
 
149
- ## [12.0.1] - 2022-05-16
158
+ For more information on Handsontable 12.1.0, see:
159
+ - [Blog post (12.1.0)](https://handsontable.com/blog/handsontable-12.1.0-data-grid-new-hooks-new-translations-and-rendering-improvements)
160
+ - [Documentation (12.1)](https://handsontable.com/docs/12.1)
161
+ - [Release notes (12.1.0)](https://handsontable.com/docs/release-notes/#_12-1-0)
150
162
 
151
- For more information on this release, see:
152
- - [Documentation (12.0)](https://handsontable.com/docs/12.0/)
153
- - [Release notes](https://handsontable.com/docs/release-notes/#_12-0-1)
163
+ ## [12.0.1] - 2022-05-16
154
164
 
155
165
  ### Fixed
156
166
 
@@ -160,13 +170,11 @@ For more information on this release, see:
160
170
  - Fixed an issue where nested column headers didn't expand properly. [#9099](https://github.com/handsontable/handsontable/issues/9099)
161
171
  - Fixed an issue where updating custom borders could lead to uncaught error exceptions. [#9455](https://github.com/handsontable/handsontable/issues/9455)
162
172
 
163
- ## [12.0.0] - 2022-04-28
173
+ For more information on Handsontable 12.0.1, see:
174
+ - [Documentation (12.0)](https://handsontable.com/docs/12.0)
175
+ - [Release notes (12.0.1)](https://handsontable.com/docs/release-notes/#_12-0-1)
164
176
 
165
- For more information on this release, see:
166
- - [Blog post](https://handsontable.com/blog/handsontable-12.0.0-data-grid-rtl-support-and-a-new-keyboard-shortcuts-api)
167
- - [Documentation (12.0)](https://handsontable.com/docs/12.0/)
168
- - [Migration guide (11.1 → 12.0)](https://handsontable.com/docs/migration-from-11.1-to-12.0/)
169
- - [Release notes](https://handsontable.com/docs/release-notes/#_12-0-0)
177
+ ## [12.0.0] - 2022-04-28
170
178
 
171
179
  ### Added
172
180
 
@@ -215,12 +223,13 @@ For more information on this release, see:
215
223
  - Fixed an issue where the dropdown menu contained unwanted rectangle elements. [#9240](https://github.com/handsontable/handsontable/issues/9240)
216
224
  - React, Vue 2, Vue 3: Fixed an issue with registering modules for the React, Vue 2, and Vue 3 wrappers, by adding an `"exports"` field to their `package.json` files. [#9140](https://github.com/handsontable/handsontable/issues/9140)
217
225
 
218
- ## [11.1.0] - 2022-01-13
226
+ For more information on Handsontable 12.0.0, see:
227
+ - [Blog post (12.0.0)](https://handsontable.com/blog/handsontable-12.0.0-data-grid-rtl-support-and-a-new-keyboard-shortcuts-api)
228
+ - [Documentation (12.0)](https://handsontable.com/docs/12.0)
229
+ - [Migration guide (11.1 → 12.0)](https://handsontable.com/docs/migration-from-11.1-to-12.0)
230
+ - [Release notes (12.0.0)](https://handsontable.com/docs/release-notes/#_12-0-0)
219
231
 
220
- For more information on this release, see:
221
- - [Blog post](https://handsontable.com/blog/handsontable-11.1.0-vue-3-support-and-updatedata)
222
- - [Documentation (11.1)](https://handsontable.com/docs/11.1/)
223
- - [Release notes](https://handsontable.com/docs/javascript-data-grid/release-notes/#_11-1)
232
+ ## [11.1.0] - 2022-01-13
224
233
 
225
234
  ### Added
226
235
 
@@ -249,23 +258,22 @@ resetting the states of cells, rows and columns. [#7263](https://github.com/hand
249
258
  - Fixed an issue where the `Comments` plugin's editor disappeared after adding a comment. [#9075](https://github.com/handsontable/handsontable/issues/9075) [#6661](https://github.com/handsontable/handsontable/issues/6661)
250
259
  - React: Fixed a wrong return type. [#9000](https://github.com/handsontable/handsontable/issues/9000)
251
260
 
252
- ## [11.0.1] - 2021-11-17
261
+ For more information on Handsontable 11.1.0, see:
262
+ - [Blog post (11.1.0)](https://handsontable.com/blog/handsontable-11.1.0-vue-3-support-and-updatedata)
263
+ - [Documentation (11.1)](https://handsontable.com/docs/11.1)
264
+ - [Release notes (11.1.0)](https://handsontable.com/docs/javascript-data-grid/release-notes/#_11-1)
253
265
 
254
- For more information on this release, see:
255
- - [Documentation (11.0)](https://handsontable.com/docs/11.0/)
256
- - [Release notes](https://handsontable.com/docs/release-notes/#_11-0-1)
266
+ ## [11.0.1] - 2021-11-17
257
267
 
258
268
  ### Fixed
259
269
 
260
270
  - Fixed the UMD build of `@handsontable/angular`, which was not working properly in `11.0.0`. [#8946](https://github.com/handsontable/handsontable/pull/8946)
261
271
 
262
- ## [11.0.0] - 2021-11-17
272
+ For more information on Handsontable 11.0.0, see:
273
+ - [Documentation (11.0)](https://handsontable.com/docs/11.0)
274
+ - [Release notes (11.0.1)](https://handsontable.com/docs/release-notes/#_11-0-1)
263
275
 
264
- For more information on this release, see:
265
- - [Blog post](https://handsontable.com/blog/handsontable-11.0.0-modularization-for-react-angular-and-vue)
266
- - [Documentation (11.0)](https://handsontable.com/docs/11.0/)
267
- - [Migration guide (10.0 → 11.0)](https://handsontable.com/docs/migration-from-10.0-to-11.0/)
268
- - [Release notes](https://handsontable.com/docs/javascript-data-grid/release-notes/#_11-0)
276
+ ## [11.0.0] - 2021-11-17
269
277
 
270
278
  ### Added
271
279
 
@@ -294,13 +302,13 @@ For more information on this release, see:
294
302
  - Fixed an error thrown when autofill's source is a `date` cell. [#8894](https://github.com/handsontable/handsontable/issues/8894)
295
303
  - React: Fixed a React wrapper issue where it's impossible to use different sets of props in editor components reused across multiple columns. [#8527](https://github.com/handsontable/handsontable/issues/8527)
296
304
 
297
- ## [10.0.0] - 2021-09-29
305
+ For more information on Handsontable 11.0.0, see:
306
+ - [Blog post (11.0.0)](https://handsontable.com/blog/handsontable-11.0.0-modularization-for-react-angular-and-vue)
307
+ - [Documentation (11.0)](https://handsontable.com/docs/11.0)
308
+ - [Migration guide (10.0 → 11.0)](https://handsontable.com/docs/migration-from-10.0-to-11.0)
309
+ - [Release notes (11.0.0)](https://handsontable.com/docs/javascript-data-grid/release-notes/#_11-0)
298
310
 
299
- For more information on this release, see:
300
- - [Blog post](https://handsontable.com/blog/handsontable-10.0.0-improved-performance-and-consistency)
301
- - [Documentation (10.0)](https://handsontable.com/docs/10.0/)
302
- - [Migration guide (9.0 → 10.0)](https://handsontable.com/docs/migration-from-9.0-to-10.0/)
303
- - [Release notes](https://handsontable.com/docs/javascript-data-grid/release-notes/#_10-0)
311
+ ## [10.0.0] - 2021-09-29
304
312
 
305
313
  ### Changed
306
314
 
@@ -330,12 +338,13 @@ For more information on this release, see:
330
338
  - Adjusted directories and files related to `dataMap`, to prevent potential circular references. [#8704](https://github.com/handsontable/handsontable/issues/8704)
331
339
  - Improved the performance of the regular expression used to detect numeric values, and fixed major code smells. [#8752](https://github.com/handsontable/handsontable/issues/8752)
332
340
 
333
- ## [9.0.2] - 2021-07-28
341
+ For more information on Handsontable 10.0.0, see:
342
+ - [Blog post (10.0.0)](https://handsontable.com/blog/handsontable-10.0.0-improved-performance-and-consistency)
343
+ - [Documentation (10.0)](https://handsontable.com/docs/10.0)
344
+ - [Migration guide (9.0 → 10.0)](https://handsontable.com/docs/migration-from-9.0-to-10.0)
345
+ - [Release notes (10.0.0)](https://handsontable.com/docs/javascript-data-grid/release-notes/#_10-0)
334
346
 
335
- For more information on this release, see:
336
- - [Blog post](https://handsontable.com/blog/whats-new-in-handsontable-9.0.2)
337
- - [Documentation (9.0)](https://handsontable.com/docs/9.0/)
338
- - [Release notes](https://handsontable.com/docs/javascript-data-grid/release-notes/#_9-0-2)
347
+ ## [9.0.2] - 2021-07-28
339
348
 
340
349
  ### Fixed
341
350
 
@@ -354,11 +363,12 @@ For more information on this release, see:
354
363
 
355
364
  - Added new documentation engine [#7624](https://github.com/handsontable/handsontable/issues/7624)
356
365
 
357
- ## [9.0.1] - 2021-06-17
366
+ For more information on Handsontable 9.0.2, see:
367
+ - [Blog post (9.0.2)](https://handsontable.com/blog/whats-new-in-handsontable-9.0.2)
368
+ - [Documentation (9.0)](https://handsontable.com/docs/9.0)
369
+ - [Release notes (9.0.2)](https://handsontable.com/docs/javascript-data-grid/release-notes/#_9-0-2)
358
370
 
359
- For more information on this release, see:
360
- - [Documentation (9.0)](https://handsontable.com/docs/9.0/)
361
- - [Release notes](https://handsontable.com/docs/release-notes/#_9-0-1)
371
+ ## [9.0.1] - 2021-06-17
362
372
 
363
373
  ### Removed
364
374
 
@@ -369,13 +379,11 @@ For more information on this release, see:
369
379
  - Fixed an issue where the validator function was called twice when the Formulas plugin was enabled. [#8138](https://github.com/handsontable/handsontable/issues/8138)
370
380
  - Introduced a new CSS style for cells of the `checkbox` type to restore previous behaviour. [#8196](https://github.com/handsontable/handsontable/issues/8196)
371
381
 
372
- ## [9.0.0] - 2021-06-01
382
+ For more information on Handsontable 9.0.1, see:
383
+ - [Documentation (9.0)](https://handsontable.com/docs/9.0)
384
+ - [Release notes (9.0.1)](https://handsontable.com/docs/release-notes/#_9-0-1)
373
385
 
374
- For more information on this release, see:
375
- - [Blog post](https://handsontable.com/blog/handsontable-9.0.0-new-formula-plugin)
376
- - [Documentation (9.0)](https://handsontable.com/docs/9.0/)
377
- - [Migration guide (8.4 → 9.0)](https://handsontable.com/docs/migration-from-8.4-to-9.0/)
378
- - [Release notes](https://handsontable.com/docs/javascript-data-grid/release-notes/#_9-0)
386
+ ## [9.0.0] - 2021-06-01
379
387
 
380
388
  ### Changed
381
389
 
@@ -397,12 +405,13 @@ For more information on this release, see:
397
405
 
398
406
  - Deprecated the `beforeAutofillInsidePopulate` hook. It will be removed in the next major release. [#8095](https://github.com/handsontable/handsontable/issues/8095)
399
407
 
400
- ## [8.4.0] - 2021-05-11
408
+ For more information on Handsontable 9.0.0, see:
409
+ - [Blog post (9.0.0)](https://handsontable.com/blog/handsontable-9.0.0-new-formula-plugin)
410
+ - [Documentation (9.0)](https://handsontable.com/docs/9.0)
411
+ - [Migration guide (8.4 → 9.0)](https://handsontable.com/docs/migration-from-8.4-to-9.0)
412
+ - [Release notes (9.0.0)](https://handsontable.com/docs/javascript-data-grid/release-notes/#_9-0)
401
413
 
402
- For more information on this release, see:
403
- - [Blog post](https://handsontable.com/blog/whats-new-in-handsontable-8-4-0)
404
- - [Documentation (8.4.0)](https://handsontable.com/docs/8.4.0/)
405
- - [Release notes](https://handsontable.com/docs/javascript-data-grid/release-notes/#_8-4)
414
+ ## [8.4.0] - 2021-05-11
406
415
 
407
416
  ### Added
408
417
 
@@ -440,11 +449,12 @@ For more information on this release, see:
440
449
 
441
450
  - Enhanced the ESLint config file by adding a rule that checks if there are new lines missing before some keywords or statements. [#7691](https://github.com/handsontable/handsontable/issues/7691)
442
451
 
443
- ## [8.3.2] - 2021-03-16
452
+ For more information on Handsontable 8.4.0, see:
453
+ - [Blog post (8.4.0)](https://handsontable.com/blog/whats-new-in-handsontable-8-4-0)
454
+ - [Documentation (8.4.0)](https://handsontable.com/docs/8.4.0)
455
+ - [Release notes (8.4.0)](https://handsontable.com/docs/javascript-data-grid/release-notes/#_8-4)
444
456
 
445
- For more information on this release, see:
446
- - [Blog post](https://handsontable.com/blog/handsontable-8-3-2-introducing-monorepo)
447
- - [Release notes](https://handsontable.com/docs/javascript-data-grid/release-notes/#_8-3-2)
457
+ ## [8.3.2] - 2021-03-16
448
458
 
449
459
  ### Fixed
450
460
 
@@ -470,22 +480,22 @@ For more information on this release, see:
470
480
  - Introduced the monorepo to this repository. From now on, `handsontable`, `@handsontable/angular`, `@handsontable/react`, and `@handsontable/vue` will all be developed in the same repo - `handsontable`. [#7380](https://github.com/handsontable/handsontable/issues/7380)
471
481
  - Added a custom ESLint rule which allows restricting specified modules from loading by `import` or re-exporting. [#7473](https://github.com/handsontable/handsontable/issues/7473)
472
482
 
473
- ## [8.3.1] - 2021-02-10
483
+ For more information on Handsontable 8.3.2, see:
484
+ - [Blog post (8.3.2)](https://handsontable.com/blog/handsontable-8-3-2-introducing-monorepo)
485
+ - [Documentation (8.3.2)](https://handsontable.com/docs/8.3.2)
486
+ - [Release notes (8.3.2)](https://handsontable.com/docs/javascript-data-grid/release-notes/#_8-3-2)
474
487
 
475
- For more information on this release, see:
476
- - [Documentation (8.3.1)](https://handsontable.com/docs/8.3.1/)
477
- - [Release notes](https://handsontable.com/docs/release-notes/#_8-3-1)
488
+ ## [8.3.1] - 2021-02-10
478
489
 
479
490
  ### Fixed
480
491
 
481
492
  - Fixed an issue where the CSS files could be eliminated during tree-shaking [#7516](https://github.com/handsontable/handsontable/issues/7516)
482
493
 
483
- ## [8.3.0] - 2021-01-28
494
+ For more information on Handsontable 8.3.1, see:
495
+ - [Documentation (8.3.1)](https://handsontable.com/docs/8.3.1)
496
+ - [Release notes (8.3.1)](https://handsontable.com/docs/release-notes/#_8-3-1)
484
497
 
485
- For more information on this release, see:
486
- - [Blog post](https://handsontable.com/blog/handsontable-8.3.0-has-been-released)
487
- - [Documentation (8.3.0)](https://handsontable.com/docs/8.3.0/)
488
- - [Release notes](https://handsontable.com/docs/javascript-data-grid/release-notes/#_8-3)
498
+ ## [8.3.0] - 2021-01-28
489
499
 
490
500
  ### Added
491
501
 
@@ -515,12 +525,12 @@ For more information on this release, see:
515
525
  - Corrected a typo in a helper method from the Column Sorting plugin. [#7375](https://github.com/handsontable/handsontable/issues/7375)
516
526
  - Optimized the performance of rendering the table with numerous spare rows (for `minSpareRows`, `minSpareCols`, `minRows`, and `minCols` options). [#7439](https://github.com/handsontable/handsontable/issues/7439)
517
527
 
518
- ## [8.2.0] - 2020-11-12
528
+ For more information on Handsontable 8.3.0, see:
529
+ - [Blog post (8.3.0)](https://handsontable.com/blog/handsontable-8.3.0-has-been-released)
530
+ - [Documentation (8.3.0)](https://handsontable.com/docs/8.3.0)
531
+ - [Release notes (8.3.0)](https://handsontable.com/docs/javascript-data-grid/release-notes/#_8-3)
519
532
 
520
- For more information on this release, see:
521
- - [Blog post](https://handsontable.com/blog/handsontable-8.2.0-has-been-released)
522
- - [Documentation (8.2.0)](https://handsontable.com/docs/8.2.0/)
523
- - [Release notes](https://handsontable.com/docs/javascript-data-grid/release-notes/#_8-2)
533
+ ## [8.2.0] - 2020-11-12
524
534
 
525
535
  ### Added
526
536
 
@@ -540,12 +550,12 @@ For more information on this release, see:
540
550
  - Fix a problem with the inconsistent behavior of the Context Menu's "Clear column" disabled status. [#7003](https://github.com/handsontable/handsontable/issues/7003)
541
551
  - Fix a bug with parsing multiline cells on pasting `text/html` mime-type. [#7369](https://github.com/handsontable/handsontable/issues/7369)
542
552
 
543
- ## [8.1.0] - 2020-10-01
553
+ For more information on Handsontable 8.2.0, see:
554
+ - [Blog post (8.2.0)](https://handsontable.com/blog/handsontable-8.2.0-has-been-released)
555
+ - [Documentation (8.2.0)](https://handsontable.com/docs/8.2.0)
556
+ - [Release notes (8.2.0)](https://handsontable.com/docs/javascript-data-grid/release-notes/#_8-2)
544
557
 
545
- For more information on this release, see:
546
- - [Blog post](https://handsontable.com/blog/handsontable-8.1.0-has-been-released)
547
- - [Documentation (8.1.0)](https://handsontable.com/docs/8.1.0/)
548
- - [Release notes](https://handsontable.com/docs/javascript-data-grid/release-notes/#_8-1)
558
+ ## [8.1.0] - 2020-10-01
549
559
 
550
560
  ### Added
551
561
 
@@ -573,13 +583,12 @@ For more information on this release, see:
573
583
  - Updated dependencies to meet security requirements [#7222](https://github.com/handsontable/handsontable/pull/7222)
574
584
  - Improved performance for TrimRows, HiddenRows and HiddenColumns plugins for big datasets with lots trimmed/hidden indexes [#7223](https://github.com/handsontable/handsontable/pull/7223)
575
585
 
576
- ## [8.0.0] - 2020-08-05
586
+ For more information on Handsontable 8.1.0, see:
587
+ - [Blog post (8.1.0)](https://handsontable.com/blog/handsontable-8.1.0-has-been-released)
588
+ - [Documentation (8.1.0)](https://handsontable.com/docs/8.1.0)
589
+ - [Release notes (8.1.0)](https://handsontable.com/docs/javascript-data-grid/release-notes/#_8-1)
577
590
 
578
- For more information on this release, see:
579
- - [Blog post](https://handsontable.com/blog/the-new-handsontable-8-is-now-available)
580
- - [Documentation (8.0.0)](https://handsontable.com/docs/8.0.0/)
581
- - [Migration guide (7.4 → 8.0)](https://handsontable.com/docs/migration-from-7.4-to-8.0/)
582
- - [Release notes](https://handsontable.com/docs/javascript-data-grid/release-notes/#_8-0)
591
+ ## [8.0.0] - 2020-08-05
583
592
 
584
593
  ### Added
585
594
 
@@ -822,6 +831,12 @@ For more information on this release, see:
822
831
  - Fixed an issue with Undo/Redo not working with fixing columns. [#6869](https://github.com/handsontable/handsontable/issues/6869)
823
832
  - Added a missing argument in the `deepObjectSize` function. [#6821](https://github.com/handsontable/handsontable/pull/6821)
824
833
 
834
+ For more information on Handsontable 8.0.0, see:
835
+ - [Blog post (8.0.0)](https://handsontable.com/blog/the-new-handsontable-8-is-now-available)
836
+ - [Documentation (8.0.0)](https://handsontable.com/docs/8.0.0)
837
+ - [Migration guide (7.4 → 8.0)](https://handsontable.com/docs/migration-from-7.4-to-8.0)
838
+ - [Release notes (8.0.0)](https://handsontable.com/docs/javascript-data-grid/release-notes/#_8-0)
839
+
825
840
  ## Prior [8.0.0]
826
841
 
827
842
  The changes for previous versions are described at https://github.com/handsontable/handsontable/releases.
package/base.js CHANGED
@@ -46,8 +46,8 @@ Handsontable.hooks = _pluginHooks.default.getSingleton();
46
46
  Handsontable.CellCoords = _src.CellCoords;
47
47
  Handsontable.CellRange = _src.CellRange;
48
48
  Handsontable.packageName = 'handsontable';
49
- Handsontable.buildDate = "14/12/2022 12:26:12";
50
- Handsontable.version = "12.3.0";
49
+ Handsontable.buildDate = "30/01/2023 11:56:11";
50
+ Handsontable.version = "12.3.1-next-712715f-20230130";
51
51
  Handsontable.languages = {
52
52
  dictionaryKeys: _registry.dictionaryKeys,
53
53
  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 = "14/12/2022 12:26:30";
39
- Handsontable.version = "12.3.0";
38
+ Handsontable.buildDate = "30/01/2023 11:56:29";
39
+ Handsontable.version = "12.3.1-next-712715f-20230130";
40
40
  Handsontable.languages = {
41
41
  dictionaryKeys: dictionaryKeys,
42
42
  getLanguageDictionary: getLanguageDictionary,
package/core.js CHANGED
@@ -66,14 +66,14 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
66
66
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
67
67
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
68
68
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
69
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
69
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
70
70
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
71
71
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
72
72
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
73
73
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
74
74
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
75
75
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
76
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
76
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
77
77
  var SHORTCUTS_GROUP = 'gridDefault';
78
78
  var activeGuid = null;
79
79
  var deprecationWarns = new Set();
@@ -90,7 +90,7 @@ var deprecationWarns = new Set();
90
90
  *
91
91
  * ::: only-for react
92
92
  * To use these methods, associate a Handsontable instance with your instance
93
- * of the [`HotTable` component](@/guides/getting-started/installation.md#use-the-hottable-component),
93
+ * of the [`HotTable` component](@/guides/getting-started/installation.md#_4-use-the-hottable-component),
94
94
  * by using React's `ref` feature (read more on the [Instance methods](@/guides/getting-started/react-methods.md) page).
95
95
  * :::
96
96
  *
@@ -4051,7 +4051,7 @@ function Core(rootElement, userSettings) {
4051
4051
  this.getShortcutManager().destroy();
4052
4052
  metaManager.clearCache();
4053
4053
  if ((0, _rootInstance.isRootInstance)(instance)) {
4054
- var licenseInfo = this.rootDocument.querySelector('#hot-display-license-info');
4054
+ var licenseInfo = this.rootDocument.querySelector('.hot-display-license-info');
4055
4055
  if (licenseInfo) {
4056
4056
  licenseInfo.parentNode.removeChild(licenseInfo);
4057
4057
  }
@@ -4431,6 +4431,12 @@ function Core(rootElement, userSettings) {
4431
4431
  },
4432
4432
  ownerWindow: this.rootWindow
4433
4433
  });
4434
+ this.addHook('beforeOnCellMouseDown', function (event) {
4435
+ // Releasing keys as some browser/system shortcuts break events sequence (thus the `keyup` event isn't triggered).
4436
+ if (event.ctrlKey === false && event.metaKey === false) {
4437
+ shortcutManager.releasePressedKeys();
4438
+ }
4439
+ });
4434
4440
 
4435
4441
  /**
4436
4442
  * Returns instance of a manager responsible for handling shortcuts stored in some contexts. It run actions after
package/core.mjs CHANGED
@@ -8,14 +8,14 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
8
8
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
9
9
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
10
10
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
11
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
11
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
12
12
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
13
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
14
14
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
15
15
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
16
16
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
17
17
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
18
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
18
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
19
19
  import "core-js/modules/es.array.iterator.js";
20
20
  import "core-js/modules/es.object.to-string.js";
21
21
  import "core-js/modules/es.set.js";
@@ -85,7 +85,7 @@ var deprecationWarns = new Set();
85
85
  *
86
86
  * ::: only-for react
87
87
  * To use these methods, associate a Handsontable instance with your instance
88
- * of the [`HotTable` component](@/guides/getting-started/installation.md#use-the-hottable-component),
88
+ * of the [`HotTable` component](@/guides/getting-started/installation.md#_4-use-the-hottable-component),
89
89
  * by using React's `ref` feature (read more on the [Instance methods](@/guides/getting-started/react-methods.md) page).
90
90
  * :::
91
91
  *
@@ -4046,7 +4046,7 @@ export default function Core(rootElement, userSettings) {
4046
4046
  this.getShortcutManager().destroy();
4047
4047
  metaManager.clearCache();
4048
4048
  if (isRootInstance(instance)) {
4049
- var licenseInfo = this.rootDocument.querySelector('#hot-display-license-info');
4049
+ var licenseInfo = this.rootDocument.querySelector('.hot-display-license-info');
4050
4050
  if (licenseInfo) {
4051
4051
  licenseInfo.parentNode.removeChild(licenseInfo);
4052
4052
  }
@@ -4426,6 +4426,12 @@ export default function Core(rootElement, userSettings) {
4426
4426
  },
4427
4427
  ownerWindow: this.rootWindow
4428
4428
  });
4429
+ this.addHook('beforeOnCellMouseDown', function (event) {
4430
+ // Releasing keys as some browser/system shortcuts break events sequence (thus the `keyup` event isn't triggered).
4431
+ if (event.ctrlKey === false && event.metaKey === false) {
4432
+ shortcutManager.releasePressedKeys();
4433
+ }
4434
+ });
4429
4435
 
4430
4436
  /**
4431
4437
  * Returns instance of a manager responsible for handling shortcuts stored in some contexts. It run actions after
@@ -35,7 +35,7 @@ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread n
35
35
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
36
36
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
37
37
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
38
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
38
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
39
39
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
40
40
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
41
41
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
@@ -3,7 +3,7 @@ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread n
3
3
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
4
4
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
5
5
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
6
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
6
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
7
7
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
8
8
  import "core-js/modules/es.array.iterator.js";
9
9
  import "core-js/modules/es.map.js";
@@ -28,7 +28,7 @@ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread n
28
28
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
29
29
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
30
30
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
31
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
31
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
32
32
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
33
33
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
34
34
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
@@ -4,7 +4,7 @@ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread n
4
4
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
5
5
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
6
6
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
7
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
7
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
8
8
  import "core-js/modules/es.array.iterator.js";
9
9
  import "core-js/modules/es.object.to-string.js";
10
10
  import "core-js/modules/es.set.js";
@@ -27,7 +27,7 @@ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread n
27
27
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
28
28
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
29
29
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
30
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
30
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
31
31
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
32
32
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
33
33
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
@@ -4,7 +4,7 @@ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread n
4
4
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
5
5
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
6
6
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
7
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
7
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
8
8
  import "core-js/modules/es.array.from.js";
9
9
  import "core-js/modules/es.string.iterator.js";
10
10
  import "core-js/modules/es.array.iterator.js";