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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (392) hide show
  1. package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.js +23 -0
  2. package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.mjs +23 -0
  3. package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.js +23 -0
  4. package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.mjs +23 -0
  5. package/3rdparty/walkontable/src/calculator/index.js +1 -2
  6. package/3rdparty/walkontable/src/calculator/index.mjs +2 -2
  7. package/3rdparty/walkontable/src/calculator/viewportBase.js +2 -0
  8. package/3rdparty/walkontable/src/calculator/viewportBase.mjs +2 -0
  9. package/3rdparty/walkontable/src/calculator/viewportRows.js +3 -3
  10. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +3 -3
  11. package/3rdparty/walkontable/src/core/_base.js +29 -23
  12. package/3rdparty/walkontable/src/core/_base.mjs +29 -23
  13. package/3rdparty/walkontable/src/core/clone.js +1 -0
  14. package/3rdparty/walkontable/src/core/clone.mjs +1 -0
  15. package/3rdparty/walkontable/src/core/core.js +2 -0
  16. package/3rdparty/walkontable/src/core/core.mjs +2 -0
  17. package/3rdparty/walkontable/src/facade/core.js +12 -6
  18. package/3rdparty/walkontable/src/facade/core.mjs +12 -6
  19. package/3rdparty/walkontable/src/index.js +0 -1
  20. package/3rdparty/walkontable/src/index.mjs +2 -2
  21. package/3rdparty/walkontable/src/overlay/_base.js +8 -1
  22. package/3rdparty/walkontable/src/overlay/_base.mjs +8 -1
  23. package/3rdparty/walkontable/src/overlay/bottom.js +5 -6
  24. package/3rdparty/walkontable/src/overlay/bottom.mjs +5 -6
  25. package/3rdparty/walkontable/src/overlay/index.js +2 -0
  26. package/3rdparty/walkontable/src/overlay/inlineStart.js +8 -7
  27. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +9 -8
  28. package/3rdparty/walkontable/src/overlay/top.js +9 -8
  29. package/3rdparty/walkontable/src/overlay/top.mjs +10 -9
  30. package/3rdparty/walkontable/src/overlays.js +10 -26
  31. package/3rdparty/walkontable/src/overlays.mjs +10 -26
  32. package/3rdparty/walkontable/src/renderer/colGroup.js +1 -1
  33. package/3rdparty/walkontable/src/renderer/colGroup.mjs +1 -1
  34. package/3rdparty/walkontable/src/renderer/index.js +4 -2
  35. package/3rdparty/walkontable/src/renderer/index.mjs +4 -2
  36. package/3rdparty/walkontable/src/renderer/table.js +13 -4
  37. package/3rdparty/walkontable/src/renderer/table.mjs +13 -4
  38. package/3rdparty/walkontable/src/scroll.js +46 -37
  39. package/3rdparty/walkontable/src/scroll.mjs +46 -37
  40. package/3rdparty/walkontable/src/selection/border/border.js +52 -58
  41. package/3rdparty/walkontable/src/selection/border/border.mjs +53 -59
  42. package/3rdparty/walkontable/src/selection/border/utils.js +26 -0
  43. package/3rdparty/walkontable/src/selection/border/utils.mjs +22 -0
  44. package/3rdparty/walkontable/src/selection/index.js +6 -4
  45. package/3rdparty/walkontable/src/selection/index.mjs +1 -1
  46. package/3rdparty/walkontable/src/selection/manager.js +3 -0
  47. package/3rdparty/walkontable/src/selection/manager.mjs +3 -0
  48. package/3rdparty/walkontable/src/selection/scanner.js +46 -11
  49. package/3rdparty/walkontable/src/selection/scanner.mjs +46 -11
  50. package/3rdparty/walkontable/src/settings.js +8 -9
  51. package/3rdparty/walkontable/src/settings.mjs +8 -9
  52. package/3rdparty/walkontable/src/table/master.js +1 -1
  53. package/3rdparty/walkontable/src/table/master.mjs +2 -2
  54. package/3rdparty/walkontable/src/table.js +25 -36
  55. package/3rdparty/walkontable/src/table.mjs +25 -36
  56. package/3rdparty/walkontable/src/types.js +1 -0
  57. package/3rdparty/walkontable/src/types.mjs +1 -0
  58. package/3rdparty/walkontable/src/utils/column.js +1 -43
  59. package/3rdparty/walkontable/src/utils/column.mjs +1 -43
  60. package/3rdparty/walkontable/src/utils/stylesHandler.js +295 -0
  61. package/3rdparty/walkontable/src/utils/stylesHandler.mjs +291 -0
  62. package/3rdparty/walkontable/src/viewport.js +94 -91
  63. package/3rdparty/walkontable/src/viewport.mjs +95 -92
  64. package/CHANGELOG.md +36 -0
  65. package/README.md +1 -1
  66. package/base.js +4 -4
  67. package/base.mjs +3 -3
  68. package/core/focusCatcher/focusDetector.js +1 -0
  69. package/core/focusCatcher/focusDetector.mjs +1 -0
  70. package/core/hooks/bucket.js +184 -0
  71. package/core/hooks/bucket.mjs +180 -0
  72. package/{pluginHooks.mjs → core/hooks/constants.js} +38 -486
  73. package/{pluginHooks.js → core/hooks/constants.mjs} +34 -489
  74. package/{pluginHooks.d.ts → core/hooks/index.d.ts} +22 -25
  75. package/core/hooks/index.js +385 -0
  76. package/core/hooks/index.mjs +381 -0
  77. package/core/index.js +2 -0
  78. package/core.d.ts +5 -3
  79. package/core.js +77 -35
  80. package/core.mjs +69 -27
  81. package/dataMap/dataMap.js +3 -0
  82. package/dataMap/dataMap.mjs +3 -0
  83. package/dataMap/dataSource.js +2 -0
  84. package/dataMap/dataSource.mjs +2 -0
  85. package/dataMap/metaManager/index.js +2 -0
  86. package/dataMap/metaManager/index.mjs +2 -0
  87. package/dataMap/metaManager/metaSchema.js +91 -5
  88. package/dataMap/metaManager/metaSchema.mjs +91 -5
  89. package/dataMap/metaManager/mods/dynamicCellMeta.js +2 -3
  90. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +1 -1
  91. package/dataMap/metaManager/mods/extendMetaProperties.js +2 -0
  92. package/dataMap/metaManager/mods/extendMetaProperties.mjs +2 -0
  93. package/dist/handsontable.css +84 -72
  94. package/dist/handsontable.full.css +317 -304
  95. package/dist/handsontable.full.js +14826 -7294
  96. package/dist/handsontable.full.min.css +15 -10
  97. package/dist/handsontable.full.min.js +262 -69
  98. package/dist/handsontable.js +7826 -5552
  99. package/dist/handsontable.min.css +10 -6
  100. package/dist/handsontable.min.js +33 -33
  101. package/dist/languages/all.js +1 -1
  102. package/dist/languages/ar-AR.js +1 -1
  103. package/dist/languages/cs-CZ.js +1 -1
  104. package/dist/languages/de-CH.js +1 -1
  105. package/dist/languages/de-DE.js +1 -1
  106. package/dist/languages/en-US.js +1 -1
  107. package/dist/languages/es-MX.js +1 -1
  108. package/dist/languages/fr-FR.js +1 -1
  109. package/dist/languages/hr-HR.js +1 -1
  110. package/dist/languages/it-IT.js +1 -1
  111. package/dist/languages/ja-JP.js +1 -1
  112. package/dist/languages/ko-KR.js +1 -1
  113. package/dist/languages/lv-LV.js +1 -1
  114. package/dist/languages/nb-NO.js +1 -1
  115. package/dist/languages/nl-NL.js +1 -1
  116. package/dist/languages/pl-PL.js +1 -1
  117. package/dist/languages/pt-BR.js +1 -1
  118. package/dist/languages/ru-RU.js +1 -1
  119. package/dist/languages/sr-SP.js +1 -1
  120. package/dist/languages/zh-CN.js +1 -1
  121. package/dist/languages/zh-TW.js +1 -1
  122. package/editorManager.js +2 -2
  123. package/editorManager.mjs +2 -2
  124. package/editors/autocompleteEditor/autocompleteEditor.js +34 -16
  125. package/editors/autocompleteEditor/autocompleteEditor.mjs +34 -16
  126. package/editors/baseEditor/baseEditor.js +25 -18
  127. package/editors/baseEditor/baseEditor.mjs +26 -19
  128. package/editors/dateEditor/dateEditor.js +9 -0
  129. package/editors/dateEditor/dateEditor.mjs +10 -1
  130. package/editors/dropdownEditor/dropdownEditor.js +4 -3
  131. package/editors/dropdownEditor/dropdownEditor.mjs +3 -1
  132. package/editors/handsontableEditor/handsontableEditor.js +36 -2
  133. package/editors/handsontableEditor/handsontableEditor.mjs +36 -2
  134. package/editors/passwordEditor/passwordEditor.js +18 -0
  135. package/editors/passwordEditor/passwordEditor.mjs +18 -0
  136. package/editors/registry.js +2 -2
  137. package/editors/registry.mjs +1 -1
  138. package/editors/selectEditor/selectEditor.js +20 -9
  139. package/editors/selectEditor/selectEditor.mjs +20 -9
  140. package/editors/textEditor/textEditor.js +5 -12
  141. package/editors/textEditor/textEditor.mjs +6 -13
  142. package/focusManager.js +5 -7
  143. package/focusManager.mjs +5 -7
  144. package/helpers/array.js +2 -0
  145. package/helpers/array.mjs +2 -0
  146. package/helpers/data.js +3 -0
  147. package/helpers/data.mjs +3 -0
  148. package/helpers/dom/element.js +39 -18
  149. package/helpers/dom/element.mjs +38 -17
  150. package/helpers/mixed.js +3 -3
  151. package/helpers/mixed.mjs +3 -3
  152. package/helpers/moves.js +3 -0
  153. package/helpers/moves.mjs +3 -0
  154. package/helpers/number.js +1 -0
  155. package/helpers/number.mjs +1 -0
  156. package/helpers/object.js +2 -0
  157. package/helpers/object.mjs +2 -0
  158. package/helpers/themes.js +17 -0
  159. package/helpers/themes.mjs +13 -0
  160. package/i18n/index.js +2 -0
  161. package/i18n/languages/index.d.ts +8 -0
  162. package/i18n/languages/ja-JP.d.ts +1 -1
  163. package/i18n/phraseFormatters/substituteVariables.js +1 -0
  164. package/i18n/phraseFormatters/substituteVariables.mjs +1 -0
  165. package/index.d.ts +9 -1
  166. package/languages/all.js +1 -1
  167. package/languages/ar-AR.js +1 -1
  168. package/languages/cs-CZ.js +1 -1
  169. package/languages/de-CH.js +1 -1
  170. package/languages/de-DE.js +1 -1
  171. package/languages/en-US.js +1 -1
  172. package/languages/es-MX.js +1 -1
  173. package/languages/fr-FR.js +1 -1
  174. package/languages/hr-HR.js +1 -1
  175. package/languages/index.js +1 -1
  176. package/languages/it-IT.js +1 -1
  177. package/languages/ja-JP.js +1 -1
  178. package/languages/ko-KR.js +1 -1
  179. package/languages/lv-LV.js +1 -1
  180. package/languages/nb-NO.js +1 -1
  181. package/languages/nl-NL.js +1 -1
  182. package/languages/pl-PL.js +1 -1
  183. package/languages/pt-BR.js +1 -1
  184. package/languages/ru-RU.js +1 -1
  185. package/languages/sr-SP.js +1 -1
  186. package/languages/zh-CN.js +1 -1
  187. package/languages/zh-TW.js +1 -1
  188. package/package.json +22 -7
  189. package/plugins/autoColumnSize/autoColumnSize.js +22 -27
  190. package/plugins/autoColumnSize/autoColumnSize.mjs +22 -27
  191. package/plugins/autoRowSize/autoRowSize.js +20 -22
  192. package/plugins/autoRowSize/autoRowSize.mjs +21 -23
  193. package/plugins/autofill/autofill.js +4 -5
  194. package/plugins/autofill/autofill.mjs +1 -1
  195. package/plugins/base/base.d.ts +1 -1
  196. package/plugins/base/base.js +41 -0
  197. package/plugins/base/base.mjs +42 -1
  198. package/plugins/base/index.js +2 -1
  199. package/plugins/base/index.mjs +1 -1
  200. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +2 -5
  201. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +2 -5
  202. package/plugins/columnSorting/columnSorting.js +5 -4
  203. package/plugins/columnSorting/columnSorting.mjs +3 -1
  204. package/plugins/columnSorting/columnStatesManager.js +1 -0
  205. package/plugins/columnSorting/columnStatesManager.mjs +1 -0
  206. package/plugins/columnSorting/utils.js +3 -0
  207. package/plugins/columnSorting/utils.mjs +3 -0
  208. package/plugins/columnSummary/endpoints.js +3 -0
  209. package/plugins/columnSummary/endpoints.mjs +3 -0
  210. package/plugins/comments/commentEditor.js +9 -0
  211. package/plugins/comments/commentEditor.mjs +9 -0
  212. package/plugins/comments/comments.js +24 -18
  213. package/plugins/comments/comments.mjs +26 -20
  214. package/plugins/comments/editorResizeObserver.js +2 -0
  215. package/plugins/comments/editorResizeObserver.mjs +2 -0
  216. package/plugins/contextMenu/contextMenu.d.ts +2 -1
  217. package/plugins/contextMenu/contextMenu.js +6 -7
  218. package/plugins/contextMenu/contextMenu.mjs +1 -1
  219. package/plugins/contextMenu/menu/index.js +2 -0
  220. package/plugins/contextMenu/menu/menu.js +10 -5
  221. package/plugins/contextMenu/menu/menu.mjs +11 -6
  222. package/plugins/contextMenu/menu/positioner.js +4 -2
  223. package/plugins/contextMenu/menu/positioner.mjs +4 -2
  224. package/plugins/contextMenu/menu/shortcuts.js +3 -1
  225. package/plugins/contextMenu/menu/shortcuts.mjs +3 -1
  226. package/plugins/contextMenu/predefinedItems/alignment.js +7 -84
  227. package/plugins/contextMenu/predefinedItems/alignment.mjs +8 -85
  228. package/plugins/contextMenu/utils.js +0 -10
  229. package/plugins/contextMenu/utils.mjs +0 -9
  230. package/plugins/copyPaste/copyPaste.d.ts +1 -0
  231. package/plugins/copyPaste/copyPaste.js +32 -23
  232. package/plugins/copyPaste/copyPaste.mjs +24 -15
  233. package/plugins/customBorders/utils.js +2 -0
  234. package/plugins/customBorders/utils.mjs +2 -0
  235. package/plugins/dropdownMenu/dropdownMenu.d.ts +2 -1
  236. package/plugins/dropdownMenu/dropdownMenu.js +6 -7
  237. package/plugins/dropdownMenu/dropdownMenu.mjs +1 -1
  238. package/plugins/exportFile/types/csv.js +1 -0
  239. package/plugins/exportFile/types/csv.mjs +1 -0
  240. package/plugins/filters/component/condition.js +2 -0
  241. package/plugins/filters/component/condition.mjs +2 -0
  242. package/plugins/filters/component/operators.js +2 -0
  243. package/plugins/filters/component/operators.mjs +2 -0
  244. package/plugins/filters/component/value.js +3 -0
  245. package/plugins/filters/component/value.mjs +3 -0
  246. package/plugins/filters/conditionCollection.js +3 -0
  247. package/plugins/filters/conditionCollection.mjs +3 -0
  248. package/plugins/filters/conditionUpdateObserver.js +2 -0
  249. package/plugins/filters/conditionUpdateObserver.mjs +2 -0
  250. package/plugins/filters/filters.js +43 -13
  251. package/plugins/filters/filters.mjs +43 -13
  252. package/plugins/filters/logicalOperations/conjunction.js +2 -0
  253. package/plugins/filters/logicalOperations/conjunction.mjs +2 -0
  254. package/plugins/filters/logicalOperations/disjunction.js +2 -0
  255. package/plugins/filters/logicalOperations/disjunction.mjs +2 -0
  256. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +2 -0
  257. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +2 -0
  258. package/plugins/filters/menu/focusController.js +38 -14
  259. package/plugins/filters/menu/focusController.mjs +38 -14
  260. package/plugins/filters/ui/multipleSelect.js +10 -0
  261. package/plugins/filters/ui/multipleSelect.mjs +10 -0
  262. package/plugins/formulas/engine/register.js +3 -0
  263. package/plugins/formulas/engine/register.mjs +3 -0
  264. package/plugins/formulas/engine/settings.js +3 -0
  265. package/plugins/formulas/engine/settings.mjs +3 -0
  266. package/plugins/formulas/formulas.js +12 -7
  267. package/plugins/formulas/formulas.mjs +6 -1
  268. package/plugins/formulas/indexSyncer/axisSyncer.js +3 -0
  269. package/plugins/formulas/indexSyncer/axisSyncer.mjs +3 -0
  270. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +2 -0
  271. package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +2 -0
  272. package/plugins/hiddenColumns/hiddenColumns.js +22 -30
  273. package/plugins/hiddenColumns/hiddenColumns.mjs +18 -26
  274. package/plugins/hiddenRows/contextMenuItem/showRow.js +2 -0
  275. package/plugins/hiddenRows/contextMenuItem/showRow.mjs +2 -0
  276. package/plugins/hiddenRows/hiddenRows.js +21 -29
  277. package/plugins/hiddenRows/hiddenRows.mjs +17 -25
  278. package/plugins/index.d.ts +3 -0
  279. package/plugins/index.js +3 -0
  280. package/plugins/index.mjs +3 -1
  281. package/plugins/manualColumnFreeze/manualColumnFreeze.js +7 -5
  282. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +3 -1
  283. package/plugins/manualColumnMove/manualColumnMove.js +6 -6
  284. package/plugins/manualColumnMove/manualColumnMove.mjs +4 -4
  285. package/plugins/manualColumnResize/manualColumnResize.js +26 -12
  286. package/plugins/manualColumnResize/manualColumnResize.mjs +26 -12
  287. package/plugins/manualRowMove/manualRowMove.js +8 -6
  288. package/plugins/manualRowMove/manualRowMove.mjs +6 -4
  289. package/plugins/manualRowResize/manualRowResize.js +3 -2
  290. package/plugins/manualRowResize/manualRowResize.mjs +4 -3
  291. package/plugins/mergeCells/cellsCollection.js +19 -3
  292. package/plugins/mergeCells/cellsCollection.mjs +20 -4
  293. package/plugins/mergeCells/mergeCells.d.ts +6 -2
  294. package/plugins/mergeCells/mergeCells.js +84 -56
  295. package/plugins/mergeCells/mergeCells.mjs +82 -54
  296. package/plugins/mergeCells/renderer.js +13 -3
  297. package/plugins/mergeCells/renderer.mjs +13 -3
  298. package/plugins/multiColumnSorting/domHelpers.js +2 -0
  299. package/plugins/multiColumnSorting/domHelpers.mjs +2 -0
  300. package/plugins/nestedHeaders/nestedHeaders.js +63 -16
  301. package/plugins/nestedHeaders/nestedHeaders.mjs +63 -16
  302. package/plugins/nestedHeaders/stateManager/index.js +1 -0
  303. package/plugins/nestedHeaders/stateManager/index.mjs +1 -0
  304. package/plugins/nestedRows/nestedRows.js +3 -0
  305. package/plugins/nestedRows/nestedRows.mjs +3 -0
  306. package/plugins/nestedRows/ui/headers.js +7 -1
  307. package/plugins/nestedRows/ui/headers.mjs +7 -1
  308. package/plugins/nestedRows/utils/rowMoveController.js +4 -0
  309. package/plugins/nestedRows/utils/rowMoveController.mjs +4 -0
  310. package/plugins/persistentState/persistentState.js +4 -4
  311. package/plugins/persistentState/persistentState.mjs +1 -1
  312. package/plugins/stretchColumns/calculator.js +162 -0
  313. package/plugins/stretchColumns/calculator.mjs +158 -0
  314. package/plugins/stretchColumns/index.d.ts +1 -0
  315. package/plugins/stretchColumns/index.js +7 -0
  316. package/plugins/stretchColumns/index.mjs +1 -0
  317. package/plugins/stretchColumns/strategies/_base.js +85 -0
  318. package/plugins/stretchColumns/strategies/_base.mjs +81 -0
  319. package/plugins/stretchColumns/strategies/all.js +71 -0
  320. package/plugins/stretchColumns/strategies/all.mjs +67 -0
  321. package/plugins/stretchColumns/strategies/last.js +79 -0
  322. package/plugins/stretchColumns/strategies/last.mjs +75 -0
  323. package/plugins/stretchColumns/stretchColumns.d.ts +11 -0
  324. package/plugins/stretchColumns/stretchColumns.js +222 -0
  325. package/plugins/stretchColumns/stretchColumns.mjs +218 -0
  326. package/plugins/trimRows/trimRows.js +2 -0
  327. package/plugins/trimRows/trimRows.mjs +2 -0
  328. package/plugins/undoRedo/undoRedo.js +9 -5
  329. package/plugins/undoRedo/undoRedo.mjs +8 -3
  330. package/renderers/checkboxRenderer/checkboxRenderer.js +19 -8
  331. package/renderers/checkboxRenderer/checkboxRenderer.mjs +18 -7
  332. package/selection/index.js +2 -0
  333. package/selection/range.js +2 -0
  334. package/selection/range.mjs +2 -0
  335. package/selection/selection.js +7 -2
  336. package/selection/selection.mjs +7 -2
  337. package/selection/utils.js +2 -0
  338. package/selection/utils.mjs +2 -0
  339. package/settings.d.ts +4 -1
  340. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +1 -1
  341. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +1 -1
  342. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +1 -1
  343. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +1 -1
  344. package/shortcutContexts/commands/index.js +2 -0
  345. package/shortcutContexts/commands/index.mjs +2 -0
  346. package/shortcutContexts/commands/scrollToFocusedCell.js +4 -4
  347. package/shortcutContexts/commands/scrollToFocusedCell.mjs +4 -4
  348. package/shortcutContexts/index.js +2 -0
  349. package/shortcutContexts/index.mjs +2 -0
  350. package/shortcuts/context.js +3 -0
  351. package/shortcuts/context.mjs +3 -0
  352. package/shortcuts/recorder.js +3 -3
  353. package/shortcuts/recorder.mjs +3 -3
  354. package/shortcuts/utils.js +1 -0
  355. package/shortcuts/utils.mjs +1 -0
  356. package/styles/handsontable.css +2307 -0
  357. package/styles/handsontable.min.css +30 -0
  358. package/styles/ht-theme-horizon.css +607 -0
  359. package/styles/ht-theme-horizon.min.css +30 -0
  360. package/styles/ht-theme-main.css +613 -0
  361. package/styles/ht-theme-main.min.css +30 -0
  362. package/tableView.js +205 -33
  363. package/tableView.mjs +206 -34
  364. package/translations/changesObservable/observable.js +2 -0
  365. package/translations/changesObservable/observable.mjs +2 -0
  366. package/translations/index.js +2 -0
  367. package/translations/indexMapper.js +4 -0
  368. package/translations/indexMapper.mjs +4 -0
  369. package/translations/mapCollections/index.js +2 -0
  370. package/translations/mapCollections/mapCollection.js +2 -0
  371. package/translations/mapCollections/mapCollection.mjs +2 -0
  372. package/translations/maps/index.js +2 -0
  373. package/translations/maps/linkedPhysicalIndexToValueMap.js +1 -0
  374. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +1 -0
  375. package/translations/maps/utils/actionsOnIndexes.js +2 -0
  376. package/translations/maps/utils/actionsOnIndexes.mjs +2 -0
  377. package/translations/maps/utils/physicallyIndexed.js +1 -0
  378. package/translations/maps/utils/physicallyIndexed.mjs +1 -0
  379. package/utils/autoResize.js +11 -3
  380. package/utils/autoResize.mjs +11 -3
  381. package/utils/dataStructures/priorityMap.js +1 -0
  382. package/utils/dataStructures/priorityMap.mjs +1 -0
  383. package/utils/dataStructures/uniqueMap.js +2 -0
  384. package/utils/dataStructures/uniqueMap.mjs +2 -0
  385. package/utils/ghostTable.js +7 -3
  386. package/utils/ghostTable.mjs +7 -3
  387. package/utils/parseTable.js +4 -0
  388. package/utils/parseTable.mjs +4 -0
  389. package/3rdparty/walkontable/src/selection/border/constants.js +0 -15
  390. package/3rdparty/walkontable/src/selection/border/constants.mjs +0 -12
  391. package/3rdparty/walkontable/src/utils/columnStretching.js +0 -197
  392. package/3rdparty/walkontable/src/utils/columnStretching.mjs +0 -193
