handsontable 0.0.0-next-a1e4b4f-20230628 → 0.0.0-next-e697250-20230707

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 (456) hide show
  1. package/3rdparty/walkontable/src/cell/coords.d.ts +6 -1
  2. package/3rdparty/walkontable/src/cell/coords.js +50 -28
  3. package/3rdparty/walkontable/src/cell/coords.mjs +50 -28
  4. package/3rdparty/walkontable/src/cell/range.d.ts +9 -2
  5. package/3rdparty/walkontable/src/cell/range.js +69 -36
  6. package/3rdparty/walkontable/src/cell/range.mjs +68 -35
  7. package/3rdparty/walkontable/src/event.js +3 -5
  8. package/3rdparty/walkontable/src/event.mjs +3 -5
  9. package/3rdparty/walkontable/src/overlay/_base.js +6 -7
  10. package/3rdparty/walkontable/src/overlay/_base.mjs +6 -7
  11. package/3rdparty/walkontable/src/overlay/bottom.js +6 -7
  12. package/3rdparty/walkontable/src/overlay/bottom.mjs +6 -7
  13. package/3rdparty/walkontable/src/overlay/top.js +6 -7
  14. package/3rdparty/walkontable/src/overlay/top.mjs +6 -7
  15. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +10 -12
  16. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +10 -12
  17. package/3rdparty/walkontable/src/overlays.js +55 -64
  18. package/3rdparty/walkontable/src/overlays.mjs +55 -64
  19. package/3rdparty/walkontable/src/renderer/table.js +0 -2
  20. package/3rdparty/walkontable/src/renderer/table.mjs +0 -2
  21. package/3rdparty/walkontable/src/scroll.js +20 -23
  22. package/3rdparty/walkontable/src/scroll.mjs +20 -23
  23. package/3rdparty/walkontable/src/selection/border/border.js +1 -0
  24. package/3rdparty/walkontable/src/selection/border/border.mjs +1 -0
  25. package/3rdparty/walkontable/src/selection/manager.js +40 -45
  26. package/3rdparty/walkontable/src/selection/manager.mjs +33 -38
  27. package/3rdparty/walkontable/src/selection/scanner.js +5 -4
  28. package/3rdparty/walkontable/src/selection/scanner.mjs +1 -0
  29. package/3rdparty/walkontable/src/settings.js +13 -15
  30. package/3rdparty/walkontable/src/settings.mjs +13 -15
  31. package/3rdparty/walkontable/src/table.js +23 -26
  32. package/3rdparty/walkontable/src/table.mjs +23 -26
  33. package/CHANGELOG.md +56 -0
  34. package/base.js +2 -4
  35. package/base.mjs +2 -2
  36. package/common.d.ts +1 -1
  37. package/core.d.ts +7 -9
  38. package/core.js +241 -439
  39. package/core.mjs +245 -443
  40. package/dataMap/dataMap.js +1 -0
  41. package/dataMap/dataMap.mjs +1 -0
  42. package/dataMap/dataSource.js +5 -5
  43. package/dataMap/dataSource.mjs +5 -5
  44. package/dataMap/metaManager/lazyFactoryMap.js +1 -0
  45. package/dataMap/metaManager/lazyFactoryMap.mjs +1 -0
  46. package/dataMap/metaManager/metaLayers/cellMeta.js +1 -0
  47. package/dataMap/metaManager/metaLayers/cellMeta.mjs +1 -0
  48. package/dataMap/metaManager/metaSchema.js +33 -24
  49. package/dataMap/metaManager/metaSchema.mjs +33 -24
  50. package/dist/handsontable.css +25 -3
  51. package/dist/handsontable.full.css +25 -3
  52. package/dist/handsontable.full.js +14539 -11358
  53. package/dist/handsontable.full.min.css +5 -5
  54. package/dist/handsontable.full.min.js +137 -125
  55. package/dist/handsontable.js +31414 -28455
  56. package/dist/handsontable.min.css +5 -5
  57. package/dist/handsontable.min.js +11 -3
  58. package/dist/languages/all.js +133 -0
  59. package/dist/languages/ar-AR.js +7 -0
  60. package/dist/languages/cs-CZ.js +7 -0
  61. package/dist/languages/de-CH.js +7 -0
  62. package/dist/languages/de-DE.js +7 -0
  63. package/dist/languages/en-US.js +7 -0
  64. package/dist/languages/es-MX.js +7 -0
  65. package/dist/languages/fr-FR.js +7 -0
  66. package/dist/languages/it-IT.js +7 -0
  67. package/dist/languages/ja-JP.js +7 -0
  68. package/dist/languages/ko-KR.js +7 -0
  69. package/dist/languages/lv-LV.js +7 -0
  70. package/dist/languages/nb-NO.js +7 -0
  71. package/dist/languages/nl-NL.js +7 -0
  72. package/dist/languages/pl-PL.js +7 -0
  73. package/dist/languages/pt-BR.js +7 -0
  74. package/dist/languages/ru-RU.js +7 -0
  75. package/dist/languages/sr-SP.js +7 -0
  76. package/dist/languages/zh-CN.js +7 -0
  77. package/dist/languages/zh-TW.js +7 -0
  78. package/editorManager.js +19 -89
  79. package/editorManager.mjs +24 -93
  80. package/editors/baseEditor/baseEditor.js +1 -0
  81. package/editors/baseEditor/baseEditor.mjs +1 -0
  82. package/editors/textEditor/textEditor.js +14 -20
  83. package/editors/textEditor/textEditor.mjs +16 -22
  84. package/helpers/dom/element.js +0 -11
  85. package/helpers/dom/element.mjs +0 -10
  86. package/helpers/mixed.js +2 -2
  87. package/helpers/mixed.mjs +2 -2
  88. package/helpers/number.d.ts +1 -0
  89. package/helpers/number.js +18 -0
  90. package/helpers/number.mjs +17 -0
  91. package/helpers/object.js +2 -0
  92. package/helpers/object.mjs +2 -0
  93. package/i18n/languages/ar-AR.js +7 -1
  94. package/i18n/languages/cs-CZ.js +7 -1
  95. package/i18n/languages/de-CH.js +7 -1
  96. package/i18n/languages/de-DE.js +7 -1
  97. package/i18n/languages/en-US.js +7 -1
  98. package/i18n/languages/es-MX.js +7 -1
  99. package/i18n/languages/fr-FR.js +7 -1
  100. package/i18n/languages/it-IT.js +7 -1
  101. package/i18n/languages/ja-JP.js +7 -1
  102. package/i18n/languages/ko-KR.js +7 -1
  103. package/i18n/languages/lv-LV.js +7 -1
  104. package/i18n/languages/nb-NO.js +7 -1
  105. package/i18n/languages/nl-NL.js +7 -1
  106. package/i18n/languages/pl-PL.js +7 -1
  107. package/i18n/languages/pt-BR.js +7 -1
  108. package/i18n/languages/ru-RU.js +7 -1
  109. package/i18n/languages/sr-SP.js +7 -1
  110. package/i18n/languages/zh-CN.js +7 -1
  111. package/i18n/languages/zh-TW.js +7 -1
  112. package/languages/all.js +133 -0
  113. package/languages/ar-AR.js +7 -0
  114. package/languages/cs-CZ.js +7 -0
  115. package/languages/de-CH.js +7 -0
  116. package/languages/de-DE.js +7 -0
  117. package/languages/en-US.js +7 -0
  118. package/languages/es-MX.js +7 -0
  119. package/languages/fr-FR.js +7 -0
  120. package/languages/index.js +133 -0
  121. package/languages/it-IT.js +7 -0
  122. package/languages/ja-JP.js +7 -0
  123. package/languages/ko-KR.js +7 -0
  124. package/languages/lv-LV.js +7 -0
  125. package/languages/nb-NO.js +7 -0
  126. package/languages/nl-NL.js +7 -0
  127. package/languages/pl-PL.js +7 -0
  128. package/languages/pt-BR.js +7 -0
  129. package/languages/ru-RU.js +7 -0
  130. package/languages/sr-SP.js +7 -0
  131. package/languages/zh-CN.js +7 -0
  132. package/languages/zh-TW.js +7 -0
  133. package/package.json +3 -2
  134. package/pluginHooks.d.ts +8 -2
  135. package/pluginHooks.js +116 -18
  136. package/pluginHooks.mjs +115 -15
  137. package/plugins/autoColumnSize/autoColumnSize.js +1 -0
  138. package/plugins/autoColumnSize/autoColumnSize.mjs +1 -0
  139. package/plugins/autoRowSize/autoRowSize.js +3 -2
  140. package/plugins/autoRowSize/autoRowSize.mjs +3 -2
  141. package/plugins/autofill/autofill.js +2 -2
  142. package/plugins/autofill/autofill.mjs +3 -3
  143. package/plugins/autofill/utils.js +1 -39
  144. package/plugins/autofill/utils.mjs +0 -37
  145. package/plugins/base/base.js +1 -0
  146. package/plugins/base/base.mjs +1 -0
  147. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +1 -0
  148. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +1 -0
  149. package/plugins/collapsibleColumns/collapsibleColumns.js +82 -24
  150. package/plugins/collapsibleColumns/collapsibleColumns.mjs +82 -24
  151. package/plugins/columnSorting/columnSorting.js +51 -8
  152. package/plugins/columnSorting/columnSorting.mjs +50 -9
  153. package/plugins/columnSorting/columnStatesManager.js +1 -0
  154. package/plugins/columnSorting/columnStatesManager.mjs +1 -0
  155. package/plugins/columnSorting/index.js +4 -2
  156. package/plugins/columnSorting/index.mjs +1 -1
  157. package/plugins/columnSorting/rootComparator.js +1 -0
  158. package/plugins/columnSorting/rootComparator.mjs +1 -0
  159. package/plugins/comments/commentEditor.js +1 -0
  160. package/plugins/comments/commentEditor.mjs +1 -0
  161. package/plugins/comments/comments.js +289 -224
  162. package/plugins/comments/comments.mjs +297 -234
  163. package/plugins/comments/contextMenuItem/addEditComment.js +51 -0
  164. package/plugins/comments/contextMenuItem/addEditComment.mjs +35 -0
  165. package/plugins/comments/contextMenuItem/readOnlyComment.js +63 -0
  166. package/plugins/comments/contextMenuItem/readOnlyComment.mjs +55 -0
  167. package/plugins/comments/contextMenuItem/removeComment.js +48 -0
  168. package/plugins/comments/contextMenuItem/removeComment.mjs +32 -0
  169. package/plugins/contextMenu/contextMenu.d.ts +1 -1
  170. package/plugins/contextMenu/contextMenu.js +81 -29
  171. package/plugins/contextMenu/contextMenu.mjs +82 -30
  172. package/plugins/contextMenu/predefinedItems/alignment.js +7 -0
  173. package/plugins/contextMenu/predefinedItems/alignment.mjs +7 -0
  174. package/plugins/contextMenu/predefinedItems/clearColumn.js +5 -3
  175. package/plugins/contextMenu/predefinedItems/clearColumn.mjs +5 -3
  176. package/plugins/contextMenu/predefinedItems/columnLeft.js +5 -3
  177. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +5 -3
  178. package/plugins/contextMenu/predefinedItems/columnRight.js +5 -3
  179. package/plugins/contextMenu/predefinedItems/columnRight.mjs +5 -3
  180. package/plugins/contextMenu/predefinedItems/readOnly.js +7 -0
  181. package/plugins/contextMenu/predefinedItems/readOnly.mjs +7 -0
  182. package/plugins/contextMenu/predefinedItems/removeColumn.js +8 -5
  183. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +6 -3
  184. package/plugins/contextMenu/predefinedItems/removeRow.js +8 -5
  185. package/plugins/contextMenu/predefinedItems/removeRow.mjs +6 -3
  186. package/plugins/contextMenu/predefinedItems/rowAbove.js +5 -3
  187. package/plugins/contextMenu/predefinedItems/rowAbove.mjs +5 -3
  188. package/plugins/contextMenu/predefinedItems/rowBelow.js +5 -3
  189. package/plugins/contextMenu/predefinedItems/rowBelow.mjs +5 -3
  190. package/plugins/contextMenu/utils.js +25 -16
  191. package/plugins/contextMenu/utils.mjs +24 -15
  192. package/plugins/copyPaste/contextMenuItem/copy.js +7 -0
  193. package/plugins/copyPaste/contextMenuItem/copy.mjs +7 -0
  194. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +9 -1
  195. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +9 -1
  196. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +9 -1
  197. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +9 -1
  198. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +9 -1
  199. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +9 -1
  200. package/plugins/copyPaste/contextMenuItem/cut.js +7 -0
  201. package/plugins/copyPaste/contextMenuItem/cut.mjs +7 -0
  202. package/plugins/copyPaste/copyPaste.js +100 -14
  203. package/plugins/copyPaste/copyPaste.mjs +100 -14
  204. package/plugins/copyPaste/copyableRanges.js +25 -31
  205. package/plugins/copyPaste/copyableRanges.mjs +18 -24
  206. package/plugins/copyPaste/focusableElement.js +219 -0
  207. package/plugins/copyPaste/focusableElement.mjs +213 -0
  208. package/plugins/customBorders/customBorders.d.ts +2 -0
  209. package/plugins/customBorders/customBorders.js +19 -50
  210. package/plugins/customBorders/customBorders.mjs +19 -50
  211. package/plugins/dropdownMenu/dropdownMenu.d.ts +1 -1
  212. package/plugins/dropdownMenu/dropdownMenu.js +94 -30
  213. package/plugins/dropdownMenu/dropdownMenu.mjs +94 -30
  214. package/plugins/exportFile/dataProvider.js +1 -0
  215. package/plugins/exportFile/dataProvider.mjs +1 -0
  216. package/plugins/filters/component/value.js +1 -0
  217. package/plugins/filters/component/value.mjs +1 -0
  218. package/plugins/filters/condition/beginsWith.js +1 -0
  219. package/plugins/filters/condition/beginsWith.mjs +1 -0
  220. package/plugins/filters/condition/between.js +1 -0
  221. package/plugins/filters/condition/between.mjs +1 -0
  222. package/plugins/filters/condition/byValue.js +1 -0
  223. package/plugins/filters/condition/byValue.mjs +1 -0
  224. package/plugins/filters/condition/contains.js +1 -0
  225. package/plugins/filters/condition/contains.mjs +1 -0
  226. package/plugins/filters/condition/date/after.js +1 -0
  227. package/plugins/filters/condition/date/after.mjs +1 -0
  228. package/plugins/filters/condition/date/before.js +1 -0
  229. package/plugins/filters/condition/date/before.mjs +1 -0
  230. package/plugins/filters/condition/endsWith.js +1 -0
  231. package/plugins/filters/condition/endsWith.mjs +1 -0
  232. package/plugins/filters/condition/equal.js +1 -0
  233. package/plugins/filters/condition/equal.mjs +1 -0
  234. package/plugins/filters/condition/greaterThan.js +1 -0
  235. package/plugins/filters/condition/greaterThan.mjs +1 -0
  236. package/plugins/filters/condition/greaterThanOrEqual.js +1 -0
  237. package/plugins/filters/condition/greaterThanOrEqual.mjs +1 -0
  238. package/plugins/filters/condition/lessThan.js +1 -0
  239. package/plugins/filters/condition/lessThan.mjs +1 -0
  240. package/plugins/filters/condition/lessThanOrEqual.js +1 -0
  241. package/plugins/filters/condition/lessThanOrEqual.mjs +1 -0
  242. package/plugins/filters/conditionCollection.js +1 -0
  243. package/plugins/filters/conditionCollection.mjs +1 -0
  244. package/plugins/filters/filters.js +68 -42
  245. package/plugins/filters/filters.mjs +67 -41
  246. package/plugins/filters/ui/multipleSelect.js +1 -0
  247. package/plugins/filters/ui/multipleSelect.mjs +1 -0
  248. package/plugins/formulas/formulas.js +191 -168
  249. package/plugins/formulas/formulas.mjs +191 -168
  250. package/plugins/formulas/indexSyncer/axisSyncer.js +379 -0
  251. package/plugins/formulas/indexSyncer/axisSyncer.mjs +374 -0
  252. package/plugins/formulas/indexSyncer/index.js +225 -0
  253. package/plugins/formulas/indexSyncer/index.mjs +219 -0
  254. package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +1 -0
  255. package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +1 -0
  256. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +1 -0
  257. package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +1 -0
  258. package/plugins/hiddenRows/contextMenuItem/hideRow.js +1 -0
  259. package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +1 -0
  260. package/plugins/hiddenRows/contextMenuItem/showRow.js +1 -0
  261. package/plugins/hiddenRows/contextMenuItem/showRow.mjs +1 -0
  262. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -0
  263. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +1 -0
  264. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -0
  265. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +1 -0
  266. package/plugins/manualColumnResize/manualColumnResize.js +36 -5
  267. package/plugins/manualColumnResize/manualColumnResize.mjs +36 -5
  268. package/plugins/manualRowMove/manualRowMove.js +31 -12
  269. package/plugins/manualRowMove/manualRowMove.mjs +32 -13
  270. package/plugins/manualRowResize/manualRowResize.js +40 -9
  271. package/plugins/manualRowResize/manualRowResize.mjs +40 -9
  272. package/plugins/mergeCells/calculations/autofill.js +1 -0
  273. package/plugins/mergeCells/calculations/autofill.mjs +1 -0
  274. package/plugins/mergeCells/cellsCollection.js +1 -0
  275. package/plugins/mergeCells/cellsCollection.mjs +1 -0
  276. package/plugins/mergeCells/mergeCells.js +6 -2
  277. package/plugins/mergeCells/mergeCells.mjs +6 -2
  278. package/plugins/multiColumnSorting/multiColumnSorting.js +42 -3
  279. package/plugins/multiColumnSorting/multiColumnSorting.mjs +42 -3
  280. package/plugins/multiColumnSorting/rootComparator.js +1 -0
  281. package/plugins/multiColumnSorting/rootComparator.mjs +1 -0
  282. package/plugins/nestedHeaders/nestedHeaders.js +129 -6
  283. package/plugins/nestedHeaders/nestedHeaders.mjs +129 -6
  284. package/plugins/nestedHeaders/stateManager/headersTree.js +24 -26
  285. package/plugins/nestedHeaders/stateManager/headersTree.mjs +21 -23
  286. package/plugins/nestedHeaders/stateManager/index.js +40 -3
  287. package/plugins/nestedHeaders/stateManager/index.mjs +37 -0
  288. package/plugins/nestedHeaders/stateManager/matrixGenerator.js +1 -0
  289. package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +2 -1
  290. package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +1 -0
  291. package/plugins/nestedHeaders/utils/ghostTable.js +30 -35
  292. package/plugins/nestedHeaders/utils/ghostTable.mjs +30 -35
  293. package/plugins/nestedRows/data/dataManager.js +1 -0
  294. package/plugins/nestedRows/data/dataManager.mjs +1 -0
  295. package/plugins/nestedRows/nestedRows.js +53 -7
  296. package/plugins/nestedRows/nestedRows.mjs +53 -7
  297. package/plugins/nestedRows/ui/collapsing.js +1 -0
  298. package/plugins/nestedRows/ui/collapsing.mjs +1 -0
  299. package/plugins/nestedRows/utils/rowMoveController.js +1 -0
  300. package/plugins/nestedRows/utils/rowMoveController.mjs +1 -0
  301. package/plugins/persistentState/storage.js +1 -0
  302. package/plugins/persistentState/storage.mjs +1 -0
  303. package/plugins/registry.js +4 -1
  304. package/plugins/registry.mjs +1 -0
  305. package/plugins/undoRedo/undoRedo.js +1 -1
  306. package/plugins/undoRedo/undoRedo.mjs +1 -1
  307. package/renderers/baseRenderer/baseRenderer.js +0 -3
  308. package/renderers/baseRenderer/baseRenderer.mjs +0 -3
  309. package/renderers/checkboxRenderer/checkboxRenderer.js +2 -2
  310. package/renderers/checkboxRenderer/checkboxRenderer.mjs +1 -1
  311. package/selection/highlight/highlight.js +120 -98
  312. package/selection/highlight/highlight.mjs +118 -96
  313. package/selection/highlight/visualSelection.js +30 -17
  314. package/selection/highlight/visualSelection.mjs +30 -17
  315. package/selection/mouseEventHandler.js +1 -1
  316. package/selection/mouseEventHandler.mjs +1 -1
  317. package/selection/range.js +8 -8
  318. package/selection/range.mjs +8 -8
  319. package/selection/selection.js +246 -153
  320. package/selection/selection.mjs +247 -154
  321. package/selection/transformation.js +233 -96
  322. package/selection/transformation.mjs +230 -93
  323. package/selection/utils.js +12 -35
  324. package/selection/utils.mjs +13 -35
  325. package/settings.d.ts +2 -1
  326. package/shortcutContexts/commands/editor/closeAndSave.js +15 -0
  327. package/shortcutContexts/commands/editor/closeAndSave.mjs +10 -0
  328. package/shortcutContexts/commands/editor/closeWithoutSaving.js +13 -0
  329. package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +8 -0
  330. package/shortcutContexts/commands/editor/fastOpen.js +16 -0
  331. package/shortcutContexts/commands/editor/fastOpen.mjs +11 -0
  332. package/shortcutContexts/commands/editor/index.js +16 -0
  333. package/shortcutContexts/commands/editor/index.mjs +12 -0
  334. package/shortcutContexts/commands/editor/open.js +29 -0
  335. package/shortcutContexts/commands/editor/open.mjs +24 -0
  336. package/shortcutContexts/commands/emptySelectedCells.js +12 -0
  337. package/shortcutContexts/commands/emptySelectedCells.mjs +7 -0
  338. package/shortcutContexts/commands/extendCellsSelection/down.js +15 -0
  339. package/shortcutContexts/commands/extendCellsSelection/down.mjs +10 -0
  340. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +21 -0
  341. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +16 -0
  342. package/shortcutContexts/commands/extendCellsSelection/index.js +26 -0
  343. package/shortcutContexts/commands/extendCellsSelection/index.mjs +22 -0
  344. package/shortcutContexts/commands/extendCellsSelection/left.js +15 -0
  345. package/shortcutContexts/commands/extendCellsSelection/left.mjs +10 -0
  346. package/shortcutContexts/commands/extendCellsSelection/right.js +15 -0
  347. package/shortcutContexts/commands/extendCellsSelection/right.mjs +10 -0
  348. package/shortcutContexts/commands/extendCellsSelection/toColumns.js +19 -0
  349. package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +14 -0
  350. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +22 -0
  351. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +17 -0
  352. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +17 -0
  353. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +12 -0
  354. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +17 -0
  355. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +12 -0
  356. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +40 -0
  357. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +35 -0
  358. package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +40 -0
  359. package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +35 -0
  360. package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +22 -0
  361. package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +17 -0
  362. package/shortcutContexts/commands/extendCellsSelection/toRows.js +19 -0
  363. package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +14 -0
  364. package/shortcutContexts/commands/extendCellsSelection/up.js +15 -0
  365. package/shortcutContexts/commands/extendCellsSelection/up.mjs +10 -0
  366. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +21 -0
  367. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +16 -0
  368. package/shortcutContexts/commands/index.js +53 -0
  369. package/shortcutContexts/commands/index.mjs +49 -0
  370. package/shortcutContexts/commands/moveCellSelection/down.js +12 -0
  371. package/shortcutContexts/commands/moveCellSelection/down.mjs +7 -0
  372. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +29 -0
  373. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +24 -0
  374. package/shortcutContexts/commands/moveCellSelection/index.js +28 -0
  375. package/shortcutContexts/commands/moveCellSelection/index.mjs +24 -0
  376. package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +13 -0
  377. package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +8 -0
  378. package/shortcutContexts/commands/moveCellSelection/inlineStart.js +13 -0
  379. package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +8 -0
  380. package/shortcutContexts/commands/moveCellSelection/left.js +11 -0
  381. package/shortcutContexts/commands/moveCellSelection/left.mjs +6 -0
  382. package/shortcutContexts/commands/moveCellSelection/right.js +11 -0
  383. package/shortcutContexts/commands/moveCellSelection/right.mjs +6 -0
  384. package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +16 -0
  385. package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +11 -0
  386. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +17 -0
  387. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +12 -0
  388. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +13 -0
  389. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +8 -0
  390. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +16 -0
  391. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +11 -0
  392. package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +36 -0
  393. package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +31 -0
  394. package/shortcutContexts/commands/moveCellSelection/toMostRight.js +36 -0
  395. package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +31 -0
  396. package/shortcutContexts/commands/moveCellSelection/toMostTop.js +16 -0
  397. package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +11 -0
  398. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +18 -0
  399. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +13 -0
  400. package/shortcutContexts/commands/moveCellSelection/up.js +12 -0
  401. package/shortcutContexts/commands/moveCellSelection/up.mjs +7 -0
  402. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +29 -0
  403. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +24 -0
  404. package/shortcutContexts/commands/populateSelectedCellsData.js +35 -0
  405. package/shortcutContexts/commands/populateSelectedCellsData.mjs +30 -0
  406. package/shortcutContexts/commands/scrollToFocusedCell.js +38 -0
  407. package/shortcutContexts/commands/scrollToFocusedCell.mjs +33 -0
  408. package/shortcutContexts/commands/selectAll.js +11 -0
  409. package/shortcutContexts/commands/selectAll.mjs +6 -0
  410. package/shortcutContexts/constants.js +19 -0
  411. package/shortcutContexts/constants.mjs +12 -0
  412. package/shortcutContexts/editor.js +29 -0
  413. package/shortcutContexts/editor.mjs +25 -0
  414. package/shortcutContexts/grid.js +252 -0
  415. package/shortcutContexts/grid.mjs +248 -0
  416. package/shortcutContexts/index.js +29 -0
  417. package/shortcutContexts/index.mjs +15 -0
  418. package/shortcuts/context.js +1 -0
  419. package/shortcuts/context.mjs +1 -0
  420. package/shortcuts/manager.js +2 -0
  421. package/shortcuts/manager.mjs +2 -0
  422. package/shortcuts/recorder.js +2 -2
  423. package/shortcuts/recorder.mjs +2 -2
  424. package/shortcuts/utils.js +21 -5
  425. package/shortcuts/utils.mjs +20 -4
  426. package/tableView.js +112 -82
  427. package/tableView.mjs +112 -82
  428. package/translations/changesObservable/observable.js +41 -46
  429. package/translations/changesObservable/observable.mjs +36 -41
  430. package/translations/changesObservable/observer.js +1 -1
  431. package/translations/indexMapper.d.ts +0 -2
  432. package/translations/indexMapper.js +38 -64
  433. package/translations/indexMapper.mjs +39 -64
  434. package/translations/maps/linkedPhysicalIndexToValueMap.js +1 -0
  435. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +1 -0
  436. package/translations/maps/utils/indexesSequence.js +1 -0
  437. package/translations/maps/utils/indexesSequence.mjs +1 -0
  438. package/translations/maps/utils/physicallyIndexed.js +1 -0
  439. package/translations/maps/utils/physicallyIndexed.mjs +1 -0
  440. package/utils/dataStructures/priorityMap.js +1 -0
  441. package/utils/dataStructures/priorityMap.mjs +1 -0
  442. package/utils/dataStructures/tree.js +16 -18
  443. package/utils/dataStructures/tree.mjs +16 -18
  444. package/utils/dataStructures/uniqueMap.js +1 -0
  445. package/utils/dataStructures/uniqueMap.mjs +1 -0
  446. package/utils/dataStructures/uniqueSet.js +1 -0
  447. package/utils/dataStructures/uniqueSet.mjs +1 -0
  448. package/utils/ghostTable.js +1 -0
  449. package/utils/ghostTable.mjs +1 -0
  450. package/utils/parseTable.js +5 -1
  451. package/utils/parseTable.mjs +5 -1
  452. package/utils/staticRegister.js +1 -0
  453. package/utils/staticRegister.mjs +1 -0
  454. package/focusManager.d.ts +0 -12
  455. package/focusManager.js +0 -275
  456. package/focusManager.mjs +0 -270
