handsontable 0.0.0-next-b66c79f-20230713 → 0.0.0-next-08765b9-20230714

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.

Files changed (373) hide show
  1. package/3rdparty/walkontable/src/cell/coords.d.ts +6 -1
  2. package/3rdparty/walkontable/src/cell/coords.js +87 -33
  3. package/3rdparty/walkontable/src/cell/coords.mjs +87 -33
  4. package/3rdparty/walkontable/src/cell/range.d.ts +9 -2
  5. package/3rdparty/walkontable/src/cell/range.js +92 -46
  6. package/3rdparty/walkontable/src/cell/range.mjs +92 -46
  7. package/3rdparty/walkontable/src/core/_base.js +41 -33
  8. package/3rdparty/walkontable/src/core/_base.mjs +41 -33
  9. package/3rdparty/walkontable/src/core/clone.js +8 -5
  10. package/3rdparty/walkontable/src/core/clone.mjs +8 -5
  11. package/3rdparty/walkontable/src/core/core.js +3 -2
  12. package/3rdparty/walkontable/src/core/core.mjs +3 -2
  13. package/3rdparty/walkontable/src/event.js +9 -8
  14. package/3rdparty/walkontable/src/event.mjs +9 -8
  15. package/3rdparty/walkontable/src/facade/core.js +2 -2
  16. package/3rdparty/walkontable/src/facade/core.mjs +2 -2
  17. package/3rdparty/walkontable/src/index.js +10 -2
  18. package/3rdparty/walkontable/src/index.mjs +2 -2
  19. package/3rdparty/walkontable/src/overlay/_base.js +11 -9
  20. package/3rdparty/walkontable/src/overlay/_base.mjs +11 -9
  21. package/3rdparty/walkontable/src/overlay/bottom.js +10 -8
  22. package/3rdparty/walkontable/src/overlay/bottom.mjs +10 -8
  23. package/3rdparty/walkontable/src/overlay/inlineStart.js +2 -6
  24. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +2 -6
  25. package/3rdparty/walkontable/src/overlay/top.js +12 -14
  26. package/3rdparty/walkontable/src/overlay/top.mjs +12 -14
  27. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +16 -13
  28. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +16 -13
  29. package/3rdparty/walkontable/src/overlays.js +75 -80
  30. package/3rdparty/walkontable/src/overlays.mjs +75 -80
  31. package/3rdparty/walkontable/src/scroll.js +27 -24
  32. package/3rdparty/walkontable/src/scroll.mjs +27 -24
  33. package/3rdparty/walkontable/src/{border.js → selection/border/border.js} +7 -12
  34. package/3rdparty/walkontable/src/{border.mjs → selection/border/border.mjs} +7 -12
  35. package/3rdparty/walkontable/src/selection/border/constants.js +16 -0
  36. package/3rdparty/walkontable/src/selection/border/constants.mjs +12 -0
  37. package/3rdparty/walkontable/src/selection/constants.js +62 -0
  38. package/3rdparty/walkontable/src/selection/constants.mjs +51 -0
  39. package/3rdparty/walkontable/src/selection/index.js +26 -0
  40. package/3rdparty/walkontable/src/selection/index.mjs +5 -0
  41. package/3rdparty/walkontable/src/selection/manager.js +259 -0
  42. package/3rdparty/walkontable/src/selection/manager.mjs +254 -0
  43. package/3rdparty/walkontable/src/selection/scanner.js +270 -0
  44. package/3rdparty/walkontable/src/selection/scanner.mjs +267 -0
  45. package/3rdparty/walkontable/src/selection/selection.js +101 -0
  46. package/3rdparty/walkontable/src/selection/selection.mjs +96 -0
  47. package/3rdparty/walkontable/src/settings.js +18 -17
  48. package/3rdparty/walkontable/src/settings.mjs +18 -17
  49. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +9 -0
  50. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +9 -0
  51. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +9 -0
  52. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +9 -0
  53. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +9 -0
  54. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +9 -0
  55. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +9 -0
  56. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +9 -0
  57. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +9 -0
  58. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +9 -0
  59. package/3rdparty/walkontable/src/table.js +48 -115
  60. package/3rdparty/walkontable/src/table.mjs +49 -116
  61. package/base.js +2 -2
  62. package/base.mjs +2 -2
  63. package/core/focusCatcher/focusDetector.js +58 -0
  64. package/core/focusCatcher/focusDetector.mjs +54 -0
  65. package/core/focusCatcher/index.js +142 -0
  66. package/core/focusCatcher/index.mjs +138 -0
  67. package/core/index.js +9 -0
  68. package/core/index.mjs +1 -0
  69. package/core.d.ts +6 -3
  70. package/core.js +181 -298
  71. package/core.mjs +181 -298
  72. package/dataMap/metaManager/metaLayers/cellMeta.js +2 -1
  73. package/dataMap/metaManager/metaLayers/cellMeta.mjs +2 -1
  74. package/dataMap/metaManager/metaLayers/globalMeta.js +1 -1
  75. package/dataMap/metaManager/metaLayers/globalMeta.mjs +1 -1
  76. package/dataMap/metaManager/metaSchema.js +41 -0
  77. package/dataMap/metaManager/metaSchema.mjs +41 -0
  78. package/dataMap/metaManager/mods/dynamicCellMeta.js +3 -2
  79. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +3 -2
  80. package/dataMap/metaManager/utils.js +4 -2
  81. package/dataMap/metaManager/utils.mjs +4 -2
  82. package/dist/handsontable.css +19 -3
  83. package/dist/handsontable.full.css +19 -3
  84. package/dist/handsontable.full.js +10739 -7037
  85. package/dist/handsontable.full.min.css +3 -3
  86. package/dist/handsontable.full.min.js +25 -25
  87. package/dist/handsontable.js +24884 -21182
  88. package/dist/handsontable.min.css +3 -3
  89. package/dist/handsontable.min.js +19 -19
  90. package/editorManager.js +11 -75
  91. package/editorManager.mjs +11 -74
  92. package/editors/autocompleteEditor/autocompleteEditor.js +70 -67
  93. package/editors/autocompleteEditor/autocompleteEditor.mjs +70 -67
  94. package/editors/baseEditor/baseEditor.js +1 -1
  95. package/editors/baseEditor/baseEditor.mjs +1 -1
  96. package/editors/dateEditor/dateEditor.js +2 -1
  97. package/editors/dateEditor/dateEditor.mjs +2 -1
  98. package/editors/textEditor/textEditor.js +3 -11
  99. package/editors/textEditor/textEditor.mjs +4 -12
  100. package/helpers/mixed.js +1 -1
  101. package/helpers/mixed.mjs +1 -1
  102. package/helpers/number.d.ts +1 -0
  103. package/helpers/number.js +18 -0
  104. package/helpers/number.mjs +17 -0
  105. package/helpers/object.js +1 -0
  106. package/helpers/object.mjs +1 -0
  107. package/index.js +5 -5
  108. package/index.mjs +5 -5
  109. package/package.json +1 -1
  110. package/pluginHooks.d.ts +7 -1
  111. package/pluginHooks.js +106 -1
  112. package/pluginHooks.mjs +106 -1
  113. package/plugins/autoColumnSize/autoColumnSize.js +4 -1
  114. package/plugins/autoColumnSize/autoColumnSize.mjs +4 -1
  115. package/plugins/collapsibleColumns/collapsibleColumns.js +110 -40
  116. package/plugins/collapsibleColumns/collapsibleColumns.mjs +110 -40
  117. package/plugins/columnSorting/columnSorting.js +40 -1
  118. package/plugins/columnSorting/columnSorting.mjs +40 -3
  119. package/plugins/columnSorting/columnStatesManager.js +2 -1
  120. package/plugins/columnSorting/columnStatesManager.mjs +2 -1
  121. package/plugins/columnSorting/index.js +3 -1
  122. package/plugins/columnSorting/index.mjs +1 -1
  123. package/plugins/comments/commentEditor.js +1 -0
  124. package/plugins/comments/commentEditor.mjs +1 -0
  125. package/plugins/comments/comments.js +253 -191
  126. package/plugins/comments/comments.mjs +252 -192
  127. package/plugins/comments/contextMenuItem/addEditComment.js +41 -0
  128. package/plugins/comments/contextMenuItem/addEditComment.mjs +35 -0
  129. package/plugins/comments/contextMenuItem/readOnlyComment.js +49 -0
  130. package/plugins/comments/contextMenuItem/readOnlyComment.mjs +43 -0
  131. package/plugins/comments/contextMenuItem/removeComment.js +38 -0
  132. package/plugins/comments/contextMenuItem/removeComment.mjs +32 -0
  133. package/plugins/contextMenu/contextMenu.d.ts +1 -1
  134. package/plugins/contextMenu/contextMenu.js +72 -30
  135. package/plugins/contextMenu/contextMenu.mjs +73 -31
  136. package/plugins/contextMenu/predefinedItems/alignment.js +7 -0
  137. package/plugins/contextMenu/predefinedItems/alignment.mjs +7 -0
  138. package/plugins/contextMenu/predefinedItems/clearColumn.js +5 -3
  139. package/plugins/contextMenu/predefinedItems/clearColumn.mjs +5 -3
  140. package/plugins/contextMenu/predefinedItems/columnLeft.js +5 -3
  141. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +5 -3
  142. package/plugins/contextMenu/predefinedItems/columnRight.js +5 -3
  143. package/plugins/contextMenu/predefinedItems/columnRight.mjs +5 -3
  144. package/plugins/contextMenu/predefinedItems/readOnly.js +7 -0
  145. package/plugins/contextMenu/predefinedItems/readOnly.mjs +7 -0
  146. package/plugins/contextMenu/predefinedItems/removeColumn.js +7 -5
  147. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +5 -3
  148. package/plugins/contextMenu/predefinedItems/removeRow.js +7 -5
  149. package/plugins/contextMenu/predefinedItems/removeRow.mjs +5 -3
  150. package/plugins/contextMenu/predefinedItems/rowAbove.js +5 -3
  151. package/plugins/contextMenu/predefinedItems/rowAbove.mjs +5 -3
  152. package/plugins/contextMenu/predefinedItems/rowBelow.js +5 -3
  153. package/plugins/contextMenu/predefinedItems/rowBelow.mjs +5 -3
  154. package/plugins/contextMenu/utils.js +28 -16
  155. package/plugins/contextMenu/utils.mjs +27 -15
  156. package/plugins/copyPaste/contextMenuItem/copy.js +7 -0
  157. package/plugins/copyPaste/contextMenuItem/copy.mjs +7 -0
  158. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +9 -1
  159. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +9 -1
  160. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +9 -1
  161. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +9 -1
  162. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +9 -1
  163. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +9 -1
  164. package/plugins/copyPaste/contextMenuItem/cut.js +7 -0
  165. package/plugins/copyPaste/contextMenuItem/cut.mjs +7 -0
  166. package/plugins/copyPaste/copyPaste.js +12 -6
  167. package/plugins/copyPaste/copyPaste.mjs +12 -6
  168. package/plugins/customBorders/customBorders.js +36 -29
  169. package/plugins/customBorders/customBorders.mjs +37 -30
  170. package/plugins/customBorders/utils.js +3 -3
  171. package/plugins/customBorders/utils.mjs +3 -3
  172. package/plugins/dropdownMenu/dropdownMenu.d.ts +1 -1
  173. package/plugins/dropdownMenu/dropdownMenu.js +89 -32
  174. package/plugins/dropdownMenu/dropdownMenu.mjs +89 -32
  175. package/plugins/filters/conditionCollection.js +6 -5
  176. package/plugins/filters/conditionCollection.mjs +6 -5
  177. package/plugins/filters/filters.js +44 -21
  178. package/plugins/filters/filters.mjs +43 -20
  179. package/plugins/formulas/engine/register.js +3 -3
  180. package/plugins/formulas/engine/register.mjs +3 -3
  181. package/plugins/formulas/engine/settings.js +6 -3
  182. package/plugins/formulas/engine/settings.mjs +6 -3
  183. package/plugins/formulas/formulas.js +151 -143
  184. package/plugins/formulas/formulas.mjs +151 -143
  185. package/plugins/formulas/indexSyncer/axisSyncer.js +115 -79
  186. package/plugins/formulas/indexSyncer/axisSyncer.mjs +115 -79
  187. package/plugins/formulas/indexSyncer/index.js +100 -64
  188. package/plugins/formulas/indexSyncer/index.mjs +100 -64
  189. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +2 -2
  190. package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +2 -2
  191. package/plugins/hiddenColumns/hiddenColumns.js +51 -34
  192. package/plugins/hiddenColumns/hiddenColumns.mjs +51 -34
  193. package/plugins/hiddenRows/contextMenuItem/showRow.js +2 -2
  194. package/plugins/hiddenRows/contextMenuItem/showRow.mjs +2 -2
  195. package/plugins/hiddenRows/hiddenRows.js +50 -33
  196. package/plugins/hiddenRows/hiddenRows.mjs +50 -33
  197. package/plugins/manualRowResize/manualRowResize.js +2 -1
  198. package/plugins/manualRowResize/manualRowResize.mjs +2 -1
  199. package/plugins/mergeCells/mergeCells.js +6 -17
  200. package/plugins/mergeCells/mergeCells.mjs +6 -17
  201. package/plugins/multiColumnSorting/multiColumnSorting.js +37 -2
  202. package/plugins/multiColumnSorting/multiColumnSorting.mjs +37 -2
  203. package/plugins/nestedHeaders/nestedHeaders.js +209 -75
  204. package/plugins/nestedHeaders/nestedHeaders.mjs +208 -74
  205. package/plugins/nestedHeaders/stateManager/headersTree.js +58 -38
  206. package/plugins/nestedHeaders/stateManager/headersTree.mjs +58 -38
  207. package/plugins/nestedHeaders/stateManager/index.js +107 -49
  208. package/plugins/nestedHeaders/stateManager/index.mjs +105 -47
  209. package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.js +1 -1
  210. package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.mjs +1 -1
  211. package/plugins/nestedHeaders/stateManager/sourceSettings.js +57 -37
  212. package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +57 -37
  213. package/plugins/nestedHeaders/utils/ghostTable.js +39 -35
  214. package/plugins/nestedHeaders/utils/ghostTable.mjs +39 -35
  215. package/plugins/nestedRows/data/dataManager.js +4 -2
  216. package/plugins/nestedRows/data/dataManager.mjs +4 -2
  217. package/plugins/nestedRows/nestedRows.js +41 -0
  218. package/plugins/nestedRows/nestedRows.mjs +41 -0
  219. package/plugins/persistentState/storage.js +1 -0
  220. package/plugins/persistentState/storage.mjs +1 -0
  221. package/plugins/undoRedo/undoRedo.js +2 -1
  222. package/plugins/undoRedo/undoRedo.mjs +2 -1
  223. package/renderers/checkboxRenderer/checkboxRenderer.js +2 -2
  224. package/renderers/checkboxRenderer/checkboxRenderer.mjs +1 -1
  225. package/selection/highlight/highlight.js +256 -71
  226. package/selection/highlight/highlight.mjs +250 -71
  227. package/selection/highlight/types/activeHeader.js +10 -8
  228. package/selection/highlight/types/activeHeader.mjs +10 -8
  229. package/selection/highlight/types/area.js +6 -18
  230. package/selection/highlight/types/area.mjs +6 -18
  231. package/selection/highlight/types/areaLayered.js +31 -0
  232. package/selection/highlight/types/areaLayered.mjs +26 -0
  233. package/selection/highlight/types/column.js +27 -0
  234. package/selection/highlight/types/column.mjs +22 -0
  235. package/selection/highlight/types/customSelection.js +7 -9
  236. package/selection/highlight/types/customSelection.mjs +7 -9
  237. package/selection/highlight/types/fill.js +5 -7
  238. package/selection/highlight/types/fill.mjs +5 -7
  239. package/selection/highlight/types/{cell.js → focus.js} +5 -7
  240. package/selection/highlight/types/{cell.mjs → focus.mjs} +5 -7
  241. package/selection/highlight/types/header.js +9 -18
  242. package/selection/highlight/types/header.mjs +9 -18
  243. package/selection/highlight/types/row.js +27 -0
  244. package/selection/highlight/types/row.mjs +22 -0
  245. package/selection/highlight/visualSelection.js +41 -33
  246. package/selection/highlight/visualSelection.mjs +41 -33
  247. package/selection/index.js +4 -7
  248. package/selection/index.mjs +2 -3
  249. package/selection/mouseEventHandler.js +1 -1
  250. package/selection/mouseEventHandler.mjs +1 -1
  251. package/selection/range.js +8 -8
  252. package/selection/range.mjs +8 -8
  253. package/selection/selection.js +290 -154
  254. package/selection/selection.mjs +287 -153
  255. package/selection/transformation.js +232 -90
  256. package/selection/transformation.mjs +232 -90
  257. package/selection/utils.js +15 -21
  258. package/selection/utils.mjs +16 -21
  259. package/settings.d.ts +2 -0
  260. package/shortcutContexts/commands/editor/closeAndSave.js +12 -0
  261. package/shortcutContexts/commands/editor/closeAndSave.mjs +8 -0
  262. package/shortcutContexts/commands/editor/closeWithoutSaving.js +12 -0
  263. package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +8 -0
  264. package/shortcutContexts/commands/editor/fastOpen.js +16 -0
  265. package/shortcutContexts/commands/editor/fastOpen.mjs +12 -0
  266. package/shortcutContexts/commands/editor/index.js +16 -0
  267. package/shortcutContexts/commands/editor/index.mjs +12 -0
  268. package/shortcutContexts/commands/editor/open.js +27 -0
  269. package/shortcutContexts/commands/editor/open.mjs +23 -0
  270. package/shortcutContexts/commands/emptySelectedCells.js +11 -0
  271. package/shortcutContexts/commands/emptySelectedCells.mjs +7 -0
  272. package/shortcutContexts/commands/extendCellsSelection/down.js +15 -0
  273. package/shortcutContexts/commands/extendCellsSelection/down.mjs +11 -0
  274. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +21 -0
  275. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +17 -0
  276. package/shortcutContexts/commands/extendCellsSelection/index.js +26 -0
  277. package/shortcutContexts/commands/extendCellsSelection/index.mjs +22 -0
  278. package/shortcutContexts/commands/extendCellsSelection/left.js +15 -0
  279. package/shortcutContexts/commands/extendCellsSelection/left.mjs +11 -0
  280. package/shortcutContexts/commands/extendCellsSelection/right.js +15 -0
  281. package/shortcutContexts/commands/extendCellsSelection/right.mjs +11 -0
  282. package/shortcutContexts/commands/extendCellsSelection/toColumns.js +19 -0
  283. package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +15 -0
  284. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +29 -0
  285. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +25 -0
  286. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +19 -0
  287. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +15 -0
  288. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +19 -0
  289. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +15 -0
  290. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +29 -0
  291. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +25 -0
  292. package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +29 -0
  293. package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +25 -0
  294. package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +29 -0
  295. package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +25 -0
  296. package/shortcutContexts/commands/extendCellsSelection/toRows.js +19 -0
  297. package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +15 -0
  298. package/shortcutContexts/commands/extendCellsSelection/up.js +15 -0
  299. package/shortcutContexts/commands/extendCellsSelection/up.mjs +11 -0
  300. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +21 -0
  301. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +17 -0
  302. package/shortcutContexts/commands/index.js +35 -0
  303. package/shortcutContexts/commands/index.mjs +31 -0
  304. package/shortcutContexts/commands/moveCellSelection/down.js +13 -0
  305. package/shortcutContexts/commands/moveCellSelection/down.mjs +9 -0
  306. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +31 -0
  307. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +27 -0
  308. package/shortcutContexts/commands/moveCellSelection/index.js +28 -0
  309. package/shortcutContexts/commands/moveCellSelection/index.mjs +24 -0
  310. package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +12 -0
  311. package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +8 -0
  312. package/shortcutContexts/commands/moveCellSelection/inlineStart.js +12 -0
  313. package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +8 -0
  314. package/shortcutContexts/commands/moveCellSelection/left.js +10 -0
  315. package/shortcutContexts/commands/moveCellSelection/left.mjs +6 -0
  316. package/shortcutContexts/commands/moveCellSelection/right.js +10 -0
  317. package/shortcutContexts/commands/moveCellSelection/right.mjs +6 -0
  318. package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +17 -0
  319. package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +13 -0
  320. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +18 -0
  321. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +14 -0
  322. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +14 -0
  323. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +10 -0
  324. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +17 -0
  325. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +13 -0
  326. package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +19 -0
  327. package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +15 -0
  328. package/shortcutContexts/commands/moveCellSelection/toMostRight.js +21 -0
  329. package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +17 -0
  330. package/shortcutContexts/commands/moveCellSelection/toMostTop.js +17 -0
  331. package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +13 -0
  332. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +19 -0
  333. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +15 -0
  334. package/shortcutContexts/commands/moveCellSelection/up.js +13 -0
  335. package/shortcutContexts/commands/moveCellSelection/up.mjs +9 -0
  336. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +31 -0
  337. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +27 -0
  338. package/shortcutContexts/commands/populateSelectedCellsData.js +29 -0
  339. package/shortcutContexts/commands/populateSelectedCellsData.mjs +25 -0
  340. package/shortcutContexts/commands/scrollToFocusedCell.js +36 -0
  341. package/shortcutContexts/commands/scrollToFocusedCell.mjs +32 -0
  342. package/shortcutContexts/commands/selectAll.js +10 -0
  343. package/shortcutContexts/commands/selectAll.mjs +6 -0
  344. package/shortcutContexts/constants.js +13 -0
  345. package/shortcutContexts/constants.mjs +8 -0
  346. package/shortcutContexts/editor.js +25 -0
  347. package/shortcutContexts/editor.mjs +21 -0
  348. package/shortcutContexts/grid.js +163 -0
  349. package/shortcutContexts/grid.mjs +159 -0
  350. package/shortcutContexts/index.js +24 -0
  351. package/shortcutContexts/index.mjs +11 -0
  352. package/shortcuts/manager.js +2 -0
  353. package/shortcuts/manager.mjs +2 -0
  354. package/shortcuts/recorder.js +2 -2
  355. package/shortcuts/recorder.mjs +2 -2
  356. package/shortcuts/utils.js +19 -5
  357. package/shortcuts/utils.mjs +18 -4
  358. package/tableView.js +163 -91
  359. package/tableView.mjs +163 -91
  360. package/translations/changesObservable/observable.js +82 -54
  361. package/translations/changesObservable/observable.mjs +82 -54
  362. package/translations/changesObservable/observer.js +24 -11
  363. package/translations/changesObservable/observer.mjs +24 -11
  364. package/translations/maps/linkedPhysicalIndexToValueMap.js +14 -8
  365. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +14 -8
  366. package/utils/dataStructures/tree.js +21 -18
  367. package/utils/dataStructures/tree.mjs +21 -18
  368. package/3rdparty/walkontable/src/selection.js +0 -295
  369. package/3rdparty/walkontable/src/selection.mjs +0 -290
  370. package/selection/highlight/constants.js +0 -15
  371. package/selection/highlight/constants.mjs +0 -6
  372. package/selection/highlight/types/index.js +0 -35
  373. package/selection/highlight/types/index.mjs +0 -31
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
+ require("core-js/modules/es.error.cause.js");
4
5
  var _element = require("../../../helpers/dom/element");
