handsontable 0.0.0-next-9379dd1-20231020 → 0.0.0-next-9059914-20231025

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 (414) hide show
  1. package/3rdparty/walkontable/src/{selection/border/border.js → border.js} +12 -7
  2. package/3rdparty/walkontable/src/{selection/border/border.mjs → border.mjs} +12 -7
  3. package/3rdparty/walkontable/src/cell/coords.d.ts +1 -6
  4. package/3rdparty/walkontable/src/cell/coords.js +11 -50
  5. package/3rdparty/walkontable/src/cell/coords.mjs +11 -50
  6. package/3rdparty/walkontable/src/cell/range.d.ts +2 -9
  7. package/3rdparty/walkontable/src/cell/range.js +7 -38
  8. package/3rdparty/walkontable/src/cell/range.mjs +7 -38
  9. package/3rdparty/walkontable/src/core/_base.js +3 -9
  10. package/3rdparty/walkontable/src/core/_base.mjs +3 -9
  11. package/3rdparty/walkontable/src/core/clone.js +2 -2
  12. package/3rdparty/walkontable/src/core/clone.mjs +2 -2
  13. package/3rdparty/walkontable/src/core/core.js +2 -3
  14. package/3rdparty/walkontable/src/core/core.mjs +2 -3
  15. package/3rdparty/walkontable/src/event.js +10 -12
  16. package/3rdparty/walkontable/src/event.mjs +10 -12
  17. package/3rdparty/walkontable/src/facade/core.js +2 -2
  18. package/3rdparty/walkontable/src/facade/core.mjs +2 -2
  19. package/3rdparty/walkontable/src/index.js +2 -10
  20. package/3rdparty/walkontable/src/index.mjs +2 -2
  21. package/3rdparty/walkontable/src/overlay/_base.js +2 -13
  22. package/3rdparty/walkontable/src/overlay/_base.mjs +3 -14
  23. package/3rdparty/walkontable/src/overlay/inlineStart.js +6 -2
  24. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +6 -2
  25. package/3rdparty/walkontable/src/overlay/top.js +6 -2
  26. package/3rdparty/walkontable/src/overlay/top.mjs +6 -2
  27. package/3rdparty/walkontable/src/renderer/cells.js +0 -10
  28. package/3rdparty/walkontable/src/renderer/cells.mjs +1 -11
  29. package/3rdparty/walkontable/src/renderer/columnHeaders.js +0 -10
  30. package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +1 -11
  31. package/3rdparty/walkontable/src/renderer/rowHeaders.js +0 -5
  32. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +0 -5
  33. package/3rdparty/walkontable/src/renderer/rows.js +0 -13
  34. package/3rdparty/walkontable/src/renderer/rows.mjs +0 -13
  35. package/3rdparty/walkontable/src/renderer/table.js +0 -9
  36. package/3rdparty/walkontable/src/renderer/table.mjs +0 -9
  37. package/3rdparty/walkontable/src/scroll.js +0 -2
  38. package/3rdparty/walkontable/src/scroll.mjs +0 -2
  39. package/3rdparty/walkontable/src/selection.js +295 -0
  40. package/3rdparty/walkontable/src/selection.mjs +290 -0
  41. package/3rdparty/walkontable/src/settings.js +4 -13
  42. package/3rdparty/walkontable/src/settings.mjs +4 -13
  43. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +0 -9
  44. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +0 -9
  45. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +0 -9
  46. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +0 -9
  47. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +0 -9
  48. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +0 -9
  49. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +0 -9
  50. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +0 -9
  51. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +0 -9
  52. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +0 -9
  53. package/3rdparty/walkontable/src/table.js +78 -19
  54. package/3rdparty/walkontable/src/table.mjs +79 -20
  55. package/base.js +2 -2
  56. package/base.mjs +2 -2
  57. package/cellTypes/dateType/dateType.d.ts +3 -3
  58. package/cellTypes/dateType/dateType.js +2 -2
  59. package/cellTypes/dateType/dateType.mjs +2 -2
  60. package/cellTypes/handsontableType/handsontableType.d.ts +3 -3
  61. package/cellTypes/handsontableType/handsontableType.js +2 -2
  62. package/cellTypes/handsontableType/handsontableType.mjs +2 -2
  63. package/cellTypes/index.d.ts +0 -3
  64. package/cellTypes/index.js +0 -4
  65. package/cellTypes/index.mjs +1 -3
  66. package/core.d.ts +4 -9
  67. package/core.js +327 -285
  68. package/core.mjs +327 -285
  69. package/dataMap/metaManager/metaSchema.js +0 -65
  70. package/dataMap/metaManager/metaSchema.mjs +0 -65
  71. package/dataMap/metaManager/mods/extendMetaProperties.js +1 -7
  72. package/dataMap/metaManager/mods/extendMetaProperties.mjs +1 -7
  73. package/dataMap/replaceData.js +0 -5
  74. package/dataMap/replaceData.mjs +0 -5
  75. package/dist/handsontable.css +5 -40
  76. package/dist/handsontable.full.css +5 -40
  77. package/dist/handsontable.full.js +8038 -12837
  78. package/dist/handsontable.full.min.css +4 -4
  79. package/dist/handsontable.full.min.js +141 -141
  80. package/dist/handsontable.js +11488 -16287
  81. package/dist/handsontable.min.css +3 -3
  82. package/dist/handsontable.min.js +21 -21
  83. package/dist/languages/all.js +2 -6
  84. package/dist/languages/all.min.js +1 -1
  85. package/dist/languages/en-US.js +1 -3
  86. package/dist/languages/en-US.min.js +1 -1
  87. package/dist/languages/pl-PL.js +1 -3
  88. package/dist/languages/pl-PL.min.js +1 -1
  89. package/editorManager.js +87 -15
  90. package/editorManager.mjs +87 -16
  91. package/editors/autocompleteEditor/autocompleteEditor.js +2 -53
  92. package/editors/autocompleteEditor/autocompleteEditor.mjs +3 -54
  93. package/editors/dateEditor/dateEditor.js +7 -26
  94. package/editors/dateEditor/dateEditor.mjs +8 -27
  95. package/editors/handsontableEditor/handsontableEditor.js +1 -9
  96. package/editors/handsontableEditor/handsontableEditor.mjs +2 -10
  97. package/editors/textEditor/textEditor.js +27 -19
  98. package/editors/textEditor/textEditor.mjs +30 -22
  99. package/helpers/dom/element.js +9 -188
  100. package/helpers/dom/element.mjs +9 -182
  101. package/helpers/mixed.js +1 -1
  102. package/helpers/mixed.mjs +1 -1
  103. package/helpers/number.d.ts +0 -1
  104. package/helpers/number.js +0 -18
  105. package/helpers/number.mjs +0 -17
  106. package/i18n/constants.js +1 -7
  107. package/i18n/constants.mjs +1 -4
  108. package/i18n/languages/en-US.js +1 -3
  109. package/i18n/languages/en-US.mjs +1 -3
  110. package/i18n/languages/pl-PL.js +1 -3
  111. package/i18n/languages/pl-PL.mjs +1 -3
  112. package/languages/all.js +2 -6
  113. package/languages/en-US.js +1 -3
  114. package/languages/en-US.mjs +1 -3
  115. package/languages/index.js +2 -6
  116. package/languages/pl-PL.js +1 -3
  117. package/languages/pl-PL.mjs +1 -3
  118. package/package.json +99 -116
  119. package/pluginHooks.d.ts +1 -12
  120. package/pluginHooks.js +1 -152
  121. package/pluginHooks.mjs +1 -152
  122. package/plugins/collapsibleColumns/collapsibleColumns.js +4 -74
  123. package/plugins/collapsibleColumns/collapsibleColumns.mjs +5 -75
  124. package/plugins/columnSorting/columnSorting.js +0 -43
  125. package/plugins/columnSorting/columnSorting.mjs +3 -44
  126. package/plugins/columnSorting/index.js +1 -3
  127. package/plugins/columnSorting/index.mjs +1 -1
  128. package/plugins/comments/commentEditor.js +0 -1
  129. package/plugins/comments/commentEditor.mjs +0 -1
  130. package/plugins/comments/comments.js +189 -252
  131. package/plugins/comments/comments.mjs +190 -251
  132. package/plugins/contextMenu/commandExecutor.js +3 -2
  133. package/plugins/contextMenu/commandExecutor.mjs +3 -2
  134. package/plugins/contextMenu/contextMenu.d.ts +1 -1
  135. package/plugins/contextMenu/contextMenu.js +36 -75
  136. package/plugins/contextMenu/contextMenu.mjs +35 -74
  137. package/plugins/contextMenu/{menu/cursor.mjs → cursor.js} +10 -4
  138. package/plugins/contextMenu/{menu/cursor.js → cursor.mjs} +4 -6
  139. package/plugins/contextMenu/itemsFactory.js +3 -2
  140. package/plugins/contextMenu/itemsFactory.mjs +4 -3
  141. package/plugins/contextMenu/{menu/menu.js → menu.js} +308 -96
  142. package/plugins/contextMenu/{menu/menu.mjs → menu.mjs} +309 -97
  143. package/plugins/contextMenu/predefinedItems/alignment.js +0 -7
  144. package/plugins/contextMenu/predefinedItems/alignment.mjs +0 -7
  145. package/plugins/contextMenu/predefinedItems/clearColumn.js +3 -5
  146. package/plugins/contextMenu/predefinedItems/clearColumn.mjs +3 -5
  147. package/plugins/contextMenu/predefinedItems/columnLeft.js +3 -5
  148. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +3 -5
  149. package/plugins/contextMenu/predefinedItems/columnRight.js +3 -5
  150. package/plugins/contextMenu/predefinedItems/columnRight.mjs +3 -5
  151. package/plugins/contextMenu/predefinedItems/readOnly.js +0 -7
  152. package/plugins/contextMenu/predefinedItems/readOnly.mjs +0 -7
  153. package/plugins/contextMenu/predefinedItems/removeColumn.js +5 -7
  154. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +3 -5
  155. package/plugins/contextMenu/predefinedItems/removeRow.js +5 -7
  156. package/plugins/contextMenu/predefinedItems/removeRow.mjs +3 -5
  157. package/plugins/contextMenu/predefinedItems/rowAbove.js +3 -5
  158. package/plugins/contextMenu/predefinedItems/rowAbove.mjs +3 -5
  159. package/plugins/contextMenu/predefinedItems/rowBelow.js +3 -5
  160. package/plugins/contextMenu/predefinedItems/rowBelow.mjs +3 -5
  161. package/plugins/contextMenu/{predefinedItems/index.js → predefinedItems.js} +14 -14
  162. package/plugins/contextMenu/predefinedItems.mjs +68 -0
  163. package/plugins/contextMenu/utils.js +151 -35
  164. package/plugins/contextMenu/utils.mjs +144 -35
  165. package/plugins/copyPaste/contextMenuItem/copy.js +0 -7
  166. package/plugins/copyPaste/contextMenuItem/copy.mjs +0 -7
  167. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +1 -9
  168. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +1 -9
  169. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +1 -9
  170. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +1 -9
  171. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +1 -9
  172. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +1 -9
  173. package/plugins/copyPaste/contextMenuItem/cut.js +0 -7
  174. package/plugins/copyPaste/contextMenuItem/cut.mjs +0 -7
  175. package/plugins/copyPaste/copyPaste.js +78 -127
  176. package/plugins/copyPaste/copyPaste.mjs +79 -128
  177. package/plugins/copyPaste/focusableElement.js +186 -0
  178. package/plugins/copyPaste/focusableElement.mjs +180 -0
  179. package/plugins/customBorders/customBorders.js +20 -23
  180. package/plugins/customBorders/customBorders.mjs +21 -24
  181. package/plugins/dropdownMenu/dropdownMenu.d.ts +1 -1
  182. package/plugins/dropdownMenu/dropdownMenu.js +38 -97
  183. package/plugins/dropdownMenu/dropdownMenu.mjs +37 -96
  184. package/plugins/filters/constants.mjs +1 -1
  185. package/plugins/filters/filters.js +14 -31
  186. package/plugins/filters/filters.mjs +14 -31
  187. package/plugins/filters/ui/select.js +3 -3
  188. package/plugins/filters/ui/select.mjs +2 -2
  189. package/plugins/hiddenColumns/hiddenColumns.mjs +1 -1
  190. package/plugins/hiddenRows/hiddenRows.mjs +1 -1
  191. package/plugins/manualColumnMove/manualColumnMove.js +1 -3
  192. package/plugins/manualColumnMove/manualColumnMove.mjs +1 -3
  193. package/plugins/mergeCells/mergeCells.js +16 -5
  194. package/plugins/mergeCells/mergeCells.mjs +16 -5
  195. package/plugins/multiColumnSorting/multiColumnSorting.js +2 -37
  196. package/plugins/multiColumnSorting/multiColumnSorting.mjs +2 -37
  197. package/plugins/nestedHeaders/nestedHeaders.js +10 -240
  198. package/plugins/nestedHeaders/nestedHeaders.mjs +11 -241
  199. package/plugins/nestedHeaders/stateManager/index.js +3 -102
  200. package/plugins/nestedHeaders/stateManager/index.mjs +3 -102
  201. package/plugins/nestedRows/nestedRows.js +0 -41
  202. package/plugins/nestedRows/nestedRows.mjs +0 -41
  203. package/plugins/nestedRows/ui/headers.js +0 -11
  204. package/plugins/nestedRows/ui/headers.mjs +1 -12
  205. package/renderers/autocompleteRenderer/autocompleteRenderer.js +0 -8
  206. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +0 -8
  207. package/renderers/baseRenderer/baseRenderer.js +0 -17
  208. package/renderers/baseRenderer/baseRenderer.mjs +1 -18
  209. package/renderers/checkboxRenderer/checkboxRenderer.js +4 -9
  210. package/renderers/checkboxRenderer/checkboxRenderer.mjs +4 -9
  211. package/renderers/index.d.ts +0 -9
  212. package/selection/highlight/constants.js +15 -0
  213. package/selection/highlight/constants.mjs +6 -0
  214. package/selection/highlight/highlight.js +71 -256
  215. package/selection/highlight/highlight.mjs +71 -250
  216. package/selection/highlight/types/activeHeader.js +8 -10
  217. package/selection/highlight/types/activeHeader.mjs +8 -10
  218. package/selection/highlight/types/area.js +18 -6
  219. package/selection/highlight/types/area.mjs +18 -6
  220. package/selection/highlight/types/{focus.js → cell.js} +7 -5
  221. package/selection/highlight/types/{focus.mjs → cell.mjs} +7 -5
  222. package/selection/highlight/types/customSelection.js +9 -7
  223. package/selection/highlight/types/customSelection.mjs +9 -7
  224. package/selection/highlight/types/fill.js +7 -5
  225. package/selection/highlight/types/fill.mjs +7 -5
  226. package/selection/highlight/types/header.js +18 -9
  227. package/selection/highlight/types/header.mjs +18 -9
  228. package/selection/highlight/types/index.js +35 -0
  229. package/selection/highlight/types/index.mjs +31 -0
  230. package/selection/highlight/visualSelection.js +27 -31
  231. package/selection/highlight/visualSelection.mjs +27 -31
  232. package/selection/index.js +7 -4
  233. package/selection/index.mjs +3 -2
  234. package/selection/mouseEventHandler.js +1 -7
  235. package/selection/mouseEventHandler.mjs +1 -7
  236. package/selection/range.js +8 -8
  237. package/selection/range.mjs +8 -8
  238. package/selection/selection.js +152 -321
  239. package/selection/selection.mjs +151 -318
  240. package/selection/transformation.js +90 -232
  241. package/selection/transformation.mjs +90 -232
  242. package/selection/utils.js +21 -15
  243. package/selection/utils.mjs +21 -16
  244. package/settings.d.ts +0 -4
  245. package/shortcuts/context.js +2 -20
  246. package/shortcuts/context.mjs +3 -20
  247. package/shortcuts/manager.js +7 -25
  248. package/shortcuts/manager.mjs +7 -26
  249. package/shortcuts/recorder.js +3 -3
  250. package/shortcuts/recorder.mjs +3 -3
  251. package/shortcuts/utils.js +5 -19
  252. package/shortcuts/utils.mjs +4 -18
  253. package/tableView.js +13 -111
  254. package/tableView.mjs +14 -112
  255. package/3rdparty/walkontable/src/selection/border/constants.js +0 -16
  256. package/3rdparty/walkontable/src/selection/border/constants.mjs +0 -12
  257. package/3rdparty/walkontable/src/selection/constants.js +0 -62
  258. package/3rdparty/walkontable/src/selection/constants.mjs +0 -51
  259. package/3rdparty/walkontable/src/selection/index.js +0 -26
  260. package/3rdparty/walkontable/src/selection/index.mjs +0 -5
  261. package/3rdparty/walkontable/src/selection/manager.js +0 -274
  262. package/3rdparty/walkontable/src/selection/manager.mjs +0 -269
  263. package/3rdparty/walkontable/src/selection/scanner.js +0 -270
  264. package/3rdparty/walkontable/src/selection/scanner.mjs +0 -267
  265. package/3rdparty/walkontable/src/selection/selection.js +0 -101
  266. package/3rdparty/walkontable/src/selection/selection.mjs +0 -96
  267. package/cellTypes/selectType/index.d.ts +0 -1
  268. package/cellTypes/selectType/index.js +0 -6
  269. package/cellTypes/selectType/index.mjs +0 -1
  270. package/cellTypes/selectType/selectType.d.ts +0 -14
  271. package/cellTypes/selectType/selectType.js +0 -13
  272. package/cellTypes/selectType/selectType.mjs +0 -8
  273. package/core/focusCatcher/focusDetector.js +0 -63
  274. package/core/focusCatcher/focusDetector.mjs +0 -59
  275. package/core/focusCatcher/index.js +0 -142
  276. package/core/focusCatcher/index.mjs +0 -138
  277. package/core/index.js +0 -9
  278. package/core/index.mjs +0 -1
  279. package/focusManager.d.ts +0 -12
  280. package/focusManager.js +0 -265
  281. package/focusManager.mjs +0 -261
  282. package/helpers/a11y.js +0 -79
  283. package/helpers/a11y.mjs +0 -38
  284. package/plugins/comments/contextMenuItem/addEditComment.js +0 -41
  285. package/plugins/comments/contextMenuItem/addEditComment.mjs +0 -35
  286. package/plugins/comments/contextMenuItem/readOnlyComment.js +0 -49
  287. package/plugins/comments/contextMenuItem/readOnlyComment.mjs +0 -43
  288. package/plugins/comments/contextMenuItem/removeComment.js +0 -38
  289. package/plugins/comments/contextMenuItem/removeComment.mjs +0 -32
  290. package/plugins/contextMenu/menu/index.js +0 -9
  291. package/plugins/contextMenu/menu/index.mjs +0 -1
  292. package/plugins/contextMenu/menu/navigator.js +0 -152
  293. package/plugins/contextMenu/menu/navigator.mjs +0 -148
  294. package/plugins/contextMenu/menu/positioner.js +0 -213
  295. package/plugins/contextMenu/menu/positioner.mjs +0 -209
  296. package/plugins/contextMenu/menu/utils.js +0 -177
  297. package/plugins/contextMenu/menu/utils.mjs +0 -163
  298. package/plugins/contextMenu/predefinedItems/index.mjs +0 -68
  299. package/renderers/dateRenderer/dateRenderer.d.ts +0 -5
  300. package/renderers/dateRenderer/dateRenderer.js +0 -29
  301. package/renderers/dateRenderer/dateRenderer.mjs +0 -24
  302. package/renderers/dateRenderer/index.d.ts +0 -1
  303. package/renderers/dateRenderer/index.js +0 -6
  304. package/renderers/dateRenderer/index.mjs +0 -1
  305. package/renderers/handsontableRenderer/handsontableRenderer.d.ts +0 -5
  306. package/renderers/handsontableRenderer/handsontableRenderer.js +0 -29
  307. package/renderers/handsontableRenderer/handsontableRenderer.mjs +0 -24
  308. package/renderers/handsontableRenderer/index.d.ts +0 -1
  309. package/renderers/handsontableRenderer/index.js +0 -6
  310. package/renderers/handsontableRenderer/index.mjs +0 -1
  311. package/renderers/selectRenderer/index.d.ts +0 -1
  312. package/renderers/selectRenderer/index.js +0 -6
  313. package/renderers/selectRenderer/index.mjs +0 -1
  314. package/renderers/selectRenderer/selectRenderer.d.ts +0 -5
  315. package/renderers/selectRenderer/selectRenderer.js +0 -27
  316. package/renderers/selectRenderer/selectRenderer.mjs +0 -22
  317. package/selection/highlight/types/areaLayered.js +0 -31
  318. package/selection/highlight/types/areaLayered.mjs +0 -26
  319. package/selection/highlight/types/column.js +0 -27
  320. package/selection/highlight/types/column.mjs +0 -22
  321. package/selection/highlight/types/row.js +0 -27
  322. package/selection/highlight/types/row.mjs +0 -22
  323. package/shortcutContexts/commands/editor/closeAndSave.js +0 -12
  324. package/shortcutContexts/commands/editor/closeAndSave.mjs +0 -8
  325. package/shortcutContexts/commands/editor/closeWithoutSaving.js +0 -12
  326. package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +0 -8
  327. package/shortcutContexts/commands/editor/fastOpen.js +0 -16
  328. package/shortcutContexts/commands/editor/fastOpen.mjs +0 -12
  329. package/shortcutContexts/commands/editor/index.js +0 -16
  330. package/shortcutContexts/commands/editor/index.mjs +0 -12
  331. package/shortcutContexts/commands/editor/open.js +0 -27
  332. package/shortcutContexts/commands/editor/open.mjs +0 -23
  333. package/shortcutContexts/commands/emptySelectedCells.js +0 -11
  334. package/shortcutContexts/commands/emptySelectedCells.mjs +0 -7
  335. package/shortcutContexts/commands/extendCellsSelection/down.js +0 -15
  336. package/shortcutContexts/commands/extendCellsSelection/down.mjs +0 -11
  337. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +0 -25
  338. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +0 -21
  339. package/shortcutContexts/commands/extendCellsSelection/index.js +0 -26
  340. package/shortcutContexts/commands/extendCellsSelection/index.mjs +0 -22
  341. package/shortcutContexts/commands/extendCellsSelection/left.js +0 -15
  342. package/shortcutContexts/commands/extendCellsSelection/left.mjs +0 -11
  343. package/shortcutContexts/commands/extendCellsSelection/right.js +0 -15
  344. package/shortcutContexts/commands/extendCellsSelection/right.mjs +0 -11
  345. package/shortcutContexts/commands/extendCellsSelection/toColumns.js +0 -19
  346. package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +0 -15
  347. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +0 -29
  348. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +0 -25
  349. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +0 -19
  350. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +0 -15
  351. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +0 -19
  352. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +0 -15
  353. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +0 -29
  354. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +0 -25
  355. package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +0 -29
  356. package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +0 -25
  357. package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +0 -29
  358. package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +0 -25
  359. package/shortcutContexts/commands/extendCellsSelection/toRows.js +0 -19
  360. package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +0 -15
  361. package/shortcutContexts/commands/extendCellsSelection/up.js +0 -15
  362. package/shortcutContexts/commands/extendCellsSelection/up.mjs +0 -11
  363. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +0 -25
  364. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +0 -21
  365. package/shortcutContexts/commands/index.js +0 -35
  366. package/shortcutContexts/commands/index.mjs +0 -31
  367. package/shortcutContexts/commands/moveCellSelection/down.js +0 -13
  368. package/shortcutContexts/commands/moveCellSelection/down.mjs +0 -9
  369. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +0 -33
  370. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +0 -29
  371. package/shortcutContexts/commands/moveCellSelection/index.js +0 -28
  372. package/shortcutContexts/commands/moveCellSelection/index.mjs +0 -24
  373. package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +0 -12
  374. package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +0 -8
  375. package/shortcutContexts/commands/moveCellSelection/inlineStart.js +0 -12
  376. package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +0 -8
  377. package/shortcutContexts/commands/moveCellSelection/left.js +0 -10
  378. package/shortcutContexts/commands/moveCellSelection/left.mjs +0 -6
  379. package/shortcutContexts/commands/moveCellSelection/right.js +0 -10
  380. package/shortcutContexts/commands/moveCellSelection/right.mjs +0 -6
  381. package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +0 -17
  382. package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +0 -13
  383. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +0 -18
  384. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +0 -14
  385. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +0 -14
  386. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +0 -10
  387. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +0 -17
  388. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +0 -13
  389. package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +0 -19
  390. package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +0 -15
  391. package/shortcutContexts/commands/moveCellSelection/toMostRight.js +0 -21
  392. package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +0 -17
  393. package/shortcutContexts/commands/moveCellSelection/toMostTop.js +0 -17
  394. package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +0 -13
  395. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +0 -19
  396. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +0 -15
  397. package/shortcutContexts/commands/moveCellSelection/up.js +0 -13
  398. package/shortcutContexts/commands/moveCellSelection/up.mjs +0 -9
  399. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +0 -33
  400. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +0 -29
  401. package/shortcutContexts/commands/populateSelectedCellsData.js +0 -29
  402. package/shortcutContexts/commands/populateSelectedCellsData.mjs +0 -25
  403. package/shortcutContexts/commands/scrollToFocusedCell.js +0 -35
  404. package/shortcutContexts/commands/scrollToFocusedCell.mjs +0 -31
  405. package/shortcutContexts/commands/selectAll.js +0 -12
  406. package/shortcutContexts/commands/selectAll.mjs +0 -8
  407. package/shortcutContexts/constants.js +0 -13
  408. package/shortcutContexts/constants.mjs +0 -8
  409. package/shortcutContexts/editor.js +0 -25
  410. package/shortcutContexts/editor.mjs +0 -21
  411. package/shortcutContexts/grid.js +0 -163
  412. package/shortcutContexts/grid.mjs +0 -159
  413. package/shortcutContexts/index.js +0 -24
  414. package/shortcutContexts/index.mjs +0 -11
