handsontable 14.4.0-next-1ffa7bc-20240606 → 14.5.0-next-ede811d-20240717

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 (446) hide show
  1. package/3rdparty/walkontable/src/calculator/renderAllColumns.js +1 -1
  2. package/3rdparty/walkontable/src/calculator/renderAllColumns.mjs +1 -1
  3. package/3rdparty/walkontable/src/calculator/renderAllRows.js +1 -1
  4. package/3rdparty/walkontable/src/calculator/renderAllRows.mjs +1 -1
  5. package/3rdparty/walkontable/src/calculator/viewportColumns.js +3 -3
  6. package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +3 -3
  7. package/3rdparty/walkontable/src/calculator/viewportRows.js +3 -3
  8. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +3 -3
  9. package/3rdparty/walkontable/src/cell/coords.js +3 -3
  10. package/3rdparty/walkontable/src/cell/coords.mjs +3 -3
  11. package/3rdparty/walkontable/src/cell/range.js +4 -4
  12. package/3rdparty/walkontable/src/cell/range.mjs +3 -3
  13. package/3rdparty/walkontable/src/core/_base.js +2 -2
  14. package/3rdparty/walkontable/src/core/_base.mjs +1 -1
  15. package/3rdparty/walkontable/src/core/clone.js +2 -2
  16. package/3rdparty/walkontable/src/core/clone.mjs +1 -1
  17. package/3rdparty/walkontable/src/core/core.js +17 -1
  18. package/3rdparty/walkontable/src/core/core.mjs +16 -0
  19. package/3rdparty/walkontable/src/event.js +2 -2
  20. package/3rdparty/walkontable/src/event.mjs +2 -2
  21. package/3rdparty/walkontable/src/facade/core.js +4 -1
  22. package/3rdparty/walkontable/src/facade/core.mjs +3 -0
  23. package/3rdparty/walkontable/src/filter/column.js +1 -1
  24. package/3rdparty/walkontable/src/filter/column.mjs +1 -1
  25. package/3rdparty/walkontable/src/filter/row.js +1 -1
  26. package/3rdparty/walkontable/src/filter/row.mjs +1 -1
  27. package/3rdparty/walkontable/src/index.js +1 -1
  28. package/3rdparty/walkontable/src/overlay/_base.js +2 -2
  29. package/3rdparty/walkontable/src/overlay/_base.mjs +1 -1
  30. package/3rdparty/walkontable/src/overlay/bottom.js +2 -2
  31. package/3rdparty/walkontable/src/overlay/bottom.mjs +1 -1
  32. package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.js +1 -1
  33. package/3rdparty/walkontable/src/overlay/inlineStart.js +1 -1
  34. package/3rdparty/walkontable/src/overlay/top.js +2 -2
  35. package/3rdparty/walkontable/src/overlay/top.mjs +1 -1
  36. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +2 -2
  37. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +1 -1
  38. package/3rdparty/walkontable/src/overlays.js +36 -4
  39. package/3rdparty/walkontable/src/overlays.mjs +36 -4
  40. package/3rdparty/walkontable/src/renderer/_base.js +2 -2
  41. package/3rdparty/walkontable/src/renderer/_base.mjs +1 -1
  42. package/3rdparty/walkontable/src/renderer/cells.js +2 -2
  43. package/3rdparty/walkontable/src/renderer/cells.mjs +1 -1
  44. package/3rdparty/walkontable/src/renderer/colGroup.js +1 -1
  45. package/3rdparty/walkontable/src/renderer/columnHeaders.js +1 -1
  46. package/3rdparty/walkontable/src/renderer/index.js +12 -1
  47. package/3rdparty/walkontable/src/renderer/index.mjs +11 -0
  48. package/3rdparty/walkontable/src/renderer/rowHeaders.js +2 -2
  49. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +1 -1
  50. package/3rdparty/walkontable/src/renderer/rows.js +2 -2
  51. package/3rdparty/walkontable/src/renderer/rows.mjs +1 -1
  52. package/3rdparty/walkontable/src/renderer/table.js +17 -2
  53. package/3rdparty/walkontable/src/renderer/table.mjs +17 -2
  54. package/3rdparty/walkontable/src/scroll.js +3 -3
  55. package/3rdparty/walkontable/src/scroll.mjs +3 -3
  56. package/3rdparty/walkontable/src/selection/index.js +1 -1
  57. package/3rdparty/walkontable/src/selection/manager.js +4 -4
  58. package/3rdparty/walkontable/src/selection/manager.mjs +3 -3
  59. package/3rdparty/walkontable/src/selection/scanner.js +3 -3
  60. package/3rdparty/walkontable/src/selection/scanner.mjs +3 -3
  61. package/3rdparty/walkontable/src/selection/selection.js +1 -1
  62. package/3rdparty/walkontable/src/settings.js +6 -2
  63. package/3rdparty/walkontable/src/settings.mjs +6 -2
  64. package/3rdparty/walkontable/src/table/bottom.js +1 -1
  65. package/3rdparty/walkontable/src/table/bottomInlineStartCorner.js +1 -1
  66. package/3rdparty/walkontable/src/table/inlineStart.js +1 -1
  67. package/3rdparty/walkontable/src/table/master.js +1 -1
  68. package/3rdparty/walkontable/src/table/top.js +1 -1
  69. package/3rdparty/walkontable/src/table/topInlineStartCorner.js +1 -1
  70. package/3rdparty/walkontable/src/table.js +3 -3
  71. package/3rdparty/walkontable/src/table.mjs +2 -2
  72. package/3rdparty/walkontable/src/utils/column.js +1 -1
  73. package/3rdparty/walkontable/src/utils/column.mjs +1 -1
  74. package/3rdparty/walkontable/src/utils/columnStretching.js +3 -3
  75. package/3rdparty/walkontable/src/utils/columnStretching.mjs +3 -3
  76. package/3rdparty/walkontable/src/utils/nodesPool.js +1 -1
  77. package/3rdparty/walkontable/src/utils/nodesPool.mjs +1 -1
  78. package/3rdparty/walkontable/src/utils/orderView/index.js +1 -1
  79. package/3rdparty/walkontable/src/utils/orderView/sharedView.js +1 -1
  80. package/3rdparty/walkontable/src/utils/orderView/view.js +2 -2
  81. package/3rdparty/walkontable/src/utils/orderView/view.mjs +1 -1
  82. package/3rdparty/walkontable/src/utils/orderView/viewSize.js +1 -1
  83. package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +1 -1
  84. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +2 -2
  85. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +1 -1
  86. package/3rdparty/walkontable/src/utils/row.js +17 -1
  87. package/3rdparty/walkontable/src/utils/row.mjs +17 -1
  88. package/CHANGELOG.md +27 -1
  89. package/base.js +3 -3
  90. package/base.mjs +2 -2
  91. package/cellTypes/registry.js +1 -1
  92. package/common.d.ts +3 -0
  93. package/core.d.ts +2 -0
  94. package/core.js +36 -31
  95. package/core.mjs +35 -30
  96. package/dataMap/dataMap.js +1 -1
  97. package/dataMap/dataMap.mjs +1 -1
  98. package/dataMap/dataSource.js +1 -1
  99. package/dataMap/dataSource.mjs +1 -1
  100. package/dataMap/index.js +1 -1
  101. package/dataMap/metaManager/index.js +1 -1
  102. package/dataMap/metaManager/lazyFactoryMap.js +1 -1
  103. package/dataMap/metaManager/lazyFactoryMap.mjs +1 -1
  104. package/dataMap/metaManager/metaLayers/cellMeta.js +2 -2
  105. package/dataMap/metaManager/metaLayers/cellMeta.mjs +1 -1
  106. package/dataMap/metaManager/metaLayers/columnMeta.js +2 -2
  107. package/dataMap/metaManager/metaLayers/columnMeta.mjs +1 -1
  108. package/dataMap/metaManager/metaLayers/globalMeta.js +2 -2
  109. package/dataMap/metaManager/metaLayers/globalMeta.mjs +1 -1
  110. package/dataMap/metaManager/metaLayers/tableMeta.js +1 -1
  111. package/dataMap/metaManager/metaLayers/tableMeta.mjs +1 -1
  112. package/dataMap/metaManager/metaSchema.js +25 -0
  113. package/dataMap/metaManager/metaSchema.mjs +25 -0
  114. package/dataMap/metaManager/mods/dynamicCellMeta.js +2 -2
  115. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +1 -1
  116. package/dataMap/metaManager/mods/extendMetaProperties.js +3 -3
  117. package/dataMap/metaManager/mods/extendMetaProperties.mjs +3 -3
  118. package/dataMap/replaceData.js +1 -1
  119. package/dist/handsontable.css +134 -88
  120. package/dist/handsontable.full.css +134 -88
  121. package/dist/handsontable.full.js +2191 -1503
  122. package/dist/handsontable.full.min.css +7 -7
  123. package/dist/handsontable.full.min.js +86 -86
  124. package/dist/handsontable.js +2180 -1440
  125. package/dist/handsontable.min.css +6 -6
  126. package/dist/handsontable.min.js +23 -23
  127. package/dist/languages/all.js +3 -3
  128. package/dist/languages/ar-AR.js +3 -3
  129. package/dist/languages/cs-CZ.js +3 -3
  130. package/dist/languages/de-CH.js +3 -3
  131. package/dist/languages/de-DE.js +3 -3
  132. package/dist/languages/en-US.js +3 -3
  133. package/dist/languages/es-MX.js +3 -3
  134. package/dist/languages/fr-FR.js +3 -3
  135. package/dist/languages/hr-HR.js +3 -3
  136. package/dist/languages/it-IT.js +3 -3
  137. package/dist/languages/ja-JP.js +3 -3
  138. package/dist/languages/ko-KR.js +3 -3
  139. package/dist/languages/lv-LV.js +3 -3
  140. package/dist/languages/nb-NO.js +3 -3
  141. package/dist/languages/nl-NL.js +3 -3
  142. package/dist/languages/pl-PL.js +3 -3
  143. package/dist/languages/pt-BR.js +3 -3
  144. package/dist/languages/ru-RU.js +3 -3
  145. package/dist/languages/sr-SP.js +3 -3
  146. package/dist/languages/zh-CN.js +3 -3
  147. package/dist/languages/zh-TW.js +3 -3
  148. package/editorManager.js +4 -4
  149. package/editorManager.mjs +3 -3
  150. package/editors/autocompleteEditor/autocompleteEditor.js +3 -3
  151. package/editors/autocompleteEditor/autocompleteEditor.mjs +3 -3
  152. package/editors/baseEditor/baseEditor.js +2 -2
  153. package/editors/baseEditor/baseEditor.mjs +1 -1
  154. package/editors/dateEditor/dateEditor.js +2 -2
  155. package/editors/dateEditor/dateEditor.mjs +1 -1
  156. package/editors/dropdownEditor/dropdownEditor.js +1 -1
  157. package/editors/registry.js +1 -1
  158. package/editors/textEditor/textEditor.js +2 -2
  159. package/editors/textEditor/textEditor.mjs +1 -1
  160. package/eventManager.js +1 -1
  161. package/eventManager.mjs +1 -1
  162. package/focusManager.js +3 -3
  163. package/focusManager.mjs +3 -3
  164. package/helpers/dom/event.d.ts +1 -0
  165. package/helpers/dom/event.js +11 -0
  166. package/helpers/dom/event.mjs +10 -0
  167. package/helpers/mixed.js +3 -3
  168. package/helpers/mixed.mjs +2 -2
  169. package/helpers/string.js +1 -1
  170. package/i18n/languages/index.js +1 -1
  171. package/i18n/phraseFormatters/index.js +1 -1
  172. package/i18n/registry.js +1 -1
  173. package/index.js +1 -1
  174. package/languages/all.js +3 -3
  175. package/languages/ar-AR.js +3 -3
  176. package/languages/cs-CZ.js +3 -3
  177. package/languages/de-CH.js +3 -3
  178. package/languages/de-DE.js +3 -3
  179. package/languages/en-US.js +3 -3
  180. package/languages/es-MX.js +3 -3
  181. package/languages/fr-FR.js +3 -3
  182. package/languages/hr-HR.js +3 -3
  183. package/languages/index.js +3 -3
  184. package/languages/it-IT.js +3 -3
  185. package/languages/ja-JP.js +3 -3
  186. package/languages/ko-KR.js +3 -3
  187. package/languages/lv-LV.js +3 -3
  188. package/languages/nb-NO.js +3 -3
  189. package/languages/nl-NL.js +3 -3
  190. package/languages/pl-PL.js +3 -3
  191. package/languages/pt-BR.js +3 -3
  192. package/languages/ru-RU.js +3 -3
  193. package/languages/sr-SP.js +3 -3
  194. package/languages/zh-CN.js +3 -3
  195. package/languages/zh-TW.js +3 -3
  196. package/package.json +1 -5
  197. package/pluginHooks.d.ts +3 -1
  198. package/pluginHooks.js +12 -1
  199. package/pluginHooks.mjs +12 -1
  200. package/plugins/autoColumnSize/autoColumnSize.d.ts +1 -1
  201. package/plugins/autoColumnSize/autoColumnSize.js +123 -123
  202. package/plugins/autoColumnSize/autoColumnSize.mjs +122 -122
  203. package/plugins/autoRowSize/autoRowSize.d.ts +2 -1
  204. package/plugins/autoRowSize/autoRowSize.js +162 -100
  205. package/plugins/autoRowSize/autoRowSize.mjs +161 -99
  206. package/plugins/autofill/autofill.js +4 -4
  207. package/plugins/autofill/autofill.mjs +3 -3
  208. package/plugins/base/base.js +5 -5
  209. package/plugins/base/base.mjs +4 -4
  210. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +4 -4
  211. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +3 -3
  212. package/plugins/collapsibleColumns/collapsibleColumns.js +4 -4
  213. package/plugins/collapsibleColumns/collapsibleColumns.mjs +4 -4
  214. package/plugins/columnSorting/columnSorting.js +6 -5
  215. package/plugins/columnSorting/columnSorting.mjs +5 -4
  216. package/plugins/columnSorting/columnStatesManager.js +1 -1
  217. package/plugins/columnSorting/columnStatesManager.mjs +1 -1
  218. package/plugins/columnSorting/sortService/registry.js +1 -1
  219. package/plugins/columnSorting/utils.js +1 -1
  220. package/plugins/columnSummary/columnSummary.d.ts +1 -1
  221. package/plugins/columnSummary/columnSummary.js +4 -4
  222. package/plugins/columnSummary/columnSummary.mjs +3 -3
  223. package/plugins/columnSummary/endpoints.js +1 -1
  224. package/plugins/columnSummary/endpoints.mjs +1 -1
  225. package/plugins/comments/commentEditor.js +74 -39
  226. package/plugins/comments/commentEditor.mjs +73 -39
  227. package/plugins/comments/comments.js +25 -44
  228. package/plugins/comments/comments.mjs +25 -44
  229. package/plugins/comments/displaySwitch.js +2 -2
  230. package/plugins/comments/displaySwitch.mjs +1 -1
  231. package/plugins/comments/editorResizeObserver.js +100 -0
  232. package/plugins/comments/editorResizeObserver.mjs +95 -0
  233. package/plugins/contextMenu/commandExecutor.js +1 -1
  234. package/plugins/contextMenu/commandExecutor.mjs +1 -1
  235. package/plugins/contextMenu/contextMenu.js +4 -4
  236. package/plugins/contextMenu/contextMenu.mjs +3 -3
  237. package/plugins/contextMenu/itemsFactory.js +1 -1
  238. package/plugins/contextMenu/itemsFactory.mjs +1 -1
  239. package/plugins/contextMenu/menu/cursor.js +1 -1
  240. package/plugins/contextMenu/menu/cursor.mjs +1 -1
  241. package/plugins/contextMenu/menu/menu.js +5 -4
  242. package/plugins/contextMenu/menu/menu.mjs +4 -3
  243. package/plugins/contextMenu/menu/positioner.js +2 -2
  244. package/plugins/contextMenu/menu/positioner.mjs +2 -2
  245. package/plugins/copyPaste/copyPaste.js +5 -5
  246. package/plugins/copyPaste/copyPaste.mjs +4 -4
  247. package/plugins/copyPaste/copyableRanges.js +3 -3
  248. package/plugins/copyPaste/copyableRanges.mjs +3 -3
  249. package/plugins/copyPaste/pasteEvent.js +1 -1
  250. package/plugins/customBorders/contextMenuItem/index.js +1 -1
  251. package/plugins/customBorders/customBorders.js +3 -3
  252. package/plugins/customBorders/customBorders.mjs +3 -3
  253. package/plugins/dragToScroll/dragToScroll.js +4 -4
  254. package/plugins/dragToScroll/dragToScroll.mjs +4 -4
  255. package/plugins/dropdownMenu/dropdownMenu.js +5 -5
  256. package/plugins/dropdownMenu/dropdownMenu.mjs +4 -4
  257. package/plugins/exportFile/dataProvider.js +1 -1
  258. package/plugins/exportFile/dataProvider.mjs +1 -1
  259. package/plugins/exportFile/exportFile.js +1 -1
  260. package/plugins/exportFile/typeFactory.js +1 -1
  261. package/plugins/exportFile/types/_base.js +1 -1
  262. package/plugins/exportFile/types/_base.mjs +1 -1
  263. package/plugins/exportFile/types/csv.js +1 -1
  264. package/plugins/filters/component/_base.js +2 -2
  265. package/plugins/filters/component/_base.mjs +1 -1
  266. package/plugins/filters/component/actionBar.js +3 -3
  267. package/plugins/filters/component/actionBar.mjs +3 -3
  268. package/plugins/filters/component/condition.js +3 -3
  269. package/plugins/filters/component/condition.mjs +3 -3
  270. package/plugins/filters/component/operators.js +3 -3
  271. package/plugins/filters/component/operators.mjs +3 -3
  272. package/plugins/filters/component/value.js +3 -3
  273. package/plugins/filters/component/value.mjs +3 -3
  274. package/plugins/filters/condition/date/after.js +1 -1
  275. package/plugins/filters/condition/date/before.js +1 -1
  276. package/plugins/filters/condition/date/today.js +1 -1
  277. package/plugins/filters/condition/date/tomorrow.js +1 -1
  278. package/plugins/filters/condition/date/yesterday.js +1 -1
  279. package/plugins/filters/conditionCollection.js +2 -2
  280. package/plugins/filters/conditionCollection.mjs +1 -1
  281. package/plugins/filters/conditionUpdateObserver.js +4 -4
  282. package/plugins/filters/conditionUpdateObserver.mjs +3 -3
  283. package/plugins/filters/dataFilter.js +1 -1
  284. package/plugins/filters/dataFilter.mjs +1 -1
  285. package/plugins/filters/filters.js +5 -5
  286. package/plugins/filters/filters.mjs +4 -4
  287. package/plugins/filters/ui/_base.js +2 -2
  288. package/plugins/filters/ui/_base.mjs +1 -1
  289. package/plugins/filters/ui/input.js +3 -3
  290. package/plugins/filters/ui/input.mjs +3 -3
  291. package/plugins/filters/ui/link.js +2 -2
  292. package/plugins/filters/ui/link.mjs +2 -2
  293. package/plugins/filters/ui/multipleSelect.js +3 -3
  294. package/plugins/filters/ui/multipleSelect.mjs +3 -3
  295. package/plugins/filters/ui/radioInput.js +2 -2
  296. package/plugins/filters/ui/radioInput.mjs +2 -2
  297. package/plugins/filters/ui/select.js +3 -3
  298. package/plugins/filters/ui/select.mjs +3 -3
  299. package/plugins/formulas/engine/register.js +1 -1
  300. package/plugins/formulas/formulas.js +7 -7
  301. package/plugins/formulas/formulas.mjs +6 -6
  302. package/plugins/formulas/indexSyncer/axisSyncer.js +2 -2
  303. package/plugins/formulas/indexSyncer/axisSyncer.mjs +2 -2
  304. package/plugins/formulas/indexSyncer/index.js +3 -3
  305. package/plugins/formulas/indexSyncer/index.mjs +2 -2
  306. package/plugins/formulas/utils.js +1 -1
  307. package/plugins/hiddenColumns/hiddenColumns.js +4 -4
  308. package/plugins/hiddenColumns/hiddenColumns.mjs +3 -3
  309. package/plugins/hiddenRows/hiddenRows.js +4 -4
  310. package/plugins/hiddenRows/hiddenRows.mjs +3 -3
  311. package/plugins/manualColumnFreeze/manualColumnFreeze.js +4 -4
  312. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +3 -3
  313. package/plugins/manualColumnMove/manualColumnMove.js +4 -4
  314. package/plugins/manualColumnMove/manualColumnMove.mjs +3 -3
  315. package/plugins/manualColumnMove/ui/_base.js +1 -1
  316. package/plugins/manualColumnMove/ui/_base.mjs +1 -1
  317. package/plugins/manualColumnMove/ui/backlight.js +1 -1
  318. package/plugins/manualColumnMove/ui/guideline.js +1 -1
  319. package/plugins/manualColumnResize/manualColumnResize.js +3 -3
  320. package/plugins/manualColumnResize/manualColumnResize.mjs +3 -3
  321. package/plugins/manualRowMove/manualRowMove.js +4 -4
  322. package/plugins/manualRowMove/manualRowMove.mjs +3 -3
  323. package/plugins/manualRowMove/ui/_base.js +1 -1
  324. package/plugins/manualRowMove/ui/_base.mjs +1 -1
  325. package/plugins/manualRowMove/ui/backlight.js +1 -1
  326. package/plugins/manualRowMove/ui/guideline.js +1 -1
  327. package/plugins/manualRowResize/manualRowResize.js +3 -3
  328. package/plugins/manualRowResize/manualRowResize.mjs +3 -3
  329. package/plugins/mergeCells/calculations/autofill.js +2 -2
  330. package/plugins/mergeCells/calculations/autofill.mjs +2 -2
  331. package/plugins/mergeCells/calculations/selection.js +1 -1
  332. package/plugins/mergeCells/calculations/selection.mjs +1 -1
  333. package/plugins/mergeCells/cellCoords.js +81 -24
  334. package/plugins/mergeCells/cellCoords.mjs +81 -24
  335. package/plugins/mergeCells/cellsCollection.js +167 -91
  336. package/plugins/mergeCells/cellsCollection.mjs +166 -90
  337. package/plugins/mergeCells/contextMenuItem/toggleMerge.js +1 -1
  338. package/plugins/mergeCells/focusOrder.js +4 -4
  339. package/plugins/mergeCells/focusOrder.mjs +3 -3
  340. package/plugins/mergeCells/mergeCells.js +171 -122
  341. package/plugins/mergeCells/mergeCells.mjs +171 -122
  342. package/plugins/mergeCells/renderer.js +74 -0
  343. package/plugins/mergeCells/renderer.mjs +70 -0
  344. package/plugins/multiColumnSorting/multiColumnSorting.js +2 -1
  345. package/plugins/multiColumnSorting/multiColumnSorting.mjs +2 -1
  346. package/plugins/multiColumnSorting/utils.js +1 -1
  347. package/plugins/multiColumnSorting/utils.mjs +1 -1
  348. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +1 -1
  349. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +1 -1
  350. package/plugins/nestedHeaders/nestedHeaders.d.ts +1 -0
  351. package/plugins/nestedHeaders/nestedHeaders.js +20 -9
  352. package/plugins/nestedHeaders/nestedHeaders.mjs +20 -9
  353. package/plugins/nestedHeaders/stateManager/headersTree.js +3 -3
  354. package/plugins/nestedHeaders/stateManager/headersTree.mjs +2 -2
  355. package/plugins/nestedHeaders/stateManager/index.js +3 -3
  356. package/plugins/nestedHeaders/stateManager/index.mjs +2 -2
  357. package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +5 -1
  358. package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +5 -1
  359. package/plugins/nestedHeaders/stateManager/sourceSettings.js +2 -2
  360. package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +2 -2
  361. package/plugins/nestedHeaders/stateManager/utils.js +6 -2
  362. package/plugins/nestedHeaders/stateManager/utils.mjs +6 -2
  363. package/plugins/nestedHeaders/utils/ghostTable.js +1 -1
  364. package/plugins/nestedHeaders/utils/ghostTable.mjs +1 -1
  365. package/plugins/nestedRows/data/dataManager.js +1 -1
  366. package/plugins/nestedRows/data/dataManager.mjs +1 -1
  367. package/plugins/nestedRows/nestedRows.js +5 -5
  368. package/plugins/nestedRows/nestedRows.mjs +4 -4
  369. package/plugins/nestedRows/ui/_base.js +1 -1
  370. package/plugins/nestedRows/ui/_base.mjs +1 -1
  371. package/plugins/nestedRows/ui/collapsing.js +1 -1
  372. package/plugins/nestedRows/ui/contextMenu.js +4 -4
  373. package/plugins/nestedRows/ui/contextMenu.mjs +3 -3
  374. package/plugins/nestedRows/ui/headers.js +1 -1
  375. package/plugins/nestedRows/utils/rowMoveController.js +1 -1
  376. package/plugins/nestedRows/utils/rowMoveController.mjs +1 -1
  377. package/plugins/persistentState/persistentState.js +2 -2
  378. package/plugins/persistentState/persistentState.mjs +1 -1
  379. package/plugins/persistentState/storage.js +1 -1
  380. package/plugins/persistentState/storage.mjs +1 -1
  381. package/plugins/search/search.js +3 -3
  382. package/plugins/search/search.mjs +3 -3
  383. package/plugins/touchScroll/touchScroll.js +3 -3
  384. package/plugins/touchScroll/touchScroll.mjs +3 -3
  385. package/plugins/trimRows/trimRows.js +3 -3
  386. package/plugins/trimRows/trimRows.mjs +3 -3
  387. package/plugins/undoRedo/undoRedo.js +38 -1
  388. package/plugins/undoRedo/undoRedo.mjs +37 -0
  389. package/renderers/autocompleteRenderer/autocompleteRenderer.js +1 -1
  390. package/renderers/checkboxRenderer/checkboxRenderer.js +1 -1
  391. package/renderers/numericRenderer/numericRenderer.js +1 -1
  392. package/renderers/registry.js +1 -1
  393. package/selection/highlight/highlight.js +3 -3
  394. package/selection/highlight/highlight.mjs +3 -3
  395. package/selection/highlight/types/activeHeader.js +1 -1
  396. package/selection/highlight/types/area.js +1 -1
  397. package/selection/highlight/types/areaLayered.js +1 -1
  398. package/selection/highlight/types/column.js +1 -1
  399. package/selection/highlight/types/customSelection.js +1 -1
  400. package/selection/highlight/types/fill.js +1 -1
  401. package/selection/highlight/types/focus.js +1 -1
  402. package/selection/highlight/types/header.js +1 -1
  403. package/selection/highlight/types/row.js +1 -1
  404. package/selection/highlight/visualSelection.js +1 -1
  405. package/selection/highlight/visualSelection.mjs +1 -1
  406. package/selection/index.js +1 -1
  407. package/selection/range.js +1 -1
  408. package/selection/range.mjs +1 -1
  409. package/selection/selection.js +8 -4
  410. package/selection/selection.mjs +7 -3
  411. package/selection/transformation.js +14 -4
  412. package/selection/transformation.mjs +13 -3
  413. package/settings.d.ts +1 -0
  414. package/shortcuts/utils.js +18 -27
  415. package/shortcuts/utils.mjs +18 -27
  416. package/tableView.js +126 -28
  417. package/tableView.mjs +125 -27
  418. package/translations/changesObservable/observable.js +2 -2
  419. package/translations/changesObservable/observable.mjs +2 -2
  420. package/translations/changesObservable/observer.js +3 -3
  421. package/translations/changesObservable/observer.mjs +2 -2
  422. package/translations/indexMapper.js +2 -2
  423. package/translations/indexMapper.mjs +1 -1
  424. package/translations/mapCollections/aggregatedCollection.js +1 -1
  425. package/translations/mapCollections/aggregatedCollection.mjs +1 -1
  426. package/translations/mapCollections/mapCollection.js +2 -2
  427. package/translations/mapCollections/mapCollection.mjs +1 -1
  428. package/translations/maps/indexMap.js +2 -2
  429. package/translations/maps/indexMap.mjs +1 -1
  430. package/translations/maps/linkedPhysicalIndexToValueMap.js +1 -1
  431. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +1 -1
  432. package/utils/dataStructures/linkedList.js +1 -1
  433. package/utils/dataStructures/linkedList.mjs +1 -1
  434. package/utils/dataStructures/tree.js +1 -1
  435. package/utils/dataStructures/tree.mjs +1 -1
  436. package/utils/ghostTable.js +1 -1
  437. package/utils/ghostTable.mjs +1 -1
  438. package/utils/interval.js +4 -4
  439. package/utils/interval.mjs +4 -4
  440. package/utils/samplesGenerator.js +1 -1
  441. package/utils/samplesGenerator.mjs +1 -1
  442. package/validators/dateValidator/dateValidator.js +1 -1
  443. package/validators/registry.js +1 -1
  444. package/validators/timeValidator/timeValidator.js +1 -1
  445. package/plugins/mergeCells/utils.js +0 -28
  446. package/plugins/mergeCells/utils.mjs +0 -24