@@ -1,3 +1,5 @@
1
+ import "core-js/modules/esnext.iterator.constructor.js";
2
+ import "core-js/modules/esnext.iterator.for-each.js";
1
3
  import { createFocusNavigator } from "./focusNavigator.mjs";
2
4
  import { SelectUI } from "../ui/select.mjs";
3
5
  import { BaseUI } from "../ui/_base.mjs";
@@ -28,10 +30,11 @@ export function createMenuFocusController(mainMenu, menuItems) {
28
30
  * into the focus mode triggered by the TAB or SHIFT+TAB keys).
29
31
  */
30
32
  let lastSelectedMenuItem = -1;
33
+ let menuInstance;
31
34
  const focusNavigator = createFocusNavigator(menuItems);
32
35
  const updateNavigatorPosition = element => () => {
33
- if (mainMenu.isOpened()) {
34
- mainMenu.getKeyboardShortcutsCtrl().listen(SHORTCUTS_MENU_CONTEXT);
36
+ if (menuInstance.isOpened()) {
37
+ menuInstance.getKeyboardShortcutsCtrl().listen(SHORTCUTS_MENU_CONTEXT);
35
38
  }
36
39
  focusNavigator.setCurrentPage(menuItems.indexOf(element));
37
40
  };
@@ -44,11 +47,7 @@ export function createMenuFocusController(mainMenu, menuItems) {
44
47
  element.addLocalHook('afterClose', updateNavigatorPosition(element));
45
48
  }
46
49
  });