package/pluginHooks.js CHANGED
@@ -141,9 +141,7 @@ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(
141
141
  * });
142
142
  * :::
143
143
  * ...
144
- */
145
-
146
- // @TODO: Move plugin description hooks to plugin?
144
+ */ // @TODO: Move plugin description hooks to plugin?
147
145
  var REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-sentence */
148
146
  /**
149
147
  * Fired after resetting a cell's meta. This happens when the {@link Core#updateSettings} method is called.
@@ -289,6 +287,14 @@ var REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-sen
289
287
  * :::
290
288
  */
291
289
  'beforeCreateCol',
290
+ /**
291
+ * Fired after the order of columns has changed.
292
+ * This hook is fired by changing column indexes of any type supported by the {@link IndexMapper}.
293
+ *
294
+ * @event Hooks#afterColumnSequenceChange
295
+ * @param {'init'|'remove'|'insert'|'move'|'update'} [source] A string that indicates what caused the change to the order of columns.
296
+ */
297
+ 'afterColumnSequenceChange',
292
298
  /**
293
299
  * Fired after created a new column.
294
300
  *
@@ -551,6 +557,14 @@ var REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-sen
551
557
  * @param {object} cellProperties Object containing the cell's properties.
552
558
  */
553
559
  'afterRenderer',
