handsontable 0.0.0-next-9059914-20231025 → 0.0.0-next-21d91d0-20231025

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of handsontable might be problematic. Click here for more details.

Files changed (446) hide show
  1. package/3rdparty/walkontable/src/cell/coords.d.ts +6 -1
  2. package/3rdparty/walkontable/src/cell/coords.js +50 -11
  3. package/3rdparty/walkontable/src/cell/coords.mjs +50 -11
  4. package/3rdparty/walkontable/src/cell/range.d.ts +9 -2
  5. package/3rdparty/walkontable/src/cell/range.js +38 -7
  6. package/3rdparty/walkontable/src/cell/range.mjs +38 -7
  7. package/3rdparty/walkontable/src/core/_base.js +9 -3
  8. package/3rdparty/walkontable/src/core/_base.mjs +9 -3
  9. package/3rdparty/walkontable/src/core/clone.js +2 -2
  10. package/3rdparty/walkontable/src/core/clone.mjs +2 -2
  11. package/3rdparty/walkontable/src/core/core.js +3 -2
  12. package/3rdparty/walkontable/src/core/core.mjs +3 -2
  13. package/3rdparty/walkontable/src/event.js +12 -10
  14. package/3rdparty/walkontable/src/event.mjs +12 -10
  15. package/3rdparty/walkontable/src/facade/core.js +2 -2
  16. package/3rdparty/walkontable/src/facade/core.mjs +2 -2
  17. package/3rdparty/walkontable/src/index.js +10 -2
  18. package/3rdparty/walkontable/src/index.mjs +2 -2
  19. package/3rdparty/walkontable/src/overlay/_base.js +13 -2
  20. package/3rdparty/walkontable/src/overlay/_base.mjs +14 -3
  21. package/3rdparty/walkontable/src/overlay/inlineStart.js +2 -6
  22. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +2 -6
  23. package/3rdparty/walkontable/src/overlay/top.js +2 -6
  24. package/3rdparty/walkontable/src/overlay/top.mjs +2 -6
  25. package/3rdparty/walkontable/src/renderer/cells.js +10 -0
  26. package/3rdparty/walkontable/src/renderer/cells.mjs +11 -1
  27. package/3rdparty/walkontable/src/renderer/columnHeaders.js +10 -0
  28. package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +11 -1
  29. package/3rdparty/walkontable/src/renderer/rowHeaders.js +5 -0
  30. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +5 -0
  31. package/3rdparty/walkontable/src/renderer/rows.js +13 -0
  32. package/3rdparty/walkontable/src/renderer/rows.mjs +13 -0
  33. package/3rdparty/walkontable/src/renderer/table.js +9 -0
  34. package/3rdparty/walkontable/src/renderer/table.mjs +9 -0
  35. package/3rdparty/walkontable/src/scroll.js +2 -0
  36. package/3rdparty/walkontable/src/scroll.mjs +2 -0
  37. package/3rdparty/walkontable/src/{border.js → selection/border/border.js} +7 -12
  38. package/3rdparty/walkontable/src/{border.mjs → selection/border/border.mjs} +7 -12
  39. package/3rdparty/walkontable/src/selection/border/constants.js +16 -0
  40. package/3rdparty/walkontable/src/selection/border/constants.mjs +12 -0
  41. package/3rdparty/walkontable/src/selection/constants.js +62 -0
  42. package/3rdparty/walkontable/src/selection/constants.mjs +51 -0
  43. package/3rdparty/walkontable/src/selection/index.js +26 -0
  44. package/3rdparty/walkontable/src/selection/index.mjs +5 -0
  45. package/3rdparty/walkontable/src/selection/manager.js +274 -0
  46. package/3rdparty/walkontable/src/selection/manager.mjs +269 -0
  47. package/3rdparty/walkontable/src/selection/scanner.js +270 -0
  48. package/3rdparty/walkontable/src/selection/scanner.mjs +267 -0
  49. package/3rdparty/walkontable/src/selection/selection.js +101 -0
  50. package/3rdparty/walkontable/src/selection/selection.mjs +96 -0
  51. package/3rdparty/walkontable/src/settings.js +13 -4
  52. package/3rdparty/walkontable/src/settings.mjs +13 -4
  53. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +9 -0
  54. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +9 -0
  55. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +9 -0
  56. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +9 -0
  57. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +9 -0
  58. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +9 -0
  59. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +9 -0
  60. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +9 -0
  61. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +9 -0
  62. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +9 -0
  63. package/3rdparty/walkontable/src/table.js +19 -78
  64. package/3rdparty/walkontable/src/table.mjs +20 -79
  65. package/base.js +2 -2
  66. package/base.mjs +2 -2
  67. package/cellTypes/dateType/dateType.d.ts +3 -3
  68. package/cellTypes/dateType/dateType.js +2 -2
  69. package/cellTypes/dateType/dateType.mjs +2 -2
  70. package/cellTypes/handsontableType/handsontableType.d.ts +3 -3
  71. package/cellTypes/handsontableType/handsontableType.js +2 -2
  72. package/cellTypes/handsontableType/handsontableType.mjs +2 -2
  73. package/cellTypes/index.d.ts +3 -0
  74. package/cellTypes/index.js +4 -0
  75. package/cellTypes/index.mjs +3 -1
  76. package/cellTypes/selectType/index.d.ts +1 -0
  77. package/cellTypes/selectType/index.js +6 -0
  78. package/cellTypes/selectType/index.mjs +1 -0
  79. package/cellTypes/selectType/selectType.d.ts +14 -0
  80. package/cellTypes/selectType/selectType.js +13 -0
  81. package/cellTypes/selectType/selectType.mjs +8 -0
  82. package/core/focusCatcher/focusDetector.js +63 -0
  83. package/core/focusCatcher/focusDetector.mjs +59 -0
  84. package/core/focusCatcher/index.js +142 -0
  85. package/core/focusCatcher/index.mjs +138 -0
  86. package/core/index.js +9 -0
  87. package/core/index.mjs +1 -0
  88. package/core.d.ts +9 -4
  89. package/core.js +285 -327
  90. package/core.mjs +285 -327
  91. package/dataMap/metaManager/metaSchema.js +65 -0
  92. package/dataMap/metaManager/metaSchema.mjs +65 -0
  93. package/dataMap/metaManager/mods/extendMetaProperties.js +7 -1
  94. package/dataMap/metaManager/mods/extendMetaProperties.mjs +7 -1
  95. package/dataMap/replaceData.js +5 -0
  96. package/dataMap/replaceData.mjs +5 -0
  97. package/dist/handsontable.css +51 -15
  98. package/dist/handsontable.full.css +51 -15
  99. package/dist/handsontable.full.js +13360 -7840
  100. package/dist/handsontable.full.min.css +7 -7
  101. package/dist/handsontable.full.min.js +136 -136
  102. package/dist/handsontable.js +20955 -15435
  103. package/dist/handsontable.min.css +6 -6
  104. package/dist/handsontable.min.js +24 -24
  105. package/dist/languages/all.js +6 -2
  106. package/dist/languages/all.min.js +1 -1
  107. package/dist/languages/en-US.js +3 -1
  108. package/dist/languages/en-US.min.js +1 -1
  109. package/dist/languages/pl-PL.js +3 -1
  110. package/dist/languages/pl-PL.min.js +1 -1
  111. package/editorManager.js +15 -87
  112. package/editorManager.mjs +16 -87
  113. package/editors/autocompleteEditor/autocompleteEditor.js +53 -2
  114. package/editors/autocompleteEditor/autocompleteEditor.mjs +54 -3
  115. package/editors/dateEditor/dateEditor.js +26 -7
  116. package/editors/dateEditor/dateEditor.mjs +27 -8
  117. package/editors/handsontableEditor/handsontableEditor.js +9 -1
  118. package/editors/handsontableEditor/handsontableEditor.mjs +10 -2
  119. package/editors/textEditor/textEditor.js +19 -27
  120. package/editors/textEditor/textEditor.mjs +22 -30
  121. package/focusManager.d.ts +12 -0
  122. package/focusManager.js +265 -0
  123. package/focusManager.mjs +261 -0
  124. package/helpers/a11y.js +79 -0
  125. package/helpers/a11y.mjs +38 -0
  126. package/helpers/dom/element.js +188 -9
  127. package/helpers/dom/element.mjs +182 -9
  128. package/helpers/mixed.js +1 -1
  129. package/helpers/mixed.mjs +1 -1
  130. package/helpers/number.d.ts +1 -0
  131. package/helpers/number.js +18 -0
  132. package/helpers/number.mjs +17 -0
  133. package/i18n/constants.js +7 -1
  134. package/i18n/constants.mjs +4 -1
  135. package/i18n/languages/en-US.js +3 -1
  136. package/i18n/languages/en-US.mjs +3 -1
  137. package/i18n/languages/pl-PL.js +3 -1
  138. package/i18n/languages/pl-PL.mjs +3 -1
  139. package/languages/all.js +6 -2
  140. package/languages/en-US.js +3 -1
  141. package/languages/en-US.mjs +3 -1
  142. package/languages/index.js +6 -2
  143. package/languages/pl-PL.js +3 -1
  144. package/languages/pl-PL.mjs +3 -1
  145. package/package.json +21 -1
  146. package/pluginHooks.d.ts +12 -1
  147. package/pluginHooks.js +152 -1
  148. package/pluginHooks.mjs +152 -1
  149. package/plugins/collapsibleColumns/collapsibleColumns.js +74 -4
  150. package/plugins/collapsibleColumns/collapsibleColumns.mjs +75 -5
  151. package/plugins/columnSorting/columnSorting.js +43 -0
  152. package/plugins/columnSorting/columnSorting.mjs +44 -3
  153. package/plugins/columnSorting/index.js +3 -1
  154. package/plugins/columnSorting/index.mjs +1 -1
  155. package/plugins/comments/commentEditor.js +1 -0
  156. package/plugins/comments/commentEditor.mjs +1 -0
  157. package/plugins/comments/comments.js +252 -189
  158. package/plugins/comments/comments.mjs +251 -190
  159. package/plugins/comments/contextMenuItem/addEditComment.js +41 -0
  160. package/plugins/comments/contextMenuItem/addEditComment.mjs +35 -0
  161. package/plugins/comments/contextMenuItem/readOnlyComment.js +49 -0
  162. package/plugins/comments/contextMenuItem/readOnlyComment.mjs +43 -0
  163. package/plugins/comments/contextMenuItem/removeComment.js +38 -0
  164. package/plugins/comments/contextMenuItem/removeComment.mjs +32 -0
  165. package/plugins/contextMenu/commandExecutor.js +2 -3
  166. package/plugins/contextMenu/commandExecutor.mjs +2 -3
  167. package/plugins/contextMenu/contextMenu.d.ts +1 -1
  168. package/plugins/contextMenu/contextMenu.js +75 -36
  169. package/plugins/contextMenu/contextMenu.mjs +74 -35
  170. package/plugins/contextMenu/itemsFactory.js +2 -3
  171. package/plugins/contextMenu/itemsFactory.mjs +3 -4
  172. package/plugins/contextMenu/{cursor.mjs → menu/cursor.js} +6 -4
  173. package/plugins/contextMenu/{cursor.js → menu/cursor.mjs} +4 -10
  174. package/plugins/contextMenu/menu/defaultShortcutsList.js +88 -0
  175. package/plugins/contextMenu/menu/defaultShortcutsList.mjs +84 -0
  176. package/plugins/contextMenu/menu/index.js +9 -0
  177. package/plugins/contextMenu/menu/index.mjs +1 -0
  178. package/plugins/contextMenu/{menu.js → menu/menu.js} +145 -421
  179. package/plugins/contextMenu/{menu.mjs → menu/menu.mjs} +146 -422
  180. package/plugins/contextMenu/menu/menuItemRenderer.js +58 -0
  181. package/plugins/contextMenu/menu/menuItemRenderer.mjs +54 -0
  182. package/plugins/contextMenu/menu/navigator.js +27 -0
  183. package/plugins/contextMenu/menu/navigator.mjs +23 -0
  184. package/plugins/contextMenu/menu/positioner.js +213 -0
  185. package/plugins/contextMenu/menu/positioner.mjs +209 -0
  186. package/plugins/contextMenu/menu/shortcuts.js +114 -0
  187. package/plugins/contextMenu/menu/shortcuts.mjs +110 -0
  188. package/plugins/contextMenu/menu/utils.js +177 -0
  189. package/plugins/contextMenu/menu/utils.mjs +163 -0
  190. package/plugins/contextMenu/predefinedItems/alignment.js +7 -0
  191. package/plugins/contextMenu/predefinedItems/alignment.mjs +7 -0
  192. package/plugins/contextMenu/predefinedItems/clearColumn.js +5 -3
  193. package/plugins/contextMenu/predefinedItems/clearColumn.mjs +5 -3
  194. package/plugins/contextMenu/predefinedItems/columnLeft.js +5 -3
  195. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +5 -3
  196. package/plugins/contextMenu/predefinedItems/columnRight.js +5 -3
  197. package/plugins/contextMenu/predefinedItems/columnRight.mjs +5 -3
  198. package/plugins/contextMenu/{predefinedItems.js → predefinedItems/index.js} +14 -14
  199. package/plugins/contextMenu/predefinedItems/index.mjs +68 -0
  200. package/plugins/contextMenu/predefinedItems/readOnly.js +7 -0
  201. package/plugins/contextMenu/predefinedItems/readOnly.mjs +7 -0
  202. package/plugins/contextMenu/predefinedItems/removeColumn.js +7 -5
  203. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +5 -3
  204. package/plugins/contextMenu/predefinedItems/removeRow.js +7 -5
  205. package/plugins/contextMenu/predefinedItems/removeRow.mjs +5 -3
  206. package/plugins/contextMenu/predefinedItems/rowAbove.js +5 -3
  207. package/plugins/contextMenu/predefinedItems/rowAbove.mjs +5 -3
  208. package/plugins/contextMenu/predefinedItems/rowBelow.js +5 -3
  209. package/plugins/contextMenu/predefinedItems/rowBelow.mjs +5 -3
  210. package/plugins/contextMenu/utils.js +35 -151
  211. package/plugins/contextMenu/utils.mjs +35 -144
  212. package/plugins/copyPaste/contextMenuItem/copy.js +7 -0
  213. package/plugins/copyPaste/contextMenuItem/copy.mjs +7 -0
  214. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +9 -1
  215. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +9 -1
  216. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +9 -1
  217. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +9 -1
  218. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +9 -1
  219. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +9 -1
  220. package/plugins/copyPaste/contextMenuItem/cut.js +7 -0
  221. package/plugins/copyPaste/contextMenuItem/cut.mjs +7 -0
  222. package/plugins/copyPaste/copyPaste.js +127 -78
  223. package/plugins/copyPaste/copyPaste.mjs +128 -79
  224. package/plugins/customBorders/customBorders.js +23 -20
  225. package/plugins/customBorders/customBorders.mjs +24 -21
  226. package/plugins/dropdownMenu/dropdownMenu.d.ts +1 -1
  227. package/plugins/dropdownMenu/dropdownMenu.js +127 -40
  228. package/plugins/dropdownMenu/dropdownMenu.mjs +126 -39
  229. package/plugins/filters/component/_base.js +23 -8
  230. package/plugins/filters/component/_base.mjs +23 -8
  231. package/plugins/filters/component/actionBar.js +29 -27
  232. package/plugins/filters/component/actionBar.mjs +26 -23
  233. package/plugins/filters/component/condition.js +46 -59
  234. package/plugins/filters/component/condition.mjs +40 -52
  235. package/plugins/filters/component/operators.js +21 -22
  236. package/plugins/filters/component/operators.mjs +18 -18
  237. package/plugins/filters/component/value.js +35 -26
  238. package/plugins/filters/component/value.mjs +32 -22
  239. package/plugins/filters/constants.mjs +1 -1
  240. package/plugins/filters/filters.js +106 -62
  241. package/plugins/filters/filters.mjs +99 -55
  242. package/plugins/filters/menu/focusController.js +123 -0
  243. package/plugins/filters/menu/focusController.mjs +119 -0
  244. package/plugins/filters/menu/focusNavigator.js +30 -0
  245. package/plugins/filters/menu/focusNavigator.mjs +26 -0
  246. package/plugins/filters/ui/_base.js +35 -13
  247. package/plugins/filters/ui/_base.mjs +35 -13
  248. package/plugins/filters/ui/input.js +43 -32
  249. package/plugins/filters/ui/input.mjs +42 -30
  250. package/plugins/filters/ui/link.js +44 -12
  251. package/plugins/filters/ui/link.mjs +44 -11
  252. package/plugins/filters/ui/multipleSelect.js +234 -129
  253. package/plugins/filters/ui/multipleSelect.mjs +232 -127
  254. package/plugins/filters/ui/radioInput.js +42 -18
  255. package/plugins/filters/ui/radioInput.mjs +42 -17
  256. package/plugins/filters/ui/select.js +144 -75
  257. package/plugins/filters/ui/select.mjs +142 -72
  258. package/plugins/hiddenColumns/hiddenColumns.mjs +1 -1
  259. package/plugins/hiddenRows/hiddenRows.mjs +1 -1
  260. package/plugins/manualColumnMove/manualColumnMove.js +3 -1
  261. package/plugins/manualColumnMove/manualColumnMove.mjs +3 -1
  262. package/plugins/mergeCells/mergeCells.js +5 -16
  263. package/plugins/mergeCells/mergeCells.mjs +5 -16
  264. package/plugins/multiColumnSorting/multiColumnSorting.js +37 -2
  265. package/plugins/multiColumnSorting/multiColumnSorting.mjs +37 -2
  266. package/plugins/nestedHeaders/nestedHeaders.js +240 -10
  267. package/plugins/nestedHeaders/nestedHeaders.mjs +241 -11
  268. package/plugins/nestedHeaders/stateManager/index.js +102 -3
  269. package/plugins/nestedHeaders/stateManager/index.mjs +102 -3
  270. package/plugins/nestedRows/nestedRows.js +41 -0
  271. package/plugins/nestedRows/nestedRows.mjs +41 -0
  272. package/plugins/nestedRows/ui/headers.js +11 -0
  273. package/plugins/nestedRows/ui/headers.mjs +12 -1
  274. package/renderers/autocompleteRenderer/autocompleteRenderer.js +8 -0
  275. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +8 -0
  276. package/renderers/baseRenderer/baseRenderer.js +17 -0
  277. package/renderers/baseRenderer/baseRenderer.mjs +18 -1
  278. package/renderers/checkboxRenderer/checkboxRenderer.js +9 -4
  279. package/renderers/checkboxRenderer/checkboxRenderer.mjs +9 -4
  280. package/renderers/dateRenderer/dateRenderer.d.ts +5 -0
  281. package/renderers/dateRenderer/dateRenderer.js +29 -0
  282. package/renderers/dateRenderer/dateRenderer.mjs +24 -0
  283. package/renderers/dateRenderer/index.d.ts +1 -0
  284. package/renderers/dateRenderer/index.js +6 -0
  285. package/renderers/dateRenderer/index.mjs +1 -0
  286. package/renderers/handsontableRenderer/handsontableRenderer.d.ts +5 -0
  287. package/renderers/handsontableRenderer/handsontableRenderer.js +29 -0
  288. package/renderers/handsontableRenderer/handsontableRenderer.mjs +24 -0
  289. package/renderers/handsontableRenderer/index.d.ts +1 -0
  290. package/renderers/handsontableRenderer/index.js +6 -0
  291. package/renderers/handsontableRenderer/index.mjs +1 -0
  292. package/renderers/index.d.ts +9 -0
  293. package/renderers/selectRenderer/index.d.ts +1 -0
  294. package/renderers/selectRenderer/index.js +6 -0
  295. package/renderers/selectRenderer/index.mjs +1 -0
  296. package/renderers/selectRenderer/selectRenderer.d.ts +5 -0
  297. package/renderers/selectRenderer/selectRenderer.js +27 -0
  298. package/renderers/selectRenderer/selectRenderer.mjs +22 -0
  299. package/selection/highlight/highlight.js +256 -71
  300. package/selection/highlight/highlight.mjs +250 -71
  301. package/selection/highlight/types/activeHeader.js +10 -8
  302. package/selection/highlight/types/activeHeader.mjs +10 -8
  303. package/selection/highlight/types/area.js +6 -18
  304. package/selection/highlight/types/area.mjs +6 -18
  305. package/selection/highlight/types/areaLayered.js +31 -0
  306. package/selection/highlight/types/areaLayered.mjs +26 -0
  307. package/selection/highlight/types/column.js +27 -0
  308. package/selection/highlight/types/column.mjs +22 -0
  309. package/selection/highlight/types/customSelection.js +7 -9
  310. package/selection/highlight/types/customSelection.mjs +7 -9
  311. package/selection/highlight/types/fill.js +5 -7
  312. package/selection/highlight/types/fill.mjs +5 -7
  313. package/selection/highlight/types/{cell.js → focus.js} +5 -7
  314. package/selection/highlight/types/{cell.mjs → focus.mjs} +5 -7
  315. package/selection/highlight/types/header.js +9 -18
  316. package/selection/highlight/types/header.mjs +9 -18
  317. package/selection/highlight/types/row.js +27 -0
  318. package/selection/highlight/types/row.mjs +22 -0
  319. package/selection/highlight/visualSelection.js +31 -27
  320. package/selection/highlight/visualSelection.mjs +31 -27
  321. package/selection/index.js +4 -7
  322. package/selection/index.mjs +2 -3
  323. package/selection/mouseEventHandler.js +7 -1
  324. package/selection/mouseEventHandler.mjs +7 -1
  325. package/selection/range.js +8 -8
  326. package/selection/range.mjs +8 -8
  327. package/selection/selection.js +321 -152
  328. package/selection/selection.mjs +318 -151
  329. package/selection/transformation.js +232 -90
  330. package/selection/transformation.mjs +232 -90
  331. package/selection/utils.js +15 -21
  332. package/selection/utils.mjs +16 -21
  333. package/settings.d.ts +4 -0
  334. package/shortcutContexts/commands/editor/closeAndSave.js +12 -0
  335. package/shortcutContexts/commands/editor/closeAndSave.mjs +8 -0
  336. package/shortcutContexts/commands/editor/closeWithoutSaving.js +12 -0
  337. package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +8 -0
  338. package/shortcutContexts/commands/editor/fastOpen.js +16 -0
  339. package/shortcutContexts/commands/editor/fastOpen.mjs +12 -0
  340. package/shortcutContexts/commands/editor/index.js +16 -0
  341. package/shortcutContexts/commands/editor/index.mjs +12 -0
  342. package/shortcutContexts/commands/editor/open.js +27 -0
  343. package/shortcutContexts/commands/editor/open.mjs +23 -0
  344. package/shortcutContexts/commands/emptySelectedCells.js +11 -0
  345. package/shortcutContexts/commands/emptySelectedCells.mjs +7 -0
  346. package/shortcutContexts/commands/extendCellsSelection/down.js +15 -0
  347. package/shortcutContexts/commands/extendCellsSelection/down.mjs +11 -0
  348. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +25 -0
  349. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +21 -0
  350. package/shortcutContexts/commands/extendCellsSelection/index.js +26 -0
  351. package/shortcutContexts/commands/extendCellsSelection/index.mjs +22 -0
  352. package/shortcutContexts/commands/extendCellsSelection/left.js +15 -0
  353. package/shortcutContexts/commands/extendCellsSelection/left.mjs +11 -0
  354. package/shortcutContexts/commands/extendCellsSelection/right.js +15 -0
  355. package/shortcutContexts/commands/extendCellsSelection/right.mjs +11 -0
  356. package/shortcutContexts/commands/extendCellsSelection/toColumns.js +19 -0
  357. package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +15 -0
  358. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +29 -0
  359. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +25 -0
  360. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +19 -0
  361. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +15 -0
  362. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +19 -0
  363. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +15 -0
  364. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +29 -0
  365. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +25 -0
  366. package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +29 -0
  367. package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +25 -0
  368. package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +29 -0
  369. package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +25 -0
  370. package/shortcutContexts/commands/extendCellsSelection/toRows.js +19 -0
  371. package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +15 -0
  372. package/shortcutContexts/commands/extendCellsSelection/up.js +15 -0
  373. package/shortcutContexts/commands/extendCellsSelection/up.mjs +11 -0
  374. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +25 -0
  375. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +21 -0
  376. package/shortcutContexts/commands/index.js +35 -0
  377. package/shortcutContexts/commands/index.mjs +31 -0
  378. package/shortcutContexts/commands/moveCellSelection/down.js +13 -0
  379. package/shortcutContexts/commands/moveCellSelection/down.mjs +9 -0
  380. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +33 -0
  381. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +29 -0
  382. package/shortcutContexts/commands/moveCellSelection/index.js +28 -0
  383. package/shortcutContexts/commands/moveCellSelection/index.mjs +24 -0
  384. package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +12 -0
  385. package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +8 -0
  386. package/shortcutContexts/commands/moveCellSelection/inlineStart.js +12 -0
  387. package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +8 -0
  388. package/shortcutContexts/commands/moveCellSelection/left.js +10 -0
  389. package/shortcutContexts/commands/moveCellSelection/left.mjs +6 -0
  390. package/shortcutContexts/commands/moveCellSelection/right.js +10 -0
  391. package/shortcutContexts/commands/moveCellSelection/right.mjs +6 -0
  392. package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +17 -0
  393. package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +13 -0
  394. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +18 -0
  395. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +14 -0
  396. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +14 -0
  397. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +10 -0
  398. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +17 -0
  399. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +13 -0
  400. package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +19 -0
  401. package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +15 -0
  402. package/shortcutContexts/commands/moveCellSelection/toMostRight.js +21 -0
  403. package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +17 -0
  404. package/shortcutContexts/commands/moveCellSelection/toMostTop.js +17 -0
  405. package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +13 -0
  406. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +19 -0
  407. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +15 -0
  408. package/shortcutContexts/commands/moveCellSelection/up.js +13 -0
  409. package/shortcutContexts/commands/moveCellSelection/up.mjs +9 -0
  410. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +33 -0
  411. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +29 -0
  412. package/shortcutContexts/commands/populateSelectedCellsData.js +29 -0
  413. package/shortcutContexts/commands/populateSelectedCellsData.mjs +25 -0
  414. package/shortcutContexts/commands/scrollToFocusedCell.js +35 -0
  415. package/shortcutContexts/commands/scrollToFocusedCell.mjs +31 -0
  416. package/shortcutContexts/commands/selectAll.js +12 -0
  417. package/shortcutContexts/commands/selectAll.mjs +8 -0
  418. package/shortcutContexts/constants.js +13 -0
  419. package/shortcutContexts/constants.mjs +8 -0
  420. package/shortcutContexts/editor.js +25 -0
  421. package/shortcutContexts/editor.mjs +21 -0
  422. package/shortcutContexts/grid.js +163 -0
  423. package/shortcutContexts/grid.mjs +159 -0
  424. package/shortcutContexts/index.js +24 -0
  425. package/shortcutContexts/index.mjs +11 -0
  426. package/shortcuts/context.js +23 -4
  427. package/shortcuts/context.mjs +23 -5
  428. package/shortcuts/manager.js +25 -7
  429. package/shortcuts/manager.mjs +26 -7
  430. package/shortcuts/recorder.js +3 -3
  431. package/shortcuts/recorder.mjs +3 -3
  432. package/shortcuts/utils.js +19 -5
  433. package/shortcuts/utils.mjs +18 -4
  434. package/tableView.js +111 -13
  435. package/tableView.mjs +112 -14
  436. package/utils/paginator.js +151 -0
  437. package/utils/paginator.mjs +147 -0
  438. package/3rdparty/walkontable/src/selection.js +0 -295
  439. package/3rdparty/walkontable/src/selection.mjs +0 -290
  440. package/plugins/contextMenu/predefinedItems.mjs +0 -68
  441. package/plugins/copyPaste/focusableElement.js +0 -186
  442. package/plugins/copyPaste/focusableElement.mjs +0 -180
  443. package/selection/highlight/constants.js +0 -15
  444. package/selection/highlight/constants.mjs +0 -6
  445. package/selection/highlight/types/index.js +0 -35
  446. package/selection/highlight/types/index.mjs +0 -31
