handsontable 14.6.1-next-689aaa6-20241016 → 15.0.0-next-4472a60-20241203

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (392) hide show
  1. package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.js +23 -0
  2. package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.mjs +23 -0
  3. package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.js +23 -0
  4. package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.mjs +23 -0
  5. package/3rdparty/walkontable/src/calculator/index.js +1 -2
  6. package/3rdparty/walkontable/src/calculator/index.mjs +2 -2
  7. package/3rdparty/walkontable/src/calculator/viewportBase.js +2 -0
  8. package/3rdparty/walkontable/src/calculator/viewportBase.mjs +2 -0
  9. package/3rdparty/walkontable/src/calculator/viewportRows.js +3 -3
  10. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +3 -3
  11. package/3rdparty/walkontable/src/core/_base.js +29 -23
  12. package/3rdparty/walkontable/src/core/_base.mjs +29 -23
  13. package/3rdparty/walkontable/src/core/clone.js +1 -0
  14. package/3rdparty/walkontable/src/core/clone.mjs +1 -0
  15. package/3rdparty/walkontable/src/core/core.js +2 -0
  16. package/3rdparty/walkontable/src/core/core.mjs +2 -0
  17. package/3rdparty/walkontable/src/facade/core.js +12 -6
  18. package/3rdparty/walkontable/src/facade/core.mjs +12 -6
  19. package/3rdparty/walkontable/src/index.js +0 -1
  20. package/3rdparty/walkontable/src/index.mjs +2 -2
  21. package/3rdparty/walkontable/src/overlay/_base.js +8 -1
  22. package/3rdparty/walkontable/src/overlay/_base.mjs +8 -1
  23. package/3rdparty/walkontable/src/overlay/bottom.js +5 -6
  24. package/3rdparty/walkontable/src/overlay/bottom.mjs +5 -6
  25. package/3rdparty/walkontable/src/overlay/index.js +2 -0
  26. package/3rdparty/walkontable/src/overlay/inlineStart.js +8 -7
  27. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +9 -8
  28. package/3rdparty/walkontable/src/overlay/top.js +9 -8
  29. package/3rdparty/walkontable/src/overlay/top.mjs +10 -9
  30. package/3rdparty/walkontable/src/overlays.js +10 -26
  31. package/3rdparty/walkontable/src/overlays.mjs +10 -26
  32. package/3rdparty/walkontable/src/renderer/colGroup.js +1 -1
  33. package/3rdparty/walkontable/src/renderer/colGroup.mjs +1 -1
  34. package/3rdparty/walkontable/src/renderer/index.js +4 -2
  35. package/3rdparty/walkontable/src/renderer/index.mjs +4 -2
  36. package/3rdparty/walkontable/src/renderer/table.js +13 -4
  37. package/3rdparty/walkontable/src/renderer/table.mjs +13 -4
  38. package/3rdparty/walkontable/src/scroll.js +46 -37
  39. package/3rdparty/walkontable/src/scroll.mjs +46 -37
  40. package/3rdparty/walkontable/src/selection/border/border.js +52 -58
  41. package/3rdparty/walkontable/src/selection/border/border.mjs +53 -59
  42. package/3rdparty/walkontable/src/selection/border/utils.js +26 -0
  43. package/3rdparty/walkontable/src/selection/border/utils.mjs +22 -0
  44. package/3rdparty/walkontable/src/selection/index.js +6 -4
  45. package/3rdparty/walkontable/src/selection/index.mjs +1 -1
  46. package/3rdparty/walkontable/src/selection/manager.js +3 -0
  47. package/3rdparty/walkontable/src/selection/manager.mjs +3 -0
  48. package/3rdparty/walkontable/src/selection/scanner.js +46 -11
  49. package/3rdparty/walkontable/src/selection/scanner.mjs +46 -11
  50. package/3rdparty/walkontable/src/settings.js +8 -9
  51. package/3rdparty/walkontable/src/settings.mjs +8 -9
  52. package/3rdparty/walkontable/src/table/master.js +1 -1
  53. package/3rdparty/walkontable/src/table/master.mjs +2 -2
  54. package/3rdparty/walkontable/src/table.js +25 -36
  55. package/3rdparty/walkontable/src/table.mjs +25 -36
  56. package/3rdparty/walkontable/src/types.js +1 -0
  57. package/3rdparty/walkontable/src/types.mjs +1 -0
  58. package/3rdparty/walkontable/src/utils/column.js +1 -43
  59. package/3rdparty/walkontable/src/utils/column.mjs +1 -43
  60. package/3rdparty/walkontable/src/utils/stylesHandler.js +295 -0
  61. package/3rdparty/walkontable/src/utils/stylesHandler.mjs +291 -0
  62. package/3rdparty/walkontable/src/viewport.js +94 -91
  63. package/3rdparty/walkontable/src/viewport.mjs +95 -92
  64. package/CHANGELOG.md +36 -0
  65. package/README.md +1 -1
  66. package/base.js +4 -4
  67. package/base.mjs +3 -3
  68. package/core/focusCatcher/focusDetector.js +1 -0
  69. package/core/focusCatcher/focusDetector.mjs +1 -0
  70. package/core/hooks/bucket.js +184 -0
  71. package/core/hooks/bucket.mjs +180 -0
  72. package/{pluginHooks.mjs → core/hooks/constants.js} +38 -486
  73. package/{pluginHooks.js → core/hooks/constants.mjs} +34 -489
  74. package/{pluginHooks.d.ts → core/hooks/index.d.ts} +22 -25
  75. package/core/hooks/index.js +385 -0
  76. package/core/hooks/index.mjs +381 -0
  77. package/core/index.js +2 -0
  78. package/core.d.ts +5 -3
  79. package/core.js +77 -35
  80. package/core.mjs +69 -27
  81. package/dataMap/dataMap.js +3 -0
  82. package/dataMap/dataMap.mjs +3 -0
  83. package/dataMap/dataSource.js +2 -0
  84. package/dataMap/dataSource.mjs +2 -0
  85. package/dataMap/metaManager/index.js +2 -0
  86. package/dataMap/metaManager/index.mjs +2 -0
  87. package/dataMap/metaManager/metaSchema.js +91 -5
  88. package/dataMap/metaManager/metaSchema.mjs +91 -5
  89. package/dataMap/metaManager/mods/dynamicCellMeta.js +2 -3
  90. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +1 -1
  91. package/dataMap/metaManager/mods/extendMetaProperties.js +2 -0
  92. package/dataMap/metaManager/mods/extendMetaProperties.mjs +2 -0
  93. package/dist/handsontable.css +84 -72
  94. package/dist/handsontable.full.css +317 -304
  95. package/dist/handsontable.full.js +14826 -7294
  96. package/dist/handsontable.full.min.css +15 -10
  97. package/dist/handsontable.full.min.js +262 -69
  98. package/dist/handsontable.js +7826 -5552
  99. package/dist/handsontable.min.css +10 -6
  100. package/dist/handsontable.min.js +33 -33
  101. package/dist/languages/all.js +1 -1
  102. package/dist/languages/ar-AR.js +1 -1
  103. package/dist/languages/cs-CZ.js +1 -1
  104. package/dist/languages/de-CH.js +1 -1
  105. package/dist/languages/de-DE.js +1 -1
  106. package/dist/languages/en-US.js +1 -1
  107. package/dist/languages/es-MX.js +1 -1
  108. package/dist/languages/fr-FR.js +1 -1
  109. package/dist/languages/hr-HR.js +1 -1
  110. package/dist/languages/it-IT.js +1 -1
  111. package/dist/languages/ja-JP.js +1 -1
  112. package/dist/languages/ko-KR.js +1 -1
  113. package/dist/languages/lv-LV.js +1 -1
  114. package/dist/languages/nb-NO.js +1 -1
  115. package/dist/languages/nl-NL.js +1 -1
  116. package/dist/languages/pl-PL.js +1 -1
  117. package/dist/languages/pt-BR.js +1 -1
  118. package/dist/languages/ru-RU.js +1 -1
  119. package/dist/languages/sr-SP.js +1 -1
  120. package/dist/languages/zh-CN.js +1 -1
  121. package/dist/languages/zh-TW.js +1 -1
  122. package/editorManager.js +2 -2
  123. package/editorManager.mjs +2 -2
  124. package/editors/autocompleteEditor/autocompleteEditor.js +34 -16
  125. package/editors/autocompleteEditor/autocompleteEditor.mjs +34 -16
  126. package/editors/baseEditor/baseEditor.js +25 -18
  127. package/editors/baseEditor/baseEditor.mjs +26 -19
  128. package/editors/dateEditor/dateEditor.js +9 -0
  129. package/editors/dateEditor/dateEditor.mjs +10 -1
  130. package/editors/dropdownEditor/dropdownEditor.js +4 -3
  131. package/editors/dropdownEditor/dropdownEditor.mjs +3 -1
  132. package/editors/handsontableEditor/handsontableEditor.js +36 -2
  133. package/editors/handsontableEditor/handsontableEditor.mjs +36 -2
  134. package/editors/passwordEditor/passwordEditor.js +18 -0
  135. package/editors/passwordEditor/passwordEditor.mjs +18 -0
  136. package/editors/registry.js +2 -2
  137. package/editors/registry.mjs +1 -1
  138. package/editors/selectEditor/selectEditor.js +20 -9
  139. package/editors/selectEditor/selectEditor.mjs +20 -9
  140. package/editors/textEditor/textEditor.js +5 -12
  141. package/editors/textEditor/textEditor.mjs +6 -13
  142. package/focusManager.js +5 -7
  143. package/focusManager.mjs +5 -7
  144. package/helpers/array.js +2 -0
  145. package/helpers/array.mjs +2 -0
  146. package/helpers/data.js +3 -0
  147. package/helpers/data.mjs +3 -0
  148. package/helpers/dom/element.js +39 -18
  149. package/helpers/dom/element.mjs +38 -17
  150. package/helpers/mixed.js +3 -3
  151. package/helpers/mixed.mjs +3 -3
  152. package/helpers/moves.js +3 -0
  153. package/helpers/moves.mjs +3 -0
  154. package/helpers/number.js +1 -0
  155. package/helpers/number.mjs +1 -0
  156. package/helpers/object.js +2 -0
  157. package/helpers/object.mjs +2 -0
  158. package/helpers/themes.js +17 -0
  159. package/helpers/themes.mjs +13 -0
  160. package/i18n/index.js +2 -0
  161. package/i18n/languages/index.d.ts +8 -0
  162. package/i18n/languages/ja-JP.d.ts +1 -1
  163. package/i18n/phraseFormatters/substituteVariables.js +1 -0
  164. package/i18n/phraseFormatters/substituteVariables.mjs +1 -0
  165. package/index.d.ts +9 -1
  166. package/languages/all.js +1 -1
  167. package/languages/ar-AR.js +1 -1
  168. package/languages/cs-CZ.js +1 -1
  169. package/languages/de-CH.js +1 -1
  170. package/languages/de-DE.js +1 -1
  171. package/languages/en-US.js +1 -1
  172. package/languages/es-MX.js +1 -1
  173. package/languages/fr-FR.js +1 -1
  174. package/languages/hr-HR.js +1 -1
  175. package/languages/index.js +1 -1
  176. package/languages/it-IT.js +1 -1
  177. package/languages/ja-JP.js +1 -1
  178. package/languages/ko-KR.js +1 -1
  179. package/languages/lv-LV.js +1 -1
  180. package/languages/nb-NO.js +1 -1
  181. package/languages/nl-NL.js +1 -1
  182. package/languages/pl-PL.js +1 -1
  183. package/languages/pt-BR.js +1 -1
  184. package/languages/ru-RU.js +1 -1
  185. package/languages/sr-SP.js +1 -1
  186. package/languages/zh-CN.js +1 -1
  187. package/languages/zh-TW.js +1 -1
  188. package/package.json +22 -7
  189. package/plugins/autoColumnSize/autoColumnSize.js +22 -27
  190. package/plugins/autoColumnSize/autoColumnSize.mjs +22 -27
  191. package/plugins/autoRowSize/autoRowSize.js +20 -22
  192. package/plugins/autoRowSize/autoRowSize.mjs +21 -23
  193. package/plugins/autofill/autofill.js +4 -5
  194. package/plugins/autofill/autofill.mjs +1 -1
  195. package/plugins/base/base.d.ts +1 -1
  196. package/plugins/base/base.js +41 -0
  197. package/plugins/base/base.mjs +42 -1
  198. package/plugins/base/index.js +2 -1
  199. package/plugins/base/index.mjs +1 -1
  200. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +2 -5
  201. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +2 -5
  202. package/plugins/columnSorting/columnSorting.js +5 -4
  203. package/plugins/columnSorting/columnSorting.mjs +3 -1
  204. package/plugins/columnSorting/columnStatesManager.js +1 -0
  205. package/plugins/columnSorting/columnStatesManager.mjs +1 -0
  206. package/plugins/columnSorting/utils.js +3 -0
  207. package/plugins/columnSorting/utils.mjs +3 -0
  208. package/plugins/columnSummary/endpoints.js +3 -0
  209. package/plugins/columnSummary/endpoints.mjs +3 -0
  210. package/plugins/comments/commentEditor.js +9 -0
  211. package/plugins/comments/commentEditor.mjs +9 -0
  212. package/plugins/comments/comments.js +24 -18
  213. package/plugins/comments/comments.mjs +26 -20
  214. package/plugins/comments/editorResizeObserver.js +2 -0
  215. package/plugins/comments/editorResizeObserver.mjs +2 -0
  216. package/plugins/contextMenu/contextMenu.d.ts +2 -1
  217. package/plugins/contextMenu/contextMenu.js +6 -7
  218. package/plugins/contextMenu/contextMenu.mjs +1 -1
  219. package/plugins/contextMenu/menu/index.js +2 -0
  220. package/plugins/contextMenu/menu/menu.js +10 -5
  221. package/plugins/contextMenu/menu/menu.mjs +11 -6
  222. package/plugins/contextMenu/menu/positioner.js +4 -2
  223. package/plugins/contextMenu/menu/positioner.mjs +4 -2
  224. package/plugins/contextMenu/menu/shortcuts.js +3 -1
  225. package/plugins/contextMenu/menu/shortcuts.mjs +3 -1
  226. package/plugins/contextMenu/predefinedItems/alignment.js +7 -84
  227. package/plugins/contextMenu/predefinedItems/alignment.mjs +8 -85
  228. package/plugins/contextMenu/utils.js +0 -10
  229. package/plugins/contextMenu/utils.mjs +0 -9
  230. package/plugins/copyPaste/copyPaste.d.ts +1 -0
  231. package/plugins/copyPaste/copyPaste.js +32 -23
  232. package/plugins/copyPaste/copyPaste.mjs +24 -15
  233. package/plugins/customBorders/utils.js +2 -0
  234. package/plugins/customBorders/utils.mjs +2 -0
  235. package/plugins/dropdownMenu/dropdownMenu.d.ts +2 -1
  236. package/plugins/dropdownMenu/dropdownMenu.js +6 -7
  237. package/plugins/dropdownMenu/dropdownMenu.mjs +1 -1
  238. package/plugins/exportFile/types/csv.js +1 -0
  239. package/plugins/exportFile/types/csv.mjs +1 -0
  240. package/plugins/filters/component/condition.js +2 -0
  241. package/plugins/filters/component/condition.mjs +2 -0
  242. package/plugins/filters/component/operators.js +2 -0
  243. package/plugins/filters/component/operators.mjs +2 -0
  244. package/plugins/filters/component/value.js +3 -0
  245. package/plugins/filters/component/value.mjs +3 -0
  246. package/plugins/filters/conditionCollection.js +3 -0
  247. package/plugins/filters/conditionCollection.mjs +3 -0
  248. package/plugins/filters/conditionUpdateObserver.js +2 -0
  249. package/plugins/filters/conditionUpdateObserver.mjs +2 -0
  250. package/plugins/filters/filters.js +43 -13
  251. package/plugins/filters/filters.mjs +43 -13
  252. package/plugins/filters/logicalOperations/conjunction.js +2 -0
  253. package/plugins/filters/logicalOperations/conjunction.mjs +2 -0
  254. package/plugins/filters/logicalOperations/disjunction.js +2 -0
  255. package/plugins/filters/logicalOperations/disjunction.mjs +2 -0
  256. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +2 -0
  257. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +2 -0
  258. package/plugins/filters/menu/focusController.js +38 -14
  259. package/plugins/filters/menu/focusController.mjs +38 -14
  260. package/plugins/filters/ui/multipleSelect.js +10 -0
  261. package/plugins/filters/ui/multipleSelect.mjs +10 -0
  262. package/plugins/formulas/engine/register.js +3 -0
  263. package/plugins/formulas/engine/register.mjs +3 -0
  264. package/plugins/formulas/engine/settings.js +3 -0
  265. package/plugins/formulas/engine/settings.mjs +3 -0
  266. package/plugins/formulas/formulas.js +12 -7
  267. package/plugins/formulas/formulas.mjs +6 -1
  268. package/plugins/formulas/indexSyncer/axisSyncer.js +3 -0
  269. package/plugins/formulas/indexSyncer/axisSyncer.mjs +3 -0
  270. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +2 -0
  271. package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +2 -0
  272. package/plugins/hiddenColumns/hiddenColumns.js +22 -30
  273. package/plugins/hiddenColumns/hiddenColumns.mjs +18 -26
  274. package/plugins/hiddenRows/contextMenuItem/showRow.js +2 -0
  275. package/plugins/hiddenRows/contextMenuItem/showRow.mjs +2 -0
  276. package/plugins/hiddenRows/hiddenRows.js +21 -29
  277. package/plugins/hiddenRows/hiddenRows.mjs +17 -25
  278. package/plugins/index.d.ts +3 -0
  279. package/plugins/index.js +3 -0
  280. package/plugins/index.mjs +3 -1
  281. package/plugins/manualColumnFreeze/manualColumnFreeze.js +7 -5
  282. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +3 -1
  283. package/plugins/manualColumnMove/manualColumnMove.js +6 -6
  284. package/plugins/manualColumnMove/manualColumnMove.mjs +4 -4
  285. package/plugins/manualColumnResize/manualColumnResize.js +26 -12
  286. package/plugins/manualColumnResize/manualColumnResize.mjs +26 -12
  287. package/plugins/manualRowMove/manualRowMove.js +8 -6
  288. package/plugins/manualRowMove/manualRowMove.mjs +6 -4
  289. package/plugins/manualRowResize/manualRowResize.js +3 -2
  290. package/plugins/manualRowResize/manualRowResize.mjs +4 -3
  291. package/plugins/mergeCells/cellsCollection.js +19 -3
  292. package/plugins/mergeCells/cellsCollection.mjs +20 -4
  293. package/plugins/mergeCells/mergeCells.d.ts +6 -2
  294. package/plugins/mergeCells/mergeCells.js +84 -56
  295. package/plugins/mergeCells/mergeCells.mjs +82 -54
  296. package/plugins/mergeCells/renderer.js +13 -3
  297. package/plugins/mergeCells/renderer.mjs +13 -3
  298. package/plugins/multiColumnSorting/domHelpers.js +2 -0
  299. package/plugins/multiColumnSorting/domHelpers.mjs +2 -0
  300. package/plugins/nestedHeaders/nestedHeaders.js +63 -16
  301. package/plugins/nestedHeaders/nestedHeaders.mjs +63 -16
  302. package/plugins/nestedHeaders/stateManager/index.js +1 -0
  303. package/plugins/nestedHeaders/stateManager/index.mjs +1 -0
  304. package/plugins/nestedRows/nestedRows.js +3 -0
  305. package/plugins/nestedRows/nestedRows.mjs +3 -0
  306. package/plugins/nestedRows/ui/headers.js +7 -1
  307. package/plugins/nestedRows/ui/headers.mjs +7 -1
  308. package/plugins/nestedRows/utils/rowMoveController.js +4 -0
  309. package/plugins/nestedRows/utils/rowMoveController.mjs +4 -0
  310. package/plugins/persistentState/persistentState.js +4 -4
  311. package/plugins/persistentState/persistentState.mjs +1 -1
  312. package/plugins/stretchColumns/calculator.js +162 -0
  313. package/plugins/stretchColumns/calculator.mjs +158 -0
  314. package/plugins/stretchColumns/index.d.ts +1 -0
  315. package/plugins/stretchColumns/index.js +7 -0
  316. package/plugins/stretchColumns/index.mjs +1 -0
  317. package/plugins/stretchColumns/strategies/_base.js +85 -0
  318. package/plugins/stretchColumns/strategies/_base.mjs +81 -0
  319. package/plugins/stretchColumns/strategies/all.js +71 -0
  320. package/plugins/stretchColumns/strategies/all.mjs +67 -0
  321. package/plugins/stretchColumns/strategies/last.js +79 -0
  322. package/plugins/stretchColumns/strategies/last.mjs +75 -0
  323. package/plugins/stretchColumns/stretchColumns.d.ts +11 -0
  324. package/plugins/stretchColumns/stretchColumns.js +222 -0
  325. package/plugins/stretchColumns/stretchColumns.mjs +218 -0
  326. package/plugins/trimRows/trimRows.js +2 -0
  327. package/plugins/trimRows/trimRows.mjs +2 -0
  328. package/plugins/undoRedo/undoRedo.js +9 -5
  329. package/plugins/undoRedo/undoRedo.mjs +8 -3
  330. package/renderers/checkboxRenderer/checkboxRenderer.js +19 -8
  331. package/renderers/checkboxRenderer/checkboxRenderer.mjs +18 -7
  332. package/selection/index.js +2 -0
  333. package/selection/range.js +2 -0
  334. package/selection/range.mjs +2 -0
  335. package/selection/selection.js +7 -2
  336. package/selection/selection.mjs +7 -2
  337. package/selection/utils.js +2 -0
  338. package/selection/utils.mjs +2 -0
  339. package/settings.d.ts +4 -1
  340. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +1 -1
  341. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +1 -1
  342. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +1 -1
  343. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +1 -1
  344. package/shortcutContexts/commands/index.js +2 -0
  345. package/shortcutContexts/commands/index.mjs +2 -0
  346. package/shortcutContexts/commands/scrollToFocusedCell.js +4 -4
  347. package/shortcutContexts/commands/scrollToFocusedCell.mjs +4 -4
  348. package/shortcutContexts/index.js +2 -0
  349. package/shortcutContexts/index.mjs +2 -0
  350. package/shortcuts/context.js +3 -0
  351. package/shortcuts/context.mjs +3 -0
  352. package/shortcuts/recorder.js +3 -3
  353. package/shortcuts/recorder.mjs +3 -3
  354. package/shortcuts/utils.js +1 -0
  355. package/shortcuts/utils.mjs +1 -0
  356. package/styles/handsontable.css +2307 -0
  357. package/styles/handsontable.min.css +30 -0
  358. package/styles/ht-theme-horizon.css +607 -0
  359. package/styles/ht-theme-horizon.min.css +30 -0
  360. package/styles/ht-theme-main.css +613 -0
  361. package/styles/ht-theme-main.min.css +30 -0
  362. package/tableView.js +205 -33
  363. package/tableView.mjs +206 -34
  364. package/translations/changesObservable/observable.js +2 -0
  365. package/translations/changesObservable/observable.mjs +2 -0
  366. package/translations/index.js +2 -0
  367. package/translations/indexMapper.js +4 -0
  368. package/translations/indexMapper.mjs +4 -0
  369. package/translations/mapCollections/index.js +2 -0
  370. package/translations/mapCollections/mapCollection.js +2 -0
  371. package/translations/mapCollections/mapCollection.mjs +2 -0
  372. package/translations/maps/index.js +2 -0
  373. package/translations/maps/linkedPhysicalIndexToValueMap.js +1 -0
  374. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +1 -0
  375. package/translations/maps/utils/actionsOnIndexes.js +2 -0
  376. package/translations/maps/utils/actionsOnIndexes.mjs +2 -0
  377. package/translations/maps/utils/physicallyIndexed.js +1 -0
  378. package/translations/maps/utils/physicallyIndexed.mjs +1 -0
  379. package/utils/autoResize.js +11 -3
  380. package/utils/autoResize.mjs +11 -3
  381. package/utils/dataStructures/priorityMap.js +1 -0
  382. package/utils/dataStructures/priorityMap.mjs +1 -0
  383. package/utils/dataStructures/uniqueMap.js +2 -0
  384. package/utils/dataStructures/uniqueMap.mjs +2 -0
  385. package/utils/ghostTable.js +7 -3
  386. package/utils/ghostTable.mjs +7 -3
  387. package/utils/parseTable.js +4 -0
  388. package/utils/parseTable.mjs +4 -0
  389. package/3rdparty/walkontable/src/selection/border/constants.js +0 -15
  390. package/3rdparty/walkontable/src/selection/border/constants.mjs +0 -12
  391. package/3rdparty/walkontable/src/utils/columnStretching.js +0 -197
  392. package/3rdparty/walkontable/src/utils/columnStretching.mjs +0 -193