@@ -1,8 +1,8 @@
1
1
  import "core-js/modules/es.error.cause.js";
2
2
  import "core-js/modules/es.array.push.js";
3
- function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
4
- function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
5
- 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; }
3
+ function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
4
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
5
+ 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; }
6
6
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
7
7
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
8
  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"); }
@@ -195,6 +195,7 @@ export class ColumnSorting extends BasePlugin {
195
195
  if (this.indexesSequenceCache !== null) {
196
196
  this.hot.rowIndexMapper.setIndexesSequence(this.indexesSequenceCache.getValues());
197
197
  this.hot.rowIndexMapper.unregisterMap(this.pluginKey);
198
+ this.indexesSequenceCache = null;
198
199
  }
199
200
  }, true);
200
201
  this.hot.columnIndexMapper.unregisterMap(`${this.pluginKey}.columnMeta`);
@@ -582,8 +583,8 @@ export class ColumnSorting extends BasePlugin {
582
583
  * @private
583
584
  */
584
585
  sortByPresetSortStates(sortConfigs) {
586
+ this.hot.rowIndexMapper.setIndexesSequence(this.indexesSequenceCache.getValues());
585
587
  if (sortConfigs.length === 0) {
586
- this.hot.rowIndexMapper.setIndexesSequence(this.indexesSequenceCache.getValues());
587
588
  return;
588
589
  }
589
590
  const indexesWithData = [];
@@ -5,7 +5,7 @@ require("core-js/modules/es.error.cause.js");
5
5
  var _object = require("../../helpers/object");
6
6
  var _translations = require("../../translations");
7
7
  var _mixed = require("../../helpers/mixed");
8
- 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; }
8
+ 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; }
9
9
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
10
10
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
11
11
  const inheritedColumnProperties = ['sortEmptyCells', 'indicator', 'headerAction', 'compareFunctionFactory'];