560
+ /**
561
+ * Fired after the order of rows has changed.
562
+ * This hook is fired by changing row indexes of any type supported by the {@link IndexMapper}.
563
+ *
564
+ * @event Hooks#afterRowSequenceChange
565
+ * @param {'init'|'remove'|'insert'|'move'|'update'} [source] A string that indicates what caused the change to the order of rows.
566
+ */
567
+ 'afterRowSequenceChange',
554
568
  /**
555
569
  * Fired after the horizontal scroll event.
556
570
  *
@@ -563,6 +577,13 @@ var REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-sen
563
577
  * @event Hooks#afterScrollVertically
564
578
  */
565
579
  'afterScrollVertically',
580
+ /**
581
+ * Fired after the vertical or horizontal scroll event.
582
+ *
583
+ * @since 14.0.0
584
+ * @event Hooks#afterScroll
585
+ */
586
+ 'afterScroll',
566
587
  /**
567
588
  * Fired after one or more cells are selected (e.g. During mouse move).
568
589
  *
@@ -666,6 +687,94 @@ var REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-sen
666
687
  * @param {number} selectionLayerLevel The number which indicates what selection layer is currently modified.
667
688
  */
668
689
  'afterSelectionEndByProp',
690
+ /**
691
+ * Fired before one or more columns are selected (e.g. During mouse header click or {@link Core#selectColumns} API call).
692
+ *
693
+ * @since 14.0.0
694
+ * @event Hooks#beforeSelectColumns
695
+ * @param {CellCoords} from Selection start coords object.
696
+ * @param {CellCoords} to Selection end coords object.
697
+ * @param {CellCoords} highlight Selection cell focus coords object.
698
+ * @example
699
+ * ::: only-for javascript
700
+ * ```js
701
+ * new Handsontable(element, {
702
+ * beforeSelectColumns: (from, to, highlight) => {
703
+ * // Extend the column selection by one column left and one column right.
704
+ * from.col = Math.max(from.col - 1, 0);
705
+ * to.col = Math.min(to.col + 1, this.countCols() - 1);
706
+ * }
707
+ * })
708
+ * ```
709
+ * :::
710
+ *
711
+ * ::: only-for react
712
+ * ```jsx
713
+ * <HotTable
714
+ * beforeSelectColumns={(from, to, highlight) => {
715
+ * // Extend the column selection by one column left and one column right.
716
+ * from.col = Math.max(from.col - 1, 0);
717
+ * to.col = Math.min(to.col + 1, this.countCols() - 1);
718
+ * }}
719
+ * />
720
+ * ```
721
+ * :::
722
+ */
723
+ 'beforeSelectColumns',
724
+ /**
725
+ * Fired after one or more columns are selected (e.g. During mouse header click or {@link Core#selectColumns} API call).
726
+ *
727
+ * @since 14.0.0
728
+ * @event Hooks#afterSelectColumns
729
+ * @param {CellCoords} from Selection start coords object.
730
+ * @param {CellCoords} to Selection end coords object.
731
+ * @param {CellCoords} highlight Selection cell focus coords object.
732
+ */
733
+ 'afterSelectColumns',
734
+ /**
735
+ * Fired before one or more rows are selected (e.g. During mouse header click or {@link Core#selectRows} API call).
736
+ *
737
+ * @since 14.0.0
738
+ * @event Hooks#beforeSelectRows
739
+ * @param {CellCoords} from Selection start coords object.
740
+ * @param {CellCoords} to Selection end coords object.
741
+ * @param {CellCoords} highlight Selection cell focus coords object.
742
+ * @example
743
+ * ::: only-for javascript
744
+ * ```js
745
+ * new Handsontable(element, {
746
+ * beforeSelectRows: (from, to, highlight) => {
747
+ * // Extend the row selection by one row up and one row bottom more.
748
+ * from.row = Math.max(from.row - 1, 0);
749
+ * to.row = Math.min(to.row + 1, this.countRows() - 1);
750
+ * }
751
+ * })
752
+ * ```
753
+ * :::
754
+ *
755
+ * ::: only-for react
756
+ * ```jsx
757
+ * <HotTable
758
+ * beforeSelectRows={(from, to, highlight) => {
759
+ * // Extend the row selection by one row up and one row bottom more.
760
+ * from.row = Math.max(from.row - 1, 0);
761
+ * to.row = Math.min(to.row + 1, this.countRows() - 1);
762
+ * }}
763
+ * />
764
+ * ```
765
+ * :::
766
+ */
767
+ 'beforeSelectRows',
768
+ /**
769
+ * Fired after one or more rows are selected (e.g. During mouse header click or {@link Core#selectRows} API call).
770
+ *
771
+ * @since 14.0.0
772
+ * @event Hooks#afterSelectRows
773
+ * @param {CellCoords} from Selection start coords object.
774
+ * @param {CellCoords} to Selection end coords object.
775
+ * @param {CellCoords} highlight Selection cell focus coords object.
776
+ */
777
+ 'afterSelectRows',
669
778
  /**
670
779
  * Fired after cell meta is changed.
671
780
  *
@@ -1196,8 +1305,8 @@ var REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-sen
1196
1305
  * Fired when a data was retrieved or modified.
1197
1306
  *
1198
1307
  * @event Hooks#modifyData
1199
- * @param {number} row Physical row height.
1200
- * @param {number} column Physical column index.
1308
+ * @param {number} row Physical row index.
1309
+ * @param {number} column Visual column index.
1201
1310
  * @param {object} valueHolder Object which contains original value which can be modified by overwriting `.value` property.
1202
1311
  * @param {string} ioMode String which indicates for what operation hook is fired (`get` or `set`).
1203
1312
  */