6
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
7
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
8
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
5
9
  /**
6
10
  * The class generates the nested headers structure in the DOM and reads the column width for
7
11
  * each column. The hierarchy is built only for visible, non-hidden columns. Each time the
@@ -11,42 +15,42 @@ var _element = require("../../../helpers/dom/element");
11
15
  * @private
12
16
  */
13
17
  class GhostTable {
14
- /**
15
- * Reference to the Handsontable instance.
16
- *
17
- * @private
18
- * @type {Handsontable}
19
- */
20
- hot;
21
- /**
22
- * The function for retrieving the nested headers settings.
23
- *
24
- * @private
25
- * @type {Function}
26
- */
27
- nestedHeaderSettingsGetter;
28
- /**
29
- * The value that holds information about the number of the nested header layers (header rows).
30
- *
31
- * @private
32
- * @type {number}
33
- */
34
- layersCount = 0;
35
- /**
36
- * Temporary element created to get minimal headers widths.
37
- *
38
- * @private
39
- * @type {*}
40
- */
41
- container;
42
- /**
43
- * PhysicalIndexToValueMap to keep and track of the columns' widths.
44
- *
45
- * @private
46
- * @type {PhysicalIndexToValueMap}
47
- */
48
- widthsMap;
49
18
  constructor(hot, nestedHeaderSettingsGetter) {
19
+ /**
20
+ * Reference to the Handsontable instance.
21
+ *
22
+ * @private
23
+ * @type {Handsontable}
24
+ */
25
+ _defineProperty(this, "hot", void 0);
26
+ /**
27
+ * The function for retrieving the nested headers settings.
28
+ *
29
+ * @private
30
+ * @type {Function}
31
+ */
32
+ _defineProperty(this, "nestedHeaderSettingsGetter", void 0);
33
+ /**
34
+ * The value that holds information about the number of the nested header layers (header rows).
35
+ *
36
+ * @private
37
+ * @type {number}
38
+ */
39
+ _defineProperty(this, "layersCount", 0);
40
+ /**
41
+ * Temporary element created to get minimal headers widths.
42
+ *
43
+ * @private
44
+ * @type {*}
45
+ */
46
+ _defineProperty(this, "container", void 0);
47
+ /**
48
+ * PhysicalIndexToValueMap to keep and track of the columns' widths.
49
+ *
50
+ * @private
51
+ * @type {PhysicalIndexToValueMap}
52
+ */
53
+ _defineProperty(this, "widthsMap", void 0);
50
54
  this.hot = hot;
51
55
  this.nestedHeaderSettingsGetter = nestedHeaderSettingsGetter;
52
56
  this.widthsMap = this.hot.columnIndexMapper.createAndRegisterIndexMap('nestedHeaders.widthsMap', 'physicalIndexToValue');
@@ -1,3 +1,7 @@
1
+ import "core-js/modules/es.error.cause.js";
2
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
3
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
4
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
1
5
  import { fastInnerHTML } from "../../../helpers/dom/element.mjs";
2
6
  /**
3
7
  * The class generates the nested headers structure in the DOM and reads the column width for
@@ -8,42 +12,42 @@ import { fastInnerHTML } from "../../../helpers/dom/element.mjs";
8
12
  * @private
9
13
  */
10
14
  class GhostTable {
11
- /**
12
- * Reference to the Handsontable instance.
13
- *
14
- * @private
15
- * @type {Handsontable}
16
- */
17
- hot;
18
- /**
19
- * The function for retrieving the nested headers settings.
20
- *
21
- * @private
22
- * @type {Function}
23
- */
24
- nestedHeaderSettingsGetter;
25
- /**
26
- * The value that holds information about the number of the nested header layers (header rows).
27
- *
28
- * @private
29
- * @type {number}
30
- */
31
- layersCount = 0;
32
- /**
33
- * Temporary element created to get minimal headers widths.
34
- *
35
- * @private
36
- * @type {*}
37
- */
38
- container;
39
- /**
40
- * PhysicalIndexToValueMap to keep and track of the columns' widths.
41
- *
42
- * @private
43
- * @type {PhysicalIndexToValueMap}
44
- */
45
- widthsMap;
46
15
  constructor(hot, nestedHeaderSettingsGetter) {
16
+ /**
17
+ * Reference to the Handsontable instance.
18
+ *
19
+ * @private
20
+ * @type {Handsontable}
21
+ */
22
+ _defineProperty(this, "hot", void 0);
23
+ /**
24
+ * The function for retrieving the nested headers settings.
25
+ *
26
+ * @private
27
+ * @type {Function}
28
+ */
29
+ _defineProperty(this, "nestedHeaderSettingsGetter", void 0);
30
+ /**
31
+ * The value that holds information about the number of the nested header layers (header rows).
32
+ *
33
+ * @private
34
+ * @type {number}
35
+ */
36
+ _defineProperty(this, "layersCount", 0);
37
+ /**
38
+ * Temporary element created to get minimal headers widths.
39
+ *
40
+ * @private
41
+ * @type {*}
42
+ */
43
+ _defineProperty(this, "container", void 0);
44
+ /**
45
+ * PhysicalIndexToValueMap to keep and track of the columns' widths.
46
+ *
47
+ * @private
48
+ * @type {PhysicalIndexToValueMap}
49
+ */
50
+ _defineProperty(this, "widthsMap", void 0);
47
51
  this.hot = hot;
48
52
  this.nestedHeaderSettingsGetter = nestedHeaderSettingsGetter;
49
53
  this.widthsMap = this.hot.columnIndexMapper.createAndRegisterIndexMap('nestedHeaders.widthsMap', 'physicalIndexToValue');
@@ -374,7 +374,8 @@ class DataManager {
374
374
  * @returns {object|null} The child element or `null` if the child doesn't exist.
375
375
  */
376
376
  getChild(parent, index) {
377
- return parent.__children?.[index] || null;
377
+ var _parent$__children;
378
+ return ((_parent$__children = parent.__children) === null || _parent$__children === void 0 ? void 0 : _parent$__children[index]) || null;
378
379
  }
379
380
 
380
381
  /**
@@ -394,11 +395,12 @@ class DataManager {
394
395
  * @returns {boolean} `true` if the row is a parent, `false` otherwise.
395
396
  */
396
397
  isParent(row) {
398
+ var _rowObj$__children;
397
399
  let rowObj = row;
398
400
  if (!isNaN(rowObj)) {
399
401
  rowObj = this.getDataObject(rowObj);
400
402
  }
401
- return rowObj && !!rowObj.__children && rowObj.__children?.length !== 0;
403
+ return rowObj && !!rowObj.__children && ((_rowObj$__children = rowObj.__children) === null || _rowObj$__children === void 0 ? void 0 : _rowObj$__children.length) !== 0;
402
404
  }
403
405
 
404
406
  /**
@@ -371,7 +371,8 @@ class DataManager {
371
371
  * @returns {object|null} The child element or `null` if the child doesn't exist.
372
372
  */
373
373
  getChild(parent, index) {
374
- return parent.__children?.[index] || null;
374
+ var _parent$__children;
375
+ return ((_parent$__children = parent.__children) === null || _parent$__children === void 0 ? void 0 : _parent$__children[index]) || null;
375
376
  }
376
377
 
377
378
  /**
@@ -391,11 +392,12 @@ class DataManager {
391
392
  * @returns {boolean} `true` if the row is a parent, `false` otherwise.
392
393
  */
393
394
  isParent(row) {
395
+ var _rowObj$__children;
394
396
  let rowObj = row;
395
397
  if (!isNaN(rowObj)) {
396
398
  rowObj = this.getDataObject(rowObj);
397
399
  }
398
- return rowObj && !!rowObj.__children && rowObj.__children?.length !== 0;
400
+ return rowObj && !!rowObj.__children && ((_rowObj$__children = rowObj.__children) === null || _rowObj$__children === void 0 ? void 0 : _rowObj$__children.length) !== 0;
399
401
  }
400
402
 
401
403
  /**
@@ -16,6 +16,7 @@ const PLUGIN_KEY = 'nestedRows';
16
16
  exports.PLUGIN_KEY = PLUGIN_KEY;
17
17
  const PLUGIN_PRIORITY = 300;
18
18
  exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
19
+ const SHORTCUTS_GROUP = PLUGIN_KEY;
19
20
  const privatePool = new WeakMap();
20
21
 
21
22
  /* eslint-disable jsdoc/require-description-complete-sentence */
@@ -150,6 +151,7 @@ class NestedRows extends _base.BasePlugin {
150
151
  });
151
152
  this.addHook('beforeLoadData', data => this.onBeforeLoadData(data));
152
153
  this.addHook('beforeUpdateData', data => this.onBeforeLoadData(data));
154
+ this.registerShortcuts();
153
155
  super.enablePlugin();
154
156
  }
155
157
 
@@ -158,6 +160,7 @@ class NestedRows extends _base.BasePlugin {
158
160
  */
159
161
  disablePlugin() {
160
162
  this.hot.rowIndexMapper.unregisterMap('nestedRows');
163
+ this.unregisterShortcuts();
161
164
  super.disablePlugin();
162
165
  }
163
166
 
@@ -179,6 +182,44 @@ class NestedRows extends _base.BasePlugin {
179
182
  super.updatePlugin();
180
183
  }
181
184
 
185
+ /**
186
+ * Register shortcuts responsible for toggling collapsible columns.
187
+ *
188
+ * @private
189
+ */
190
+ registerShortcuts() {
191
+ this.hot.getShortcutManager().getContext('grid').addShortcut({
192
+ keys: [['Enter']],
193
+ callback: () => {
194
+ const {
195
+ highlight
196
+ } = this.hot.getSelectedRangeLast();
197
+ if (highlight.col === -1 && highlight.row >= 0) {
198
+ const row = this.collapsingUI.translateTrimmedRow(highlight.row);
199
+ if (this.collapsingUI.areChildrenCollapsed(row)) {
200
+ this.collapsingUI.expandChildren(row);
201
+ } else {
202
+ this.collapsingUI.collapseChildren(row);
203
+ }
204
+ }
205
+ },
206
+ runOnlyIf: () => {
207
+ var _this$hot$getSelected;
208
+ return (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight.isHeader();
209
+ },
210
+ group: SHORTCUTS_GROUP
211
+ });
212
+ }
213
+
214
+ /**
215
+ * Unregister shortcuts responsible for toggling collapsible columns.
216
+ *
217
+ * @private
218
+ */
219
+ unregisterShortcuts() {
220
+ this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
221
+ }
222
+
182
223
  /**
183
224
  * `beforeRowMove` hook callback.
184
225
  *
@@ -10,6 +10,7 @@ import { TrimmingMap } from "../../translations/index.mjs";
10
10
  import RowMoveController from "./utils/rowMoveController.mjs";
11
11
  export const PLUGIN_KEY = 'nestedRows';
12
12
  export const PLUGIN_PRIORITY = 300;
13
+ const SHORTCUTS_GROUP = PLUGIN_KEY;
13
14
  const privatePool = new WeakMap();
14
15
 
15
16
  /* eslint-disable jsdoc/require-description-complete-sentence */
@@ -144,6 +145,7 @@ export class NestedRows extends BasePlugin {
144
145
  });
145
146
  this.addHook('beforeLoadData', data => this.onBeforeLoadData(data));
146
147
  this.addHook('beforeUpdateData', data => this.onBeforeLoadData(data));
148
+ this.registerShortcuts();
147
149
  super.enablePlugin();
148
150
  }
149
151
 
@@ -152,6 +154,7 @@ export class NestedRows extends BasePlugin {
152
154
  */
153
155
  disablePlugin() {
154
156
  this.hot.rowIndexMapper.unregisterMap('nestedRows');
157
+ this.unregisterShortcuts();
155
158
  super.disablePlugin();
156
159
  }
157
160
 
@@ -173,6 +176,44 @@ export class NestedRows extends BasePlugin {
173
176
  super.updatePlugin();
174
177
  }
175
178
 
179
+ /**
180
+ * Register shortcuts responsible for toggling collapsible columns.
181
+ *
182
+ * @private
183
+ */
184
+ registerShortcuts() {
185
+ this.hot.getShortcutManager().getContext('grid').addShortcut({
186
+ keys: [['Enter']],
187
+ callback: () => {
188
+ const {
189
+ highlight
190
+ } = this.hot.getSelectedRangeLast();
191
+ if (highlight.col === -1 && highlight.row >= 0) {
192
+ const row = this.collapsingUI.translateTrimmedRow(highlight.row);
193
+ if (this.collapsingUI.areChildrenCollapsed(row)) {
194
+ this.collapsingUI.expandChildren(row);
195
+ } else {
196
+ this.collapsingUI.collapseChildren(row);
197
+ }
198
+ }
199
+ },
200
+ runOnlyIf: () => {
201
+ var _this$hot$getSelected;
202
+ return (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight.isHeader();
203
+ },
204
+ group: SHORTCUTS_GROUP
205
+ });
206
+ }
207
+
208
+ /**
209
+ * Unregister shortcuts responsible for toggling collapsible columns.
210
+ *
211
+ * @private
212
+ */
213
+ unregisterShortcuts() {
214
+ this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
215
+ }
216
+
176
217
  /**
177
218
  * `beforeRowMove` hook callback.
178
219
  *
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
+ require("core-js/modules/es.json.stringify.js");
4
5
  require("core-js/modules/es.array.push.js");
5
6
  var _array = require("../../helpers/array");
6
7
  /**
@@ -1,3 +1,4 @@
1
+ import "core-js/modules/es.json.stringify.js";
1
2
  import "core-js/modules/es.array.push.js";
2
3
  import { arrayEach } from "../../helpers/array.mjs";
3
4
  /**
@@ -830,7 +830,8 @@ function removeExposedUndoRedoMethods(instance) {
830
830
  }
831
831
  const hook = _pluginHooks.default.getSingleton();
832
832
  hook.add('afterUpdateSettings', function () {
833
- this.getPlugin('undoRedo')?.init();
833
+ var _this$getPlugin;
834
+ (_this$getPlugin = this.getPlugin('undoRedo')) === null || _this$getPlugin === void 0 ? void 0 : _this$getPlugin.init();
834
835
  });
835
836
  hook.register('beforeUndo');
836
837
  hook.register('afterUndo');
@@ -825,7 +825,8 @@ function removeExposedUndoRedoMethods(instance) {
825
825
  }
826
826
  const hook = Hooks.getSingleton();
827
827
  hook.add('afterUpdateSettings', function () {
828
- this.getPlugin('undoRedo')?.init();
828
+ var _this$getPlugin;
829
+ (_this$getPlugin = this.getPlugin('undoRedo')) === null || _this$getPlugin === void 0 ? void 0 : _this$getPlugin.init();
829
830
  });
830
831
  hook.register('beforeUndo');
831
832
  hook.register('afterUndo');
@@ -7,7 +7,7 @@ var _baseRenderer = require("../baseRenderer");
7
7
  var _eventManager = _interopRequireDefault(require("../../eventManager"));
8
8
  var _element = require("../../helpers/dom/element");
9
9
  var _mixed = require("../../helpers/mixed");
10
- var _editorManager = require("../../editorManager");
10
+ var _shortcutContexts = require("../../shortcutContexts");
11
11
  var _pluginHooks = _interopRequireDefault(require("../../pluginHooks"));
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
13
  const isListeningKeyDownEvent = new WeakMap();
@@ -158,7 +158,7 @@ function checkboxRenderer(instance, TD, row, col, prop, value, cellProperties) {
158
158
  return !areSelectedCheckboxCells(); // False blocks next action associated with the keyboard shortcut.
159
159
  },
160
160
 
161
- relativeToGroup: _editorManager.SHORTCUTS_GROUP_EDITOR,
161
+ relativeToGroup: _shortcutContexts.EDITOR_EDIT_GROUP,
162
162
  position: 'before'
163
163
  }], config);
164
164
  }
@@ -3,7 +3,7 @@ import { baseRenderer } from "../baseRenderer/index.mjs";
3
3
  import EventManager from "../../eventManager.mjs";
4
4
  import { empty, addClass } from "../../helpers/dom/element.mjs";
5
5
  import { isEmpty, stringify } from "../../helpers/mixed.mjs";
6
- import { SHORTCUTS_GROUP_EDITOR } from "../../editorManager.mjs";
6
+ import { EDITOR_EDIT_GROUP as SHORTCUTS_GROUP_EDITOR } from "../../shortcutContexts/index.mjs";
7
7
  import Hooks from "../../pluginHooks.mjs";
8
8
  const isListeningKeyDownEvent = new WeakMap();
9
9
  const isCheckboxListenerAdded = new WeakMap();