handsontable 14.0.0-next-07c0a60-20231107 → 14.0.0-next-7ee54cb-20231108

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 (328) hide show
  1. package/3rdparty/SheetClip/SheetClip.js +2 -2
  2. package/3rdparty/SheetClip/SheetClip.mjs +2 -2
  3. package/3rdparty/autoResize/autoResize.js +2 -2
  4. package/3rdparty/autoResize/autoResize.mjs +2 -2
  5. package/3rdparty/walkontable/src/calculator/viewportColumns.js +108 -85
  6. package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +108 -85
  7. package/3rdparty/walkontable/src/calculator/viewportRows.js +60 -52
  8. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +60 -52
  9. package/3rdparty/walkontable/src/cell/coords.js +7 -5
  10. package/3rdparty/walkontable/src/cell/coords.mjs +7 -5
  11. package/3rdparty/walkontable/src/core/clone.js +6 -0
  12. package/3rdparty/walkontable/src/core/clone.mjs +6 -0
  13. package/3rdparty/walkontable/src/event.js +125 -74
  14. package/3rdparty/walkontable/src/event.mjs +125 -74
  15. package/3rdparty/walkontable/src/filter/column.js +16 -0
  16. package/3rdparty/walkontable/src/filter/column.mjs +16 -0
  17. package/3rdparty/walkontable/src/filter/row.js +16 -0
  18. package/3rdparty/walkontable/src/filter/row.mjs +16 -0
  19. package/3rdparty/walkontable/src/overlay/bottom.js +1 -1
  20. package/3rdparty/walkontable/src/overlay/bottom.mjs +1 -1
  21. package/3rdparty/walkontable/src/overlay/top.js +1 -1
  22. package/3rdparty/walkontable/src/overlay/top.mjs +1 -1
  23. package/3rdparty/walkontable/src/renderer/_base.js +12 -5
  24. package/3rdparty/walkontable/src/renderer/_base.mjs +12 -5
  25. package/3rdparty/walkontable/src/renderer/cells.js +6 -2
  26. package/3rdparty/walkontable/src/renderer/cells.mjs +6 -2
  27. package/3rdparty/walkontable/src/renderer/rowHeaders.js +6 -2
  28. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +6 -2
  29. package/3rdparty/walkontable/src/renderer/rows.js +5 -0
  30. package/3rdparty/walkontable/src/renderer/rows.mjs +5 -0
  31. package/3rdparty/walkontable/src/renderer/table.js +24 -17
  32. package/3rdparty/walkontable/src/renderer/table.mjs +24 -17
  33. package/3rdparty/walkontable/src/scroll.js +2 -2
  34. package/3rdparty/walkontable/src/scroll.mjs +2 -2
  35. package/3rdparty/walkontable/src/selection/border/border.js +1 -1
  36. package/3rdparty/walkontable/src/selection/border/border.mjs +1 -1
  37. package/3rdparty/walkontable/src/settings.js +10 -10
  38. package/3rdparty/walkontable/src/settings.mjs +10 -10
  39. package/3rdparty/walkontable/src/table.js +3 -3
  40. package/3rdparty/walkontable/src/table.mjs +3 -3
  41. package/3rdparty/walkontable/src/utils/column.js +19 -4
  42. package/3rdparty/walkontable/src/utils/column.mjs +19 -4
  43. package/3rdparty/walkontable/src/utils/nodesPool.js +5 -0
  44. package/3rdparty/walkontable/src/utils/nodesPool.mjs +5 -0
  45. package/3rdparty/walkontable/src/utils/orderView/view.js +13 -6
  46. package/3rdparty/walkontable/src/utils/orderView/view.mjs +13 -6
  47. package/3rdparty/walkontable/src/utils/orderView/viewSize.js +9 -6
  48. package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +9 -6
  49. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +7 -4
  50. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +7 -4
  51. package/3rdparty/walkontable/src/utils/row.js +14 -2
  52. package/3rdparty/walkontable/src/utils/row.mjs +14 -2
  53. package/3rdparty/walkontable/src/viewport.js +9 -9
  54. package/3rdparty/walkontable/src/viewport.mjs +9 -9
  55. package/base.js +2 -2
  56. package/base.mjs +2 -2
  57. package/core.js +31 -26
  58. package/core.mjs +31 -26
  59. package/dataMap/dataMap.js +99 -90
  60. package/dataMap/dataMap.mjs +99 -90
  61. package/dataMap/dataSource.js +14 -8
  62. package/dataMap/dataSource.mjs +14 -8
  63. package/dataMap/metaManager/lazyFactoryMap.js +19 -7
  64. package/dataMap/metaManager/lazyFactoryMap.mjs +19 -7
  65. package/dataMap/metaManager/metaLayers/cellMeta.js +8 -3
  66. package/dataMap/metaManager/metaLayers/cellMeta.mjs +8 -3
  67. package/dataMap/metaManager/metaLayers/columnMeta.js +7 -1
  68. package/dataMap/metaManager/metaLayers/columnMeta.mjs +7 -1
  69. package/dataMap/metaManager/metaLayers/globalMeta.js +6 -1
  70. package/dataMap/metaManager/metaLayers/globalMeta.mjs +6 -1
  71. package/dataMap/metaManager/metaLayers/tableMeta.js +6 -2
  72. package/dataMap/metaManager/metaLayers/tableMeta.mjs +6 -2
  73. package/dataMap/metaManager/metaSchema.js +55 -55
  74. package/dataMap/metaManager/metaSchema.mjs +55 -55
  75. package/dataMap/metaManager/mods/dynamicCellMeta.js +7 -2
  76. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +7 -2
  77. package/dataMap/metaManager/mods/extendMetaProperties.js +8 -4
  78. package/dataMap/metaManager/mods/extendMetaProperties.mjs +8 -4
  79. package/dataMap/metaManager/utils.js +2 -2
  80. package/dataMap/metaManager/utils.mjs +2 -2
  81. package/dist/handsontable.css +2 -2
  82. package/dist/handsontable.full.css +2 -2
  83. package/dist/handsontable.full.js +7337 -6394
  84. package/dist/handsontable.full.min.css +2 -2
  85. package/dist/handsontable.full.min.js +154 -154
  86. package/dist/handsontable.js +7336 -6393
  87. package/dist/handsontable.min.css +2 -2
  88. package/dist/handsontable.min.js +28 -28
  89. package/editorManager.js +105 -95
  90. package/editorManager.mjs +105 -95
  91. package/editors/autocompleteEditor/autocompleteEditor.js +47 -46
  92. package/editors/autocompleteEditor/autocompleteEditor.mjs +46 -45
  93. package/editors/baseEditor/baseEditor.js +23 -26
  94. package/editors/baseEditor/baseEditor.mjs +23 -26
  95. package/editors/dateEditor/dateEditor.js +24 -15
  96. package/editors/dateEditor/dateEditor.mjs +24 -15
  97. package/editors/dropdownEditor/dropdownEditor.js +1 -1
  98. package/editors/dropdownEditor/dropdownEditor.mjs +1 -1
  99. package/editors/handsontableEditor/handsontableEditor.js +4 -4
  100. package/editors/handsontableEditor/handsontableEditor.mjs +4 -4
  101. package/editors/textEditor/textEditor.js +23 -17
  102. package/editors/textEditor/textEditor.mjs +24 -18
  103. package/eventManager.js +8 -0
  104. package/eventManager.mjs +8 -0
  105. package/helpers/array.js +2 -2
  106. package/helpers/array.mjs +2 -2
  107. package/helpers/dom/element.js +7 -7
  108. package/helpers/dom/element.mjs +7 -7
  109. package/helpers/function.js +1 -1
  110. package/helpers/function.mjs +1 -1
  111. package/helpers/mixed.js +1 -1
  112. package/helpers/mixed.mjs +1 -1
  113. package/helpers/object.js +4 -4
  114. package/helpers/object.mjs +4 -4
  115. package/helpers/string.js +1 -1
  116. package/helpers/string.mjs +1 -1
  117. package/package.json +1 -1
  118. package/pluginHooks.d.ts +0 -2
  119. package/pluginHooks.js +12 -3
  120. package/pluginHooks.mjs +12 -3
  121. package/plugins/autoColumnSize/autoColumnSize.js +141 -130
  122. package/plugins/autoColumnSize/autoColumnSize.mjs +140 -129
  123. package/plugins/autoRowSize/autoRowSize.js +112 -125
  124. package/plugins/autoRowSize/autoRowSize.mjs +110 -123
  125. package/plugins/autofill/autofill.js +98 -102
  126. package/plugins/autofill/autofill.mjs +97 -101
  127. package/plugins/base/base.js +61 -28
  128. package/plugins/base/base.mjs +60 -28
  129. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +29 -24
  130. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +28 -23
  131. package/plugins/collapsibleColumns/collapsibleColumns.js +104 -107
  132. package/plugins/collapsibleColumns/collapsibleColumns.mjs +102 -104
  133. package/plugins/columnSorting/columnSorting.js +107 -99
  134. package/plugins/columnSorting/columnSorting.mjs +106 -98
  135. package/plugins/columnSorting/columnStatesManager.js +12 -6
  136. package/plugins/columnSorting/columnStatesManager.mjs +12 -6
  137. package/plugins/columnSummary/columnSummary.js +71 -58
  138. package/plugins/columnSummary/columnSummary.mjs +70 -57
  139. package/plugins/columnSummary/endpoints.js +20 -14
  140. package/plugins/columnSummary/endpoints.mjs +20 -14
  141. package/plugins/comments/commentEditor.js +30 -2
  142. package/plugins/comments/commentEditor.mjs +30 -2
  143. package/plugins/comments/comments.js +158 -169
  144. package/plugins/comments/comments.mjs +157 -168
  145. package/plugins/comments/displaySwitch.js +7 -3
  146. package/plugins/comments/displaySwitch.mjs +7 -3
  147. package/plugins/contextMenu/commandExecutor.js +15 -2
  148. package/plugins/contextMenu/commandExecutor.mjs +15 -2
  149. package/plugins/contextMenu/contextMenu.js +96 -102
  150. package/plugins/contextMenu/contextMenu.mjs +95 -101
  151. package/plugins/contextMenu/itemsFactory.js +19 -4
  152. package/plugins/contextMenu/itemsFactory.mjs +19 -4
  153. package/plugins/contextMenu/menu/cursor.js +36 -0
  154. package/plugins/contextMenu/menu/cursor.mjs +36 -0
  155. package/plugins/contextMenu/menu/menu.js +57 -5
  156. package/plugins/contextMenu/menu/menu.mjs +57 -5
  157. package/plugins/contextMenu/predefinedItems/removeColumn.js +1 -1
  158. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +1 -1
  159. package/plugins/contextMenu/predefinedItems/removeRow.js +1 -1
  160. package/plugins/contextMenu/predefinedItems/removeRow.mjs +1 -1
  161. package/plugins/copyPaste/copyPaste.js +74 -75
  162. package/plugins/copyPaste/copyPaste.mjs +74 -75
  163. package/plugins/customBorders/customBorders.js +57 -50
  164. package/plugins/customBorders/customBorders.mjs +56 -49
  165. package/plugins/dragToScroll/dragToScroll.js +50 -54
  166. package/plugins/dragToScroll/dragToScroll.mjs +49 -52
  167. package/plugins/dropdownMenu/dropdownMenu.js +136 -131
  168. package/plugins/dropdownMenu/dropdownMenu.mjs +136 -131
  169. package/plugins/exportFile/dataProvider.js +7 -2
  170. package/plugins/exportFile/dataProvider.mjs +7 -2
  171. package/plugins/exportFile/exportFile.js +1 -1
  172. package/plugins/exportFile/exportFile.mjs +1 -1
  173. package/plugins/exportFile/types/_base.js +14 -6
  174. package/plugins/exportFile/types/_base.mjs +14 -6
  175. package/plugins/filters/component/actionBar.js +9 -0
  176. package/plugins/filters/component/actionBar.mjs +9 -0
  177. package/plugins/filters/component/condition.js +13 -0
  178. package/plugins/filters/component/condition.mjs +13 -0
  179. package/plugins/filters/component/operators.js +9 -0
  180. package/plugins/filters/component/operators.mjs +9 -0
  181. package/plugins/filters/component/value.js +9 -0
  182. package/plugins/filters/component/value.mjs +9 -0
  183. package/plugins/filters/conditionCollection.js +9 -4
  184. package/plugins/filters/conditionCollection.mjs +9 -4
  185. package/plugins/filters/conditionUpdateObserver.js +53 -42
  186. package/plugins/filters/conditionUpdateObserver.mjs +53 -42
  187. package/plugins/filters/dataFilter.js +9 -3
  188. package/plugins/filters/dataFilter.mjs +9 -3
  189. package/plugins/filters/filters.js +184 -189
  190. package/plugins/filters/filters.mjs +182 -187
  191. package/plugins/filters/ui/_base.js +1 -1
  192. package/plugins/filters/ui/_base.mjs +1 -1
  193. package/plugins/filters/utils.js +1 -1
  194. package/plugins/filters/utils.mjs +1 -1
  195. package/plugins/formulas/engine/settings.js +1 -1
  196. package/plugins/formulas/engine/settings.mjs +1 -1
  197. package/plugins/formulas/formulas.js +684 -602
  198. package/plugins/formulas/formulas.mjs +682 -600
  199. package/plugins/hiddenColumns/hiddenColumns.js +174 -169
  200. package/plugins/hiddenColumns/hiddenColumns.mjs +173 -168
  201. package/plugins/hiddenRows/hiddenRows.js +170 -165
  202. package/plugins/hiddenRows/hiddenRows.mjs +169 -164
  203. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -1
  204. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +1 -1
  205. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -1
  206. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +1 -1
  207. package/plugins/manualColumnFreeze/manualColumnFreeze.js +66 -53
  208. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +64 -51
  209. package/plugins/manualColumnMove/manualColumnMove.js +287 -232
  210. package/plugins/manualColumnMove/manualColumnMove.mjs +286 -231
  211. package/plugins/manualColumnMove/ui/_base.js +9 -3
  212. package/plugins/manualColumnMove/ui/_base.mjs +9 -3
  213. package/plugins/manualColumnResize/manualColumnResize.js +291 -246
  214. package/plugins/manualColumnResize/manualColumnResize.mjs +290 -244
  215. package/plugins/manualRowMove/manualRowMove.js +223 -208
  216. package/plugins/manualRowMove/manualRowMove.mjs +222 -207
  217. package/plugins/manualRowMove/ui/_base.js +10 -5
  218. package/plugins/manualRowMove/ui/_base.mjs +10 -5
  219. package/plugins/manualRowResize/manualRowResize.js +254 -209
  220. package/plugins/manualRowResize/manualRowResize.mjs +253 -207
  221. package/plugins/mergeCells/calculations/autofill.js +9 -3
  222. package/plugins/mergeCells/calculations/autofill.mjs +9 -3
  223. package/plugins/mergeCells/calculations/selection.js +10 -4
  224. package/plugins/mergeCells/calculations/selection.mjs +10 -4
  225. package/plugins/mergeCells/cellCoords.js +16 -6
  226. package/plugins/mergeCells/cellCoords.mjs +16 -6
  227. package/plugins/mergeCells/cellsCollection.js +10 -4
  228. package/plugins/mergeCells/cellsCollection.mjs +10 -4
  229. package/plugins/mergeCells/mergeCells.js +582 -502
  230. package/plugins/mergeCells/mergeCells.mjs +580 -500
  231. package/plugins/multiColumnSorting/multiColumnSorting.js +15 -11
  232. package/plugins/multiColumnSorting/multiColumnSorting.mjs +15 -11
  233. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +16 -28
  234. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +16 -27
  235. package/plugins/nestedHeaders/nestedHeaders.js +542 -499
  236. package/plugins/nestedHeaders/nestedHeaders.mjs +554 -511
  237. package/plugins/nestedHeaders/stateManager/index.js +1 -1
  238. package/plugins/nestedHeaders/stateManager/index.mjs +1 -1
  239. package/plugins/nestedRows/data/dataManager.js +21 -15
  240. package/plugins/nestedRows/data/dataManager.mjs +21 -15
  241. package/plugins/nestedRows/nestedRows.js +328 -279
  242. package/plugins/nestedRows/nestedRows.mjs +327 -278
  243. package/plugins/nestedRows/ui/_base.js +7 -1
  244. package/plugins/nestedRows/ui/_base.mjs +7 -1
  245. package/plugins/nestedRows/ui/collapsing.js +2 -2
  246. package/plugins/nestedRows/ui/collapsing.mjs +2 -2
  247. package/plugins/nestedRows/ui/contextMenu.js +28 -18
  248. package/plugins/nestedRows/ui/contextMenu.mjs +28 -18
  249. package/plugins/nestedRows/utils/rowMoveController.js +12 -4
  250. package/plugins/nestedRows/utils/rowMoveController.mjs +12 -4
  251. package/plugins/persistentState/persistentState.js +14 -11
  252. package/plugins/persistentState/persistentState.mjs +14 -11
  253. package/plugins/persistentState/storage.js +11 -6
  254. package/plugins/persistentState/storage.mjs +11 -6
  255. package/plugins/registry.js +2 -2
  256. package/plugins/registry.mjs +2 -2
  257. package/plugins/search/search.js +57 -46
  258. package/plugins/search/search.mjs +56 -45
  259. package/plugins/touchScroll/touchScroll.js +102 -100
  260. package/plugins/touchScroll/touchScroll.mjs +100 -98
  261. package/plugins/trimRows/trimRows.js +33 -28
  262. package/plugins/trimRows/trimRows.mjs +32 -27
  263. package/plugins/undoRedo/undoRedo.js +2 -2
  264. package/plugins/undoRedo/undoRedo.mjs +2 -2
  265. package/renderers/autocompleteRenderer/autocompleteRenderer.js +11 -11
  266. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +11 -11
  267. package/renderers/baseRenderer/baseRenderer.js +2 -2
  268. package/renderers/baseRenderer/baseRenderer.mjs +2 -2
  269. package/renderers/checkboxRenderer/checkboxRenderer.js +23 -23
  270. package/renderers/checkboxRenderer/checkboxRenderer.mjs +23 -23
  271. package/renderers/dateRenderer/dateRenderer.js +4 -4
  272. package/renderers/dateRenderer/dateRenderer.mjs +4 -4
  273. package/renderers/handsontableRenderer/handsontableRenderer.js +4 -4
  274. package/renderers/handsontableRenderer/handsontableRenderer.mjs +4 -4
  275. package/renderers/htmlRenderer/htmlRenderer.js +4 -4
  276. package/renderers/htmlRenderer/htmlRenderer.mjs +4 -4
  277. package/renderers/numericRenderer/numericRenderer.js +3 -3
  278. package/renderers/numericRenderer/numericRenderer.mjs +3 -3
  279. package/renderers/passwordRenderer/passwordRenderer.js +3 -3
  280. package/renderers/passwordRenderer/passwordRenderer.mjs +3 -3
  281. package/renderers/selectRenderer/selectRenderer.js +4 -4
  282. package/renderers/selectRenderer/selectRenderer.mjs +4 -4
  283. package/renderers/textRenderer/textRenderer.js +5 -5
  284. package/renderers/textRenderer/textRenderer.mjs +5 -5
  285. package/renderers/timeRenderer/timeRenderer.js +3 -3
  286. package/renderers/timeRenderer/timeRenderer.mjs +3 -3
  287. package/selection/highlight/highlight.js +1 -4
  288. package/selection/highlight/highlight.mjs +1 -4
  289. package/selection/range.js +12 -2
  290. package/selection/range.mjs +12 -2
  291. package/selection/selection.js +28 -10
  292. package/selection/selection.mjs +28 -10
  293. package/selection/utils.js +24 -14
  294. package/selection/utils.mjs +25 -15
  295. package/shortcuts/manager.js +1 -1
  296. package/shortcuts/manager.mjs +1 -1
  297. package/tableView.js +208 -200
  298. package/tableView.mjs +208 -200
  299. package/translations/changesObservable/utils.js +2 -2
  300. package/translations/changesObservable/utils.mjs +2 -2
  301. package/translations/indexMapper.js +25 -22
  302. package/translations/indexMapper.mjs +25 -22
  303. package/translations/mapCollections/aggregatedCollection.js +8 -2
  304. package/translations/mapCollections/aggregatedCollection.mjs +8 -2
  305. package/translations/mapCollections/mapCollection.js +5 -2
  306. package/translations/mapCollections/mapCollection.mjs +5 -2
  307. package/translations/maps/indexMap.js +6 -1
  308. package/translations/maps/indexMap.mjs +6 -1
  309. package/translations/maps/utils/physicallyIndexed.js +2 -2
  310. package/translations/maps/utils/physicallyIndexed.mjs +2 -2
  311. package/utils/dataStructures/linkedList.js +10 -6
  312. package/utils/dataStructures/linkedList.mjs +10 -6
  313. package/utils/dataStructures/queue.js +1 -1
  314. package/utils/dataStructures/queue.mjs +1 -1
  315. package/utils/dataStructures/stack.js +1 -1
  316. package/utils/dataStructures/stack.mjs +1 -1
  317. package/utils/ghostTable.js +2 -2
  318. package/utils/ghostTable.mjs +2 -2
  319. package/utils/interval.js +73 -36
  320. package/utils/interval.mjs +73 -36
  321. package/utils/parseTable.js +1 -1
  322. package/utils/parseTable.mjs +1 -1
  323. package/validators/autocompleteValidator/autocompleteValidator.js +1 -1
  324. package/validators/autocompleteValidator/autocompleteValidator.mjs +1 -1
  325. package/validators/dateValidator/dateValidator.js +1 -1
  326. package/validators/dateValidator/dateValidator.mjs +1 -1
  327. package/validators/numericValidator/numericValidator.js +1 -1
  328. package/validators/numericValidator/numericValidator.mjs +1 -1