@@ -1,5 +1,5 @@
1
1
  import "core-js/modules/es.error.cause.js";
2
- 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; }
2
+ 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; }
3
3
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
4
4
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
5
5
  import { isObject, objectEach } from "../../helpers/object.mjs";
@@ -8,7 +8,7 @@ var _checkbox = require("../sortFunction/checkbox");
8
8
  var _date = require("../sortFunction/date");
9
9
  var _time = require("../sortFunction/time");
10
10
  var _staticRegister = _interopRequireDefault(require("../../../utils/staticRegister"));
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
12
  const {
13
13
  register: registerCompareFunctionFactory,
14
14
  getItem: getGloballyCompareFunctionFactory,
@@ -19,7 +19,7 @@ var _object = require("../../helpers/object");
19
19
  var _event = require("../../helpers/dom/event");
20
20
  var _mixed = require("../../helpers/mixed");
21
21
  var _sortService = require("./sortService");
22
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
23
23
  const ASC_SORT_STATE = exports.ASC_SORT_STATE = 'asc';
24
24
  const DESC_SORT_STATE = exports.DESC_SORT_STATE = 'desc';
25
25
  const HEADER_SPAN_CLASS = exports.HEADER_SPAN_CLASS = 'colHeader';
@@ -18,7 +18,7 @@ export type DetailedSettings = {
18
18
  customFunction: (this: ColumnSummary, endpoint: Endpoint) => number;
19
19
  });