@@ -1208,7 +1317,7 @@ var REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-sen
1208
1317
  * @event Hooks#modifySourceData
1209
1318
  * @since 8.0.0
1210
1319
  * @param {number} row Physical row index.
1211
- * @param {number} column Physical column index.
1320
+ * @param {number} column Physical column index or property name.
1212
1321
  * @param {object} valueHolder Object which contains original value which can be modified by overwriting `.value` property.
1213
1322
  * @param {string} ioMode String which indicates for what operation hook is fired (`get` or `set`).
1214
1323
  */
@@ -1969,17 +2078,6 @@ var REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-sen
1969
2078
  * @param {number} rowHeaderWidth Row header width.
1970
2079
  */
1971
2080
  'modifyRowHeaderWidth',
1972
- /**
1973
- * Fired from the `populateFromArray` method during the `autofill` process. Fired for each "autofilled" cell individually.
1974
- *
1975
- * @deprecated
1976
- * @event Hooks#beforeAutofillInsidePopulate
1977
- * @param {object} index Object containing `row` and `col` properties, defining the number of rows/columns from the initial cell of the autofill.
1978
- * @param {string} direction Declares the direction of the autofill. Possible values: `up`, `down`, `left`, `right`.
1979
- * @param {Array[]} input Contains an array of rows with data being used in the autofill.
1980
- * @param {Array} deltas The deltas array passed to the `populateFromArray` method.
1981
- */
1982
- 'beforeAutofillInsidePopulate',
1983
2081
  /**
1984
2082
  * Fired when the start of the selection is being modified (e.g. Moving the selection with the arrow keys).
1985
2083
  *
@@ -2400,7 +2498,7 @@ var REMOVED_HOOKS = new Map([['modifyRow', '8.0.0'], ['modifyCol', '8.0.0'], ['u
2400
2498
  * @type {Map<string, string>}
2401
2499
  */
