handsontable 14.4.0 → 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,13 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- require("core-js/modules/esnext.set.difference.v2.js");
5
- require("core-js/modules/esnext.set.intersection.v2.js");
6
- require("core-js/modules/esnext.set.is-disjoint-from.v2.js");
7
- require("core-js/modules/esnext.set.is-subset-of.v2.js");
8
- require("core-js/modules/esnext.set.is-superset-of.v2.js");
9
- require("core-js/modules/esnext.set.symmetric-difference.v2.js");
10
- require("core-js/modules/esnext.set.union.v2.js");
11
4
  // This file handles key-name discrepancies between browsers.
12
5
  // For the list of discrepancies, go to: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values.
13
6
  const mappings = new Map([[' ', 'space'],
@@ -42,36 +35,34 @@ exports.normalizeKeys = normalizeKeys;
42
35
  const getKeysList = normalizedKeys => {
43
36
  return normalizedKeys.split('+');
44
37
  };
45
-
46
- /**
47
- * The regex tests if the event.code matches to the pattern and it's used to extract letters and digits from
48
- * the string.
49
- */
50
38
  exports.getKeysList = getKeysList;
51
- const codeToKeyRegExp = new RegExp('^(?:Key|Digit)([A-Z0-9])$');
52
- const keyCodeNames = new Set(['Backquote', 'Minus', 'Equal', 'BracketLeft', 'BracketRight', 'Backslash', 'Semicolon', 'Quote', 'Comma', 'Period', 'Slash']);
39
+ const specialCharactersSet = new Map([[186, 'semicolon'], [187, 'equal'], [188, 'comma'], [189, 'minus'], [190, 'period'], [191, 'slash'], [192, 'backquote'], [219, 'bracketleft'], [220, 'backslash'], [221, 'bracketright'], [222, 'quote']]);
53
40
 
54
41
  /**
55
- * Normalizes a keyboard event key value to a key before its modification. When the keyboard event
56
- * is triggered with Alt, Control or Shift keys the `key` property contains modified key e.g. for Alt+L
57
- * it will be `ł`. But that value is only valid for polish keyboard layout. To fix that limitations, for
58
- * letters and digits the value is taken from the `code` property which holds original value before
59
- * transformation.
42
+ * Normalizes a keyboard event key value to a key before its modification.
43
+ *
44
+ * Keep in mind that there is difference between `key` and `code` properties of the KeyboardEvent object.
45
+ * The `key` property represents the logical key on the keyboard (after applying modifiers and taking
46
+ * the keyboard layout into account), where the `code` property represents the physical key
47
+ * (regardless of what is printed on the key). Using the `keyCode` for alphanumeric keys,
48
+ * solves the problem and allows to get the correct key value. The value that takes the keyboard layout
49
+ * into account but is not modified by the modifiers (e.g. Alt + L would give polish "ł" we want "l").
60
50
  *
61
51
  * @param {Event} event The KeyboardEvent object.
62
52
  * @returns {string}
63
53
  */
64
54
  const normalizeEventKey = _ref => {
65
55
  let {
66
- key,
67
- code
56
+ which,
57
+ key
68
58
  } = _ref;
69
- let normalizedKey = key;
70
- if (codeToKeyRegExp.test(code)) {
71
- normalizedKey = code.replace(codeToKeyRegExp, '$1');
72
- } else if (keyCodeNames.has(code)) {
73
- normalizedKey = code;
59
+ if (specialCharactersSet.has(which)) {
60
+ return specialCharactersSet.get(which);
61
+ }
62
+ const normalizedKey = String.fromCharCode(which).toLowerCase();
63
+ if (/^[a-z0-9]$/.test(normalizedKey)) {
64
+ return normalizedKey;
74
65
  }
75
- return normalizedKey.toLowerCase();
66
+ return key.toLowerCase();
76
67
  };
77
68
  exports.normalizeEventKey = normalizeEventKey;
@@ -1,10 +1,3 @@
1
- import "core-js/modules/esnext.set.difference.v2.js";
2
- import "core-js/modules/esnext.set.intersection.v2.js";
3
- import "core-js/modules/esnext.set.is-disjoint-from.v2.js";
4
- import "core-js/modules/esnext.set.is-subset-of.v2.js";
5
- import "core-js/modules/esnext.set.is-superset-of.v2.js";
6
- import "core-js/modules/esnext.set.symmetric-difference.v2.js";
7
- import "core-js/modules/esnext.set.union.v2.js";
8
1
  // This file handles key-name discrepancies between browsers.
9
2
  // For the list of discrepancies, go to: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values.
10
3
  const mappings = new Map([[' ', 'space'],
@@ -38,34 +31,32 @@ export const normalizeKeys = keys => {
38
31
  export const getKeysList = normalizedKeys => {
39
32
  return normalizedKeys.split('+');
40
33
  };
34
+ const specialCharactersSet = new Map([[186, 'semicolon'], [187, 'equal'], [188, 'comma'], [189, 'minus'], [190, 'period'], [191, 'slash'], [192, 'backquote'], [219, 'bracketleft'], [220, 'backslash'], [221, 'bracketright'], [222, 'quote']]);
41
35
 
42
36
  /**
43
- * The regex tests if the event.code matches to the pattern and it's used to extract letters and digits from
44
- * the string.
45
- */
46
- const codeToKeyRegExp = new RegExp('^(?:Key|Digit)([A-Z0-9])$');
47
- const keyCodeNames = new Set(['Backquote', 'Minus', 'Equal', 'BracketLeft', 'BracketRight', 'Backslash', 'Semicolon', 'Quote', 'Comma', 'Period', 'Slash']);
48
-
49
- /**
50
- * Normalizes a keyboard event key value to a key before its modification. When the keyboard event
51
- * is triggered with Alt, Control or Shift keys the `key` property contains modified key e.g. for Alt+L
52
- * it will be `ł`. But that value is only valid for polish keyboard layout. To fix that limitations, for
53
- * letters and digits the value is taken from the `code` property which holds original value before
54
- * transformation.
37
+ * Normalizes a keyboard event key value to a key before its modification.
38
+ *
39
+ * Keep in mind that there is difference between `key` and `code` properties of the KeyboardEvent object.
40
+ * The `key` property represents the logical key on the keyboard (after applying modifiers and taking
41
+ * the keyboard layout into account), where the `code` property represents the physical key
42
+ * (regardless of what is printed on the key). Using the `keyCode` for alphanumeric keys,
43
+ * solves the problem and allows to get the correct key value. The value that takes the keyboard layout
44
+ * into account but is not modified by the modifiers (e.g. Alt + L would give polish "ł" we want "l").
55
45
  *
56
46
  * @param {Event} event The KeyboardEvent object.
57
47
  * @returns {string}
58
48
  */
59
49
  export const normalizeEventKey = _ref => {
60
50
  let {
61
- key,
62
- code
51
+ which,
52
+ key
63
53
  } = _ref;
64
- let normalizedKey = key;
65
- if (codeToKeyRegExp.test(code)) {
66
- normalizedKey = code.replace(codeToKeyRegExp, '$1');
67
- } else if (keyCodeNames.has(code)) {
68
- normalizedKey = code;
54
+ if (specialCharactersSet.has(which)) {
55
+ return specialCharactersSet.get(which);
56
+ }
57
+ const normalizedKey = String.fromCharCode(which).toLowerCase();
58
+ if (/^[a-z0-9]$/.test(normalizedKey)) {
59
+ return normalizedKey;
69
60
  }
70
- return normalizedKey.toLowerCase();
61
+ return key.toLowerCase();
71
62
  };
package/tableView.js CHANGED
@@ -10,11 +10,11 @@ var _src = _interopRequireDefault(require("./3rdparty/walkontable/src"));
10
10
  var _mouseEventHandler = require("./selection/mouseEventHandler");
11
11
  var _rootInstance = require("./utils/rootInstance");
12
12
  var _a11y = require("./helpers/a11y");
13
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
- function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
15
- function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
16
- function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
17
- 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; }
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
15
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
16
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
17
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
18
18
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
19
19
  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); }
20
20
  function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
@@ -340,7 +340,7 @@ class TableView {
340
340
  // immediate click on "holder" means click on the right side of vertical scrollbar
341
341
  const {
342
342
  holder
343
- } = this.hot.view._wt.wtTable;
343
+ } = this._wt.wtTable;
344
344
  if (next === holder) {
345
345
  const scrollbarWidth = (0, _element.getScrollbarWidth)(rootDocument);
346
346
  if (rootDocument.elementFromPoint(eventX + scrollbarWidth, eventY) !== holder || rootDocument.elementFromPoint(eventX, eventY + scrollbarWidth) !== holder) {
@@ -687,6 +687,11 @@ class TableView {
687
687
  const visualIndex = this.hot.rowIndexMapper.getVisualFromRenderableIndex(renderedRowIndex);
688
688
  return this.hot.getRowHeight(visualIndex === null ? renderedRowIndex : visualIndex);
689
689
  },
690
+ rowHeightByOverlayName: (renderedRowIndex, overlayType) => {
691
+ const visualIndex = this.hot.rowIndexMapper.getVisualFromRenderableIndex(renderedRowIndex);
692
+ const visualRowIndex = visualIndex === null ? renderedRowIndex : visualIndex;
693
+ return this.hot.runHooks('modifyRowHeightByOverlayName', this.hot.getRowHeight(visualRowIndex), visualRowIndex, overlayType);
694
+ },
690
695
  cellRenderer: (renderedRowIndex, renderedColumnIndex, TD) => {
691
696
  const [visualRowIndex, visualColumnIndex] = this.translateFromRenderableToVisualIndex(renderedRowIndex, renderedColumnIndex);
692
697
 
@@ -1015,7 +1020,7 @@ class TableView {
1015
1020
  if ((0, _element.isInput)(el)) {
1016
1021
  return true;
1017
1022
  }
1018
- const isChildOfTableBody = (0, _element.isChildOf)(el, this.hot.view._wt.wtTable.spreader);
1023
+ const isChildOfTableBody = (0, _element.isChildOf)(el, this._wt.wtTable.spreader);
1019
1024
  if (this.settings.fragmentSelection === true && isChildOfTableBody) {
1020
1025
  return true;
1021
1026
  }
@@ -1135,10 +1140,16 @@ class TableView {
1135
1140
  appendColHeader(visualColumnIndex, TH) {
1136
1141
  let label = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.hot.getColHeader;
1137
1142
  let headerLevel = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
1143
+ const getColumnHeaderClassNames = () => {
1144
+ const metaHeaderClassNames = visualColumnIndex >= 0 ? this.hot.getColumnMeta(visualColumnIndex).headerClassName : null;
1145
+ return metaHeaderClassNames ? metaHeaderClassNames.split(' ') : [];
1146
+ };
1138
1147
  if (TH.firstChild) {
1139
1148
  const container = TH.firstChild;
1140
1149
  if ((0, _element.hasClass)(container, 'relative')) {
1141
1150
  this.updateCellHeader(container.querySelector('.colHeader'), visualColumnIndex, label, headerLevel);
1151
+ container.className = '';
1152
+ (0, _element.addClass)(container, ['relative', ...getColumnHeaderClassNames()]);
1142
1153
  } else {
1143
1154
  (0, _element.empty)(TH);
1144
1155
  this.appendColHeader(visualColumnIndex, TH, label, headerLevel);
@@ -1149,7 +1160,8 @@ class TableView {
1149
1160
  } = this.hot;
1150
1161
  const div = rootDocument.createElement('div');
1151
1162
  const span = rootDocument.createElement('span');
1152
- div.className = 'relative';
1163
+ const classNames = getColumnHeaderClassNames();
1164
+ div.classList.add('relative', ...classNames);
1153
1165
  span.className = 'colHeader';
1154
1166
  if (this.settings.ariaTags) {
1155
1167
  (0, _element.setAttribute)(div, ...(0, _a11y.A11Y_PRESENTATION)());
@@ -1246,75 +1258,131 @@ class TableView {
1246
1258
  }
1247
1259
 
1248
1260
  /**
1249
- * Returns the first fully visible row in the table viewport.
1261
+ * Returns the first rendered row in the DOM (usually is not visible in the table's viewport).
1262
+ *
1263
+ * @returns {number | null}
1264
+ */
1265
+ getFirstRenderedVisibleRow() {
1266
+ if (!this._wt.wtViewport.rowsRenderCalculator) {
1267
+ return null;
1268
+ }
1269
+ return this.hot.rowIndexMapper.getNearestNotHiddenIndex(this._wt.wtTable.getFirstRenderedRow(), 1);
1270
+ }
1271
+
1272
+ /**
1273
+ * Returns the last rendered row in the DOM (usually is not visible in the table's viewport).
1274
+ *
1275
+ * @returns {number | null}
1276
+ */
1277
+ getLastRenderedVisibleRow() {
1278
+ if (!this._wt.wtViewport.rowsRenderCalculator) {
1279
+ return null;
1280
+ }
1281
+ return this.hot.rowIndexMapper.getNearestNotHiddenIndex(this._wt.wtTable.getLastRenderedRow(), -1);
1282
+ }
1283
+
1284
+ /**
1285
+ * Returns the first rendered column in the DOM (usually is not visible in the table's viewport).
1286
+ *
1287
+ * @returns {number | null}
1288
+ */
1289
+ getFirstRenderedVisibleColumn() {
1290
+ if (!this._wt.wtViewport.columnsRenderCalculator) {
1291
+ return null;
1292
+ }
1293
+ return this.hot.columnIndexMapper.getNearestNotHiddenIndex(this._wt.wtTable.getFirstRenderedColumn(), 1);
1294
+ }
1295
+
1296
+ /**
1297
+ * Returns the last rendered column in the DOM (usually is not visible in the table's viewport).
1298
+ *
1299
+ * @returns {number | null}
1300
+ */
1301
+ getLastRenderedVisibleColumn() {
1302
+ if (!this._wt.wtViewport.columnsRenderCalculator) {
1303
+ return null;
1304
+ }
1305
+ return this.hot.columnIndexMapper.getNearestNotHiddenIndex(this._wt.wtTable.getLastRenderedColumn(), -1);
1306
+ }
1307
+
1308
+ /**
1309
+ * Returns the first fully visible row in the table viewport. When the table has overlays the method returns
1310
+ * the first row of the master table that is not overlapped by overlay.
1250
1311
  *
1251
1312
  * @returns {number}
1252
1313
  */
1253
1314
  getFirstFullyVisibleRow() {
1254
- return this.hot.rowIndexMapper.getVisualFromRenderableIndex(this.hot.view._wt.wtScroll.getFirstVisibleRow());
1315
+ return this.hot.rowIndexMapper.getVisualFromRenderableIndex(this._wt.wtScroll.getFirstVisibleRow());
1255
1316
  }
1256
1317
 
1257
1318
  /**
1258
- * Returns the last fully visible row in the table viewport.
1319
+ * Returns the last fully visible row in the table viewport. When the table has overlays the method returns
1320
+ * the first row of the master table that is not overlapped by overlay.
1259
1321
  *
1260
1322
  * @returns {number}
1261
1323
  */
1262
1324
  getLastFullyVisibleRow() {
1263
- return this.hot.rowIndexMapper.getVisualFromRenderableIndex(this.hot.view._wt.wtScroll.getLastVisibleRow());
1325
+ return this.hot.rowIndexMapper.getVisualFromRenderableIndex(this._wt.wtScroll.getLastVisibleRow());
1264
1326
  }
1265
1327
 
1266
1328
  /**
1267
- * Returns the first fully visible column in the table viewport.
1329
+ * Returns the first fully visible column in the table viewport. When the table has overlays the method returns
1330
+ * the first row of the master table that is not overlapped by overlay.
1268
1331
  *
1269
1332
  * @returns {number}
1270
1333
  */
1271
1334
  getFirstFullyVisibleColumn() {
1272
- return this.hot.columnIndexMapper.getVisualFromRenderableIndex(this.hot.view._wt.wtScroll.getFirstVisibleColumn());
1335
+ return this.hot.columnIndexMapper.getVisualFromRenderableIndex(this._wt.wtScroll.getFirstVisibleColumn());
1273
1336
  }
1274
1337
 
1275
1338
  /**
1276
- * Returns the last fully visible column in the table viewport.
1339
+ * Returns the last fully visible column in the table viewport. When the table has overlays the method returns
1340
+ * the first row of the master table that is not overlapped by overlay.
1277
1341
  *
1278
1342
  * @returns {number}
1279
1343
  */
1280
1344
  getLastFullyVisibleColumn() {
1281
- return this.hot.columnIndexMapper.getVisualFromRenderableIndex(this.hot.view._wt.wtScroll.getLastVisibleColumn());
1345
+ return this.hot.columnIndexMapper.getVisualFromRenderableIndex(this._wt.wtScroll.getLastVisibleColumn());
1282
1346
  }
1283
1347
 
1284
1348
  /**
1285
- * Returns the first partially visible row in the table viewport.
1349
+ * Returns the first partially visible row in the table viewport. When the table has overlays the method returns
1350
+ * the first row of the master table that is not overlapped by overlay.
1286
1351
  *
1287
1352
  * @returns {number}
1288
1353
  */
1289
1354
  getFirstPartiallyVisibleRow() {
1290
- return this.hot.rowIndexMapper.getVisualFromRenderableIndex(this.hot.view._wt.wtScroll.getFirstPartiallyVisibleRow());
1355
+ return this.hot.rowIndexMapper.getVisualFromRenderableIndex(this._wt.wtScroll.getFirstPartiallyVisibleRow());
1291
1356
  }
1292
1357
 
1293
1358
  /**
1294
- * Returns the last partially visible row in the table viewport.
1359
+ * Returns the last partially visible row in the table viewport. When the table has overlays the method returns
1360
+ * the first row of the master table that is not overlapped by overlay.
1295
1361
  *
1296
1362
  * @returns {number}
1297
1363
  */
1298
1364
  getLastPartiallyVisibleRow() {
1299
- return this.hot.rowIndexMapper.getVisualFromRenderableIndex(this.hot.view._wt.wtScroll.getLastPartiallyVisibleRow());
1365
+ return this.hot.rowIndexMapper.getVisualFromRenderableIndex(this._wt.wtScroll.getLastPartiallyVisibleRow());
1300
1366
  }
1301
1367
 
1302
1368
  /**
1303
- * Returns the first partially visible column in the table viewport.
1369
+ * Returns the first partially visible column in the table viewport. When the table has overlays the method returns
1370
+ * the first row of the master table that is not overlapped by overlay.
1304
1371
  *
1305
1372
  * @returns {number}
1306
1373
  */
1307
1374
  getFirstPartiallyVisibleColumn() {
1308
- return this.hot.columnIndexMapper.getVisualFromRenderableIndex(this.hot.view._wt.wtScroll.getFirstPartiallyVisibleColumn());
1375
+ return this.hot.columnIndexMapper.getVisualFromRenderableIndex(this._wt.wtScroll.getFirstPartiallyVisibleColumn());
1309
1376
  }
1310
1377
 
1311
1378
  /**
1312
- * Returns the last partially visible column in the table viewport.
1379
+ * Returns the last partially visible column in the table viewport. When the table has overlays the method returns
1380
+ * the first row of the master table that is not overlapped by overlay.
1313
1381
  *
1314
1382
  * @returns {number}
1315
1383
  */
1316
1384
  getLastPartiallyVisibleColumn() {
1317
- return this.hot.columnIndexMapper.getVisualFromRenderableIndex(this.hot.view._wt.wtScroll.getLastPartiallyVisibleColumn());
1385
+ return this.hot.columnIndexMapper.getVisualFromRenderableIndex(this._wt.wtScroll.getLastPartiallyVisibleColumn());
1318
1386
  }
1319
1387
 
1320
1388
  /**
@@ -1343,7 +1411,7 @@ class TableView {
1343
1411
  * @returns {number}
1344
1412
  */
1345
1413
  getViewportWidth() {
1346
- return this.hot.view._wt.wtViewport.getViewportWidth();
1414
+ return this._wt.wtViewport.getViewportWidth();
1347
1415
  }
1348
1416
 
1349
1417
  /**
@@ -1352,7 +1420,7 @@ class TableView {
1352
1420
  * @returns {number}
1353
1421
  */
1354
1422
  getWorkspaceWidth() {
1355
- return this.hot.view._wt.wtViewport.getWorkspaceWidth();
1423
+ return this._wt.wtViewport.getWorkspaceWidth();
1356
1424
  }
1357
1425
 
1358
1426
  /**
@@ -1363,7 +1431,7 @@ class TableView {
1363
1431
  * @returns {number}
1364
1432
  */
1365
1433
  getViewportHeight() {
1366
- return this.hot.view._wt.wtViewport.getViewportHeight();
1434
+ return this._wt.wtViewport.getViewportHeight();
1367
1435
  }
1368
1436
 
1369
1437
  /**
@@ -1372,7 +1440,37 @@ class TableView {
1372
1440
  * @returns {number}
1373
1441
  */
1374
1442
  getWorkspaceHeight() {
1375
- return this.hot.view._wt.wtViewport.getWorkspaceHeight();
1443
+ return this._wt.wtViewport.getWorkspaceHeight();
1444
+ }
1445
+
1446
+ /**
1447
+ * Checks to what overlay the provided element belongs.
1448
+ *
1449
+ * @param {HTMLElement} element The DOM element to check.
1450
+ * @returns {'master'|'inline_start'|'top'|'top_inline_start_corner'|'bottom'|'bottom_inline_start_corner'}
1451
+ */
1452
+ getElementOverlayName(element) {
1453
+ var _this$_wt$wtOverlays$;
1454
+ return ((_this$_wt$wtOverlays$ = this._wt.wtOverlays.getParentOverlay(element)) !== null && _this$_wt$wtOverlays$ !== void 0 ? _this$_wt$wtOverlays$ : this._wt).wtTable.name;
1455
+ }
1456
+
1457
+ /**
1458
+ * Gets the overlay instance by its name.
1459
+ *
1460
+ * @param {'inline_start'|'top'|'top_inline_start_corner'|'bottom'|'bottom_inline_start_corner'} overlayName The overlay name.
1461
+ * @returns {Overlay | null}
1462
+ */
1463
+ getOverlayByName(overlayName) {
1464
+ return this._wt.getOverlayByName(overlayName);
1465
+ }
1466
+
1467
+ /**
1468
+ * Checks if the table is visible or not.
1469
+ *
1470
+ * @returns {boolean}
1471
+ */
1472
+ isVisible() {
1473
+ return this._wt.wtTable.isVisible();
1376
1474
  }
1377
1475
  /**
1378
1476
  * Destroys internal WalkOnTable's instance. Detaches all of the bonded listeners.