@@ -10,14 +10,15 @@ require("core-js/modules/es.set.is-subset-of.v2.js");
10
10
  require("core-js/modules/es.set.is-superset-of.v2.js");
11
11
  require("core-js/modules/es.set.symmetric-difference.v2.js");
12
12
  require("core-js/modules/es.set.union.v2.js");
13
+ require("core-js/modules/esnext.iterator.constructor.js");
14
+ require("core-js/modules/esnext.iterator.every.js");
15
+ require("core-js/modules/esnext.iterator.map.js");
13
16
  var _base = require("../base");
14
17
  var _element = require("../../helpers/dom/element");
15
18
  var _number = require("../../helpers/number");
16
19
  var _array = require("../../helpers/array");
17
- var _object = require("../../helpers/object");
18
- var _mixed = require("../../helpers/mixed");
19
20
  var _predefinedItems = require("../contextMenu/predefinedItems");
20
- var _pluginHooks = _interopRequireDefault(require("../../pluginHooks"));
21
+ var _hooks = require("../../core/hooks");
21
22
  var _hideRow = _interopRequireDefault(require("./contextMenuItem/hideRow"));
22
23
  var _showRow = _interopRequireDefault(require("./contextMenuItem/showRow"));
23
24
  var _translations = require("../../translations");
@@ -28,10 +29,10 @@ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("C
28
29
  function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
29
30
  function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
30
31
  function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
31
- _pluginHooks.default.getSingleton().register('beforeHideRows');
32
- _pluginHooks.default.getSingleton().register('afterHideRows');
33
- _pluginHooks.default.getSingleton().register('beforeUnhideRows');
34
- _pluginHooks.default.getSingleton().register('afterUnhideRows');
32
+ _hooks.Hooks.getSingleton().register('beforeHideRows');
33
+ _hooks.Hooks.getSingleton().register('afterHideRows');
34
+ _hooks.Hooks.getSingleton().register('beforeUnhideRows');
35
+ _hooks.Hooks.getSingleton().register('afterUnhideRows');
35
36
  const PLUGIN_KEY = exports.PLUGIN_KEY = 'hiddenRows';
36
37
  const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 320;
37
38
 
@@ -141,7 +142,6 @@ const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 320;
141
142
  * ```
142
143
  * :::
143
144
  */
144
- var _settings = /*#__PURE__*/new WeakMap();
145
145
  var _hiddenRowsMap = /*#__PURE__*/new WeakMap();
146
146
  var _HiddenRows_brand = /*#__PURE__*/new WeakSet();
147
147
  class HiddenRows extends _base.BasePlugin {
@@ -155,13 +155,6 @@ class HiddenRows extends _base.BasePlugin {
155
155
  * @returns {number}
156
156
  */
157
157
  _classPrivateMethodInitSpec(this, _HiddenRows_brand);
158
- /**
159
- * Cached settings from Handsontable settings.
160
- *
161
- * @private
162
- * @type {object}
163
- */
164
- _classPrivateFieldInitSpec(this, _settings, {});
165
158
  /**
166
159
  * Map of hidden rows by the plugin.
167
160
  *
@@ -176,6 +169,13 @@ class HiddenRows extends _base.BasePlugin {
176
169
  static get PLUGIN_PRIORITY() {
177
170
  return PLUGIN_PRIORITY;
178
171
  }
172
+ static get DEFAULT_SETTINGS() {
173
+ return {
174
+ copyPasteEnabled: true,
175
+ indicators: false,
176
+ rows: []
177
+ };
178
+ }
179
179
  /**
180
180
  * Checks if the plugin is enabled in the handsontable settings. This method is executed in {@link Hooks#beforeInit}
181
181
  * hook and if it returns `true` then the {@link HiddenRows#enablePlugin} method is called.
@@ -194,13 +194,6 @@ class HiddenRows extends _base.BasePlugin {
194
194
  if (this.enabled) {
195
195
  return;
196
196
  }
197
- const pluginSettings = this.hot.getSettings()[PLUGIN_KEY];
198
- if ((0, _object.isObject)(pluginSettings)) {
199
- _classPrivateFieldSet(_settings, this, pluginSettings);
200
- if ((0, _mixed.isUndefined)(pluginSettings.copyPasteEnabled)) {
201
- pluginSettings.copyPasteEnabled = true;
202
- }
203
- }
204
197
  _classPrivateFieldSet(_hiddenRowsMap, this, new _translations.HidingMap());
205
198
  _classPrivateFieldGet(_hiddenRowsMap, this).addLocalHook('init', () => _assertClassBrand(_HiddenRows_brand, this, _onMapInit).call(this));
206
199
  this.hot.rowIndexMapper.registerMap(this.pluginName, _classPrivateFieldGet(_hiddenRowsMap, this));
@@ -239,7 +232,6 @@ class HiddenRows extends _base.BasePlugin {
239
232
  */
240
233
  disablePlugin() {
241
234
  this.hot.rowIndexMapper.unregisterMap(this.pluginName);
242
- _classPrivateFieldSet(_settings, this, {});
243
235
  super.disablePlugin();
244
236
  this.resetCellsMeta();
245
237
  }
@@ -382,7 +374,6 @@ class HiddenRows extends _base.BasePlugin {
382
374
  * Destroys the plugin instance.
383
375
  */
384
376
  destroy() {
385
- _classPrivateFieldSet(_settings, this, null);
386
377
  _classPrivateFieldSet(_hiddenRowsMap, this, null);
387
378
  super.destroy();
388
379
  }
@@ -404,7 +395,7 @@ function _onModifyRowHeight(height, row) {
404
395
  * @param {object} cellProperties Object containing the cell properties.
405
396
  */
406
397
  function _onAfterGetCellMeta(row, column, cellProperties) {
407
- if (_classPrivateFieldGet(_settings, this).copyPasteEnabled === false && this.isHidden(row)) {
398
+ if (this.getSetting('copyPasteEnabled') === false && this.isHidden(row)) {
408
399
  // Cell property handled by the `Autofill` and the `CopyPaste` plugins.
409
400
  cellProperties.skipRowOnPaste = true;
410
401
  }
@@ -432,7 +423,7 @@ function _onAfterGetCellMeta(row, column, cellProperties) {
432
423
  */
433
424
  function _onModifyCopyableRange(ranges) {
434
425
  // Ranges shouldn't be modified when `copyPasteEnabled` option is set to `true` (by default).
435
- if (_classPrivateFieldGet(_settings, this).copyPasteEnabled) {
426
+ if (this.getSetting('copyPasteEnabled')) {
436
427
  return ranges;
437
428
  }
438
429
  const newRanges = [];
@@ -473,7 +464,7 @@ function _onModifyCopyableRange(ranges) {
473
464
  * @param {HTMLElement} TH Header's TH element.
474
465
  */
475
466
  function _onAfterGetRowHeader(row, TH) {
476
- if (!_classPrivateFieldGet(_settings, this).indicators || row < 0) {
467
+ if (!this.getSetting('indicators') || row < 0) {
477
468
  return;
478
469
  }
479
470
  const classList = [];
@@ -499,7 +490,8 @@ function _onAfterContextMenuDefaultOptions(options) {
499
490
  * On map initialized hook callback.
500
491
  */
501
492
  function _onMapInit() {
502
- if (Array.isArray(_classPrivateFieldGet(_settings, this).rows)) {
503
- this.hideRows(_classPrivateFieldGet(_settings, this).rows);
493
+ const rows = this.getSetting('rows');
494
+ if (Array.isArray(rows)) {
495
+ this.hideRows(rows);
504
496
  }
505
497
  }
@@ -7,6 +7,9 @@ import "core-js/modules/es.set.is-subset-of.v2.js";
7
7
  import "core-js/modules/es.set.is-superset-of.v2.js";
8
8
  import "core-js/modules/es.set.symmetric-difference.v2.js";
9
9
  import "core-js/modules/es.set.union.v2.js";
10
+ import "core-js/modules/esnext.iterator.constructor.js";
11
+ import "core-js/modules/esnext.iterator.every.js";
12
+ import "core-js/modules/esnext.iterator.map.js";
10
13
  function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
11
14
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
12
15
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
@@ -17,10 +20,8 @@ import { BasePlugin } from "../base/index.mjs";
17
20
  import { addClass } from "../../helpers/dom/element.mjs";
18
21
  import { rangeEach } from "../../helpers/number.mjs";
19
22
  import { arrayEach, arrayMap, arrayReduce } from "../../helpers/array.mjs";
20
- import { isObject } from "../../helpers/object.mjs";
21
- import { isUndefined } from "../../helpers/mixed.mjs";
22
23
  import { SEPARATOR } from "../contextMenu/predefinedItems/index.mjs";
23
- import Hooks from "../../pluginHooks.mjs";
24
+ import { Hooks } from "../../core/hooks/index.mjs";
24
25
  import hideRowItem from "./contextMenuItem/hideRow.mjs";
25
26
  import showRowItem from "./contextMenuItem/showRow.mjs";
26
27
  import { HidingMap } from "../../translations/index.mjs";
@@ -137,7 +138,6 @@ export const PLUGIN_PRIORITY = 320;
137
138
  * ```
138
139
  * :::
139
140
  */
140
- var _settings = /*#__PURE__*/new WeakMap();
141
141
  var _hiddenRowsMap = /*#__PURE__*/new WeakMap();
142
142
  var _HiddenRows_brand = /*#__PURE__*/new WeakSet();
143
143
  export class HiddenRows extends BasePlugin {
@@ -151,13 +151,6 @@ export class HiddenRows extends BasePlugin {
151
151
  * @returns {number}
152
152
  */
153
153
  _classPrivateMethodInitSpec(this, _HiddenRows_brand);
154
- /**
155
- * Cached settings from Handsontable settings.
156
- *
157
- * @private
158
- * @type {object}
159
- */
160
- _classPrivateFieldInitSpec(this, _settings, {});
161
154
  /**
162
155
  * Map of hidden rows by the plugin.
163
156
  *
@@ -172,6 +165,13 @@ export class HiddenRows extends BasePlugin {
172
165
  static get PLUGIN_PRIORITY() {
173
166
  return PLUGIN_PRIORITY;
174
167
  }
168
+ static get DEFAULT_SETTINGS() {
169
+ return {
170
+ copyPasteEnabled: true,
171
+ indicators: false,
172
+ rows: []
173
+ };
174
+ }
175
175
  /**
176
176
  * Checks if the plugin is enabled in the handsontable settings. This method is executed in {@link Hooks#beforeInit}
177
177
  * hook and if it returns `true` then the {@link HiddenRows#enablePlugin} method is called.
@@ -190,13 +190,6 @@ export class HiddenRows extends BasePlugin {
190
190
  if (this.enabled) {
191
191
  return;
192
192
  }
193
- const pluginSettings = this.hot.getSettings()[PLUGIN_KEY];
194
- if (isObject(pluginSettings)) {
195
- _classPrivateFieldSet(_settings, this, pluginSettings);
196
- if (isUndefined(pluginSettings.copyPasteEnabled)) {
197
- pluginSettings.copyPasteEnabled = true;
198
- }
199
- }
200
193
  _classPrivateFieldSet(_hiddenRowsMap, this, new HidingMap());
201
194
  _classPrivateFieldGet(_hiddenRowsMap, this).addLocalHook('init', () => _assertClassBrand(_HiddenRows_brand, this, _onMapInit).call(this));
202
195
  this.hot.rowIndexMapper.registerMap(this.pluginName, _classPrivateFieldGet(_hiddenRowsMap, this));
@@ -235,7 +228,6 @@ export class HiddenRows extends BasePlugin {
235
228
  */
236
229
  disablePlugin() {
237
230
  this.hot.rowIndexMapper.unregisterMap(this.pluginName);
238
- _classPrivateFieldSet(_settings, this, {});
239
231
  super.disablePlugin();
240
232
  this.resetCellsMeta();
241
233
  }
@@ -378,7 +370,6 @@ export class HiddenRows extends BasePlugin {
378
370
  * Destroys the plugin instance.
379
371
  */
380
372
  destroy() {
381
- _classPrivateFieldSet(_settings, this, null);
382
373
  _classPrivateFieldSet(_hiddenRowsMap, this, null);
383
374
  super.destroy();
384
375
  }
@@ -399,7 +390,7 @@ function _onModifyRowHeight(height, row) {
399
390
  * @param {object} cellProperties Object containing the cell properties.
400
391
  */
401
392
  function _onAfterGetCellMeta(row, column, cellProperties) {
402
- if (_classPrivateFieldGet(_settings, this).copyPasteEnabled === false && this.isHidden(row)) {
393
+ if (this.getSetting('copyPasteEnabled') === false && this.isHidden(row)) {
403
394
  // Cell property handled by the `Autofill` and the `CopyPaste` plugins.
404
395
  cellProperties.skipRowOnPaste = true;
405
396
  }
@@ -427,7 +418,7 @@ function _onAfterGetCellMeta(row, column, cellProperties) {
427
418
  */
428
419
  function _onModifyCopyableRange(ranges) {
429
420
  // Ranges shouldn't be modified when `copyPasteEnabled` option is set to `true` (by default).
430
- if (_classPrivateFieldGet(_settings, this).copyPasteEnabled) {
421
+ if (this.getSetting('copyPasteEnabled')) {
431
422
  return ranges;
432
423
  }
433
424
  const newRanges = [];
@@ -468,7 +459,7 @@ function _onModifyCopyableRange(ranges) {
468
459
  * @param {HTMLElement} TH Header's TH element.
469
460
  */
470
461
  function _onAfterGetRowHeader(row, TH) {
471
- if (!_classPrivateFieldGet(_settings, this).indicators || row < 0) {
462
+ if (!this.getSetting('indicators') || row < 0) {
472
463
  return;
473
464
  }
474
465
  const classList = [];
@@ -494,7 +485,8 @@ function _onAfterContextMenuDefaultOptions(options) {
494
485
  * On map initialized hook callback.
495
486
  */
496
487
  function _onMapInit() {
497
- if (Array.isArray(_classPrivateFieldGet(_settings, this).rows)) {
498
- this.hideRows(_classPrivateFieldGet(_settings, this).rows);
488
+ const rows = this.getSetting('rows');
489
+ if (Array.isArray(rows)) {
490
+ this.hideRows(rows);
499
491
  }
500
492
  }
@@ -29,6 +29,7 @@ import { NestedHeaders } from './nestedHeaders';
29
29
  import { NestedRows } from './nestedRows';
30
30
  import { PersistentState } from './persistentState';
31
31
  import { Search } from './search';
32
+ import { StretchColumns } from './stretchColumns';
32
33
  import { TouchScroll } from './touchScroll';
33
34
  import { TrimRows } from './trimRows';
34
35
  import { UndoRedo } from './undoRedo';
@@ -65,6 +66,7 @@ export interface Plugins {
65
66
  nestedRows: NestedRows;
66
67
  persistentState: PersistentState;
67
68
  search: Search;
69
+ stretchColumns: StretchColumns;
68
70
  touchScroll: TouchScroll;
69
71
  trimRows: TrimRows;
70
72
  undoRedo: UndoRedo;
@@ -105,6 +107,7 @@ export {
105
107
  NestedRows,
106
108
  PersistentState,
107
109
  Search,
110
+ StretchColumns,
108
111
  TouchScroll,
109
112
  TrimRows,
110
113
  UndoRedo
package/plugins/index.js CHANGED
@@ -64,6 +64,8 @@ var _persistentState = require("./persistentState");
64
64
  exports.PersistentState = _persistentState.PersistentState;
65
65
  var _search = require("./search");
66
66
  exports.Search = _search.Search;
67
+ var _stretchColumns = require("./stretchColumns");
68
+ exports.StretchColumns = _stretchColumns.StretchColumns;
67
69
  var _touchScroll = require("./touchScroll");
68
70
  exports.TouchScroll = _touchScroll.TouchScroll;
69
71
  var _trimRows = require("./trimRows");
@@ -108,6 +110,7 @@ function registerAllPlugins() {
108
110
  (0, _registry.registerPlugin)(_nestedRows.NestedRows);
109
111
  (0, _registry.registerPlugin)(_persistentState.PersistentState);
110
112
  (0, _registry.registerPlugin)(_search.Search);
113
+ (0, _registry.registerPlugin)(_stretchColumns.StretchColumns);
111
114
  (0, _registry.registerPlugin)(_touchScroll.TouchScroll);
112
115
  (0, _registry.registerPlugin)(_trimRows.TrimRows);
113
116
  (0, _registry.registerPlugin)(_undoRedo.UndoRedo);
package/plugins/index.mjs CHANGED
@@ -29,6 +29,7 @@ import { NestedHeaders } from "./nestedHeaders/index.mjs";
29
29
  import { NestedRows } from "./nestedRows/index.mjs";
30
30
  import { PersistentState } from "./persistentState/index.mjs";
31
31
  import { Search } from "./search/index.mjs";
32
+ import { StretchColumns } from "./stretchColumns/index.mjs";
32
33
  import { TouchScroll } from "./touchScroll/index.mjs";
33
34
  import { TrimRows } from "./trimRows/index.mjs";
34
35
  import { UndoRedo } from "./undoRedo/index.mjs";
@@ -67,9 +68,10 @@ export function registerAllPlugins() {
67
68
  registerPlugin(NestedRows);
68
69
  registerPlugin(PersistentState);
69
70
  registerPlugin(Search);
71
+ registerPlugin(StretchColumns);
70
72
  registerPlugin(TouchScroll);
71
73
  registerPlugin(TrimRows);
72
74
  registerPlugin(UndoRedo);
73
75
  }
74
- export { AutoColumnSize, Autofill, AutoRowSize, BasePlugin, BindRowsWithHeaders, CollapsibleColumns, ColumnSorting, ColumnSummary, Comments, ContextMenu, CopyPaste, CustomBorders, DragToScroll, DropdownMenu, ExportFile, Filters, Formulas, HiddenColumns, HiddenRows, ManualColumnFreeze, ManualColumnMove, ManualColumnResize, ManualRowMove, ManualRowResize, MergeCells, MultiColumnSorting, MultipleSelectionHandles, NestedHeaders, NestedRows, PersistentState, Search, TouchScroll, TrimRows, UndoRedo };
76
+ export { AutoColumnSize, Autofill, AutoRowSize, BasePlugin, BindRowsWithHeaders, CollapsibleColumns, ColumnSorting, ColumnSummary, Comments, ContextMenu, CopyPaste, CustomBorders, DragToScroll, DropdownMenu, ExportFile, Filters, Formulas, HiddenColumns, HiddenRows, ManualColumnFreeze, ManualColumnMove, ManualColumnResize, ManualRowMove, ManualRowResize, MergeCells, MultiColumnSorting, MultipleSelectionHandles, NestedHeaders, NestedRows, PersistentState, Search, StretchColumns, TouchScroll, TrimRows, UndoRedo };
75
77
  export { getPlugin, getPluginsNames, registerPlugin } from "./registry.mjs";
@@ -3,8 +3,10 @@
3
3
  exports.__esModule = true;
4
4
  require("core-js/modules/es.error.cause.js");
5
5
  require("core-js/modules/es.array.push.js");
6
+ require("core-js/modules/esnext.iterator.constructor.js");
7
+ require("core-js/modules/esnext.iterator.some.js");
6
8
  var _base = require("../base");
7
- var _pluginHooks = _interopRequireDefault(require("../../pluginHooks"));
9
+ var _hooks = require("../../core/hooks");
8
10
  var _freezeColumn = _interopRequireDefault(require("./contextMenuItem/freezeColumn"));
9
11
  var _unfreezeColumn = _interopRequireDefault(require("./contextMenuItem/unfreezeColumn"));
10
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -14,10 +16,10 @@ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("C
14
16
  function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
15
17
  function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
16
18
  function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
17
- _pluginHooks.default.getSingleton().register('beforeColumnFreeze');
18
- _pluginHooks.default.getSingleton().register('afterColumnFreeze');
19
- _pluginHooks.default.getSingleton().register('beforeColumnUnfreeze');
20
- _pluginHooks.default.getSingleton().register('afterColumnUnfreeze');
19
+ _hooks.Hooks.getSingleton().register('beforeColumnFreeze');
20
+ _hooks.Hooks.getSingleton().register('afterColumnFreeze');
21
+ _hooks.Hooks.getSingleton().register('beforeColumnUnfreeze');
22
+ _hooks.Hooks.getSingleton().register('afterColumnUnfreeze');
21
23
  const PLUGIN_KEY = exports.PLUGIN_KEY = 'manualColumnFreeze';
22
24
  const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 110;
23
25
 
@@ -1,5 +1,7 @@
1
1
  import "core-js/modules/es.error.cause.js";
2
2
  import "core-js/modules/es.array.push.js";
3
+ import "core-js/modules/esnext.iterator.constructor.js";
4
+ import "core-js/modules/esnext.iterator.some.js";
3
5
  function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
4
6
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
5
7
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
@@ -7,7 +9,7 @@ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
7
9
  function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
8
10
  function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
9
11
  import { BasePlugin } from "../base/index.mjs";
10
- import Hooks from "../../pluginHooks.mjs";
12
+ import { Hooks } from "../../core/hooks/index.mjs";
11
13
  import freezeColumnItem from "./contextMenuItem/freezeColumn.mjs";
12
14
  import unfreezeColumnItem from "./contextMenuItem/unfreezeColumn.mjs";
13
15
  Hooks.getSingleton().register('beforeColumnFreeze');
@@ -3,8 +3,10 @@
3
3
  exports.__esModule = true;
4
4
  require("core-js/modules/es.error.cause.js");
5
5
  require("core-js/modules/es.array.push.js");
6
+ require("core-js/modules/esnext.iterator.constructor.js");
7
+ require("core-js/modules/esnext.iterator.some.js");
6
8
  var _base = require("../base");
7
- var _pluginHooks = _interopRequireDefault(require("../../pluginHooks"));
9
+ var _hooks = require("../../core/hooks");
8
10
  var _array = require("../../helpers/array");
9
11
  var _element = require("../../helpers/dom/element");
10
12
  var _event = require("../../helpers/dom/event");
@@ -18,8 +20,8 @@ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("C
18
20
  function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
19
21
  function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
20
22
  function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
21
- _pluginHooks.default.getSingleton().register('beforeColumnMove');
22
- _pluginHooks.default.getSingleton().register('afterColumnMove');
23
+ _hooks.Hooks.getSingleton().register('beforeColumnMove');
24
+ _hooks.Hooks.getSingleton().register('afterColumnMove');
23
25
  const PLUGIN_KEY = exports.PLUGIN_KEY = 'manualColumnMove';
24
26
  const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 120;
25
27
  const CSS_PLUGIN = 'ht__manualColumnMove';
@@ -339,13 +341,11 @@ class ManualColumnMove extends _base.BasePlugin {
339
341
  const columnMapper = this.hot.columnIndexMapper;
340
342
  let columnsWidth = 0;
341
343
  for (let visualColumnIndex = fromColumn; visualColumnIndex <= toColumn; visualColumnIndex += 1) {
342
- // We can't use just `getColWidth` (even without indexes translation) as it doesn't return proper values
343
- // when column is stretched.
344
344
  const renderableIndex = columnMapper.getRenderableFromVisualIndex(visualColumnIndex);
345
345
  if (visualColumnIndex < 0) {
346
346
  columnsWidth += this.hot.view._wt.wtViewport.getRowHeaderWidth() || 0;
347
347
  } else if (renderableIndex !== null) {
348
- columnsWidth += this.hot.view._wt.wtTable.getStretchedColumnWidth(renderableIndex) || 0;
348
+ columnsWidth += this.hot.view._wt.wtTable.getColumnWidth(renderableIndex) || 0;
349
349
  }
350
350
  }
351
351
  return columnsWidth;
@@ -1,5 +1,7 @@
1
1
  import "core-js/modules/es.error.cause.js";
2
2
  import "core-js/modules/es.array.push.js";
3
+ import "core-js/modules/esnext.iterator.constructor.js";
4
+ import "core-js/modules/esnext.iterator.some.js";
3
5
  function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
4
6
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
5
7
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
@@ -7,7 +9,7 @@ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a),
7
9
  function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
8
10
  function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
9
11
  import { BasePlugin } from "../base/index.mjs";
10
- import Hooks from "../../pluginHooks.mjs";
12
+ import { Hooks } from "../../core/hooks/index.mjs";
11
13
  import { arrayReduce } from "../../helpers/array.mjs";
12
14
  import { addClass, removeClass, offset, hasClass, outerWidth } from "../../helpers/dom/element.mjs";
13
15
  import { offsetRelativeTo } from "../../helpers/dom/event.mjs";
@@ -335,13 +337,11 @@ export class ManualColumnMove extends BasePlugin {
335
337
  const columnMapper = this.hot.columnIndexMapper;
336
338
  let columnsWidth = 0;
337
339
  for (let visualColumnIndex = fromColumn; visualColumnIndex <= toColumn; visualColumnIndex += 1) {
338
- // We can't use just `getColWidth` (even without indexes translation) as it doesn't return proper values
339
- // when column is stretched.
340
340
  const renderableIndex = columnMapper.getRenderableFromVisualIndex(visualColumnIndex);
341
341
  if (visualColumnIndex < 0) {
342
342
  columnsWidth += this.hot.view._wt.wtViewport.getRowHeaderWidth() || 0;
343
343
  } else if (renderableIndex !== null) {
344
- columnsWidth += this.hot.view._wt.wtTable.getStretchedColumnWidth(renderableIndex) || 0;
344
+ columnsWidth += this.hot.view._wt.wtTable.getColumnWidth(renderableIndex) || 0;
345
345
  }
346
346
  }
347
347
  return columnsWidth;
@@ -3,6 +3,8 @@
3
3
  exports.__esModule = true;
4
4
  require("core-js/modules/es.error.cause.js");
5
5
  require("core-js/modules/es.array.push.js");
6
+ require("core-js/modules/esnext.iterator.constructor.js");
7
+ require("core-js/modules/esnext.iterator.for-each.js");
6
8
  var _base = require("../base");
7
9
  var _element = require("../../helpers/dom/element");
8
10
  var _array = require("../../helpers/array");
@@ -162,15 +164,31 @@ class ManualColumnResize extends _base.BasePlugin {
162
164
  * Enables the plugin functionality for this Handsontable instance.
163
165
  */
164
166
  enablePlugin() {
167
+ var _this = this;
165
168
  if (this.enabled) {
166
169
  return;
167
170
  }
168
171
  _classPrivateFieldSet(_columnWidthsMap, this, new _translations.PhysicalIndexToValueMap());
169
172
  _classPrivateFieldGet(_columnWidthsMap, this).addLocalHook('init', () => _assertClassBrand(_ManualColumnResize_brand, this, _onMapInit).call(this));
170
173
  this.hot.columnIndexMapper.registerMap(this.pluginName, _classPrivateFieldGet(_columnWidthsMap, this));
171
- this.addHook('modifyColWidth', (width, col) => _assertClassBrand(_ManualColumnResize_brand, this, _onModifyColWidth).call(this, width, col), 1);
172
- this.addHook('beforeStretchingColumnWidth', (stretchedWidth, column) => _assertClassBrand(_ManualColumnResize_brand, this, _onBeforeStretchingColumnWidth).call(this, stretchedWidth, column));
173
- this.addHook('beforeColumnResize', (newSize, column, isDoubleClick) => _assertClassBrand(_ManualColumnResize_brand, this, _onBeforeColumnResize).call(this, newSize, column, isDoubleClick));
174
+ this.addHook('modifyColWidth', function () {
175
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
176
+ args[_key] = arguments[_key];
177
+ }
178
+ return _assertClassBrand(_ManualColumnResize_brand, _this, _onModifyColWidth).call(_this, ...args);
179
+ }, 1);
180
+ this.addHook('beforeStretchingColumnWidth', function () {
181
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
182
+ args[_key2] = arguments[_key2];
183
+ }
184
+ return _assertClassBrand(_ManualColumnResize_brand, _this, _onBeforeStretchingColumnWidth).call(_this, ...args);
185
+ }, 1);
186
+ this.addHook('beforeColumnResize', function () {
187
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
188
+ args[_key3] = arguments[_key3];
189
+ }
190
+ return _assertClassBrand(_ManualColumnResize_brand, _this, _onBeforeColumnResize).call(_this, ...args);
191
+ });
174
192
  this.bindEvents();
175
193
  super.enablePlugin();
176
194
  }
@@ -408,11 +426,7 @@ class ManualColumnResize extends _base.BasePlugin {
408
426
  if (hookNewSize !== undefined) {
409
427
  _classPrivateFieldSet(_newSize, this, hookNewSize);
410
428
  }
411
- if (this.hot.getSettings().stretchH === 'all') {
412
- this.clearManualSize(column);
413
- } else {
414
- this.setManualSize(column, _classPrivateFieldGet(_newSize, this)); // double click sets by auto row size plugin
415
- }
429
+ this.setManualSize(column, _classPrivateFieldGet(_newSize, this)); // double click sets by auto row size plugin
416
430
  this.saveManualColumnWidths();
417
431
  this.hot.runHooks('afterColumnResize', _classPrivateFieldGet(_newSize, this), column, true);
418
432
  if (forceRender) {
@@ -630,11 +644,11 @@ function _onModifyColWidth(width, column) {
630
644
  * @returns {number}
631
645
  */
632
646
  function _onBeforeStretchingColumnWidth(stretchedWidth, column) {
633
- let width = _classPrivateFieldGet(_columnWidthsMap, this).getValueAtIndex(column);
634
- if (width === null) {
635
- width = stretchedWidth;
647
+ const width = _classPrivateFieldGet(_columnWidthsMap, this).getValueAtIndex(this.hot.toPhysicalColumn(column));
648
+ if (typeof width === 'number') {
649
+ return width;
636
650
  }
637
- return width;
651
+ return stretchedWidth;
638
652
  }
639
653
  /**
640
654
  * `beforeColumnResize` hook callback.
@@ -1,5 +1,7 @@
1
1
  import "core-js/modules/es.error.cause.js";
2
2
  import "core-js/modules/es.array.push.js";
3
+ import "core-js/modules/esnext.iterator.constructor.js";
4
+ import "core-js/modules/esnext.iterator.for-each.js";
3
5
  function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
4
6
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
5
7
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
@@ -157,15 +159,31 @@ export class ManualColumnResize extends BasePlugin {
157
159
  * Enables the plugin functionality for this Handsontable instance.
158
160
  */
159
161
  enablePlugin() {
162
+ var _this = this;
160
163
  if (this.enabled) {
161
164
  return;
162
165
  }
163
166
  _classPrivateFieldSet(_columnWidthsMap, this, new IndexToValueMap());
164
167
  _classPrivateFieldGet(_columnWidthsMap, this).addLocalHook('init', () => _assertClassBrand(_ManualColumnResize_brand, this, _onMapInit).call(this));
165
168
  this.hot.columnIndexMapper.registerMap(this.pluginName, _classPrivateFieldGet(_columnWidthsMap, this));
166
- this.addHook('modifyColWidth', (width, col) => _assertClassBrand(_ManualColumnResize_brand, this, _onModifyColWidth).call(this, width, col), 1);
167
- this.addHook('beforeStretchingColumnWidth', (stretchedWidth, column) => _assertClassBrand(_ManualColumnResize_brand, this, _onBeforeStretchingColumnWidth).call(this, stretchedWidth, column));
168
- this.addHook('beforeColumnResize', (newSize, column, isDoubleClick) => _assertClassBrand(_ManualColumnResize_brand, this, _onBeforeColumnResize).call(this, newSize, column, isDoubleClick));
169
+ this.addHook('modifyColWidth', function () {
170
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
171
+ args[_key] = arguments[_key];
172
+ }
173
+ return _assertClassBrand(_ManualColumnResize_brand, _this, _onModifyColWidth).call(_this, ...args);
174
+ }, 1);
175
+ this.addHook('beforeStretchingColumnWidth', function () {
176
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
177
+ args[_key2] = arguments[_key2];
178
+ }
179
+ return _assertClassBrand(_ManualColumnResize_brand, _this, _onBeforeStretchingColumnWidth).call(_this, ...args);
180
+ }, 1);
181
+ this.addHook('beforeColumnResize', function () {
182
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
183
+ args[_key3] = arguments[_key3];
184
+ }
185
+ return _assertClassBrand(_ManualColumnResize_brand, _this, _onBeforeColumnResize).call(_this, ...args);
186
+ });
169
187
  this.bindEvents();
170
188
  super.enablePlugin();
171
189
  }
@@ -403,11 +421,7 @@ export class ManualColumnResize extends BasePlugin {
403
421
  if (hookNewSize !== undefined) {
404
422
  _classPrivateFieldSet(_newSize, this, hookNewSize);
405
423
  }
406
- if (this.hot.getSettings().stretchH === 'all') {
407
- this.clearManualSize(column);
408
- } else {
409
- this.setManualSize(column, _classPrivateFieldGet(_newSize, this)); // double click sets by auto row size plugin
410
- }
424
+ this.setManualSize(column, _classPrivateFieldGet(_newSize, this)); // double click sets by auto row size plugin
411
425
  this.saveManualColumnWidths();
412
426
  this.hot.runHooks('afterColumnResize', _classPrivateFieldGet(_newSize, this), column, true);
413
427
  if (forceRender) {
@@ -624,11 +638,11 @@ function _onModifyColWidth(width, column) {
624
638
  * @returns {number}
625
639
  */
626
640
  function _onBeforeStretchingColumnWidth(stretchedWidth, column) {
627
- let width = _classPrivateFieldGet(_columnWidthsMap, this).getValueAtIndex(column);
628
- if (width === null) {
629
- width = stretchedWidth;
641
+ const width = _classPrivateFieldGet(_columnWidthsMap, this).getValueAtIndex(this.hot.toPhysicalColumn(column));
642
+ if (typeof width === 'number') {
643
+ return width;
630
644
  }
631
- return width;
645
+ return stretchedWidth;
632
646
  }
633
647
  /**
634
648
  * `beforeColumnResize` hook callback.
@@ -3,8 +3,10 @@
3
3
  exports.__esModule = true;
4
4
  require("core-js/modules/es.error.cause.js");
5
5
  require("core-js/modules/es.array.push.js");
6
+ require("core-js/modules/esnext.iterator.constructor.js");
7
+ require("core-js/modules/esnext.iterator.some.js");
6
8
  var _base = require("../base");
7
- var _pluginHooks = _interopRequireDefault(require("../../pluginHooks"));
9
+ var _hooks = require("../../core/hooks");
8
10
  var _array = require("../../helpers/array");
9
11
  var _element = require("../../helpers/dom/element");
10
12
  var _number = require("../../helpers/number");
@@ -17,8 +19,8 @@ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("C
17
19
  function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
18
20
  function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
19
21
  function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
20
- _pluginHooks.default.getSingleton().register('beforeRowMove');
21
- _pluginHooks.default.getSingleton().register('afterRowMove');
22
+ _hooks.Hooks.getSingleton().register('beforeRowMove');
23
+ _hooks.Hooks.getSingleton().register('afterRowMove');
22
24
  const PLUGIN_KEY = exports.PLUGIN_KEY = 'manualRowMove';
23
25
  const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 140;
24
26
  const CSS_PLUGIN = 'ht__manualRowMove';
@@ -317,7 +319,7 @@ class ManualRowMove extends _base.BasePlugin {
317
319
  for (let visualRowIndex = fromRow; visualRowIndex <= toRow; visualRowIndex++) {
318
320
  const renderableIndex = rowMapper.getRenderableFromVisualIndex(visualRowIndex);
319
321
  if (renderableIndex !== null) {
320
- rowsHeight += this.hot.view._wt.wtTable.getRowHeight(renderableIndex) || 23;
322
+ rowsHeight += this.hot.view._wt.wtTable.getRowHeight(renderableIndex) || this.hot.view.getDefaultRowHeight();
321
323
  }
322
324
  }
323
325
  return rowsHeight;
@@ -417,8 +419,8 @@ class ManualRowMove extends _base.BasePlugin {
417
419
  */
418
420
  refreshPositions() {
419
421
  const coords = _classPrivateFieldGet(_target, this).coords;
420
- const firstVisible = this.hot.view.getFirstFullyVisibleRow();
421
- const lastVisible = this.hot.view.getLastFullyVisibleRow();
422
+ const firstVisible = this.hot.getFirstFullyVisibleRow();
423
+ const lastVisible = this.hot.getLastFullyVisibleRow();
422
424
  const countRows = this.hot.countRows();
423
425
  if (this.isFixedRowTop(coords.row) && firstVisible > 0) {
424
426
  this.hot.scrollViewportTo(this.hot.rowIndexMapper.getNearestNotHiddenIndex(firstVisible - 1, -1));