2402
2500
  /* eslint-enable jsdoc/require-description-complete-sentence */
2403
- var DEPRECATED_HOOKS = new Map([['beforeAutofillInsidePopulate', 'The plugin hook "beforeAutofillInsidePopulate" is deprecated and will be removed in the next major release.'], ['beforeRemoveCellClassNames', 'The hook "beforeRemoveCellClassNames" is deprecated and will be removed in the next major release.']]);
2501
+ var DEPRECATED_HOOKS = new Map([['beforeRemoveCellClassNames', 'The hook "beforeRemoveCellClassNames" is deprecated and will be removed in the next major release.']]);
2404
2502
  var Hooks = /*#__PURE__*/function () {
2405
2503
  /**
2406
2504
  *
package/pluginHooks.mjs CHANGED
@@ -284,6 +284,14 @@ var REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-sen
284
284
  * :::
285
285
  */
286
286
  'beforeCreateCol',
287
+ /**
288
+ * Fired after the order of columns has changed.
289
+ * This hook is fired by changing column indexes of any type supported by the {@link IndexMapper}.
290
+ *
291
+ * @event Hooks#afterColumnSequenceChange
292
+ * @param {'init'|'remove'|'insert'|'move'|'update'} [source] A string that indicates what caused the change to the order of columns.
293
+ */
294
+ 'afterColumnSequenceChange',
287
295
  /**
288
296
  * Fired after created a new column.
289
297
  *
@@ -546,6 +554,14 @@ var REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-sen
546
554
  * @param {object} cellProperties Object containing the cell's properties.
547
555
  */
548
556
  'afterRenderer',
557
+ /**
558
+ * Fired after the order of rows has changed.
559
+ * This hook is fired by changing row indexes of any type supported by the {@link IndexMapper}.
560
+ *
561
+ * @event Hooks#afterRowSequenceChange
562
+ * @param {'init'|'remove'|'insert'|'move'|'update'} [source] A string that indicates what caused the change to the order of rows.
563
+ */
564
+ 'afterRowSequenceChange',
549
565
  /**
550
566
  * Fired after the horizontal scroll event.
551
567
  *
@@ -558,6 +574,13 @@ var REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-sen
558
574
  * @event Hooks#afterScrollVertically
559
575
  */
560
576
  'afterScrollVertically',
577
+ /**
578
+ * Fired after the vertical or horizontal scroll event.
579
+ *
580
+ * @since 14.0.0
581
+ * @event Hooks#afterScroll
582
+ */
583
+ 'afterScroll',
561
584
  /**
562
585
  * Fired after one or more cells are selected (e.g. During mouse move).
563
586
  *
@@ -661,6 +684,94 @@ var REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-sen
661
684
  * @param {number} selectionLayerLevel The number which indicates what selection layer is currently modified.
662
685
  */
663
686
  'afterSelectionEndByProp',
687
+ /**
688
+ * Fired before one or more columns are selected (e.g. During mouse header click or {@link Core#selectColumns} API call).
689
+ *
690
+ * @since 14.0.0
691
+ * @event Hooks#beforeSelectColumns
692
+ * @param {CellCoords} from Selection start coords object.
693
+ * @param {CellCoords} to Selection end coords object.
694
+ * @param {CellCoords} highlight Selection cell focus coords object.
695
+ * @example
696
+ * ::: only-for javascript
697
+ * ```js
698
+ * new Handsontable(element, {
699
+ * beforeSelectColumns: (from, to, highlight) => {
700
+ * // Extend the column selection by one column left and one column right.
701
+ * from.col = Math.max(from.col - 1, 0);
702
+ * to.col = Math.min(to.col + 1, this.countCols() - 1);
703
+ * }
704
+ * })
705
+ * ```
706
+ * :::
707
+ *
708
+ * ::: only-for react
709
+ * ```jsx
710
+ * <HotTable
711
+ * beforeSelectColumns={(from, to, highlight) => {
712
+ * // Extend the column selection by one column left and one column right.
713
+ * from.col = Math.max(from.col - 1, 0);
714
+ * to.col = Math.min(to.col + 1, this.countCols() - 1);
715
+ * }}
716
+ * />
717
+ * ```
718
+ * :::
719
+ */
720
+ 'beforeSelectColumns',
721
+ /**
722
+ * Fired after one or more columns are selected (e.g. During mouse header click or {@link Core#selectColumns} API call).
723
+ *
724
+ * @since 14.0.0
725
+ * @event Hooks#afterSelectColumns
726
+ * @param {CellCoords} from Selection start coords object.
727
+ * @param {CellCoords} to Selection end coords object.
728
+ * @param {CellCoords} highlight Selection cell focus coords object.
729
+ */
730
+ 'afterSelectColumns',
731
+ /**
732
+ * Fired before one or more rows are selected (e.g. During mouse header click or {@link Core#selectRows} API call).
733
+ *
734
+ * @since 14.0.0
735
+ * @event Hooks#beforeSelectRows
736
+ * @param {CellCoords} from Selection start coords object.
737
+ * @param {CellCoords} to Selection end coords object.
738
+ * @param {CellCoords} highlight Selection cell focus coords object.
739
+ * @example
740
+ * ::: only-for javascript
741
+ * ```js
742
+ * new Handsontable(element, {
743
+ * beforeSelectRows: (from, to, highlight) => {
744
+ * // Extend the row selection by one row up and one row bottom more.
745
+ * from.row = Math.max(from.row - 1, 0);
746
+ * to.row = Math.min(to.row + 1, this.countRows() - 1);
747
+ * }
748
+ * })
749
+ * ```
750
+ * :::
751
+ *
752
+ * ::: only-for react
753
+ * ```jsx
754
+ * <HotTable
755
+ * beforeSelectRows={(from, to, highlight) => {
756
+ * // Extend the row selection by one row up and one row bottom more.
757
+ * from.row = Math.max(from.row - 1, 0);
758
+ * to.row = Math.min(to.row + 1, this.countRows() - 1);
759
+ * }}
760
+ * />
761
+ * ```
762
+ * :::
763
+ */
764
+ 'beforeSelectRows',
765
+ /**
766
+ * Fired after one or more rows are selected (e.g. During mouse header click or {@link Core#selectRows} API call).
767
+ *
768
+ * @since 14.0.0
769
+ * @event Hooks#afterSelectRows
770
+ * @param {CellCoords} from Selection start coords object.
771
+ * @param {CellCoords} to Selection end coords object.
772
+ * @param {CellCoords} highlight Selection cell focus coords object.
773
+ */
774
+ 'afterSelectRows',
664
775
  /**
665
776
  * Fired after cell meta is changed.
666
777
  *
@@ -1191,8 +1302,8 @@ var REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-sen
1191
1302
  * Fired when a data was retrieved or modified.
1192
1303
  *
1193
1304
  * @event Hooks#modifyData
1194
- * @param {number} row Physical row height.
1195
- * @param {number} column Physical column index.
1305
+ * @param {number} row Physical row index.
1306
+ * @param {number} column Visual column index.
1196
1307
  * @param {object} valueHolder Object which contains original value which can be modified by overwriting `.value` property.
1197
1308
  * @param {string} ioMode String which indicates for what operation hook is fired (`get` or `set`).
1198
1309
  */
@@ -1203,7 +1314,7 @@ var REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-sen
1203
1314
  * @event Hooks#modifySourceData
1204
1315
  * @since 8.0.0
1205
1316
  * @param {number} row Physical row index.
1206
- * @param {number} column Physical column index.
1317
+ * @param {number} column Physical column index or property name.
1207
1318
  * @param {object} valueHolder Object which contains original value which can be modified by overwriting `.value` property.
1208
1319
  * @param {string} ioMode String which indicates for what operation hook is fired (`get` or `set`).
1209
1320
  */
@@ -1964,17 +2075,6 @@ var REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-sen
1964
2075
  * @param {number} rowHeaderWidth Row header width.
1965
2076
  */
1966
2077
  'modifyRowHeaderWidth',
1967
- /**
1968
- * Fired from the `populateFromArray` method during the `autofill` process. Fired for each "autofilled" cell individually.
1969
- *
1970
- * @deprecated
1971
- * @event Hooks#beforeAutofillInsidePopulate
1972
- * @param {object} index Object containing `row` and `col` properties, defining the number of rows/columns from the initial cell of the autofill.
1973
- * @param {string} direction Declares the direction of the autofill. Possible values: `up`, `down`, `left`, `right`.
1974
- * @param {Array[]} input Contains an array of rows with data being used in the autofill.
1975
- * @param {Array} deltas The deltas array passed to the `populateFromArray` method.
1976
- */
1977
- 'beforeAutofillInsidePopulate',
1978
2078
  /**
1979
2079
  * Fired when the start of the selection is being modified (e.g. Moving the selection with the arrow keys).
1980
2080
  *
@@ -2395,7 +2495,7 @@ var REMOVED_HOOKS = new Map([['modifyRow', '8.0.0'], ['modifyCol', '8.0.0'], ['u
2395
2495
  * @type {Map<string, string>}
2396
2496
  */
2397
2497
  /* eslint-enable jsdoc/require-description-complete-sentence */
2398
- var DEPRECATED_HOOKS = new Map([['beforeAutofillInsidePopulate', 'The plugin hook "beforeAutofillInsidePopulate" is deprecated and will be removed in the next major release.'], ['beforeRemoveCellClassNames', 'The hook "beforeRemoveCellClassNames" is deprecated and will be removed in the next major release.']]);
2498
+ var DEPRECATED_HOOKS = new Map([['beforeRemoveCellClassNames', 'The hook "beforeRemoveCellClassNames" is deprecated and will be removed in the next major release.']]);
2399
2499
  var Hooks = /*#__PURE__*/function () {
2400
2500
  /**
2401
2501
  *
@@ -12,6 +12,7 @@ require("core-js/modules/es.symbol.js");
12
12
  require("core-js/modules/es.symbol.description.js");
13
13
  require("core-js/modules/es.number.constructor.js");
14
14
  require("core-js/modules/es.symbol.iterator.js");
15
+ require("core-js/modules/es.regexp.to-string.js");
15
16
  require("core-js/modules/es.function.name.js");
16
17
  require("core-js/modules/es.regexp.exec.js");
17
18
  exports.__esModule = true;
@@ -39,6 +39,7 @@ import "core-js/modules/es.symbol.js";
39
39
  import "core-js/modules/es.symbol.description.js";
40
40
  import "core-js/modules/es.number.constructor.js";
41
41
  import "core-js/modules/es.symbol.iterator.js";
42
+ import "core-js/modules/es.regexp.to-string.js";
42
43
  import "core-js/modules/es.function.name.js";
43
44
  import "core-js/modules/es.regexp.exec.js";
44
45
  import { BasePlugin } from "../base/index.mjs";
@@ -14,6 +14,7 @@ require("core-js/modules/es.symbol.iterator.js");
14
14
  require("core-js/modules/es.array.iterator.js");
15
15
  require("core-js/modules/es.string.iterator.js");
16
16
  require("core-js/modules/web.dom-collections.iterator.js");
17
+ require("core-js/modules/es.regexp.to-string.js");
17
18
  require("core-js/modules/es.function.name.js");
18
19
  require("core-js/modules/es.array.from.js");
19
20
  require("core-js/modules/es.regexp.exec.js");
@@ -83,10 +84,10 @@ var ROW_WIDTHS_MAP_NAME = 'autoRowSize';
83
84
  * To configure the sync/async distribution, you can pass an absolute value (number of rows) or a percentage value to a config object:
84
85
  * ```js
85
86
  * // as a number (300 rows in sync, rest async)
86
- * autoRowSize: {syncLimit: 300},.
87
+ * autoRowSize: {syncLimit: 300},
87
88
  *
88
89
  * // as a string (percent)
89
- * autoRowSize: {syncLimit: '40%'},.
90
+ * autoRowSize: {syncLimit: '40%'},
90
91
  *
91
92
  * // allow sample duplication
92
93
  * autoRowSize: {syncLimit: '40%', allowSampleDuplicates: true},
@@ -16,6 +16,7 @@ import "core-js/modules/es.symbol.iterator.js";
16
16
  import "core-js/modules/es.array.iterator.js";
17
17
  import "core-js/modules/es.string.iterator.js";
18
18
  import "core-js/modules/web.dom-collections.iterator.js";
19
+ import "core-js/modules/es.regexp.to-string.js";
19
20
  import "core-js/modules/es.function.name.js";
20
21
  import "core-js/modules/es.array.from.js";
21
22
  import "core-js/modules/es.regexp.exec.js";
@@ -76,10 +77,10 @@ var ROW_WIDTHS_MAP_NAME = 'autoRowSize';
76
77
  * To configure the sync/async distribution, you can pass an absolute value (number of rows) or a percentage value to a config object:
77
78
  * ```js
78
79
  * // as a number (300 rows in sync, rest async)
79
- * autoRowSize: {syncLimit: 300},.
80
+ * autoRowSize: {syncLimit: 300},
80
81
  *
81
82
  * // as a string (percent)
82
- * autoRowSize: {syncLimit: '40%'},.
83
+ * autoRowSize: {syncLimit: '40%'},
83
84
  *
84
85
  * // allow sample duplication
85
86
  * autoRowSize: {syncLimit: '40%', allowSampleDuplicates: true},
@@ -15,6 +15,7 @@ require("core-js/modules/es.array.iterator.js");
15
15
  require("core-js/modules/es.string.iterator.js");
16
16
  require("core-js/modules/web.dom-collections.iterator.js");
17
17
  require("core-js/modules/es.array.slice.js");
18
+ require("core-js/modules/es.regexp.to-string.js");
18
19
  require("core-js/modules/es.function.name.js");
19
20
  require("core-js/modules/es.array.from.js");
20
21
  require("core-js/modules/es.regexp.exec.js");
@@ -297,7 +298,6 @@ var Autofill = /*#__PURE__*/function (_BasePlugin) {
297
298
  this.hot.render();
298
299
  return false;
299
300
  }
300
- var deltas = (0, _utils.getDeltas)(startOfDragCoords, endOfDragCoords, selectionData, directionOfDrag);
301
301
  var fillData = beforeAutofillHookResult;
302
302
  var res = beforeAutofillHookResult;
303
303
  if (['up', 'left'].indexOf(directionOfDrag) > -1 && !(res.length === 1 && res[0].length === 0)) {
@@ -319,7 +319,7 @@ var Autofill = /*#__PURE__*/function (_BasePlugin) {
319
319
  }
320
320
  }
321
321
  }
322
- this.hot.populateFromArray(startOfDragCoords.row, startOfDragCoords.col, fillData, endOfDragCoords.row, endOfDragCoords.col, "".concat(this.pluginName, ".fill"), null, directionOfDrag, deltas);
322
+ this.hot.populateFromArray(startOfDragCoords.row, startOfDragCoords.col, fillData, endOfDragCoords.row, endOfDragCoords.col, "".concat(this.pluginName, ".fill"), null);
323
323
  this.setSelection(cornersOfSelectionAndDragAreas);
324
324
  this.hot.runHooks('afterAutofill', fillData, sourceRange, targetRange, directionOfDrag);
325
325
  this.hot.render();
@@ -29,6 +29,7 @@ import "core-js/modules/es.array.iterator.js";
29
29
  import "core-js/modules/es.string.iterator.js";
30
30
  import "core-js/modules/web.dom-collections.iterator.js";
31
31
  import "core-js/modules/es.array.slice.js";
32
+ import "core-js/modules/es.regexp.to-string.js";
32
33
  import "core-js/modules/es.function.name.js";
33
34
  import "core-js/modules/es.array.from.js";
34
35
  import "core-js/modules/es.regexp.exec.js";
@@ -51,7 +52,7 @@ import Hooks from "../../pluginHooks.mjs";
51
52
  import { offset, outerHeight, outerWidth } from "../../helpers/dom/element.mjs";
52
53
  import { arrayEach, arrayMap } from "../../helpers/array.mjs";
53
54
  import EventManager from "../../eventManager.mjs";
54
- import { getDeltas, getDragDirectionAndRange, DIRECTIONS, getMappedFillHandleSetting } from "./utils.mjs";
55
+ import { getDragDirectionAndRange, DIRECTIONS, getMappedFillHandleSetting } from "./utils.mjs";
55
56
  Hooks.getSingleton().register('modifyAutofillRange');
56
57
  Hooks.getSingleton().register('beforeAutofill');
57
58
  Hooks.getSingleton().register('afterAutofill');
@@ -291,7 +292,6 @@ export var Autofill = /*#__PURE__*/function (_BasePlugin) {
291
292
  this.hot.render();
292
293
  return false;
293
294
  }
294
- var deltas = getDeltas(startOfDragCoords, endOfDragCoords, selectionData, directionOfDrag);
295
295
  var fillData = beforeAutofillHookResult;
296
296
  var res = beforeAutofillHookResult;
297
297
  if (['up', 'left'].indexOf(directionOfDrag) > -1 && !(res.length === 1 && res[0].length === 0)) {
@@ -313,7 +313,7 @@ export var Autofill = /*#__PURE__*/function (_BasePlugin) {
313
313
  }
314
314
  }
315
315
  }