20
20
 
21
- export type Settings = DetailedSettings[] | (() => DetailedSettings[]);
21
+ export type Settings = DetailedSettings[] | ((this: ColumnSummary) => DetailedSettings[]);
22
22
 
23
23
  export interface Endpoint {
24
24
  destinationRow: number;
@@ -7,10 +7,10 @@ var _object = require("../../helpers/object");
7
7
  var _endpoints = _interopRequireDefault(require("./endpoints"));
8
8
  var _templateLiteralTag = require("../../helpers/templateLiteralTag");
9
9
  var _utils = require("./utils");
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
- function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
12
- function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
13
- 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; }
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
12
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
13
+ 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; }
14
14
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
15
15
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
16
16
  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"); }
@@ -1,7 +1,7 @@
1
1
  import "core-js/modules/es.error.cause.js";
2
- function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
3
- function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
4
- 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; }
2
+ function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
3
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
4
+ 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; }
5
5
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
6
6
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
7
  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"); }
@@ -5,7 +5,7 @@ require("core-js/modules/es.error.cause.js");
5
5
  require("core-js/modules/es.array.push.js");
6
6
  var _array = require("../../helpers/array");
7
7
  var _console = require("../../helpers/console");
8
- 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; }
8
+ 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; }
9
9
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
10
10
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
11
11
  /**
@@ -1,6 +1,6 @@
1
1
  import "core-js/modules/es.error.cause.js";
2
2
  import "core-js/modules/es.array.push.js";
3
- 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; }
3
+ 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; }
4
4
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
5
5
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
6
6
  import { arrayEach } from "../../helpers/array.mjs";
@@ -3,15 +3,28 @@
3
3
  exports.__esModule = true;
4
4
  require("core-js/modules/es.error.cause.js");
5
5
  var _element = require("../../helpers/dom/element");
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(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
8
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
6
+ var _object = require("../../helpers/object");
7
+ var _localHooks = _interopRequireDefault(require("../../mixins/localHooks"));
8
+ var _editorResizeObserver = require("./editorResizeObserver");
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
11
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
12
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
13
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
14
+ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
9
15
  /**
10
16
  * Comment editor for the Comments plugin.
11
17
  *
12
18
  * @private
13
19
  * @class CommentEditor
14
20
  */