@@ -1,4 +1,17 @@
1
1
  import "core-js/modules/es.array.push.js";
2
+ import "core-js/modules/es.error.cause.js";
3
+ function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
4
+ function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
5
+ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
6
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
7
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
8
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
9
+ function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
10
+ function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
11
+ function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
12
+ function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
13
+ function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
14
+ function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
2
15
  import { BasePlugin } from "../base/index.mjs";
3
16
  import { arrayEach, arrayFilter, arrayReduce, arrayMap } from "../../helpers/array.mjs";
4
17
  import { cancelAnimationFrame, requestAnimationFrame } from "../../helpers/feature.mjs";
@@ -14,7 +27,6 @@ import { isDefined } from "../../helpers/mixed.mjs";
14
27
  Hooks.getSingleton().register('modifyAutoColumnSizeSeed');
15
28
  export const PLUGIN_KEY = 'autoColumnSize';
16
29
  export const PLUGIN_PRIORITY = 10;
17
- const privatePool = new WeakMap();
18
30
  const COLUMN_SIZE_MAP_NAME = 'autoColumnSize';
19
31
 
20
32
  /* eslint-disable jsdoc/require-description-complete-sentence */
@@ -114,6 +126,13 @@ const COLUMN_SIZE_MAP_NAME = 'autoColumnSize';
114
126
  * :::