316
- this.hot.populateFromArray(startOfDragCoords.row, startOfDragCoords.col, fillData, endOfDragCoords.row, endOfDragCoords.col, "".concat(this.pluginName, ".fill"), null, directionOfDrag, deltas);
316
+ this.hot.populateFromArray(startOfDragCoords.row, startOfDragCoords.col, fillData, endOfDragCoords.row, endOfDragCoords.col, "".concat(this.pluginName, ".fill"), null);
317
317
  this.setSelection(cornersOfSelectionAndDragAreas);
318
318
  this.hot.runHooks('afterAutofill', fillData, sourceRange, targetRange, directionOfDrag);
319
319
  this.hot.render();
@@ -2,10 +2,8 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  exports.DIRECTIONS = void 0;
5
- exports.getDeltas = getDeltas;
6
5
  exports.getDragDirectionAndRange = getDragDirectionAndRange;
7
6
  exports.getMappedFillHandleSetting = getMappedFillHandleSetting;
8
- require("core-js/modules/es.array.index-of.js");
9
7
  require("core-js/modules/es.object.keys.js");
10
8
  var _object = require("../../helpers/object");
11
9
  var _mixed = require("../../helpers/mixed");
@@ -14,43 +12,6 @@ var DIRECTIONS = {
14
12
  vertical: 'vertical'
15
13
  };