21
+ var _rootDocument = /*#__PURE__*/new WeakMap();
22
+ var _isRtl = /*#__PURE__*/new WeakMap();
23
+ var _container = /*#__PURE__*/new WeakMap();
24
+ var _editor = /*#__PURE__*/new WeakMap();
25
+ var _editorStyle = /*#__PURE__*/new WeakMap();
26
+ var _hidden = /*#__PURE__*/new WeakMap();
27
+ var _resizeObserver = /*#__PURE__*/new WeakMap();
15
28
  class CommentEditor {
16
29
  static get CLASS_EDITOR_CONTAINER() {
17
30
  return 'htCommentsContainer';
@@ -27,35 +40,47 @@ class CommentEditor {
27
40
  }
28
41
 
29
42
  /**
30
- * @type {HTMLDocument}
43
+ * @type {Document}
31
44
  */
32
45
 
33
46
  constructor(rootDocument, isRtl) {
34
- _defineProperty(this, "rootDocument", void 0);
47
+ var _this = this;
48
+ _classPrivateFieldInitSpec(this, _rootDocument, void 0);
35
49
  /**
36
50
  * @type {boolean}
37
51
  */
38
- _defineProperty(this, "isRtl", false);
52
+ _classPrivateFieldInitSpec(this, _isRtl, false);
39
53
  /**
40
54
  * @type {HTMLElement}
41
55
  */
42
- _defineProperty(this, "container", null);
56
+ _classPrivateFieldInitSpec(this, _container, null);
43
57
  /**
44
58
  * @type {HTMLElement}
45
59
  */
46
- _defineProperty(this, "editor", void 0);
60
+ _classPrivateFieldInitSpec(this, _editor, void 0);
47
61
  /**
48
62
  * @type {CSSStyleDeclaration}
49
63
  */
50
- _defineProperty(this, "editorStyle", void 0);
64
+ _classPrivateFieldInitSpec(this, _editorStyle, void 0);
51
65
  /**
52
66
  * @type {boolean}
53
67
  */
54
- _defineProperty(this, "hidden", true);
55
- this.rootDocument = rootDocument;
56
- this.isRtl = isRtl;
57
- this.editor = this.createEditor();
58
- this.editorStyle = this.editor.style;
68
+ _classPrivateFieldInitSpec(this, _hidden, true);
69
+ /**
70
+ * @type {EditorResizeObserver}
71
+ */
72
+ _classPrivateFieldInitSpec(this, _resizeObserver, new _editorResizeObserver.EditorResizeObserver());
73
+ _classPrivateFieldSet(_rootDocument, this, rootDocument);
74
+ _classPrivateFieldSet(_isRtl, this, isRtl);
75
+ _classPrivateFieldSet(_editor, this, this.createEditor());
76
+ _classPrivateFieldSet(_editorStyle, this, _classPrivateFieldGet(_editor, this).style);
77
+ _classPrivateFieldGet(_resizeObserver, this).setObservedElement(this.getInputElement());
78
+ _classPrivateFieldGet(_resizeObserver, this).addLocalHook('resize', function () {
79
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
80
+ args[_key] = arguments[_key];
81
+ }
82
+ return _this.runLocalHooks('resize', ...args);
83
+ });
59
84
  this.hide();
60
85
  }
61
86
 
@@ -66,8 +91,8 @@ class CommentEditor {
66
91
  * @param {number} y Y position (in pixels).
67
92
  */
68
93
  setPosition(x, y) {
69
- this.editorStyle.left = `${x}px`;
70
- this.editorStyle.top = `${y}px`;
94
+ _classPrivateFieldGet(_editorStyle, this).left = `${x}px`;
95
+ _classPrivateFieldGet(_editorStyle, this).top = `${y}px`;
71
96
  }
72
97
 
73
98
  /**
@@ -96,6 +121,13 @@ class CommentEditor {
96
121
  };
97
122
  }
98
123
 
124
+ /**
125
+ * Starts observing the editor size.
126
+ */
127
+ observeSize() {
128
+ _classPrivateFieldGet(_resizeObserver, this).observe();
129
+ }
130
+
99
131
  /**
100
132
  * Reset the editor size to its initial state.
101
133
  */
@@ -119,18 +151,19 @@ class CommentEditor {
119
151
  * Show the comments editor.
120
152
  */
121
153
  show() {
122
- this.editorStyle.display = 'block';
123
- this.hidden = false;
154
+ _classPrivateFieldGet(_editorStyle, this).display = 'block';
155
+ _classPrivateFieldSet(_hidden, this, false);
124
156
  }
125
157
 
126
158
  /**
127
159
  * Hide the comments editor.
128
160
  */
129
161
  hide() {
130
- if (!this.hidden) {
131
- this.editorStyle.display = 'none';
162
+ _classPrivateFieldGet(_resizeObserver, this).unobserve();
163
+ if (!_classPrivateFieldGet(_hidden, this)) {
164
+ _classPrivateFieldGet(_editorStyle, this).display = 'none';
132
165
  }
133
- this.hidden = true;
166
+ _classPrivateFieldSet(_hidden, this, true);
134
167
  }
135
168
 
136
169
  /**
@@ -139,7 +172,7 @@ class CommentEditor {
139
172
  * @returns {boolean}
140
173
  */
141
174
  isVisible() {
142
- return this.editorStyle.display === 'block';
175
+ return _classPrivateFieldGet(_editorStyle, this).display === 'block';
143
176
  }
144
177
 
145
178
  /**
@@ -168,7 +201,7 @@ class CommentEditor {
168
201
  * @returns {boolean}
169
202
  */
170
203
  isFocused() {
171
- return this.rootDocument.activeElement === this.getInputElement();
204
+ return _classPrivateFieldGet(_rootDocument, this).activeElement === this.getInputElement();
172
205
  }
173
206
 
174
207
  /**
@@ -184,18 +217,18 @@ class CommentEditor {
184
217
  * @returns {HTMLElement}
185
218
  */
186
219
  createEditor() {
187
- const editor = this.rootDocument.createElement('div');
188
- const textArea = this.rootDocument.createElement('textarea');
220
+ const editor = _classPrivateFieldGet(_rootDocument, this).createElement('div');
221
+ const textarea = _classPrivateFieldGet(_rootDocument, this).createElement('textarea');
189
222
  editor.style.display = 'none';
190
- this.container = this.rootDocument.createElement('div');
191
- this.container.setAttribute('dir', this.isRtl ? 'rtl' : 'ltr');
192
- (0, _element.addClass)(this.container, CommentEditor.CLASS_EDITOR_CONTAINER);
193
- this.rootDocument.body.appendChild(this.container);
223
+ _classPrivateFieldSet(_container, this, _classPrivateFieldGet(_rootDocument, this).createElement('div'));
224
+ _classPrivateFieldGet(_container, this).setAttribute('dir', _classPrivateFieldGet(_isRtl, this) ? 'rtl' : 'ltr');
225
+ (0, _element.addClass)(_classPrivateFieldGet(_container, this), CommentEditor.CLASS_EDITOR_CONTAINER);
226
+ _classPrivateFieldGet(_rootDocument, this).body.appendChild(_classPrivateFieldGet(_container, this));
194
227
  (0, _element.addClass)(editor, CommentEditor.CLASS_EDITOR);
195
- (0, _element.addClass)(textArea, CommentEditor.CLASS_INPUT);
196
- textArea.setAttribute('data-hot-input', true);
197
- editor.appendChild(textArea);
198
- this.container.appendChild(editor);
228
+ (0, _element.addClass)(textarea, CommentEditor.CLASS_INPUT);
229
+ textarea.setAttribute('data-hot-input', true);
230
+ editor.appendChild(textarea);
231
+ _classPrivateFieldGet(_container, this).appendChild(editor);
199
232
  return editor;
200
233
  }
201
234
 
@@ -205,20 +238,22 @@ class CommentEditor {
205
238
  * @returns {HTMLElement}
206
239
  */
207
240
  getInputElement() {
208
- return this.editor.querySelector(`.${CommentEditor.CLASS_INPUT}`);
241
+ return _classPrivateFieldGet(_editor, this).querySelector(`.${CommentEditor.CLASS_INPUT}`);
209
242
  }
210
243
 
211
244
  /**
212
245
  * Destroy the comments editor.
213
246
  */
214
247
  destroy() {
215
- const containerParentElement = this.container ? this.container.parentNode : null;
216
- this.editor.parentNode.removeChild(this.editor);
217
- this.editor = null;
218
- this.editorStyle = null;
248
+ const containerParentElement = _classPrivateFieldGet(_container, this) ? _classPrivateFieldGet(_container, this).parentNode : null;
249
+ _classPrivateFieldGet(_editor, this).parentNode.removeChild(_classPrivateFieldGet(_editor, this));
250
+ _classPrivateFieldSet(_editor, this, null);
251
+ _classPrivateFieldSet(_editorStyle, this, null);
252
+ _classPrivateFieldGet(_resizeObserver, this).destroy();
219
253
  if (containerParentElement) {
220
- containerParentElement.removeChild(this.container);
254
+ containerParentElement.removeChild(_classPrivateFieldGet(_container, this));
221
255
  }
222
256
  }
223
257
  }
258
+ (0, _object.mixin)(CommentEditor, _localHooks.default);
224
259
  var _default = exports.default = CommentEditor;
@@ -1,14 +1,26 @@
1
1
  import "core-js/modules/es.error.cause.js";
2
- 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; }
3
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
4
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
2
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
3
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
4
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
5
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
6
+ 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"); }
5
7
  import { addClass, outerWidth, outerHeight } from "../../helpers/dom/element.mjs";
8
+ import { mixin } from "../../helpers/object.mjs";
9
+ import localHooks from "../../mixins/localHooks.mjs";
10
+ import { EditorResizeObserver } from "./editorResizeObserver.mjs";
6
11
  /**
7
12
  * Comment editor for the Comments plugin.
8
13
  *
9
14
  * @private
10
15
  * @class CommentEditor
11
16
  */
17
+ var _rootDocument = /*#__PURE__*/new WeakMap();
18
+ var _isRtl = /*#__PURE__*/new WeakMap();
19
+ var _container = /*#__PURE__*/new WeakMap();
20
+ var _editor = /*#__PURE__*/new WeakMap();
21
+ var _editorStyle = /*#__PURE__*/new WeakMap();
22
+ var _hidden = /*#__PURE__*/new WeakMap();
23
+ var _resizeObserver = /*#__PURE__*/new WeakMap();
12
24
  class CommentEditor {
13
25
  static get CLASS_EDITOR_CONTAINER() {
14
26
  return 'htCommentsContainer';
@@ -24,35 +36,47 @@ class CommentEditor {
24
36
  }
25
37
 
26
38
  /**
27
- * @type {HTMLDocument}
39
+ * @type {Document}
28
40
  */
29
41
 
30
42
  constructor(rootDocument, isRtl) {
31
- _defineProperty(this, "rootDocument", void 0);
43
+ var _this = this;
44
+ _classPrivateFieldInitSpec(this, _rootDocument, void 0);
32
45
  /**
33
46
  * @type {boolean}
34
47
  */
35
- _defineProperty(this, "isRtl", false);
48
+ _classPrivateFieldInitSpec(this, _isRtl, false);
36
49
  /**
37
50
  * @type {HTMLElement}
38
51
  */
39
- _defineProperty(this, "container", null);
52
+ _classPrivateFieldInitSpec(this, _container, null);
40
53
  /**
41
54
  * @type {HTMLElement}
42
55
  */
43
- _defineProperty(this, "editor", void 0);
56
+ _classPrivateFieldInitSpec(this, _editor, void 0);
44
57
  /**
45
58
  * @type {CSSStyleDeclaration}
46
59
  */
47
- _defineProperty(this, "editorStyle", void 0);
60
+ _classPrivateFieldInitSpec(this, _editorStyle, void 0);
48
61
  /**
49
62
  * @type {boolean}
50
63
  */
51
- _defineProperty(this, "hidden", true);
52
- this.rootDocument = rootDocument;
53
- this.isRtl = isRtl;
54
- this.editor = this.createEditor();
55
- this.editorStyle = this.editor.style;
64
+ _classPrivateFieldInitSpec(this, _hidden, true);
65
+ /**
66
+ * @type {EditorResizeObserver}
67
+ */
68
+ _classPrivateFieldInitSpec(this, _resizeObserver, new EditorResizeObserver());
69
+ _classPrivateFieldSet(_rootDocument, this, rootDocument);
70
+ _classPrivateFieldSet(_isRtl, this, isRtl);
71
+ _classPrivateFieldSet(_editor, this, this.createEditor());
72
+ _classPrivateFieldSet(_editorStyle, this, _classPrivateFieldGet(_editor, this).style);
73
+ _classPrivateFieldGet(_resizeObserver, this).setObservedElement(this.getInputElement());
74
+ _classPrivateFieldGet(_resizeObserver, this).addLocalHook('resize', function () {
75
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
76
+ args[_key] = arguments[_key];
77
+ }
78
+ return _this.runLocalHooks('resize', ...args);
79
+ });
56
80
  this.hide();
57
81
  }
58
82
 
@@ -63,8 +87,8 @@ class CommentEditor {
63
87
  * @param {number} y Y position (in pixels).
64
88
  */
65
89
  setPosition(x, y) {
66
- this.editorStyle.left = `${x}px`;
67
- this.editorStyle.top = `${y}px`;
90
+ _classPrivateFieldGet(_editorStyle, this).left = `${x}px`;
91
+ _classPrivateFieldGet(_editorStyle, this).top = `${y}px`;
68
92
  }
69
93
 
70
94
  /**
@@ -93,6 +117,13 @@ class CommentEditor {
93
117
  };
94
118
  }
95
119
 
120
+ /**
121
+ * Starts observing the editor size.
122
+ */
123
+ observeSize() {
124
+ _classPrivateFieldGet(_resizeObserver, this).observe();
125
+ }
126
+
96
127
  /**
97
128
  * Reset the editor size to its initial state.
98
129
  */
@@ -116,18 +147,19 @@ class CommentEditor {
116
147
  * Show the comments editor.
117
148
  */
118
149
  show() {
119
- this.editorStyle.display = 'block';
120
- this.hidden = false;
150
+ _classPrivateFieldGet(_editorStyle, this).display = 'block';
151
+ _classPrivateFieldSet(_hidden, this, false);
121
152
  }
122
153
 
123
154
  /**
124
155
  * Hide the comments editor.
125
156
  */
126
157
  hide() {
127
- if (!this.hidden) {
128
- this.editorStyle.display = 'none';
158
+ _classPrivateFieldGet(_resizeObserver, this).unobserve();
159
+ if (!_classPrivateFieldGet(_hidden, this)) {
160
+ _classPrivateFieldGet(_editorStyle, this).display = 'none';
129
161
  }
130
- this.hidden = true;
162
+ _classPrivateFieldSet(_hidden, this, true);
131
163
  }
132
164
 
133
165
  /**
@@ -136,7 +168,7 @@ class CommentEditor {
136
168
  * @returns {boolean}
137
169
  */
138
170
  isVisible() {
139
- return this.editorStyle.display === 'block';
171
+ return _classPrivateFieldGet(_editorStyle, this).display === 'block';
140
172
  }
141
173
 
142
174
  /**
@@ -165,7 +197,7 @@ class CommentEditor {
165
197
  * @returns {boolean}
166
198
  */
167
199
  isFocused() {
168
- return this.rootDocument.activeElement === this.getInputElement();
200
+ return _classPrivateFieldGet(_rootDocument, this).activeElement === this.getInputElement();
169
201
  }
170
202
 
171
203
  /**
@@ -181,18 +213,18 @@ class CommentEditor {
181
213
  * @returns {HTMLElement}
182
214
  */
183
215
  createEditor() {
184
- const editor = this.rootDocument.createElement('div');
185
- const textArea = this.rootDocument.createElement('textarea');
216
+ const editor = _classPrivateFieldGet(_rootDocument, this).createElement('div');
217
+ const textarea = _classPrivateFieldGet(_rootDocument, this).createElement('textarea');
186
218
  editor.style.display = 'none';
187
- this.container = this.rootDocument.createElement('div');
188
- this.container.setAttribute('dir', this.isRtl ? 'rtl' : 'ltr');
189
- addClass(this.container, CommentEditor.CLASS_EDITOR_CONTAINER);
190
- this.rootDocument.body.appendChild(this.container);
219
+ _classPrivateFieldSet(_container, this, _classPrivateFieldGet(_rootDocument, this).createElement('div'));
220
+ _classPrivateFieldGet(_container, this).setAttribute('dir', _classPrivateFieldGet(_isRtl, this) ? 'rtl' : 'ltr');
221
+ addClass(_classPrivateFieldGet(_container, this), CommentEditor.CLASS_EDITOR_CONTAINER);
222
+ _classPrivateFieldGet(_rootDocument, this).body.appendChild(_classPrivateFieldGet(_container, this));
191
223
  addClass(editor, CommentEditor.CLASS_EDITOR);
192
- addClass(textArea, CommentEditor.CLASS_INPUT);
193
- textArea.setAttribute('data-hot-input', true);
194
- editor.appendChild(textArea);
195
- this.container.appendChild(editor);
224
+ addClass(textarea, CommentEditor.CLASS_INPUT);
225
+ textarea.setAttribute('data-hot-input', true);
226
+ editor.appendChild(textarea);
227
+ _classPrivateFieldGet(_container, this).appendChild(editor);
196
228
  return editor;
197
229
  }
198
230
 
@@ -202,20 +234,22 @@ class CommentEditor {
202
234
  * @returns {HTMLElement}
203
235
  */
204
236
  getInputElement() {
205
- return this.editor.querySelector(`.${CommentEditor.CLASS_INPUT}`);
237
+ return _classPrivateFieldGet(_editor, this).querySelector(`.${CommentEditor.CLASS_INPUT}`);
206
238
  }
207
239
 
208
240
  /**
209
241
  * Destroy the comments editor.
210
242
  */
211
243
  destroy() {
212
- const containerParentElement = this.container ? this.container.parentNode : null;
213
- this.editor.parentNode.removeChild(this.editor);
214
- this.editor = null;
215
- this.editorStyle = null;
244
+ const containerParentElement = _classPrivateFieldGet(_container, this) ? _classPrivateFieldGet(_container, this).parentNode : null;
245
+ _classPrivateFieldGet(_editor, this).parentNode.removeChild(_classPrivateFieldGet(_editor, this));
246
+ _classPrivateFieldSet(_editor, this, null);
247
+ _classPrivateFieldSet(_editorStyle, this, null);
248
+ _classPrivateFieldGet(_resizeObserver, this).destroy();
216
249
  if (containerParentElement) {
217
- containerParentElement.removeChild(this.container);
250
+ containerParentElement.removeChild(_classPrivateFieldGet(_container, this));
218
251
  }
219
252
  }
220
253
  }
254
+ mixin(CommentEditor, localHooks);
221
255
  export default CommentEditor;