@@ -79,6 +79,15 @@ const stickyRowsBottom = {
79
79
  */
80
80
  getVisibleRowsCount() {
81
81
  return this.getRenderedRowsCount();
82
+ },
83
+ /**
84
+ * Get the number of rendered column headers.
85
+ *
86
+ * @returns {number}
87
+ * @this Table
88
+ */
89
+ getColumnHeadersCount() {
90
+ return 0;
82
91
  }
83
92
  };
84
93
  (0, _object.defineGetter)(stickyRowsBottom, 'MIXIN_NAME', MIXIN_NAME, {
@@ -76,6 +76,15 @@ const stickyRowsBottom = {
76
76
  */
77
77
  getVisibleRowsCount() {
78
78
  return this.getRenderedRowsCount();
79
+ },
80
+ /**
81
+ * Get the number of rendered column headers.
82
+ *
83
+ * @returns {number}
84
+ * @this Table
85
+ */
86
+ getColumnHeadersCount() {
87
+ return 0;
79
88
  }
80
89
  };
81
90
  defineGetter(stickyRowsBottom, 'MIXIN_NAME', MIXIN_NAME, {
@@ -74,6 +74,15 @@ const stickyRowsTop = {
74
74
  */
75
75
  getVisibleRowsCount() {
76
76
  return this.getRenderedRowsCount();
77
+ },
78
+ /**
79
+ * Get the number of rendered column headers.
80
+ *
81
+ * @returns {number}
82
+ * @this Table
83
+ */
84
+ getColumnHeadersCount() {
85
+ return this.dataAccessObject.columnHeaders.length;
77
86
  }
78
87
  };
79
88
  (0, _object.defineGetter)(stickyRowsTop, 'MIXIN_NAME', MIXIN_NAME, {
@@ -71,6 +71,15 @@ const stickyRowsTop = {
71
71
  */
72
72
  getVisibleRowsCount() {
73
73
  return this.getRenderedRowsCount();
74
+ },
75
+ /**
76
+ * Get the number of rendered column headers.
77
+ *
78
+ * @returns {number}
79
+ * @this Table
80
+ */
81
+ getColumnHeadersCount() {
82
+ return this.dataAccessObject.columnHeaders.length;
74
83
  }
75
84
  };
76
85
  defineGetter(stickyRowsTop, 'MIXIN_NAME', MIXIN_NAME, {
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- require("core-js/modules/es.array.push.js");
5
4
  require("core-js/modules/es.error.cause.js");
5
+ require("core-js/modules/es.array.push.js");
6
6
  var _element = require("../../../helpers/dom/element");
7
7
  var _function = require("../../../helpers/function");
8
8
  var _column = _interopRequireDefault(require("./filter/column"));
@@ -11,6 +11,7 @@ var _renderer = require("./renderer");
11
11
  var _column2 = _interopRequireDefault(require("./utils/column"));
12
12
  var _row2 = _interopRequireDefault(require("./utils/row"));
13
13
  var _overlay = require("./overlay");
14
+ var _a11y = require("../../../helpers/a11y");
14
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
16
  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; }
16
17
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
@@ -170,6 +171,9 @@ class Table {
170
171
  spreader.appendChild(table);
171
172
  }
172
173
  spreader.style.position = 'relative';
174
+ if (this.wtSettings.getSetting('ariaTags')) {
175
+ (0, _element.setAttribute)(spreader, [(0, _a11y.A11Y_PRESENTATION)()]);
176
+ }
173
177
  return spreader;
174
178
  }
175
179
 
@@ -189,6 +193,9 @@ class Table {
189
193
  }
190
194
  hider.appendChild(spreader);
191
195
  }
196
+ if (this.wtSettings.getSetting('ariaTags')) {
197
+ (0, _element.setAttribute)(hider, [(0, _a11y.A11Y_PRESENTATION)()]);
198
+ }
192
199
  return hider;
193
200
  }
194
201
 
@@ -211,9 +218,15 @@ class Table {
211
218
  if (this.isMaster) {
212
219
  holder.parentNode.className += 'ht_master handsontable';
213
220
  holder.parentNode.setAttribute('dir', this.wtSettings.getSettingPure('rtlMode') ? 'rtl' : 'ltr');
221
+ if (this.wtSettings.getSetting('ariaTags')) {
222
+ (0, _element.setAttribute)(holder.parentNode, [(0, _a11y.A11Y_PRESENTATION)()]);
223
+ }
214
224
  }
215
225
  holder.appendChild(hider);
216
226
  }
227
+ if (this.wtSettings.getSetting('ariaTags')) {
228
+ (0, _element.setAttribute)(holder, [(0, _a11y.A11Y_PRESENTATION)()]);
229
+ }
217
230
  return holder;
218
231
  }
219
232
 
@@ -345,7 +358,7 @@ class Table {
345
358
  wtOverlays.refreshAll(); // `refreshAll()` internally already calls `refreshSelections()` method
346
359
  wtOverlays.adjustElementsSize();
347
360
  } else {
348
- this.refreshSelections(runFastDraw);
361
+ this.dataAccessObject.selectionManager.setActiveOverlay(this.facadeGetter()).render(runFastDraw);
349
362
  }
350
363
  if (syncScroll) {
351
364
  wtOverlays.syncScrollWithMaster();
@@ -437,75 +450,6 @@ class Table {
437
450
  }
438
451
  }
439
452
 
440
- /**
441
- * @param {string} className The CSS class name to remove from the table cells.
442
- */
443
- removeClassFromCells(className) {
444
- const nodes = this.TABLE.querySelectorAll(`.${className}`);
445
- for (let i = 0, len = nodes.length; i < len; i++) {
446
- (0, _element.removeClass)(nodes[i], className);
447
- }
448
- }
449
-
450
- /**
451
- * Refresh the table selection by re-rendering Selection instances connected with that instance.
452
- *
453
- * @param {boolean} fastDraw If fast drawing is enabled than additionally className clearing is applied.
454
- */
455
- refreshSelections(fastDraw) {
456
- const {
457
- wtSettings
458
- } = this;
459
- const {
460
- selections
461
- } = this.dataAccessObject;
462
- if (!selections) {
463
- return;
464
- }
465
- const highlights = Array.from(selections);
466
- const len = highlights.length;
467
- if (fastDraw) {
468
- const classesToRemove = [];
469
- for (let i = 0; i < len; i++) {
470
- const {
471
- highlightHeaderClassName,
472
- highlightRowClassName,
473
- highlightColumnClassName
474
- } = highlights[i].settings;
475
- const classNames = highlights[i].classNames;
476
- const classNamesLength = classNames.length;
477
- for (let j = 0; j < classNamesLength; j++) {
478
- if (!classesToRemove.includes(classNames[j])) {
479
- classesToRemove.push(classNames[j]);
480
- }
481
- }
482
- if (highlightHeaderClassName && !classesToRemove.includes(highlightHeaderClassName)) {
483
- classesToRemove.push(highlightHeaderClassName);
484
- }
485
- if (highlightRowClassName && !classesToRemove.includes(highlightRowClassName)) {
486
- classesToRemove.push(highlightRowClassName);
487
- }
488
- if (highlightColumnClassName && !classesToRemove.includes(highlightColumnClassName)) {
489
- classesToRemove.push(highlightColumnClassName);
490
- }
491
- }
492
- const additionalClassesToRemove = wtSettings.getSetting('onBeforeRemoveCellClassNames');
493
- if (Array.isArray(additionalClassesToRemove)) {
494
- for (let i = 0; i < additionalClassesToRemove.length; i++) {
495
- classesToRemove.push(additionalClassesToRemove[i]);
496
- }
497
- }
498
- const classesToRemoveLength = classesToRemove.length;
499
- for (let i = 0; i < classesToRemoveLength; i++) {
500
- // there was no rerender, so we need to remove classNames by ourselves
501
- this.removeClassFromCells(classesToRemove[i]);
502
- }
503
- }
504
- for (let i = 0; i < len; i++) {
505
- highlights[i].draw(this.facadeGetter(), fastDraw);
506
- }
507
- }
508
-
509
453
  /**
510
454
  * Get cell element at coords.
511
455
  * Negative coords.row or coords.col are used to retrieve header cells. If there are multiple header levels, the
@@ -627,14 +571,14 @@ class Table {
627
571
  */
628
572
  getRowHeader(row) {
629
573
  let level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
630
- if (this.columnFilter.sourceColumnToVisibleRowHeadedColumn(0) === 0) {
631
- return;
632
- }
633
574
  const rowHeadersCount = this.wtSettings.getSetting('rowHeaders').length;
634
575
  if (level >= rowHeadersCount) {
635
576
  return;
636
577
  }
637
- const TR = this.TBODY.childNodes[this.rowFilter.sourceToRendered(row)];
578
+ const renderedRow = this.rowFilter.sourceToRendered(row);
579
+ const visibleRow = renderedRow < 0 ? this.rowFilter.sourceRowToVisibleColHeadedRow(row) : renderedRow;
580
+ const parentElement = renderedRow < 0 ? this.THEAD : this.TBODY;
581
+ const TR = parentElement.childNodes[visibleRow];
638
582
  return TR === null || TR === void 0 ? void 0 : TR.childNodes[level];
639
583
  }
640
584
 
@@ -645,9 +589,6 @@ class Table {
645
589
  * @returns {HTMLTableCellElement[]}
646
590
  */
647
591
  getRowHeaders(row) {
648
- if (this.columnFilter.sourceColumnToVisibleRowHeadedColumn(0) === 0) {
649
- return [];
650
- }
651
592
  const THs = [];
652
593
  const rowHeadersCount = this.wtSettings.getSetting('rowHeaders').length;
653
594
  for (let renderedRowIndex = 0; renderedRowIndex < rowHeadersCount; renderedRowIndex++) {
@@ -1,9 +1,9 @@
1
- import "core-js/modules/es.array.push.js";
2
1
  import "core-js/modules/es.error.cause.js";
2
+ import "core-js/modules/es.array.push.js";
3
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; }
4
4
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
5
5
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
6
- import { hasClass, index, offset, removeClass, removeTextNodes, overlayContainsElement, closest, outerHeight, outerWidth, innerHeight, isVisible } from "../../../helpers/dom/element.mjs";
6
+ import { hasClass, index, offset, removeTextNodes, overlayContainsElement, closest, outerHeight, outerWidth, innerHeight, isVisible, setAttribute } from "../../../helpers/dom/element.mjs";
7
7
  import { isFunction } from "../../../helpers/function.mjs";
8
8
  import ColumnFilter from "./filter/column.mjs";
9
9
  import RowFilter from "./filter/row.mjs";
@@ -11,6 +11,7 @@ import { Renderer } from "./renderer/index.mjs";
11
11
  import ColumnUtils from "./utils/column.mjs";
12
12
  import RowUtils from "./utils/row.mjs";
13
13
  import { CLONE_TOP, CLONE_BOTTOM, CLONE_INLINE_START, CLONE_TOP_INLINE_START_CORNER, CLONE_BOTTOM_INLINE_START_CORNER } from "./overlay/index.mjs";
14
+ import { A11Y_PRESENTATION } from "../../../helpers/a11y.mjs";
14
15
  /**
15
16
  * @todo These mixes are never added to the class Table, however their members are used here.
16
17
  * @todo Continue: Potentially it works only, because some of these mixes are added to every inherited class.
@@ -166,6 +167,9 @@ class Table {
166
167
  spreader.appendChild(table);
167
168
  }
168
169
  spreader.style.position = 'relative';
170
+ if (this.wtSettings.getSetting('ariaTags')) {
171
+ setAttribute(spreader, [A11Y_PRESENTATION()]);
172
+ }
169
173
  return spreader;
170
174
  }
171
175
 
@@ -185,6 +189,9 @@ class Table {
185
189
  }
186
190
  hider.appendChild(spreader);
187
191
  }
192
+ if (this.wtSettings.getSetting('ariaTags')) {
193
+ setAttribute(hider, [A11Y_PRESENTATION()]);
194
+ }
188
195
  return hider;
189
196
  }
190
197
 
@@ -207,9 +214,15 @@ class Table {
207
214
  if (this.isMaster) {
208
215
  holder.parentNode.className += 'ht_master handsontable';
209
216
  holder.parentNode.setAttribute('dir', this.wtSettings.getSettingPure('rtlMode') ? 'rtl' : 'ltr');
217
+ if (this.wtSettings.getSetting('ariaTags')) {
218
+ setAttribute(holder.parentNode, [A11Y_PRESENTATION()]);
219
+ }
210
220
  }
211
221
  holder.appendChild(hider);
212
222
  }
223
+ if (this.wtSettings.getSetting('ariaTags')) {
224
+ setAttribute(holder, [A11Y_PRESENTATION()]);
225
+ }
213
226
  return holder;
214
227
  }
215
228
 
@@ -341,7 +354,7 @@ class Table {
341
354
  wtOverlays.refreshAll(); // `refreshAll()` internally already calls `refreshSelections()` method
342
355
  wtOverlays.adjustElementsSize();
343
356
  } else {
344
- this.refreshSelections(runFastDraw);
357
+ this.dataAccessObject.selectionManager.setActiveOverlay(this.facadeGetter()).render(runFastDraw);
345
358
  }
346
359
  if (syncScroll) {
347
360
  wtOverlays.syncScrollWithMaster();
@@ -433,75 +446,6 @@ class Table {
433
446
  }
434
447
  }
435
448
 
436
- /**
437
- * @param {string} className The CSS class name to remove from the table cells.
438
- */
439
- removeClassFromCells(className) {
440
- const nodes = this.TABLE.querySelectorAll(`.${className}`);
441
- for (let i = 0, len = nodes.length; i < len; i++) {
442
- removeClass(nodes[i], className);
443
- }
444
- }
445
-
446
- /**
447
- * Refresh the table selection by re-rendering Selection instances connected with that instance.
448
- *
449
- * @param {boolean} fastDraw If fast drawing is enabled than additionally className clearing is applied.
450
- */
451
- refreshSelections(fastDraw) {
452
- const {
453
- wtSettings
454
- } = this;
455
- const {
456
- selections
457
- } = this.dataAccessObject;
458
- if (!selections) {
459
- return;
460
- }
461
- const highlights = Array.from(selections);
462
- const len = highlights.length;
463
- if (fastDraw) {
464
- const classesToRemove = [];
465
- for (let i = 0; i < len; i++) {
466
- const {
467
- highlightHeaderClassName,
468
- highlightRowClassName,
469
- highlightColumnClassName
470
- } = highlights[i].settings;
471
- const classNames = highlights[i].classNames;
472
- const classNamesLength = classNames.length;
473
- for (let j = 0; j < classNamesLength; j++) {
474
- if (!classesToRemove.includes(classNames[j])) {
475
- classesToRemove.push(classNames[j]);
476
- }
477
- }
478
- if (highlightHeaderClassName && !classesToRemove.includes(highlightHeaderClassName)) {
479
- classesToRemove.push(highlightHeaderClassName);
480
- }
481
- if (highlightRowClassName && !classesToRemove.includes(highlightRowClassName)) {
482
- classesToRemove.push(highlightRowClassName);
483
- }
484
- if (highlightColumnClassName && !classesToRemove.includes(highlightColumnClassName)) {
485
- classesToRemove.push(highlightColumnClassName);
486
- }
487
- }
488
- const additionalClassesToRemove = wtSettings.getSetting('onBeforeRemoveCellClassNames');
489
- if (Array.isArray(additionalClassesToRemove)) {
490
- for (let i = 0; i < additionalClassesToRemove.length; i++) {
491
- classesToRemove.push(additionalClassesToRemove[i]);
492
- }
493
- }
494
- const classesToRemoveLength = classesToRemove.length;
495
- for (let i = 0; i < classesToRemoveLength; i++) {
496
- // there was no rerender, so we need to remove classNames by ourselves
497
- this.removeClassFromCells(classesToRemove[i]);
498
- }
499
- }
500
- for (let i = 0; i < len; i++) {
501
- highlights[i].draw(this.facadeGetter(), fastDraw);
502
- }
503
- }
504
-
505
449
  /**
506
450
  * Get cell element at coords.
507
451
  * Negative coords.row or coords.col are used to retrieve header cells. If there are multiple header levels, the
@@ -623,14 +567,14 @@ class Table {
623
567
  */
624
568
  getRowHeader(row) {
625
569
  let level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
626
- if (this.columnFilter.sourceColumnToVisibleRowHeadedColumn(0) === 0) {
627
- return;
628
- }
629
570
  const rowHeadersCount = this.wtSettings.getSetting('rowHeaders').length;
630
571
  if (level >= rowHeadersCount) {
631
572
  return;
632
573
  }
633
- const TR = this.TBODY.childNodes[this.rowFilter.sourceToRendered(row)];
574
+ const renderedRow = this.rowFilter.sourceToRendered(row);
575
+ const visibleRow = renderedRow < 0 ? this.rowFilter.sourceRowToVisibleColHeadedRow(row) : renderedRow;
576
+ const parentElement = renderedRow < 0 ? this.THEAD : this.TBODY;
577
+ const TR = parentElement.childNodes[visibleRow];
634
578
  return TR === null || TR === void 0 ? void 0 : TR.childNodes[level];
635
579
  }
636
580
 
@@ -641,9 +585,6 @@ class Table {
641
585
  * @returns {HTMLTableCellElement[]}
642
586
  */
643
587
  getRowHeaders(row) {
644
- if (this.columnFilter.sourceColumnToVisibleRowHeadedColumn(0) === 0) {
645
- return [];
646
- }
647
588
  const THs = [];
648
589
  const rowHeadersCount = this.wtSettings.getSetting('rowHeaders').length;
649
590
  for (let renderedRowIndex = 0; renderedRowIndex < rowHeadersCount; renderedRowIndex++) {
package/base.js CHANGED
@@ -43,8 +43,8 @@ Handsontable.hooks = _pluginHooks.default.getSingleton();
43
43
  Handsontable.CellCoords = _src.CellCoords;
44
44
  Handsontable.CellRange = _src.CellRange;
45
45
  Handsontable.packageName = 'handsontable';
46
- Handsontable.buildDate = "25/10/2023 06:25:27";
47
- Handsontable.version = "0.0.0-next-9059914-20231025";
46
+ Handsontable.buildDate = "25/10/2023 11:23:13";
47
+ Handsontable.version = "0.0.0-next-21d91d0-20231025";
48
48
  Handsontable.languages = {
49
49
  dictionaryKeys: _registry.dictionaryKeys,
50
50
  getLanguageDictionary: _registry.getLanguageDictionary,
package/base.mjs CHANGED
@@ -35,8 +35,8 @@ Handsontable.hooks = Hooks.getSingleton();
35
35
  Handsontable.CellCoords = CellCoords;
36
36
  Handsontable.CellRange = CellRange;
37
37
  Handsontable.packageName = 'handsontable';
38
- Handsontable.buildDate = "25/10/2023 06:25:39";
39
- Handsontable.version = "0.0.0-next-9059914-20231025";
38
+ Handsontable.buildDate = "25/10/2023 11:23:21";
39
+ Handsontable.version = "0.0.0-next-21d91d0-20231025";
40
40
  Handsontable.languages = {
41
41
  dictionaryKeys,
42
42
  getLanguageDictionary,
@@ -1,17 +1,17 @@
1
1
  import { CellTypeObject } from '../base';
2
2
  import { DateEditor } from '../../editors/dateEditor';
3
- import { autocompleteRenderer } from '../../renderers/autocompleteRenderer';
3
+ import { dateRenderer } from '../../renderers/dateRenderer';
4
4
  import { dateValidator } from '../../validators/dateValidator';
5
5
 
6
6
  export const CELL_TYPE: 'date';
7
7
  export interface DateCellType extends CellTypeObject {
8
8
  editor: typeof DateEditor;
9
- renderer: typeof autocompleteRenderer;
9
+ renderer: typeof dateRenderer;
10
10
  validator: typeof dateValidator;
11
11
  }
12
12
 
13
13
  export namespace DateCellType {
14
14
  export { DateEditor as editor };
15
- export { autocompleteRenderer as renderer };
15
+ export { dateRenderer as renderer };
16
16
  export { dateValidator as validator };
17
17
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  var _dateEditor = require("../../editors/dateEditor");
5
- var _autocompleteRenderer = require("../../renderers/autocompleteRenderer");
5
+ var _dateRenderer = require("../../renderers/dateRenderer");
6
6
  var _dateValidator = require("../../validators/dateValidator");
7
7
  const CELL_TYPE = 'date';
8
8
  exports.CELL_TYPE = CELL_TYPE;
@@ -10,7 +10,7 @@ const DateCellType = {
10
10
  CELL_TYPE,
11
11
  editor: _dateEditor.DateEditor,
12
12
  // displays small gray arrow on right side of the cell
13
- renderer: _autocompleteRenderer.autocompleteRenderer,
13
+ renderer: _dateRenderer.dateRenderer,
14
14
  validator: _dateValidator.dateValidator
15
15
  };
16
16
  exports.DateCellType = DateCellType;
@@ -1,11 +1,11 @@
1
1
  import { DateEditor } from "../../editors/dateEditor/index.mjs";
2
- import { autocompleteRenderer } from "../../renderers/autocompleteRenderer/index.mjs";
2
+ import { dateRenderer } from "../../renderers/dateRenderer/index.mjs";
3
3
  import { dateValidator } from "../../validators/dateValidator/index.mjs";
4
4
  export const CELL_TYPE = 'date';
5
5
  export const DateCellType = {
6
6
  CELL_TYPE,
7
7
  editor: DateEditor,
8
8
  // displays small gray arrow on right side of the cell
9
- renderer: autocompleteRenderer,
9
+ renderer: dateRenderer,
10
10
  validator: dateValidator
11
11
  };
@@ -1,14 +1,14 @@
1
1
  import { CellTypeObject } from '../base';
2
2
  import { HandsontableEditor } from '../../editors/handsontableEditor';
3
- import { autocompleteRenderer } from '../../renderers/autocompleteRenderer';
3
+ import { handsontableRenderer } from '../../renderers/handsontableRenderer';
4
4
 
5
5
  export const CELL_TYPE: 'handsontable';
6
6
  export interface HandsontableCellType extends CellTypeObject {
7
7
  editor: typeof HandsontableEditor;
8
- renderer: typeof autocompleteRenderer;
8
+ renderer: typeof handsontableRenderer;
9
9
  }
10
10
 
11
11
  export namespace HandsontableCellType {
12
12
  export { HandsontableEditor as editor };
13
- export { autocompleteRenderer as renderer };
13
+ export { handsontableRenderer as renderer };
14
14
  }
@@ -2,13 +2,13 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  var _handsontableEditor = require("../../editors/handsontableEditor");
5
- var _autocompleteRenderer = require("../../renderers/autocompleteRenderer");
5
+ var _handsontableRenderer = require("../../renderers/handsontableRenderer");
6
6
  const CELL_TYPE = 'handsontable';
7
7
  exports.CELL_TYPE = CELL_TYPE;
8
8
  const HandsontableCellType = {
9
9
  CELL_TYPE,
10
10
  editor: _handsontableEditor.HandsontableEditor,
11
11
  // displays small gray arrow on right side of the cell
12
- renderer: _autocompleteRenderer.autocompleteRenderer
12
+ renderer: _handsontableRenderer.handsontableRenderer
13
13
  };
14
14
  exports.HandsontableCellType = HandsontableCellType;
@@ -1,9 +1,9 @@
1
1
  import { HandsontableEditor } from "../../editors/handsontableEditor/index.mjs";
2
- import { autocompleteRenderer } from "../../renderers/autocompleteRenderer/index.mjs";
2
+ import { handsontableRenderer } from "../../renderers/handsontableRenderer/index.mjs";
3
3
  export const CELL_TYPE = 'handsontable';
4
4
  export const HandsontableCellType = {
5
5
  CELL_TYPE,
6
6
  editor: HandsontableEditor,
7
7
  // displays small gray arrow on right side of the cell
8
- renderer: autocompleteRenderer
8
+ renderer: handsontableRenderer
9
9
  };
@@ -5,6 +5,7 @@ import { DropdownCellType, CELL_TYPE as DROPDOWN_TYPE } from './dropdownType';
5
5
  import { HandsontableCellType, CELL_TYPE as HANDSONTABLE_TYPE } from './handsontableType';
6
6
  import { NumericCellType, CELL_TYPE as NUMERIC_TYPE } from './numericType';
7
7
  import { PasswordCellType, CELL_TYPE as PASSWORD_TYPE } from './passwordType';
8
+ import { SelectCellType, CELL_TYPE as SELECT_TYPE } from './selectType';
8
9
  import { TextCellType, CELL_TYPE as TEXT_TYPE } from './textType';
9
10
  import { TimeCellType, CELL_TYPE as TIME_TYPE } from './timeType';
10
11
 
@@ -18,6 +19,7 @@ export interface CellTypes {
18
19
  handsontable: typeof HandsontableCellType;
19
20
  numeric: typeof NumericCellType;
20
21
  password: typeof PasswordCellType;
22
+ select: typeof SelectCellType;
21
23
  text: typeof TextCellType;
22
24
  time: typeof TimeCellType;
23
25
  }
@@ -35,6 +37,7 @@ export {
35
37
  HandsontableCellType, HANDSONTABLE_TYPE,
36
38
  NumericCellType, NUMERIC_TYPE,
37
39
  PasswordCellType, PASSWORD_TYPE,
40
+ SelectCellType, SELECT_TYPE,
38
41
  TextCellType, TEXT_TYPE,
39
42
  TimeCellType, TIME_TYPE
40
43
  };
@@ -23,6 +23,9 @@ exports.NUMERIC_TYPE = _numericType.CELL_TYPE;
23
23
  var _passwordType = require("./passwordType");
24
24
  exports.PasswordCellType = _passwordType.PasswordCellType;
25
25
  exports.PASSWORD_TYPE = _passwordType.CELL_TYPE;
26
+ var _selectType = require("./selectType");
27
+ exports.SelectCellType = _selectType.SelectCellType;
28
+ exports.SELECT_TYPE = _selectType.CELL_TYPE;
26
29
  var _textType = require("./textType");
27
30
  exports.TextCellType = _textType.TextCellType;
28
31
  exports.TEXT_TYPE = _textType.CELL_TYPE;
@@ -46,6 +49,7 @@ function registerAllCellTypes() {
46
49
  (0, _registry.registerCellType)(_handsontableType.HandsontableCellType);
47
50
  (0, _registry.registerCellType)(_numericType.NumericCellType);
48
51
  (0, _registry.registerCellType)(_passwordType.PasswordCellType);
52
+ (0, _registry.registerCellType)(_selectType.SelectCellType);
49
53
  (0, _registry.registerCellType)(_textType.TextCellType);
50
54
  (0, _registry.registerCellType)(_timeType.TimeCellType);
51
55
  }
@@ -5,6 +5,7 @@ import { DropdownCellType, CELL_TYPE as DROPDOWN_TYPE } from "./dropdownType/ind
5
5
  import { HandsontableCellType, CELL_TYPE as HANDSONTABLE_TYPE } from "./handsontableType/index.mjs";
6
6
  import { NumericCellType, CELL_TYPE as NUMERIC_TYPE } from "./numericType/index.mjs";
7
7
  import { PasswordCellType, CELL_TYPE as PASSWORD_TYPE } from "./passwordType/index.mjs";
8
+ import { SelectCellType, CELL_TYPE as SELECT_TYPE } from "./selectType/index.mjs";
8
9
  import { TextCellType, CELL_TYPE as TEXT_TYPE } from "./textType/index.mjs";
9
10
  import { TimeCellType, CELL_TYPE as TIME_TYPE } from "./timeType/index.mjs";
10
11
  import { registerCellType } from "./registry.mjs";
@@ -19,8 +20,9 @@ export function registerAllCellTypes() {
19
20
  registerCellType(HandsontableCellType);
20
21
  registerCellType(NumericCellType);
21
22
  registerCellType(PasswordCellType);
23
+ registerCellType(SelectCellType);
22
24
  registerCellType(TextCellType);
23
25
  registerCellType(TimeCellType);
24
26
  }
25
- export { AutocompleteCellType, AUTOCOMPLETE_TYPE, CheckboxCellType, CHECKBOX_TYPE, DateCellType, DATE_TYPE, DropdownCellType, DROPDOWN_TYPE, HandsontableCellType, HANDSONTABLE_TYPE, NumericCellType, NUMERIC_TYPE, PasswordCellType, PASSWORD_TYPE, TextCellType, TEXT_TYPE, TimeCellType, TIME_TYPE };
27
+ export { AutocompleteCellType, AUTOCOMPLETE_TYPE, CheckboxCellType, CHECKBOX_TYPE, DateCellType, DATE_TYPE, DropdownCellType, DROPDOWN_TYPE, HandsontableCellType, HANDSONTABLE_TYPE, NumericCellType, NUMERIC_TYPE, PasswordCellType, PASSWORD_TYPE, SelectCellType, SELECT_TYPE, TextCellType, TEXT_TYPE, TimeCellType, TIME_TYPE };
26
28
  export { getCellType, getRegisteredCellTypeNames, getRegisteredCellTypes, hasCellType, registerCellType } from "./registry.mjs";
@@ -0,0 +1 @@
1
+ export * from './selectType';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ var _selectType = require("./selectType");
5
+ exports.CELL_TYPE = _selectType.CELL_TYPE;
6
+ exports.SelectCellType = _selectType.SelectCellType;
@@ -0,0 +1 @@
1
+ export { CELL_TYPE, SelectCellType } from "./selectType.mjs";
@@ -0,0 +1,14 @@
1
+ import { CellTypeObject } from '../base';
2
+ import { SelectEditor } from '../../editors/selectEditor';
3
+ import { selectRenderer } from '../../renderers/selectRenderer';
4
+
5
+ export const CELL_TYPE: 'select';
6
+ export interface SelectCellType extends CellTypeObject {
7
+ editor: typeof SelectEditor;
8
+ renderer: typeof selectRenderer;
9
+ }
10
+
11
+ export namespace SelectCellType {
12
+ export { SelectEditor as editor };
13
+ export { selectRenderer as renderer };
14
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ var _selectEditor = require("../../editors/selectEditor");
5
+ var _selectRenderer = require("../../renderers/selectRenderer");
6
+ const CELL_TYPE = 'select';
7
+ exports.CELL_TYPE = CELL_TYPE;
8
+ const SelectCellType = {
9
+ CELL_TYPE,
10
+ editor: _selectEditor.SelectEditor,
11
+ renderer: _selectRenderer.selectRenderer
12
+ };
13
+ exports.SelectCellType = SelectCellType;
@@ -0,0 +1,8 @@
1
+ import { SelectEditor } from "../../editors/selectEditor/index.mjs";
2
+ import { selectRenderer } from "../../renderers/selectRenderer/index.mjs";
3
+ export const CELL_TYPE = 'select';
4
+ export const SelectCellType = {
5
+ CELL_TYPE,
6
+ editor: SelectEditor,
7
+ renderer: selectRenderer
8
+ };