16
14
 
17
- /**
18
- * Get deltas array.
19
- *
20
- * @param {CellCoords} start The point in the grid where the selection starts.
21
- * @param {CellCoords} end The point in the grid where the selection ends.
22
- * @param {Array} data The chunk of the data which belongs to the selected box.
23
- * @param {string} direction The selection direction.
24
- * @returns {Array}
25
- */
26
- exports.DIRECTIONS = DIRECTIONS;
27
- function getDeltas(start, end, data, direction) {
28
- var rowsLength = data.length;
29
- var columnsLength = data ? data[0].length : 0;
30
- var deltas = [];
31
- var diffRow = end.row - start.row;
32
- var diffCol = end.col - start.col;
33
- if (['down', 'up'].indexOf(direction) !== -1) {
34
- var arr = [];
35
- for (var col = 0; col < diffCol; col++) {
36
- var startValue = parseInt(data[0][col], 10);
37
- var endValue = parseInt(data[rowsLength - 1][col], 10);
38
- var delta = (direction === 'down' ? endValue - startValue : startValue - endValue) / (rowsLength - 1) || 0;
39
- arr.push(delta);
40
- }
41
- deltas.push(arr);
42
- }
43
- if (['right', 'left'].indexOf(direction) !== -1) {
44
- for (var row = 0; row < diffRow; row++) {
45
- var _startValue = parseInt(data[row][0], 10);
46
- var _endValue = parseInt(data[row][columnsLength - 1], 10);
47
- var _delta = (direction === 'right' ? _endValue - _startValue : _startValue - _endValue) / (columnsLength - 1) || 0;
48
- deltas.push([_delta]);
49
- }
50
- }
51
- return deltas;
52
- }
53
-
54
15
  /**
55
16
  * Get direction between positions and cords of selections difference (drag area).
56
17
  *
@@ -59,6 +20,7 @@ function getDeltas(start, end, data, direction) {
59
20
  * @param {Function} cellCoordsFactory The function factory for CellCoords objects.
60
21
  * @returns {{direction: string, start: CellCoords, end: CellCoords}}
61
22
  */