115
127
  */
116
128
  /* eslint-enable jsdoc/require-description-complete-sentence */
129
+ var _cachedColumnHeaders = /*#__PURE__*/new WeakMap();
130
+ var _onBeforeViewRender = /*#__PURE__*/new WeakSet();
131
+ var _onAfterLoadData = /*#__PURE__*/new WeakSet();
132
+ var _onBeforeChange = /*#__PURE__*/new WeakSet();
133
+ var _onBeforeColumnResize = /*#__PURE__*/new WeakSet();
134
+ var _onAfterInit = /*#__PURE__*/new WeakSet();
135
+ var _onAfterFormulasValuesUpdate = /*#__PURE__*/new WeakSet();
117
136
  export class AutoColumnSize extends BasePlugin {
118
137
  static get PLUGIN_KEY() {
119
138
  return PLUGIN_KEY;
@@ -130,25 +149,50 @@ export class AutoColumnSize extends BasePlugin {
130
149
  static get SYNC_CALCULATION_LIMIT() {
131
150
  return 50;
132
151
  }
152
+
153
+ /**
154
+ * Instance of {@link GhostTable} for rows and columns size calculations.
155
+ *
156
+ * @private
157
+ * @type {GhostTable}
158
+ */
159
+
133
160
  constructor(hotInstance) {
134
161
  super(hotInstance);
135
- privatePool.set(this, {
136
- /**
137
- * Cached column header names. It is used to diff current column headers with previous state and detect which
138
- * columns width should be updated.
139
- *
140
- * @private
141
- * @type {Array}
142
- */
143
- cachedColumnHeaders: []
144
- });
145
162
  /**
146
- * Instance of {@link GhostTable} for rows and columns size calculations.
163
+ * After formulas values updated listener.
147
164
  *
148
- * @private
149
- * @type {GhostTable}
165
+ * @param {Array} changes An array of modified data.
166
+ */
167
+ _classPrivateMethodInitSpec(this, _onAfterFormulasValuesUpdate);
168
+ /**
169
+ * On after Handsontable init fill plugin with all necessary values.
170
+ */
171
+ _classPrivateMethodInitSpec(this, _onAfterInit);
172
+ /**
173
+ * On before column resize listener.
174
+ *
175
+ * @param {number} size Calculated new column width.
176
+ * @param {number} column Visual index of the resized column.
177
+ * @param {boolean} isDblClick Flag that determines whether there was a double-click.
178
+ * @returns {number}
179
+ */
180
+ _classPrivateMethodInitSpec(this, _onBeforeColumnResize);
181
+ /**
182
+ * On before change listener.
183
+ *
184
+ * @param {Array} changes An array of modified data.
185
+ */
186
+ _classPrivateMethodInitSpec(this, _onBeforeChange);
187
+ /**
188
+ * On after load data listener.
189
+ */
190
+ _classPrivateMethodInitSpec(this, _onAfterLoadData);
191
+ /**
192
+ * On before view render listener.
150
193
  */
151
- this.ghostTable = new GhostTable(this.hot);
194
+ _classPrivateMethodInitSpec(this, _onBeforeViewRender);
195
+ _defineProperty(this, "ghostTable", new GhostTable(this.hot));
152
196
  /**
153
197
  * Instance of {@link SamplesGenerator} for generating samples necessary for columns width calculations.
154
198
  *
@@ -156,7 +200,7 @@ export class AutoColumnSize extends BasePlugin {
156
200
  * @type {SamplesGenerator}
157
201
  * @fires Hooks#modifyAutoColumnSizeSeed
158
202
  */
159
- this.samplesGenerator = new SamplesGenerator((row, column) => {
203
+ _defineProperty(this, "samplesGenerator", new SamplesGenerator((row, column) => {
160
204
  const cellMeta = this.hot.getCellMeta(row, column);
161
205
  let cellValue = '';
162
206
  if (!cellMeta.spanned) {
@@ -170,38 +214,48 @@ export class AutoColumnSize extends BasePlugin {
170
214
  value: cellValue,
171
215
  bundleSeed
172
216
  };
173
- });
217
+ }));
174
218
  /**
175
219
  * `true` only if the first calculation was performed.
176
220
  *
177
221
  * @private
178
222
  * @type {boolean}
179
223
  */
180
- this.firstCalculation = true;
224
+ _defineProperty(this, "firstCalculation", true);
181
225
  /**
182
226
  * `true` if the size calculation is in progress.
183
227
  *
184
228
  * @type {boolean}
185
229
  */
186
- this.inProgress = false;
230
+ _defineProperty(this, "inProgress", false);
187
231
  /**
188
232
  * Number of already measured columns (we already know their sizes).
189
233
  *
190
234
  * @type {number}
191
235
  */
192
- this.measuredColumns = 0;
236
+ _defineProperty(this, "measuredColumns", 0);
193
237
  /**
194
238
  * PhysicalIndexToValueMap to keep and track widths for physical column indexes.
195
239
  *
196
240
  * @private
197
241
  * @type {PhysicalIndexToValueMap}
198
242
  */
199
- this.columnWidthsMap = new IndexToValueMap();
243
+ _defineProperty(this, "columnWidthsMap", new IndexToValueMap());
244
+ /**
245
+ * Cached column header names. It is used to diff current column headers with previous state and detect which
246
+ * columns width should be updated.
247
+ *
248
+ * @type {Array}
249
+ */
250
+ _classPrivateFieldInitSpec(this, _cachedColumnHeaders, {
251
+ writable: true,
252
+ value: []
253
+ });
200
254
  this.hot.columnIndexMapper.registerMap(COLUMN_SIZE_MAP_NAME, this.columnWidthsMap);
201
255
 
202
256
  // Leave the listener active to allow auto-sizing the columns when the plugin is disabled.
203
257
  // This is necessary for width recalculation for resize handler doubleclick (ManualColumnResize).
204
- this.addHook('beforeColumnResize', (size, column, isDblClick) => this.onBeforeColumnResize(size, column, isDblClick));
258
+ this.addHook('beforeColumnResize', (size, column, isDblClick) => _classPrivateMethodGet(this, _onBeforeColumnResize, _onBeforeColumnResize2).call(this, size, column, isDblClick));
205
259
  }
206
260
 
207
261
  /**
@@ -223,18 +277,21 @@ export class AutoColumnSize extends BasePlugin {
223
277
  return;
224
278
  }
225
279
  const setting = this.hot.getSettings()[PLUGIN_KEY];
226
- if (setting && setting.useHeaders !== null && setting.useHeaders !== void 0) {
280
+ if (setting && setting.useHeaders !== null && setting.useHeaders !== undefined) {
227
281
  this.ghostTable.setSetting('useHeaders', setting.useHeaders);
228
282
  }
229
283
  this.setSamplingOptions();
230
284
  this.addHook('afterLoadData', function () {
231
- return _this.onAfterLoadData(...arguments);
285
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
286
+ args[_key] = arguments[_key];
287
+ }
288
+ return _classPrivateMethodGet(_this, _onAfterLoadData, _onAfterLoadData2).call(_this, ...args);
232
289
  });
233
- this.addHook('beforeChangeRender', changes => this.onBeforeChange(changes));
234
- this.addHook('afterFormulasValuesUpdate', changes => this.onAfterFormulasValuesUpdate(changes));
235
- this.addHook('beforeViewRender', force => this.onBeforeViewRender(force));
290
+ this.addHook('beforeChangeRender', changes => _classPrivateMethodGet(this, _onBeforeChange, _onBeforeChange2).call(this, changes));
291
+ this.addHook('afterFormulasValuesUpdate', changes => _classPrivateMethodGet(this, _onAfterFormulasValuesUpdate, _onAfterFormulasValuesUpdate2).call(this, changes));
292
+ this.addHook('beforeViewRender', force => _classPrivateMethodGet(this, _onBeforeViewRender, _onBeforeViewRender2).call(this, force));
236
293
  this.addHook('modifyColWidth', (width, col) => this.getColumnWidth(col, width));
237
- this.addHook('afterInit', () => this.onAfterInit());
294
+ this.addHook('afterInit', () => _classPrivateMethodGet(this, _onAfterInit, _onAfterInit2).call(this));
238
295
  super.enablePlugin();
239
296
  }
240
297
 
@@ -258,7 +315,7 @@ export class AutoColumnSize extends BasePlugin {
258
315
 
259
316
  // Leave the listener active to allow auto-sizing the columns when the plugin is disabled.
260
317
  // This is necessary for width recalculation for resize handler doubleclick (ManualColumnResize).
261
- this.addHook('beforeColumnResize', (size, column, isDblClick) => this.onBeforeColumnResize(size, column, isDblClick));
318
+ this.addHook('beforeColumnResize', (size, column, isDblClick) => _classPrivateMethodGet(this, _onBeforeColumnResize, _onBeforeColumnResize2).call(this, size, column, isDblClick));
262
319
  }
263
320
 
264
321
  /**
@@ -280,7 +337,7 @@ export class AutoColumnSize extends BasePlugin {
280
337
  this.calculateColumnsWidth({
281
338
  from: firstVisibleColumn,
282
339
  to: lastVisibleColumn
283
- }, void 0, force);
340
+ }, undefined, force);
284
341
  }
285
342
 
286
343
  /**
@@ -336,7 +393,7 @@ export class AutoColumnSize extends BasePlugin {
336
393
 
337
394
  /**
338
395
  * Calculates all columns width. The calculated column will be cached in the {@link AutoColumnSize#widths} property.
339
- * To retrieve width for specified column use {@link AutoColumnSize#getColumnWidth} method.
396
+ * To retrieve width for specified column use {@link AutoColumnSize##getColumnWidth} method.
340
397
  *
341
398
  * @param {object|number} rowRange Row index or an object with `from` and `to` properties which define row range.
342
399
  */
@@ -397,8 +454,8 @@ export class AutoColumnSize extends BasePlugin {
397
454
  */
398
455
  setSamplingOptions() {
399
456
  const setting = this.hot.getSettings()[PLUGIN_KEY];
400
- const samplingRatio = setting && hasOwnProperty(setting, 'samplingRatio') ? setting.samplingRatio : void 0;
401
- const allowSampleDuplicates = setting && hasOwnProperty(setting, 'allowSampleDuplicates') ? setting.allowSampleDuplicates : void 0;
457
+ const samplingRatio = setting && hasOwnProperty(setting, 'samplingRatio') ? setting.samplingRatio : undefined;
458
+ const allowSampleDuplicates = setting && hasOwnProperty(setting, 'allowSampleDuplicates') ? setting.allowSampleDuplicates : undefined;
402
459
  if (samplingRatio && !isNaN(samplingRatio)) {
403
460
  this.samplesGenerator.setSampleCount(parseInt(samplingRatio, 10));
404
461
  }
@@ -449,10 +506,10 @@ export class AutoColumnSize extends BasePlugin {
449
506
  * @returns {number}
450
507
  */
451
508
  getColumnWidth(column) {
452
- let defaultWidth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : void 0;
509
+ let defaultWidth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
453
510
  let keepMinimum = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
454
511
  let width = defaultWidth;
455
- if (width === void 0) {
512
+ if (width === undefined) {
456
513
  width = this.columnWidthsMap.getValueAtIndex(this.hot.toPhysicalColumn(column));
457
514
  if (keepMinimum && typeof width === 'number') {
458
515
  width = Math.max(width, ViewportColumnsCalculator.DEFAULT_WIDTH);
@@ -520,18 +577,15 @@ export class AutoColumnSize extends BasePlugin {
520
577
  */
521
578
  findColumnsWhereHeaderWasChanged() {
522
579
  const columnHeaders = this.hot.getColHeader();
523
- const {
524
- cachedColumnHeaders
525
- } = privatePool.get(this);
526
580
  const changedColumns = arrayReduce(columnHeaders, (acc, columnTitle, physicalColumn) => {
527
- const cachedColumnsLength = cachedColumnHeaders.length;
528
- if (cachedColumnsLength - 1 < physicalColumn || cachedColumnHeaders[physicalColumn] !== columnTitle) {
581
+ const cachedColumnsLength = _classPrivateFieldGet(this, _cachedColumnHeaders).length;
582
+ if (cachedColumnsLength - 1 < physicalColumn || _classPrivateFieldGet(this, _cachedColumnHeaders)[physicalColumn] !== columnTitle) {
529
583
  acc.push(physicalColumn);
530
584
  }
531
585
  if (cachedColumnsLength - 1 < physicalColumn) {
532
- cachedColumnHeaders.push(columnTitle);
586
+ _classPrivateFieldGet(this, _cachedColumnHeaders).push(columnTitle);
533
587
  } else {
534
- cachedColumnHeaders[physicalColumn] = columnTitle;
588
+ _classPrivateFieldGet(this, _cachedColumnHeaders)[physicalColumn] = columnTitle;
535
589
  }
536
590
  return acc;
537
591
  }, []);
@@ -565,93 +619,6 @@ export class AutoColumnSize extends BasePlugin {
565
619
  isNeedRecalculate() {
566
620
  return !!arrayFilter(this.columnWidthsMap.getValues().slice(0, this.measuredColumns), item => item === null).length;
567
621
  }
568
-
569
- /**
570
- * On before view render listener.
571
- *
572
- * @private
573
- */
574
- onBeforeViewRender() {
575
- this.calculateVisibleColumnsWidth();
576
- if (this.isNeedRecalculate() && !this.inProgress) {
577
- this.calculateAllColumnsWidth();
578
- }
579
- }
580
-
581
- /**
582
- * On after load data listener.
583
- *
584
- * @private
585
- */
586
- onAfterLoadData() {
587
- if (this.hot.view) {
588
- this.recalculateAllColumnsWidth();
589
- } else {
590
- // first load - initialization
591
- setTimeout(() => {
592
- if (this.hot) {
593
- this.recalculateAllColumnsWidth();
594
- }
595
- }, 0);
596
- }
597
- }
598
-
599
- /**
600
- * On before change listener.
601
- *
602
- * @private
603
- * @param {Array} changes An array of modified data.
604
- */
605
- onBeforeChange(changes) {
606
- const changedColumns = arrayMap(changes, _ref2 => {
607
- let [, columnProperty] = _ref2;
608
- return this.hot.toPhysicalColumn(this.hot.propToCol(columnProperty));
609
- });
610
- this.clearCache(Array.from(new Set(changedColumns)));
611
- }
612
-
613
- /**
614
- * On before column resize listener.
615
- *
616
- * @private
617
- * @param {number} size Calculated new column width.
618
- * @param {number} column Visual index of the resized column.
619
- * @param {boolean} isDblClick Flag that determines whether there was a double-click.
620
- * @returns {number}
621
- */
622
- onBeforeColumnResize(size, column, isDblClick) {
623
- let newSize = size;
624
- if (isDblClick) {
625
- this.calculateColumnsWidth(column, void 0, true);
626
- newSize = this.getColumnWidth(column, void 0, false);
627
- }
628
- return newSize;
629
- }
630
-
631
- /**
632
- * On after Handsontable init fill plugin with all necessary values.
633
- *
634
- * @private
635
- */
636
- onAfterInit() {
637
- privatePool.get(this).cachedColumnHeaders = this.hot.getColHeader();
638
- }
639
-
640
- /**
641
- * After formulas values updated listener.
642
- *
643
- * @private
644
- * @param {Array} changes An array of modified data.
645
- */
646
- onAfterFormulasValuesUpdate(changes) {
647
- const filteredChanges = arrayFilter(changes, change => {
648
- var _change$address;
649
- return isDefined((_change$address = change.address) === null || _change$address === void 0 ? void 0 : _change$address.col);
650
- });
651
- const changedColumns = arrayMap(filteredChanges, change => change.address.col);
652
- this.clearCache(Array.from(new Set(changedColumns)));
653
- }
654
-
655
622
  /**
656
623
  * Destroys the plugin instance.
657
624
  */
@@ -659,4 +626,48 @@ export class AutoColumnSize extends BasePlugin {
659
626
  this.ghostTable.clean();
660
627
  super.destroy();
661
628
  }
629
+ }
630
+ function _onBeforeViewRender2() {
631
+ this.calculateVisibleColumnsWidth();
632
+ if (this.isNeedRecalculate() && !this.inProgress) {
633
+ this.calculateAllColumnsWidth();
634
+ }
635
+ }
636
+ function _onAfterLoadData2() {
637
+ if (this.hot.view) {
638
+ this.recalculateAllColumnsWidth();
639
+ } else {
640
+ // first load - initialization
641
+ setTimeout(() => {
642
+ if (this.hot) {
643
+ this.recalculateAllColumnsWidth();
644
+ }
645
+ }, 0);
646
+ }
647
+ }
648
+ function _onBeforeChange2(changes) {
649
+ const changedColumns = arrayMap(changes, _ref2 => {
650
+ let [, columnProperty] = _ref2;
651
+ return this.hot.toPhysicalColumn(this.hot.propToCol(columnProperty));
652
+ });
653
+ this.clearCache(Array.from(new Set(changedColumns)));
654
+ }
655
+ function _onBeforeColumnResize2(size, column, isDblClick) {
656
+ let newSize = size;
657
+ if (isDblClick) {
658
+ this.calculateColumnsWidth(column, undefined, true);
659
+ newSize = this.getColumnWidth(column, undefined, false);
660
+ }
661
+ return newSize;
662
+ }
663
+ function _onAfterInit2() {
664
+ _classPrivateFieldSet(this, _cachedColumnHeaders, this.hot.getColHeader());
665
+ }
666
+ function _onAfterFormulasValuesUpdate2(changes) {
667
+ const filteredChanges = arrayFilter(changes, change => {
668
+ var _change$address;
669
+ return isDefined((_change$address = change.address) === null || _change$address === void 0 ? void 0 : _change$address.col);
670
+ });
671
+ const changedColumns = arrayMap(filteredChanges, change => change.address.col);
672
+ this.clearCache(Array.from(new Set(changedColumns)));
662
673
  }