47
- mainMenu.addLocalHook('afterSelectionChange', selectedItem => {
48
- if (!selectedItem.key.startsWith('filter_')) {
49
- focusNavigator.clear();
50
- }
51
- });
50
+ setMenu(mainMenu);
52
51
 
53
52
  /**
54
53
  * Extends the menu and submenus with new keyboard shortcuts.
@@ -56,7 +55,7 @@ export function createMenuFocusController(mainMenu, menuItems) {
56
55
  * @param {*} menu The menu (as main menu or submenu) instance.
57
56
  */
58
57
  function addKeyboardShortcuts(menu) {
59
- const mainMenuShortcutsCtrl = mainMenu.getKeyboardShortcutsCtrl();
58
+ const mainMenuShortcutsCtrl = menuInstance.getKeyboardShortcutsCtrl();
60
59
  const currentMenuShortcutsCtrl = menu.getKeyboardShortcutsCtrl();
61
60
  focusNavigator.clear();
62
61
  currentMenuShortcutsCtrl.addCustomShortcuts([{
@@ -75,7 +74,7 @@ export function createMenuFocusController(mainMenu, menuItems) {
75
74
  mainMenuShortcutsCtrl.addCustomShortcuts([{
76
75
  keys: [['Tab'], ['Shift', 'Tab']],
77
76
  callback: event => {
78
- const menuNavigator = mainMenu.getNavigator();
77
+ const menuNavigator = menuInstance.getNavigator();
79
78
  if (menuNavigator.getCurrentPage() > -1) {
80
79
  lastSelectedMenuItem = menuNavigator.getCurrentPage();
81
80
  }
@@ -89,7 +88,7 @@ export function createMenuFocusController(mainMenu, menuItems) {
89
88
  }, {
90
89
  keys: [['Escape']],
91
90
  callback: () => {
92
- mainMenu.close();
91
+ menuInstance.close();
93
92
  }
94
93
  }, {
95
94
  keys: [['Enter'], ['Space']],
@@ -110,16 +109,39 @@ export function createMenuFocusController(mainMenu, menuItems) {
110
109
  }
111
110
  }], SHORTCUTS_MENU_CONTEXT);
112
111
  }
113
- mainMenu.addLocalHook('afterSubmenuOpen', addKeyboardShortcuts);
114
- mainMenu.addLocalHook('afterOpen', addKeyboardShortcuts);
115
112
 
116
113
  /**
117
114
  * Focuses the menu and switches its shortcut context to that one which controls
118
115
  * the focus navigation.
119
116
  */
120
117
  function listen() {
121
- mainMenu.focus();
122
- mainMenu.getKeyboardShortcutsCtrl().listen(SHORTCUTS_MENU_CONTEXT);
118
+ menuInstance.focus();
119
+ menuInstance.getKeyboardShortcutsCtrl().listen(SHORTCUTS_MENU_CONTEXT);
120
+ }
121
+
122
+ /**
123
+ * Applies the focus controller to the new menu instance.
124
+ *
125
+ * @param {Menu} menu The new menu instance.
126
+ */
127
+ function setMenu(menu) {
128
+ menu.addLocalHook('afterSelectionChange', selectedItem => {
129
+ if (!selectedItem.key.startsWith('filter_')) {
130
+ focusNavigator.clear();
131
+ }
132
+ });
133
+ menu.addLocalHook('afterSubmenuOpen', addKeyboardShortcuts);
134
+ menu.addLocalHook('afterOpen', addKeyboardShortcuts);
135
+ menuInstance = menu;
136
+ }
137
+
138
+ /**
139
+ * Retrieves the current menu instance.
140
+ *
141
+ * @returns {Menu} The current menu instance.
142
+ */
143
+ function getMenu() {
144
+ return menuInstance;
123
145
  }
124
146
 
125
147
  /**
@@ -133,6 +155,8 @@ export function createMenuFocusController(mainMenu, menuItems) {
133
155
  return {
134
156
  ...focusNavigator,
135
157
  listen,
158
+ setMenu,
159
+ getMenu,
136
160
  getLastMenuPage
137
161
  };
138
162
  }
@@ -3,6 +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.filter.js");
8
+ require("core-js/modules/esnext.iterator.for-each.js");
9
+ require("core-js/modules/esnext.iterator.map.js");
6
10
  var _element = require("../../../helpers/dom/element");
7
11
  var _object = require("../../../helpers/object");
8
12
  var _unicode = require("../../../helpers/unicode");
@@ -261,9 +265,15 @@ class MultipleSelectUI extends _base.BaseUI {
261
265
  row: 1,
262
266
  col: 0
263
267
  },
268
+ themeName: this.hot.getCurrentThemeName(),
264
269
  layoutDirection: this.hot.isRtl() ? 'rtl' : 'ltr'
265
270
  }));
266
271
  _classPrivateFieldGet(_itemsBox, this).init();
272
+ this.hot.addHook('afterSetTheme', (themeName, firstRun) => {
273
+ if (!firstRun) {
274
+ _classPrivateFieldGet(_itemsBox, this).useTheme(themeName);
275
+ }
276
+ });
267
277
  const shortcutManager = _classPrivateFieldGet(_itemsBox, this).getShortcutManager();
268
278
  const gridContext = shortcutManager.getContext('grid');
269
279
  gridContext.removeShortcutsByKeys(['Tab']);
@@ -1,5 +1,9 @@
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.filter.js";
5
+ import "core-js/modules/esnext.iterator.for-each.js";
6
+ import "core-js/modules/esnext.iterator.map.js";
3
7
  function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
4
8
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
5
9
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
@@ -256,9 +260,15 @@ export class MultipleSelectUI extends BaseUI {
256
260
  row: 1,
257
261
  col: 0
258
262
  },
263
+ themeName: this.hot.getCurrentThemeName(),
259
264
  layoutDirection: this.hot.isRtl() ? 'rtl' : 'ltr'
260
265
  }));
261
266
  _classPrivateFieldGet(_itemsBox, this).init();
267
+ this.hot.addHook('afterSetTheme', (themeName, firstRun) => {
268
+ if (!firstRun) {
269
+ _classPrivateFieldGet(_itemsBox, this).useTheme(themeName);
270
+ }
271
+ });
262
272
  const shortcutManager = _classPrivateFieldGet(_itemsBox, this).getShortcutManager();
263
273
  const gridContext = shortcutManager.getContext('grid');
264
274
  gridContext.removeShortcutsByKeys(['Tab']);
@@ -10,6 +10,9 @@ exports.setupEngine = setupEngine;
10
10
  exports.setupSheet = setupSheet;
11
11
  exports.unregisterEngine = unregisterEngine;
12
12
  require("core-js/modules/es.array.push.js");
13
+ require("core-js/modules/esnext.iterator.constructor.js");
14
+ require("core-js/modules/esnext.iterator.for-each.js");
15
+ require("core-js/modules/esnext.iterator.map.js");
13
16
  var _staticRegister = _interopRequireDefault(require("../../../utils/staticRegister"));
14
17
  var _mixed = require("../../../helpers/mixed");
15
18
  var _templateLiteralTag = require("../../../helpers/templateLiteralTag");
@@ -1,4 +1,7 @@
1
1
  import "core-js/modules/es.array.push.js";
2
+ import "core-js/modules/esnext.iterator.constructor.js";
3
+ import "core-js/modules/esnext.iterator.for-each.js";
4
+ import "core-js/modules/esnext.iterator.map.js";
2
5
  import staticRegister from "../../../utils/staticRegister.mjs";
3
6
  import { isUndefined } from "../../../helpers/mixed.mjs";
4
7
  import { toSingleLine } from "../../../helpers/templateLiteralTag.mjs";
@@ -5,6 +5,9 @@ exports.getEngineSettingsOverrides = getEngineSettingsOverrides;
5
5
  exports.getEngineSettingsWithDefaultsAndOverrides = getEngineSettingsWithDefaultsAndOverrides;
6
6
  exports.getEngineSettingsWithOverrides = getEngineSettingsWithOverrides;
7
7
  exports.haveEngineSettingsChanged = haveEngineSettingsChanged;
8
+ require("core-js/modules/esnext.iterator.constructor.js");
9
+ require("core-js/modules/esnext.iterator.reduce.js");
10
+ require("core-js/modules/esnext.iterator.some.js");
8
11
  var _formulas = require("../formulas");
9
12
  const DEFAULT_LICENSE_KEY = exports.DEFAULT_LICENSE_KEY = 'internal-use-in-handsontable';
10
13
  const DEFAULT_SETTINGS = exports.DEFAULT_SETTINGS = {
@@ -1,3 +1,6 @@
1
+ import "core-js/modules/esnext.iterator.constructor.js";
2
+ import "core-js/modules/esnext.iterator.reduce.js";
3
+ import "core-js/modules/esnext.iterator.some.js";
1
4
  import { PLUGIN_KEY } from "../formulas.mjs";
2
5
  export const DEFAULT_LICENSE_KEY = 'internal-use-in-handsontable';
3
6
  export const DEFAULT_SETTINGS = {
@@ -11,6 +11,11 @@ require("core-js/modules/es.set.is-subset-of.v2.js");
11
11
  require("core-js/modules/es.set.is-superset-of.v2.js");
12
12
  require("core-js/modules/es.set.symmetric-difference.v2.js");
13
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.every.js");
16
+ require("core-js/modules/esnext.iterator.find.js");
17
+ require("core-js/modules/esnext.iterator.for-each.js");
18
+ require("core-js/modules/esnext.iterator.map.js");
14
19
  var _base = require("../base");
15
20
  var _staticRegister = _interopRequireDefault(require("../../utils/staticRegister"));
16
21
  var _console = require("../../helpers/console");
@@ -21,7 +26,7 @@ var _utils = require("./utils");
21
26
  var _settings = require("./engine/settings");
22
27
  var _data = require("../../helpers/data");
23
28
  var _string = require("../../helpers/string");
24
- var _pluginHooks = _interopRequireDefault(require("../../pluginHooks"));
29
+ var _hooks = require("../../core/hooks");
25
30
  var _indexSyncer = _interopRequireDefault(require("./indexSyncer"));
26
31
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
27
32
  function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
@@ -36,12 +41,12 @@ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.h
36
41
  const PLUGIN_KEY = exports.PLUGIN_KEY = 'formulas';
37
42
  const SETTING_KEYS = exports.SETTING_KEYS = ['maxRows', 'maxColumns', 'language'];
38
43
  const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 260;
39
- _pluginHooks.default.getSingleton().register('afterNamedExpressionAdded');
40
- _pluginHooks.default.getSingleton().register('afterNamedExpressionRemoved');
41
- _pluginHooks.default.getSingleton().register('afterSheetAdded');
42
- _pluginHooks.default.getSingleton().register('afterSheetRemoved');
43
- _pluginHooks.default.getSingleton().register('afterSheetRenamed');
44
- _pluginHooks.default.getSingleton().register('afterFormulasValuesUpdate');
44
+ _hooks.Hooks.getSingleton().register('afterNamedExpressionAdded');
45
+ _hooks.Hooks.getSingleton().register('afterNamedExpressionRemoved');
46
+ _hooks.Hooks.getSingleton().register('afterSheetAdded');
47
+ _hooks.Hooks.getSingleton().register('afterSheetRemoved');
48
+ _hooks.Hooks.getSingleton().register('afterSheetRenamed');
49
+ _hooks.Hooks.getSingleton().register('afterFormulasValuesUpdate');
45
50
 
46
51
  // This function will be used for detecting changes coming from the `UndoRedo` plugin. This kind of change won't be
47
52
  // handled by whole body of listeners and therefore won't change undo/redo stack inside engine provided by HyperFormula.
@@ -8,6 +8,11 @@ import "core-js/modules/es.set.is-subset-of.v2.js";
8
8
  import "core-js/modules/es.set.is-superset-of.v2.js";
9
9
  import "core-js/modules/es.set.symmetric-difference.v2.js";
10
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.every.js";
13
+ import "core-js/modules/esnext.iterator.find.js";
14
+ import "core-js/modules/esnext.iterator.for-each.js";
15
+ import "core-js/modules/esnext.iterator.map.js";
11
16
  function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
12
17
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
13
18
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
@@ -27,7 +32,7 @@ import { isEscapedFormulaExpression, unescapeFormulaExpression, isDate, isDateVa
27
32
  import { getEngineSettingsWithOverrides, haveEngineSettingsChanged } from "./engine/settings.mjs";
28
33
  import { isArrayOfArrays } from "../../helpers/data.mjs";
29
34
  import { toUpperCaseFirst } from "../../helpers/string.mjs";
30
- import Hooks from "../../pluginHooks.mjs";
35
+ import { Hooks } from "../../core/hooks/index.mjs";
31
36
  import IndexSyncer from "./indexSyncer/index.mjs";
32
37
  export const PLUGIN_KEY = 'formulas';
33
38
  export const SETTING_KEYS = ['maxRows', 'maxColumns', 'language'];
@@ -3,6 +3,9 @@
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");
8
+ require("core-js/modules/esnext.iterator.map.js");
6
9
  var _string = require("../../../helpers/string");
7
10
  var _moves = require("../../../helpers/moves");
8
11
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
@@ -1,5 +1,8 @@
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";
5
+ import "core-js/modules/esnext.iterator.map.js";
3
6
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
4
7
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
5
8
  function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
@@ -3,6 +3,8 @@
3
3
  exports.__esModule = true;
4
4
  exports.default = showColumnItem;
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.filter.js");
6
8
  var _array = require("../../../helpers/array");
7
9
  var C = _interopRequireWildcard(require("../../../i18n/constants"));
8
10
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
@@ -1,4 +1,6 @@
1
1
  import "core-js/modules/es.array.push.js";
2
+ import "core-js/modules/esnext.iterator.constructor.js";
3
+ import "core-js/modules/esnext.iterator.filter.js";
2
4
  import { arrayEach, arrayMap } from "../../../helpers/array.mjs";
3
5
  import * as C from "../../../i18n/constants.mjs";
4
6
  /**
@@ -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 _hideColumn = _interopRequireDefault(require("./contextMenuItem/hideColumn"));
22
23
  var _showColumn = _interopRequireDefault(require("./contextMenuItem/showColumn"));
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('beforeHideColumns');
32
- _pluginHooks.default.getSingleton().register('afterHideColumns');
33
- _pluginHooks.default.getSingleton().register('beforeUnhideColumns');
34
- _pluginHooks.default.getSingleton().register('afterUnhideColumns');
32
+ _hooks.Hooks.getSingleton().register('beforeHideColumns');
33
+ _hooks.Hooks.getSingleton().register('afterHideColumns');
34
+ _hooks.Hooks.getSingleton().register('beforeUnhideColumns');
35
+ _hooks.Hooks.getSingleton().register('afterUnhideColumns');
35
36
  const PLUGIN_KEY = exports.PLUGIN_KEY = 'hiddenColumns';
36
37
  const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 310;
37
38
 
@@ -141,7 +142,6 @@ const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 310;
141
142
  * ```
142
143
  * :::
143
144
  */
144
- var _settings = /*#__PURE__*/new WeakMap();
145
145
  var _hiddenColumnsMap = /*#__PURE__*/new WeakMap();
146
146
  var _HiddenColumns_brand = /*#__PURE__*/new WeakSet();
147
147
  class HiddenColumns extends _base.BasePlugin {
@@ -155,13 +155,6 @@ class HiddenColumns extends _base.BasePlugin {
155
155
  * @returns {number}
156
156
  */
157
157
  _classPrivateMethodInitSpec(this, _HiddenColumns_brand);
158
- /**
159
- * Cached plugin settings.
160
- *
161
- * @private
162
- * @type {object}
163
- */
164
- _classPrivateFieldInitSpec(this, _settings, {});
165
158
  /**
166
159
  * Map of hidden columns by the plugin.
167
160
  *
@@ -176,6 +169,13 @@ class HiddenColumns 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
+ columns: []
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 HiddenColumns#enablePlugin} method is called.
@@ -194,13 +194,6 @@ class HiddenColumns 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(_hiddenColumnsMap, this, new _translations.HidingMap());
205
198
  _classPrivateFieldGet(_hiddenColumnsMap, this).addLocalHook('init', () => _assertClassBrand(_HiddenColumns_brand, this, _onMapInit).call(this));
206
199
  this.hot.columnIndexMapper.registerMap(this.pluginName, _classPrivateFieldGet(_hiddenColumnsMap, this));
@@ -239,7 +232,6 @@ class HiddenColumns extends _base.BasePlugin {
239
232
  */
240
233
  disablePlugin() {
241
234
  this.hot.columnIndexMapper.unregisterMap(this.pluginName);
242
- _classPrivateFieldSet(_settings, this, {});
243
235
  super.disablePlugin();
244
236
  this.resetCellsMeta();
245
237
  }
@@ -385,7 +377,6 @@ class HiddenColumns extends _base.BasePlugin {
385
377
  * Destroys the plugin instance.
386
378
  */
387
379
  destroy() {
388
- _classPrivateFieldSet(_settings, this, null);
389
380
  _classPrivateFieldSet(_hiddenColumnsMap, this, null);
390
381
  super.destroy();
391
382
  }
@@ -397,7 +388,7 @@ function _onModifyColWidth(width, column) {
397
388
  if (this.isHidden(column)) {
398
389
  return 0;
399
390
  }
400
- if (_classPrivateFieldGet(_settings, this).indicators && (this.isHidden(column + 1) || this.isHidden(column - 1))) {
391
+ if (this.getSetting('indicators') && (this.isHidden(column + 1) || this.isHidden(column - 1))) {
401
392
  // Add additional space for hidden column indicator.
402
393
  if (typeof width === 'number' && this.hot.hasColHeaders()) {
403
394
  return width + 15;
@@ -412,7 +403,7 @@ function _onModifyColWidth(width, column) {
412
403
  * @param {object} cellProperties Object containing the cell properties.
413
404
  */
414
405
  function _onAfterGetCellMeta(row, column, cellProperties) {
415
- if (_classPrivateFieldGet(_settings, this).copyPasteEnabled === false && this.isHidden(column)) {
406
+ if (this.getSetting('copyPasteEnabled') === false && this.isHidden(column)) {
416
407
  // Cell property handled by the `Autofill` and the `CopyPaste` plugins.
417
408
  cellProperties.skipColumnOnPaste = true;
418
409
  }
@@ -440,7 +431,7 @@ function _onAfterGetCellMeta(row, column, cellProperties) {
440
431
  */
441
432
  function _onModifyCopyableRange(ranges) {
442
433
  // Ranges shouldn't be modified when `copyPasteEnabled` option is set to `true` (by default).
443
- if (_classPrivateFieldGet(_settings, this).copyPasteEnabled) {
434
+ if (this.getSetting('copyPasteEnabled')) {
444
435
  return ranges;
445
436
  }
446
437
  const newRanges = [];
@@ -481,7 +472,7 @@ function _onModifyCopyableRange(ranges) {
481
472
  * @param {HTMLElement} TH Header's TH element.
482
473
  */
483
474
  function _onAfterGetColHeader(column, TH) {
484
- if (!_classPrivateFieldGet(_settings, this).indicators || column < 0) {
475
+ if (!this.getSetting('indicators') || column < 0) {
485
476
  return;
486
477
  }
487
478
  const classList = [];
@@ -507,7 +498,8 @@ function _onAfterContextMenuDefaultOptions(options) {
507
498
  * On map initialized hook callback.
508
499
  */
509
500
  function _onMapInit() {
510
- if (Array.isArray(_classPrivateFieldGet(_settings, this).columns)) {
511
- this.hideColumns(_classPrivateFieldGet(_settings, this).columns);
501
+ const columns = this.getSetting('columns');
502
+ if (Array.isArray(columns)) {
503
+ this.hideColumns(columns);
512
504
  }
513
505
  }
@@ -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 hideColumnItem from "./contextMenuItem/hideColumn.mjs";
25
26
  import showColumnItem from "./contextMenuItem/showColumn.mjs";
26
27
  import { HidingMap } from "../../translations/index.mjs";
@@ -137,7 +138,6 @@ export const PLUGIN_PRIORITY = 310;
137
138
  * ```
138
139
  * :::
139
140
  */
140
- var _settings = /*#__PURE__*/new WeakMap();
141
141
  var _hiddenColumnsMap = /*#__PURE__*/new WeakMap();
142
142
  var _HiddenColumns_brand = /*#__PURE__*/new WeakSet();
143
143
  export class HiddenColumns extends BasePlugin {
@@ -151,13 +151,6 @@ export class HiddenColumns extends BasePlugin {
151
151
  * @returns {number}
152
152
  */
153
153
  _classPrivateMethodInitSpec(this, _HiddenColumns_brand);
154
- /**
155
- * Cached plugin settings.
156
- *
157
- * @private
158
- * @type {object}
159
- */
160
- _classPrivateFieldInitSpec(this, _settings, {});
161
154
  /**
162
155
  * Map of hidden columns by the plugin.
163
156
  *
@@ -172,6 +165,13 @@ export class HiddenColumns 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
+ columns: []
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 HiddenColumns#enablePlugin} method is called.
@@ -190,13 +190,6 @@ export class HiddenColumns 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(_hiddenColumnsMap, this, new HidingMap());
201
194
  _classPrivateFieldGet(_hiddenColumnsMap, this).addLocalHook('init', () => _assertClassBrand(_HiddenColumns_brand, this, _onMapInit).call(this));
202
195
  this.hot.columnIndexMapper.registerMap(this.pluginName, _classPrivateFieldGet(_hiddenColumnsMap, this));
@@ -235,7 +228,6 @@ export class HiddenColumns extends BasePlugin {
235
228
  */
236
229
  disablePlugin() {
237
230
  this.hot.columnIndexMapper.unregisterMap(this.pluginName);
238
- _classPrivateFieldSet(_settings, this, {});
239
231
  super.disablePlugin();
240
232
  this.resetCellsMeta();
241
233
  }
@@ -381,7 +373,6 @@ export class HiddenColumns extends BasePlugin {
381
373
  * Destroys the plugin instance.
382
374
  */
383
375
  destroy() {
384
- _classPrivateFieldSet(_settings, this, null);
385
376
  _classPrivateFieldSet(_hiddenColumnsMap, this, null);
386
377
  super.destroy();
387
378
  }
@@ -392,7 +383,7 @@ function _onModifyColWidth(width, column) {
392
383
  if (this.isHidden(column)) {
393
384
  return 0;
394
385
  }
395
- if (_classPrivateFieldGet(_settings, this).indicators && (this.isHidden(column + 1) || this.isHidden(column - 1))) {
386
+ if (this.getSetting('indicators') && (this.isHidden(column + 1) || this.isHidden(column - 1))) {
396
387
  // Add additional space for hidden column indicator.
397
388
  if (typeof width === 'number' && this.hot.hasColHeaders()) {
398
389
  return width + 15;
@@ -407,7 +398,7 @@ function _onModifyColWidth(width, column) {
407
398
  * @param {object} cellProperties Object containing the cell properties.
408
399
  */
409
400
  function _onAfterGetCellMeta(row, column, cellProperties) {
410
- if (_classPrivateFieldGet(_settings, this).copyPasteEnabled === false && this.isHidden(column)) {
401
+ if (this.getSetting('copyPasteEnabled') === false && this.isHidden(column)) {
411
402
  // Cell property handled by the `Autofill` and the `CopyPaste` plugins.
412
403
  cellProperties.skipColumnOnPaste = true;
413
404
  }
@@ -435,7 +426,7 @@ function _onAfterGetCellMeta(row, column, cellProperties) {
435
426
  */
436
427
  function _onModifyCopyableRange(ranges) {
437
428
  // Ranges shouldn't be modified when `copyPasteEnabled` option is set to `true` (by default).
438
- if (_classPrivateFieldGet(_settings, this).copyPasteEnabled) {
429
+ if (this.getSetting('copyPasteEnabled')) {
439
430
  return ranges;
440
431
  }
441
432
  const newRanges = [];
@@ -476,7 +467,7 @@ function _onModifyCopyableRange(ranges) {
476
467
  * @param {HTMLElement} TH Header's TH element.
477
468
  */
478
469
  function _onAfterGetColHeader(column, TH) {
479
- if (!_classPrivateFieldGet(_settings, this).indicators || column < 0) {
470
+ if (!this.getSetting('indicators') || column < 0) {
480
471
  return;
481
472
  }
482
473
  const classList = [];
@@ -502,7 +493,8 @@ function _onAfterContextMenuDefaultOptions(options) {
502
493
  * On map initialized hook callback.
503
494
  */
504
495
  function _onMapInit() {
505
- if (Array.isArray(_classPrivateFieldGet(_settings, this).columns)) {
506
- this.hideColumns(_classPrivateFieldGet(_settings, this).columns);
496
+ const columns = this.getSetting('columns');
497
+ if (Array.isArray(columns)) {
498
+ this.hideColumns(columns);
507
499
  }
508
500
  }
@@ -3,6 +3,8 @@
3
3
  exports.__esModule = true;
4
4
  exports.default = showRowItem;
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.filter.js");
6
8
  var _array = require("../../../helpers/array");
7
9
  var C = _interopRequireWildcard(require("../../../i18n/constants"));
8
10
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
@@ -1,4 +1,6 @@
1
1
  import "core-js/modules/es.array.push.js";
2
+ import "core-js/modules/esnext.iterator.constructor.js";
3
+ import "core-js/modules/esnext.iterator.filter.js";
2
4
  import { arrayEach, arrayMap } from "../../../helpers/array.mjs";
3
5
  import * as C from "../../../i18n/constants.mjs";
4
6
  /**