@@ -11,9 +11,9 @@ function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classEx
11
11
  function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
12
12
  function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
13
13
  import { addClass, removeClass } from "../../helpers/dom/element.mjs";
14
- import { isNumeric, clamp } from "../../helpers/number.mjs";
15
- import { toSingleLine } from "../../helpers/templateLiteralTag.mjs";
14
+ import { isNumeric } from "../../helpers/number.mjs";
16
15
  import { isLeftClick, isRightClick } from "../../helpers/dom/event.mjs";
16
+ import { toSingleLine } from "../../helpers/templateLiteralTag.mjs";
17
17
  import { warn } from "../../helpers/console.mjs";
18
18
  import { ACTIVE_HEADER_TYPE, HEADER_TYPE } from "../../selection/index.mjs";
19
19
  import { BasePlugin } from "../base/index.mjs";
@@ -69,14 +69,13 @@ export const PLUGIN_PRIORITY = 280;
69
69
  */
70
70
  var _stateManager = /*#__PURE__*/new WeakMap();
71
71
  var _hidingIndexMapObserver = /*#__PURE__*/new WeakMap();
72
- var _focusInitialCoords = /*#__PURE__*/new WeakMap();
73
- var _isColumnsSelectionInProgress = /*#__PURE__*/new WeakMap();
74
72
  export class NestedHeaders extends BasePlugin {
75
73
  constructor() {
76
74
  super(...arguments);
77
75
  /**
78
76
  * The state manager for the nested headers.
79
77
  *
78
+ * @private
80
79
  * @type {StateManager}
81
80
  */
82
81
  _classPrivateFieldInitSpec(this, _stateManager, {
@@ -87,30 +86,13 @@ export class NestedHeaders extends BasePlugin {
87
86
  * The instance of the ChangesObservable class that allows track the changes that happens in the
88
87
  * column indexes.
89
88
  *
89
+ * @private
90
90
  * @type {ChangesObservable}
91
91
  */
92
92
  _classPrivateFieldInitSpec(this, _hidingIndexMapObserver, {
93
93
  writable: true,
94
94
  value: null
95
95
  });
96
- /**
97
- * Holds the coords that points to the place where the column selection starts.
98
- *
99
- * @type {number|null}
100
- */
101
- _classPrivateFieldInitSpec(this, _focusInitialCoords, {
102
- writable: true,
103
- value: null
104
- });
105
- /**
106
- * Determines if there is performed the column selection.
107
- *
108
- * @type {boolean}
109
- */
110
- _classPrivateFieldInitSpec(this, _isColumnsSelectionInProgress, {
111
- writable: true,
112
- value: false
113
- });
114
96
  /**
115
97
  * Custom helper for getting widths of the nested headers.
116
98
  *
@@ -170,19 +152,6 @@ export class NestedHeaders extends BasePlugin {
170
152
  this.addHook('beforeOnCellMouseOver', function () {
171
153
  return _this.onBeforeOnCellMouseOver(...arguments);
172
154
  });
173
- this.addHook('beforeOnCellMouseUp', function () {
174
- return _this.onBeforeOnCellMouseUp(...arguments);
175
- });
176
- this.addHook('beforeSelectionHighlightSet', function () {
177
- return _this.onBeforeSelectionHighlightSet(...arguments);
178
- });
179
- this.addHook('modifyTransformStart', function () {
180
- return _this.onModifyTransformStart(...arguments);
181
- });
182
- this.addHook('afterSelection', () => this.updateFocusHighlightPosition());
183
- this.addHook('beforeViewportScrollHorizontally', function () {
184
- return _this.onBeforeViewportScrollHorizontally(...arguments);
185
- });
186
155
  this.addHook('afterGetColumnHeaderRenderers', array => this.onAfterGetColumnHeaderRenderers(array));
187
156
  this.addHook('modifyColWidth', function () {
188
157
  return _this.onModifyColWidth(...arguments);
@@ -196,17 +165,9 @@ export class NestedHeaders extends BasePlugin {
196
165
  this.addHook('beforeCopy', function () {
197
166
  return _this.onBeforeCopy(...arguments);
198
167
  });
199
- this.addHook('beforeSelectColumns', function () {
200
- return _this.onBeforeSelectColumns(...arguments);
201
- });
202
168
  this.addHook('afterViewportColumnCalculatorOverride', function () {
203
169
  return _this.onAfterViewportColumnCalculatorOverride(...arguments);
204
170
  });
205
- this.addHook('modifyFocusedElement', function () {
206
- return _this.onModifyFocusedElement(...arguments);
207
- });
208
- this.hot.columnIndexMapper.addLocalHook('cacheUpdated', () => this.updateFocusHighlightPosition());
209
- this.hot.rowIndexMapper.addLocalHook('cacheUpdated', () => this.updateFocusHighlightPosition());
210
171
  super.enablePlugin();
211
172
  this.updatePlugin(); // @TODO: Workaround for broken plugin initialization abstraction.
212
173
  }
@@ -422,67 +383,6 @@ export class NestedHeaders extends BasePlugin {
422
383
  return this.hot.getColHeader(visualColumnIndex, headerLevel);
423
384
  }
424
385
 
425
- /**
426
- * Updates the selection focus highlight position to point to the nested header root element (TH)
427
- * even when the logical coordinates point in-between the header.
428
- *
429
- * @private
430
- */
431
- updateFocusHighlightPosition() {
432
- var _this$hot;
433
- const selection = (_this$hot = this.hot) === null || _this$hot === void 0 ? void 0 : _this$hot.getSelectedRangeLast();
434
- if (!selection) {
435
- return;
436
- }
437
- const {
438
- highlight
439
- } = selection;
440
- const isNestedHeadersRange = highlight.isHeader() && highlight.col >= 0;
441
- if (isNestedHeadersRange) {
442
- const columnIndex = _classPrivateFieldGet(this, _stateManager).findLeftMostColumnIndex(highlight.row, highlight.col);
443
- const focusHighlight = this.hot.selection.highlight.getFocus();
444
-
445
- // Correct the highlight/focus selection to highlight the correct TH element
446
- focusHighlight.visualCellRange.highlight.col = columnIndex;
447
- focusHighlight.visualCellRange.from.col = columnIndex;
448
- focusHighlight.visualCellRange.to.col = columnIndex;
449
- focusHighlight.commit();
450
- }
451
- }
452
-
453
- /**
454
- * Allows to control to which column index the viewport will be scrolled. To ensure that the viewport
455
- * is scrolled to the correct column for the nested header the most left and the most right visual column
456
- * indexes are used.
457
- *
458
- * @private
459
- * @param {number} visualColumn A visual column index to which the viewport will be scrolled.
460
- * @returns {number}
461
- */
462
- onBeforeViewportScrollHorizontally(visualColumn) {
463
- const selection = this.hot.getSelectedRangeLast();
464
- if (!selection) {
465
- return visualColumn;
466
- }
467
- const {
468
- highlight
469
- } = selection;
470
- const isNestedHeadersRange = highlight.isHeader() && highlight.col >= 0;
471
- if (!isNestedHeadersRange) {
472
- return visualColumn;
473
- }
474
- const firstColumn = this.hot.view.getFirstFullyVisibleColumn();
475
- const lastColumn = this.hot.view.getLastFullyVisibleColumn();
476
- const mostLeftColumnIndex = _classPrivateFieldGet(this, _stateManager).findLeftMostColumnIndex(highlight.row, highlight.col);
477
- const mostRightColumnIndex = _classPrivateFieldGet(this, _stateManager).findRightMostColumnIndex(highlight.row, highlight.col);
478
-
479
- // do not scroll the viewport when the header is wider than the viewport
480
- if (mostLeftColumnIndex < firstColumn && mostRightColumnIndex > lastColumn) {
481
- return visualColumn;
482
- }
483
- return mostLeftColumnIndex < firstColumn ? mostLeftColumnIndex : mostRightColumnIndex;
484
- }
485
-
486
386
  /**
487
387
  * Allows to control which header DOM element will be used to highlight.
488
388
  *
@@ -498,6 +398,7 @@ export class NestedHeaders extends BasePlugin {
498
398
  return visualColumn;
499
399
  }
500
400
  const {
401
+ classNames,
501
402
  columnCursor,
502
403
  selectionType,
503
404
  selectionWidth
@@ -512,8 +413,8 @@ export class NestedHeaders extends BasePlugin {
512
413
  }
513
414
  } else if (selectionType === ACTIVE_HEADER_TYPE) {
514
415
  if (colspan > selectionWidth - columnCursor || !isRoot) {
515
- // Prevents adding any CSS class names to the TH element
516
- return null;
416
+ // Reset the class names array so the generated TH element won't be modified.
417
+ classNames.length = 0;
517
418
  }
518
419
  }
519
420
  return visualColumn;
@@ -601,8 +502,6 @@ export class NestedHeaders extends BasePlugin {
601
502
  if (!headerNodeData) {
602
503
  return;
603
504
  }
604
- _classPrivateFieldSet(this, _focusInitialCoords, coords.clone());
605
- _classPrivateFieldSet(this, _isColumnsSelectionInProgress, true);
606
505
  const {
607
506
  selection
608
507
  } = this.hot;
@@ -668,129 +567,14 @@ export class NestedHeaders extends BasePlugin {
668
567
  controller.column = true;
669
568
  controller.cell = true;
670
569
  const columnsToSelect = [];
671
- const headerLevel = clamp(coords.row, -Infinity, -1);
672
570
  if (coords.col < from.col) {
673
- columnsToSelect.push(bottomEndCoords.col, columnIndex, headerLevel);
571
+ columnsToSelect.push(bottomEndCoords.col, columnIndex);
674
572
  } else if (coords.col > from.col) {
675
- columnsToSelect.push(topStartCoords.col, columnIndex + origColspan - 1, headerLevel);
573
+ columnsToSelect.push(topStartCoords.col, columnIndex + origColspan - 1);
676
574
  } else {
677
- columnsToSelect.push(columnIndex, columnIndex + origColspan - 1, headerLevel);
678
- }
679
- this.hot.selection.selectColumns(...columnsToSelect);
680
- }
681
-
682
- /**
683
- * Switches internal flag about selection progress to `false`.
684
- *
685
- * @private
686
- */
687
- onBeforeOnCellMouseUp() {
688
- _classPrivateFieldSet(this, _isColumnsSelectionInProgress, false);
689
- }
690
-
691
- /**
692
- * The hook checks and ensures that the focus position that depends on the selected columns
693
- * range is always positioned within the range.
694
- *
695
- * @private
696
- */
697
- onBeforeSelectionHighlightSet() {
698
- const {
699
- navigableHeaders
700
- } = this.hot.getSettings();
701
- if (!this.hot.view.isMouseDown() || !_classPrivateFieldGet(this, _isColumnsSelectionInProgress) || !navigableHeaders) {
702
- return;
703
- }
704
- const selectedRange = this.hot.getSelectedRangeLast();
705
- const columnStart = selectedRange.getTopStartCorner().col;
706
- const columnEnd = selectedRange.getBottomEndCorner().col;
707
- const {
708
- columnIndex,
709
- origColspan
710
- } = _classPrivateFieldGet(this, _stateManager).getHeaderTreeNodeData(_classPrivateFieldGet(this, _focusInitialCoords).row, _classPrivateFieldGet(this, _focusInitialCoords).col);
711
- selectedRange.setHighlight(_classPrivateFieldGet(this, _focusInitialCoords));
712
- if (origColspan > selectedRange.getWidth() || columnIndex < columnStart || columnIndex + origColspan - 1 > columnEnd) {
713
- const headerLevel = _classPrivateFieldGet(this, _stateManager).findTopMostEntireHeaderLevel(clamp(columnStart, columnIndex, columnIndex + origColspan - 1), clamp(columnEnd, columnIndex, columnIndex + origColspan - 1));
714
- selectedRange.highlight.row = headerLevel;
715
- selectedRange.highlight.col = selectedRange.from.col;
716
- }
717
- }
718
-
719
- /**
720
- * `modifyTransformStart` hook is called every time the keyboard navigation is used.
721
- *
722
- * @private
723
- * @param {object} delta The transformation delta.
724
- */
725
- onModifyTransformStart(delta) {
726
- const {
727
- highlight
728
- } = this.hot.getSelectedRangeLast();
729
- const nextCoords = this.hot._createCellCoords(highlight.row + delta.row, highlight.col + delta.col);
730
- const isNestedHeadersRange = nextCoords.isHeader() && nextCoords.col >= 0;
731
- if (!isNestedHeadersRange) {
732
- return;
733
- }
734
- const visualColumnIndexStart = _classPrivateFieldGet(this, _stateManager).findLeftMostColumnIndex(nextCoords.row, nextCoords.col);
735
- const visualColumnIndexEnd = _classPrivateFieldGet(this, _stateManager).findRightMostColumnIndex(nextCoords.row, nextCoords.col);
736
- if (delta.col < 0) {
737
- const nextColumn = highlight.col >= visualColumnIndexStart && highlight.col <= visualColumnIndexEnd ? visualColumnIndexStart - 1 : visualColumnIndexEnd;
738
- const notHiddenColumnIndex = this.hot.columnIndexMapper.getNearestNotHiddenIndex(nextColumn, -1);
739
- if (notHiddenColumnIndex === null) {
740
- // There are no visible columns anymore, so move the selection out of the table edge. This will
741
- // be processed by the selection Transformer class as a move selection to the previous row (if autoWrapRow is enabled).
742
- delta.col = -this.hot.view.countRenderableColumnsInRange(0, highlight.col);
743
- } else {
744
- delta.col = -Math.max(this.hot.view.countRenderableColumnsInRange(notHiddenColumnIndex, highlight.col) - 1, 1);
745
- }
746
- } else if (delta.col > 0) {
747
- const nextColumn = highlight.col >= visualColumnIndexStart && highlight.col <= visualColumnIndexEnd ? visualColumnIndexEnd + 1 : visualColumnIndexStart;
748
- const notHiddenColumnIndex = this.hot.columnIndexMapper.getNearestNotHiddenIndex(nextColumn, 1);
749
- if (notHiddenColumnIndex === null) {
750
- // There are no visible columns anymore, so move the selection out of the table edge. This will
751
- // be processed by the selection Transformer class as a move selection to the next row (if autoWrapRow is enabled).
752
- delta.col = this.hot.view.countRenderableColumnsInRange(highlight.col, this.hot.countCols());
753
- } else {
754
- delta.col = Math.max(this.hot.view.countRenderableColumnsInRange(highlight.col, notHiddenColumnIndex) - 1, 1);
755
- }
756
- }
757
- }
758
-
759
- /**
760
- * The hook observes the column selection from the Selection API and modifies the column range to
761
- * ensure that the whole nested column will be covered.
762
- *
763
- * @private
764
- * @param {CellCoords} from The coords object where the selection starts.
765
- * @param {CellCoords} to The coords object where the selection ends.
766
- */
767
- onBeforeSelectColumns(from, to) {
768
- const headerLevel = from.row;
769
- const startNodeData = this._getHeaderTreeNodeDataByCoords({
770
- row: headerLevel,
771
- col: from.col
772
- });
773
- const endNodeData = this._getHeaderTreeNodeDataByCoords({
774
- row: headerLevel,
775
- col: to.col
776
- });
777
- if (to.col < from.col) {
778
- // Column selection from right to left
779
- if (startNodeData) {
780
- from.col = startNodeData.columnIndex + startNodeData.origColspan - 1;
781
- }
782
- if (endNodeData) {
783
- to.col = endNodeData.columnIndex;
784
- }
785
- } else if (to.col >= from.col) {
786
- // Column selection from left to right or a single column selection
787
- if (startNodeData) {
788
- from.col = startNodeData.columnIndex;
789
- }
790
- if (endNodeData) {
791
- to.col = endNodeData.columnIndex + endNodeData.origColspan - 1;
792
- }
575
+ columnsToSelect.push(columnIndex, columnIndex + origColspan - 1);
793
576
  }
577
+ this.hot.selectColumns(...columnsToSelect);
794
578
  }
795
579
 
796
580
  /**
@@ -875,20 +659,6 @@ export class NestedHeaders extends BasePlugin {
875
659
  return label;
876
660
  }
877
661
 
878
- /**
879
- * `modifyFocusedElement` hook callback.
880
- *
881
- * @private
882
- * @param {number} row Row index.
883
- * @param {number} column Column index.
884
- * @returns {HTMLTableCellElement} The `TH` element to be focused.
885
- */
886
- onModifyFocusedElement(row, column) {
887
- if (row < 0) {
888
- return this.hot.getCell(row, _classPrivateFieldGet(this, _stateManager).findLeftMostColumnIndex(row, column), true);
889
- }
890
- }
891
-
892
662
  /**
893
663
  * Updates the plugin state after HoT initialization.
894
664
  *
@@ -8,7 +8,6 @@ var _sourceSettings2 = _interopRequireDefault(require("./sourceSettings"));
8
8
  var _headersTree2 = _interopRequireDefault(require("./headersTree"));
9
9
  var _nodeModifiers = require("./nodeModifiers");
10
10
  var _matrixGenerator = require("./matrixGenerator");
11
- var _tree = require("../../../utils/dataStructures/tree");
12
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
12
  function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
14
13
  function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
@@ -318,23 +317,6 @@ class StateManager {
318
317
  * @returns {object|null}
319
318
  */
320
319
  getHeaderTreeNodeData(headerLevel, columnIndex) {
321
- const node = this.getHeaderTreeNode(headerLevel, columnIndex);
322
- if (!node) {
323
- return null;
324
- }
325
- return {
326
- ...node.data
327
- };
328
- }
329
-
330
- /**
331
- * Gets tree node that is connected to the column header.
332
- *
333
- * @param {number} headerLevel Header level (there is support for negative and positive values).
334
- * @param {number} columnIndex A visual column index.
335
- * @returns {TreeNode|null}
336
- */
337
- getHeaderTreeNode(headerLevel, columnIndex) {
338
320
  if (headerLevel < 0) {
339
321
  headerLevel = this.rowCoordsToLevel(headerLevel);
340
322
  }
@@ -345,53 +327,9 @@ class StateManager {
345
327
  if (!node) {
346
328
  return null;
347
329
  }
348
- return node;
349
- }
350
-
351
- /**
352
- * Finds the most top header level of the column header that is rendered entirely within
353
- * the passed visual columns range. If multiple columns headers are found within the range the
354
- * most top header level value will be returned.
355
- *
356
- * @param {number} columnIndexFrom A visual column index.
357
- * @param {number} [columnIndexTo] A visual column index.
358
- * @returns {number} Returns a header level in format -1 to -N.
359
- */
360
- findTopMostEntireHeaderLevel(columnIndexFrom) {
361
- var _headerLevel;
362
- let columnIndexTo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : columnIndexFrom;
363
- const columnsWidth = columnIndexTo - columnIndexFrom + 1;
364
- let atLeastOneRootFound = false;
365
- let headerLevel = null;
366
- for (let columnIndex = columnIndexFrom; columnIndex <= columnIndexTo; columnIndex++) {
367
- const rootNode = _classPrivateFieldGet(this, _headersTree).getRootByColumn(columnIndex);
368
- if (!rootNode) {
369
- break;
370
- }
371
- atLeastOneRootFound = true;
372
-
373
- // eslint-disable-next-line
374
- rootNode.walkDown(node => {
375
- const {
376
- columnIndex: nodeColumnIndex,
377
- headerLevel: nodeHeaderLevel,
378
- origColspan,
379
- isHidden
380
- } = node.data;
381
- if (isHidden) {
382
- return;
383
- }
384
-
385
- // if the header fits entirely within the columns range get and save the node header level
386
- if (origColspan <= columnsWidth && nodeColumnIndex >= columnIndexFrom && nodeColumnIndex + origColspan - 1 <= columnIndexTo && (headerLevel === null || nodeHeaderLevel < headerLevel)) {
387
- headerLevel = nodeHeaderLevel;
388
- }
389
- }, _tree.TRAVERSAL_DF_PRE);
390
- }
391
- if (atLeastOneRootFound && headerLevel === null) {
392
- return -1;
393
- }
394
- return this.levelToRowCoords((_headerLevel = headerLevel) !== null && _headerLevel !== void 0 ? _headerLevel : 0);
330
+ return {
331
+ ...node.data
332
+ };
395
333
  }
396
334
 
397
335
  /**
@@ -429,43 +367,6 @@ class StateManager {
429
367
  return stepBackColumn;
430
368
  }
431
369
 
432
- /**
433
- * The method is helpful in cases where the column index targets in-between currently
434
- * collapsed column. In that case, the method returns the right-most column index
435
- * where the nested header ends.
436
- *
437
- * @param {number} headerLevel Header level (there is support for negative and positive values).
438
- * @param {number} columnIndex A visual column index.
439
- * @returns {number}
440
- */
441
- findRightMostColumnIndex(headerLevel, columnIndex) {
442
- var _this$getHeaderSettin3;
443
- const {
444
- isRoot,
445
- origColspan
446
- } = (_this$getHeaderSettin3 = this.getHeaderSettings(headerLevel, columnIndex)) !== null && _this$getHeaderSettin3 !== void 0 ? _this$getHeaderSettin3 : {
447
- isRoot: true,
448
- origColspan: 1
449
- };
450
- if (isRoot) {
451
- return columnIndex + origColspan - 1;
452
- }
453
- let stepForthColumn = columnIndex + 1;
454
- while (stepForthColumn < this.getColumnsCount()) {
455
- var _this$getHeaderSettin4;
456
- const {
457
- isRoot: isRootNode
458
- } = (_this$getHeaderSettin4 = this.getHeaderSettings(headerLevel, stepForthColumn)) !== null && _this$getHeaderSettin4 !== void 0 ? _this$getHeaderSettin4 : {
459
- isRoot: true
460
- };
461
- if (isRootNode) {
462
- break;
463
- }
464
- stepForthColumn += 1;
465
- }
466
- return stepForthColumn - 1;
467
- }
468
-
469
370
  /**
470
371
  * Gets a total number of headers levels.
471
372
  *
@@ -12,7 +12,6 @@ import SourceSettings from "./sourceSettings.mjs";
12
12
  import HeadersTree from "./headersTree.mjs";
13
13
  import { triggerNodeModification } from "./nodeModifiers/index.mjs";
14
14
  import { generateMatrix } from "./matrixGenerator.mjs";
15
- import { TRAVERSAL_DF_PRE } from "../../../utils/dataStructures/tree.mjs";
16
15
  /**
17
16
  * The state manager is a source of truth for nested headers configuration.
18
17
  * The state generation process is divided into three stages.
@@ -314,23 +313,6 @@ export default class StateManager {
314
313
  * @returns {object|null}
315
314
  */
316
315
  getHeaderTreeNodeData(headerLevel, columnIndex) {
317
- const node = this.getHeaderTreeNode(headerLevel, columnIndex);
318
- if (!node) {
319
- return null;
320
- }
321
- return {
322
- ...node.data
323
- };
324
- }
325
-
326
- /**
327
- * Gets tree node that is connected to the column header.
328
- *
329
- * @param {number} headerLevel Header level (there is support for negative and positive values).
330
- * @param {number} columnIndex A visual column index.
331
- * @returns {TreeNode|null}
332
- */
333
- getHeaderTreeNode(headerLevel, columnIndex) {
334
316
  if (headerLevel < 0) {
335
317
  headerLevel = this.rowCoordsToLevel(headerLevel);
336
318
  }
@@ -341,53 +323,9 @@ export default class StateManager {
341
323
  if (!node) {
342
324
  return null;
343
325
  }
344
- return node;
345
- }
346
-
347
- /**
348
- * Finds the most top header level of the column header that is rendered entirely within
349
- * the passed visual columns range. If multiple columns headers are found within the range the
350
- * most top header level value will be returned.
351
- *
352
- * @param {number} columnIndexFrom A visual column index.
353
- * @param {number} [columnIndexTo] A visual column index.
354
- * @returns {number} Returns a header level in format -1 to -N.
355
- */
356
- findTopMostEntireHeaderLevel(columnIndexFrom) {
357
- var _headerLevel;
358
- let columnIndexTo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : columnIndexFrom;
359
- const columnsWidth = columnIndexTo - columnIndexFrom + 1;
360
- let atLeastOneRootFound = false;
361
- let headerLevel = null;
362
- for (let columnIndex = columnIndexFrom; columnIndex <= columnIndexTo; columnIndex++) {
363
- const rootNode = _classPrivateFieldGet(this, _headersTree).getRootByColumn(columnIndex);
364
- if (!rootNode) {
365
- break;
366
- }
367
- atLeastOneRootFound = true;
368
-
369
- // eslint-disable-next-line
370
- rootNode.walkDown(node => {
371
- const {
372
- columnIndex: nodeColumnIndex,
373
- headerLevel: nodeHeaderLevel,
374
- origColspan,
375
- isHidden
376
- } = node.data;
377
- if (isHidden) {
378
- return;
379
- }
380
-
381
- // if the header fits entirely within the columns range get and save the node header level
382
- if (origColspan <= columnsWidth && nodeColumnIndex >= columnIndexFrom && nodeColumnIndex + origColspan - 1 <= columnIndexTo && (headerLevel === null || nodeHeaderLevel < headerLevel)) {
383
- headerLevel = nodeHeaderLevel;
384
- }
385
- }, TRAVERSAL_DF_PRE);
386
- }
387
- if (atLeastOneRootFound && headerLevel === null) {
388
- return -1;
389
- }
390
- return this.levelToRowCoords((_headerLevel = headerLevel) !== null && _headerLevel !== void 0 ? _headerLevel : 0);
326
+ return {
327
+ ...node.data
328
+ };
391
329
  }
392
330
 
393
331
  /**
@@ -425,43 +363,6 @@ export default class StateManager {
425
363
  return stepBackColumn;
426
364
  }
427
365
 
428
- /**
429
- * The method is helpful in cases where the column index targets in-between currently
430
- * collapsed column. In that case, the method returns the right-most column index
431
- * where the nested header ends.
432
- *
433
- * @param {number} headerLevel Header level (there is support for negative and positive values).
434
- * @param {number} columnIndex A visual column index.
435
- * @returns {number}
436
- */
437
- findRightMostColumnIndex(headerLevel, columnIndex) {
438
- var _this$getHeaderSettin3;
439
- const {
440
- isRoot,
441
- origColspan
442
- } = (_this$getHeaderSettin3 = this.getHeaderSettings(headerLevel, columnIndex)) !== null && _this$getHeaderSettin3 !== void 0 ? _this$getHeaderSettin3 : {
443
- isRoot: true,
444
- origColspan: 1
445
- };
446
- if (isRoot) {
447
- return columnIndex + origColspan - 1;
448
- }
449
- let stepForthColumn = columnIndex + 1;
450
- while (stepForthColumn < this.getColumnsCount()) {
451
- var _this$getHeaderSettin4;
452
- const {
453
- isRoot: isRootNode
454
- } = (_this$getHeaderSettin4 = this.getHeaderSettings(headerLevel, stepForthColumn)) !== null && _this$getHeaderSettin4 !== void 0 ? _this$getHeaderSettin4 : {
455
- isRoot: true
456
- };
457
- if (isRootNode) {
458
- break;
459
- }
460
- stepForthColumn += 1;
461
- }
462
- return stepForthColumn - 1;
463
- }
464
-
465
366
  /**
466
367
  * Gets a total number of headers levels.
467
368
  *
@@ -16,7 +16,6 @@ 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;
20
19
  const privatePool = new WeakMap();
21
20
 
22
21
  /* eslint-disable jsdoc/require-description-complete-sentence */
@@ -151,7 +150,6 @@ class NestedRows extends _base.BasePlugin {
151
150
  });
152
151
  this.addHook('beforeLoadData', data => this.onBeforeLoadData(data));
153
152
  this.addHook('beforeUpdateData', data => this.onBeforeLoadData(data));
154
- this.registerShortcuts();
155
153
  super.enablePlugin();
156
154
  }
157
155
 
@@ -160,7 +158,6 @@ class NestedRows extends _base.BasePlugin {
160
158
  */
161
159
  disablePlugin() {
162
160
  this.hot.rowIndexMapper.unregisterMap('nestedRows');
163
- this.unregisterShortcuts();
164
161
  super.disablePlugin();
165
162
  }
166
163
 
@@ -182,44 +179,6 @@ class NestedRows extends _base.BasePlugin {
182
179
  super.updatePlugin();
183
180
  }
184
181
 
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
-
223
182
  /**
224
183
  * `beforeRowMove` hook callback.
225
184
  *