23
+ exports.DIRECTIONS = DIRECTIONS;
62
24
  function getDragDirectionAndRange(startSelection, endSelection, cellCoordsFactory) {
63
25
  var startOfDragCoords;
64
26
  var endOfDragCoords;
@@ -1,4 +1,3 @@
1
- import "core-js/modules/es.array.index-of.js";
2
1
  import "core-js/modules/es.object.keys.js";
3
2
  import { isObject } from "../../helpers/object.mjs";
4
3
  import { isDefined } from "../../helpers/mixed.mjs";
@@ -7,42 +6,6 @@ export var DIRECTIONS = {
7
6
  vertical: 'vertical'
8
7
  };
9
8
 
10
- /**
11
- * Get deltas array.
12
- *
13
- * @param {CellCoords} start The point in the grid where the selection starts.
14
- * @param {CellCoords} end The point in the grid where the selection ends.
15
- * @param {Array} data The chunk of the data which belongs to the selected box.
16
- * @param {string} direction The selection direction.
17
- * @returns {Array}
18
- */
19
- export function getDeltas(start, end, data, direction) {
20
- var rowsLength = data.length;
21
- var columnsLength = data ? data[0].length : 0;
22
- var deltas = [];
23
- var diffRow = end.row - start.row;
24
- var diffCol = end.col - start.col;
25
- if (['down', 'up'].indexOf(direction) !== -1) {
26
- var arr = [];
27
- for (var col = 0; col < diffCol; col++) {
28
- var startValue = parseInt(data[0][col], 10);
29
- var endValue = parseInt(data[rowsLength - 1][col], 10);
30
- var delta = (direction === 'down' ? endValue - startValue : startValue - endValue) / (rowsLength - 1) || 0;
31
- arr.push(delta);
32
- }
33
- deltas.push(arr);
34
- }
35
- if (['right', 'left'].indexOf(direction) !== -1) {
36
- for (var row = 0; row < diffRow; row++) {
37
- var _startValue = parseInt(data[row][0], 10);
38
- var _endValue = parseInt(data[row][columnsLength - 1], 10);
39
- var _delta = (direction === 'right' ? _endValue - _startValue : _startValue - _endValue) / (columnsLength - 1) || 0;
40
- deltas.push([_delta]);
41
- }
42
- }
43
- return deltas;
44
- }
45
-
46
9
  /**
47
10
  * Get direction between positions and cords of selections difference (drag area).
48
11
  *
@@ -7,6 +7,7 @@ require("core-js/modules/es.symbol.description.js");
7
7
  require("core-js/modules/es.number.constructor.js");
8
8
  require("core-js/modules/es.symbol.iterator.js");
9
9
  require("core-js/modules/es.array.slice.js");
10
+ require("core-js/modules/es.regexp.to-string.js");
10
11
  require("core-js/modules/es.function.name.js");
11
12
  require("core-js/modules/es.array.from.js");
12
13
  require("core-js/modules/es.regexp.exec.js");
@@ -32,6 +32,7 @@ import "core-js/modules/es.symbol.description.js";
32
32
  import "core-js/modules/es.number.constructor.js";
33
33
  import "core-js/modules/es.symbol.iterator.js";
34
34
  import "core-js/modules/es.array.slice.js";
35
+ import "core-js/modules/es.regexp.to-string.js";
35
36
  import "core-js/modules/es.function.name.js";
36
37
  import "core-js/modules/es.array.from.js";
37
38
  import "core-js/modules/es.regexp.exec.js";
@@ -16,6 +16,7 @@ require("core-js/modules/es.string.iterator.js");
16
16
  require("core-js/modules/web.dom-collections.iterator.js");
17
17
  require("core-js/modules/es.array.from.js");
18
18
  require("core-js/modules/es.array.slice.js");
19
+ require("core-js/modules/es.regexp.to-string.js");
19
20
  require("core-js/modules/es.function.name.js");
20
21
  require("core-js/modules/es.regexp.exec.js");
21
22
  exports.__esModule = true;
@@ -16,6 +16,7 @@ import "core-js/modules/es.string.iterator.js";
16
16
  import "core-js/modules/web.dom-collections.iterator.js";
17
17
  import "core-js/modules/es.array.from.js";
18
18
  import "core-js/modules/es.array.slice.js";
19
+ import "core-js/modules/es.regexp.to-string.js";
19
20
  import "core-js/modules/es.function.name.js";
20
21
  import "core-js/modules/es.regexp.exec.js";
21
22
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }