handsontable 14.6.1 → 15.0.0-next-4472a60-20241203

Sign up to get free protection for your applications and to get access to all the features.
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));