handsontable 14.6.1 → 15.0.0-next-fdd4480-20241205

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
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ require("core-js/modules/es.error.cause.js");
5
+ require("core-js/modules/es.array.push.js");
6
+ require("core-js/modules/es.array.to-sorted.js");
7
+ require("core-js/modules/es.set.difference.v2.js");
8
+ require("core-js/modules/es.set.intersection.v2.js");
9
+ require("core-js/modules/es.set.is-disjoint-from.v2.js");
10
+ require("core-js/modules/es.set.is-subset-of.v2.js");
11
+ require("core-js/modules/es.set.is-superset-of.v2.js");
12
+ require("core-js/modules/es.set.symmetric-difference.v2.js");
13
+ require("core-js/modules/es.set.union.v2.js");
14
+ require("core-js/modules/esnext.iterator.constructor.js");
15
+ require("core-js/modules/esnext.iterator.filter.js");
16
+ require("core-js/modules/esnext.iterator.find.js");
17
+ require("core-js/modules/esnext.iterator.for-each.js");
18
+ var _constants = require("./constants");
19
+ function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
20
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
21
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
22
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
23
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
24
+ 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"); }
25
+ /**
26
+ * @typedef {object} HookEntry
27
+ * @property {Function} callback The callback function.
28
+ * @property {number} orderIndex The order index.
29
+ * @property {boolean} runOnce Indicates if the hook should run only once.
30
+ * @property {boolean} initialHook Indicates if it is an initial hook - which means that the hook
31
+ * always stays at the same index position even after update.
32
+ * @property {boolean} skip Indicates if the hook was removed.
33
+ */
34
+ /**
35
+ * The maximum number of hooks that can be skipped before the bucket is cleaned up.
36
+ */
37
+ const MAX_SKIPPED_HOOKS_COUNT = 100;
38
+
39
+ /**
40
+ * The class represents a collection that allows to manage hooks (add, remove).
41
+ *
42
+ * @class HooksBucket
43
+ */
44
+ var _hooks = /*#__PURE__*/new WeakMap();
45
+ var _skippedHooksCount = /*#__PURE__*/new WeakMap();
46
+ var _needsSort = /*#__PURE__*/new WeakMap();
47
+ var _HooksBucket_brand = /*#__PURE__*/new WeakSet();
48
+ class HooksBucket {
49
+ constructor() {
50
+ /**
51
+ * Creates a initial collection for the provided hook name.
52
+ *
53
+ * @param {string} hookName The name of the hook.
54
+ */
55
+ _classPrivateMethodInitSpec(this, _HooksBucket_brand);
56
+ /**
57
+ * A map that stores hooks.
58
+ *
59
+ * @type {Map<string, HookEntry>}
60
+ */
61
+ _classPrivateFieldInitSpec(this, _hooks, new Map());
62
+ /**
63
+ * A map that stores the number of skipped hooks.
64
+ */
65
+ _classPrivateFieldInitSpec(this, _skippedHooksCount, new Map());
66
+ /**
67
+ * A set that stores hook names that need to be re-sorted.
68
+ */
69
+ _classPrivateFieldInitSpec(this, _needsSort, new Set());
70
+ _constants.REGISTERED_HOOKS.forEach(hookName => _assertClassBrand(_HooksBucket_brand, this, _createHooksCollection).call(this, hookName));
71
+ }
72
+
73
+ /**
74
+ * Gets all hooks for the provided hook name.
75
+ *
76
+ * @param {string} hookName The name of the hook.
77
+ * @returns {HookEntry[]}
78
+ */
79
+ getHooks(hookName) {
80
+ var _classPrivateFieldGet2;
81
+ return (_classPrivateFieldGet2 = _classPrivateFieldGet(_hooks, this).get(hookName)) !== null && _classPrivateFieldGet2 !== void 0 ? _classPrivateFieldGet2 : [];
82
+ }
83
+
84
+ /**
85
+ * Adds a new hook to the collection.
86
+ *
87
+ * @param {string} hookName The name of the hook.
88
+ * @param {Function} callback The callback function to add.
89
+ * @param {{ orderIndex?: number, runOnce?: boolean, initialHook?: boolean }} options The options object.
90
+ */
91
+ add(hookName, callback) {
92
+ let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
93
+ if (!_classPrivateFieldGet(_hooks, this).has(hookName)) {
94
+ _assertClassBrand(_HooksBucket_brand, this, _createHooksCollection).call(this, hookName);
95
+ _constants.REGISTERED_HOOKS.push(hookName);
96
+ }
97
+ const hooks = _classPrivateFieldGet(_hooks, this).get(hookName);
98
+ if (hooks.find(hook => hook.callback === callback)) {
99
+ // adding the same hook twice is now silently ignored
100
+ return;
101
+ }
102
+ const orderIndex = Number.isInteger(options.orderIndex) ? options.orderIndex : 0;
103
+ const runOnce = !!options.runOnce;
104
+ const initialHook = !!options.initialHook;
105
+ let foundInitialHook = false;
106
+ if (initialHook) {
107
+ const initialHookEntry = hooks.find(hook => hook.initialHook);
108
+ if (initialHookEntry) {
109
+ initialHookEntry.callback = callback;
110
+ foundInitialHook = true;
111
+ }
112
+ }
113
+ if (!foundInitialHook) {
114
+ hooks.push({
115
+ callback,
116
+ orderIndex,
117
+ runOnce,
118
+ initialHook,
119
+ skip: false
120
+ });
121
+ let needsSort = _classPrivateFieldGet(_needsSort, this).has(hookName);
122
+ if (!needsSort && orderIndex !== 0) {
123
+ needsSort = true;
124
+ _classPrivateFieldGet(_needsSort, this).add(hookName);
125
+ }
126
+ if (needsSort && hooks.length > 1) {
127
+ _classPrivateFieldGet(_hooks, this).set(hookName, hooks.toSorted((a, b) => a.orderIndex - b.orderIndex));
128
+ }
129
+ }
130
+ }
131
+
132
+ /**
133
+ * Checks if there are any hooks for the provided hook name.
134
+ *
135
+ * @param {string} hookName The name of the hook.
136
+ * @returns {boolean}
137
+ */
138
+ has(hookName) {
139
+ return _classPrivateFieldGet(_hooks, this).has(hookName) && _classPrivateFieldGet(_hooks, this).get(hookName).length > 0;
140
+ }
141
+
142
+ /**
143
+ * Removes a hook from the collection. If the hook was found and removed,
144
+ * the method returns `true`, otherwise `false`.
145
+ *
146
+ * @param {string} hookName The name of the hook.
147
+ * @param {*} callback The callback function to remove.
148
+ * @returns {boolean}
149
+ */
150
+ remove(hookName, callback) {
151
+ if (!_classPrivateFieldGet(_hooks, this).has(hookName)) {
152
+ return false;
153
+ }
154
+ const hooks = _classPrivateFieldGet(_hooks, this).get(hookName);
155
+ const hookEntry = hooks.find(hook => hook.callback === callback);
156
+ if (hookEntry) {
157
+ let skippedHooksCount = _classPrivateFieldGet(_skippedHooksCount, this).get(hookName);
158
+ hookEntry.skip = true;
159
+ skippedHooksCount += 1;
160
+ if (skippedHooksCount > MAX_SKIPPED_HOOKS_COUNT) {
161
+ _classPrivateFieldGet(_hooks, this).set(hookName, hooks.filter(hook => !hook.skip));
162
+ skippedHooksCount = 0;
163
+ }
164
+ _classPrivateFieldGet(_skippedHooksCount, this).set(hookName, skippedHooksCount);
165
+ return true;
166
+ }
167
+ return false;
168
+ }
169
+
170
+ /**
171
+ * Destroys the bucket.
172
+ */
173
+ destroy() {
174
+ _classPrivateFieldGet(_hooks, this).clear();
175
+ _classPrivateFieldGet(_skippedHooksCount, this).clear();
176
+ _classPrivateFieldSet(_hooks, this, null);
177
+ _classPrivateFieldSet(_skippedHooksCount, this, null);
178
+ }
179
+ }
180
+ exports.HooksBucket = HooksBucket;
181
+ function _createHooksCollection(hookName) {
182
+ _classPrivateFieldGet(_hooks, this).set(hookName, []);
183
+ _classPrivateFieldGet(_skippedHooksCount, this).set(hookName, 0);
184
+ }
@@ -0,0 +1,180 @@
1
+ import "core-js/modules/es.error.cause.js";
2
+ import "core-js/modules/es.array.push.js";
3
+ import "core-js/modules/es.array.to-sorted.js";
4
+ import "core-js/modules/es.set.difference.v2.js";
5
+ import "core-js/modules/es.set.intersection.v2.js";
6
+ import "core-js/modules/es.set.is-disjoint-from.v2.js";
7
+ import "core-js/modules/es.set.is-subset-of.v2.js";
8
+ import "core-js/modules/es.set.is-superset-of.v2.js";
9
+ import "core-js/modules/es.set.symmetric-difference.v2.js";
10
+ import "core-js/modules/es.set.union.v2.js";
11
+ import "core-js/modules/esnext.iterator.constructor.js";
12
+ import "core-js/modules/esnext.iterator.filter.js";
13
+ import "core-js/modules/esnext.iterator.find.js";
14
+ import "core-js/modules/esnext.iterator.for-each.js";
15
+ function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
16
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
17
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
18
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
19
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
20
+ 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
+ import { REGISTERED_HOOKS } from "./constants.mjs";
22
+ /**
23
+ * @typedef {object} HookEntry
24
+ * @property {Function} callback The callback function.
25
+ * @property {number} orderIndex The order index.
26
+ * @property {boolean} runOnce Indicates if the hook should run only once.
27
+ * @property {boolean} initialHook Indicates if it is an initial hook - which means that the hook
28
+ * always stays at the same index position even after update.
29
+ * @property {boolean} skip Indicates if the hook was removed.
30
+ */
31
+ /**
32
+ * The maximum number of hooks that can be skipped before the bucket is cleaned up.
33
+ */
34
+ const MAX_SKIPPED_HOOKS_COUNT = 100;
35
+
36
+ /**
37
+ * The class represents a collection that allows to manage hooks (add, remove).
38
+ *
39
+ * @class HooksBucket
40
+ */
41
+ var _hooks = /*#__PURE__*/new WeakMap();
42
+ var _skippedHooksCount = /*#__PURE__*/new WeakMap();
43
+ var _needsSort = /*#__PURE__*/new WeakMap();
44
+ var _HooksBucket_brand = /*#__PURE__*/new WeakSet();
45
+ export class HooksBucket {
46
+ constructor() {
47
+ /**
48
+ * Creates a initial collection for the provided hook name.
49
+ *
50
+ * @param {string} hookName The name of the hook.
51
+ */
52
+ _classPrivateMethodInitSpec(this, _HooksBucket_brand);
53
+ /**
54
+ * A map that stores hooks.
55
+ *
56
+ * @type {Map<string, HookEntry>}
57
+ */
58
+ _classPrivateFieldInitSpec(this, _hooks, new Map());
59
+ /**
60
+ * A map that stores the number of skipped hooks.
61
+ */
62
+ _classPrivateFieldInitSpec(this, _skippedHooksCount, new Map());
63
+ /**
64
+ * A set that stores hook names that need to be re-sorted.
65
+ */
66
+ _classPrivateFieldInitSpec(this, _needsSort, new Set());
67
+ REGISTERED_HOOKS.forEach(hookName => _assertClassBrand(_HooksBucket_brand, this, _createHooksCollection).call(this, hookName));
68
+ }
69
+
70
+ /**
71
+ * Gets all hooks for the provided hook name.
72
+ *
73
+ * @param {string} hookName The name of the hook.
74
+ * @returns {HookEntry[]}
75
+ */
76
+ getHooks(hookName) {
77
+ var _classPrivateFieldGet2;
78
+ return (_classPrivateFieldGet2 = _classPrivateFieldGet(_hooks, this).get(hookName)) !== null && _classPrivateFieldGet2 !== void 0 ? _classPrivateFieldGet2 : [];
79
+ }
80
+
81
+ /**
82
+ * Adds a new hook to the collection.
83
+ *
84
+ * @param {string} hookName The name of the hook.
85
+ * @param {Function} callback The callback function to add.
86
+ * @param {{ orderIndex?: number, runOnce?: boolean, initialHook?: boolean }} options The options object.
87
+ */
88
+ add(hookName, callback) {
89
+ let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
90
+ if (!_classPrivateFieldGet(_hooks, this).has(hookName)) {
91
+ _assertClassBrand(_HooksBucket_brand, this, _createHooksCollection).call(this, hookName);
92
+ REGISTERED_HOOKS.push(hookName);
93
+ }
94
+ const hooks = _classPrivateFieldGet(_hooks, this).get(hookName);
95
+ if (hooks.find(hook => hook.callback === callback)) {
96
+ // adding the same hook twice is now silently ignored
97
+ return;
98
+ }
99
+ const orderIndex = Number.isInteger(options.orderIndex) ? options.orderIndex : 0;
100
+ const runOnce = !!options.runOnce;
101
+ const initialHook = !!options.initialHook;
102
+ let foundInitialHook = false;
103
+ if (initialHook) {
104
+ const initialHookEntry = hooks.find(hook => hook.initialHook);
105
+ if (initialHookEntry) {
106
+ initialHookEntry.callback = callback;
107
+ foundInitialHook = true;
108
+ }
109
+ }
110
+ if (!foundInitialHook) {
111
+ hooks.push({
112
+ callback,
113
+ orderIndex,
114
+ runOnce,
115
+ initialHook,
116
+ skip: false
117
+ });
118
+ let needsSort = _classPrivateFieldGet(_needsSort, this).has(hookName);
119
+ if (!needsSort && orderIndex !== 0) {
120
+ needsSort = true;
121
+ _classPrivateFieldGet(_needsSort, this).add(hookName);
122
+ }
123
+ if (needsSort && hooks.length > 1) {
124
+ _classPrivateFieldGet(_hooks, this).set(hookName, hooks.toSorted((a, b) => a.orderIndex - b.orderIndex));
125
+ }
126
+ }
127
+ }
128
+
129
+ /**
130
+ * Checks if there are any hooks for the provided hook name.
131
+ *
132
+ * @param {string} hookName The name of the hook.
133
+ * @returns {boolean}
134
+ */
135
+ has(hookName) {
136
+ return _classPrivateFieldGet(_hooks, this).has(hookName) && _classPrivateFieldGet(_hooks, this).get(hookName).length > 0;
137
+ }
138
+
139
+ /**
140
+ * Removes a hook from the collection. If the hook was found and removed,
141
+ * the method returns `true`, otherwise `false`.
142
+ *
143
+ * @param {string} hookName The name of the hook.
144
+ * @param {*} callback The callback function to remove.
145
+ * @returns {boolean}
146
+ */
147
+ remove(hookName, callback) {
148
+ if (!_classPrivateFieldGet(_hooks, this).has(hookName)) {
149
+ return false;
150
+ }
151
+ const hooks = _classPrivateFieldGet(_hooks, this).get(hookName);
152
+ const hookEntry = hooks.find(hook => hook.callback === callback);
153
+ if (hookEntry) {
154
+ let skippedHooksCount = _classPrivateFieldGet(_skippedHooksCount, this).get(hookName);
155
+ hookEntry.skip = true;
156
+ skippedHooksCount += 1;
157
+ if (skippedHooksCount > MAX_SKIPPED_HOOKS_COUNT) {
158
+ _classPrivateFieldGet(_hooks, this).set(hookName, hooks.filter(hook => !hook.skip));
159
+ skippedHooksCount = 0;
160
+ }
161
+ _classPrivateFieldGet(_skippedHooksCount, this).set(hookName, skippedHooksCount);
162
+ return true;
163
+ }
164
+ return false;
165
+ }
166
+
167
+ /**
168
+ * Destroys the bucket.
169
+ */
170
+ destroy() {
171
+ _classPrivateFieldGet(_hooks, this).clear();
172
+ _classPrivateFieldGet(_skippedHooksCount, this).clear();
173
+ _classPrivateFieldSet(_hooks, this, null);
174
+ _classPrivateFieldSet(_skippedHooksCount, this, null);
175
+ }
176
+ }
177
+ function _createHooksCollection(hookName) {
178
+ _classPrivateFieldGet(_hooks, this).set(hookName, []);
179
+ _classPrivateFieldGet(_skippedHooksCount, this).set(hookName, 0);
180
+ }