handsontable 13.1.0 → 14.0.0-next-d97b156-20231027

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 (691) hide show
  1. package/3rdparty/walkontable/src/calculator/constants.js +3 -6
  2. package/3rdparty/walkontable/src/calculator/viewportColumns.js +1 -2
  3. package/3rdparty/walkontable/src/calculator/viewportRows.js +1 -2
  4. package/3rdparty/walkontable/src/cell/coords.d.ts +8 -1
  5. package/3rdparty/walkontable/src/cell/coords.js +81 -13
  6. package/3rdparty/walkontable/src/cell/coords.mjs +80 -11
  7. package/3rdparty/walkontable/src/cell/range.d.ts +9 -2
  8. package/3rdparty/walkontable/src/cell/range.js +39 -9
  9. package/3rdparty/walkontable/src/cell/range.mjs +38 -7
  10. package/3rdparty/walkontable/src/core/_base.js +9 -3
  11. package/3rdparty/walkontable/src/core/_base.mjs +9 -3
  12. package/3rdparty/walkontable/src/core/clone.js +2 -2
  13. package/3rdparty/walkontable/src/core/clone.mjs +2 -2
  14. package/3rdparty/walkontable/src/core/core.js +3 -2
  15. package/3rdparty/walkontable/src/core/core.mjs +3 -2
  16. package/3rdparty/walkontable/src/event.js +13 -12
  17. package/3rdparty/walkontable/src/event.mjs +12 -10
  18. package/3rdparty/walkontable/src/facade/core.js +2 -2
  19. package/3rdparty/walkontable/src/facade/core.mjs +2 -2
  20. package/3rdparty/walkontable/src/filter/column.js +1 -2
  21. package/3rdparty/walkontable/src/filter/row.js +1 -2
  22. package/3rdparty/walkontable/src/index.js +12 -4
  23. package/3rdparty/walkontable/src/index.mjs +2 -2
  24. package/3rdparty/walkontable/src/overlay/_base.js +13 -2
  25. package/3rdparty/walkontable/src/overlay/_base.mjs +14 -3
  26. package/3rdparty/walkontable/src/overlay/constants.js +7 -14
  27. package/3rdparty/walkontable/src/overlay/inlineStart.js +2 -6
  28. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +2 -6
  29. package/3rdparty/walkontable/src/overlay/top.js +2 -6
  30. package/3rdparty/walkontable/src/overlay/top.mjs +2 -6
  31. package/3rdparty/walkontable/src/overlays.js +1 -2
  32. package/3rdparty/walkontable/src/renderer/cells.js +10 -0
  33. package/3rdparty/walkontable/src/renderer/cells.mjs +11 -1
  34. package/3rdparty/walkontable/src/renderer/columnHeaders.js +13 -0
  35. package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +14 -1
  36. package/3rdparty/walkontable/src/renderer/rowHeaders.js +8 -0
  37. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +8 -0
  38. package/3rdparty/walkontable/src/renderer/rows.js +13 -0
  39. package/3rdparty/walkontable/src/renderer/rows.mjs +13 -0
  40. package/3rdparty/walkontable/src/renderer/table.js +9 -0
  41. package/3rdparty/walkontable/src/renderer/table.mjs +9 -0
  42. package/3rdparty/walkontable/src/scroll.js +3 -2
  43. package/3rdparty/walkontable/src/scroll.mjs +2 -0
  44. package/3rdparty/walkontable/src/{border.js → selection/border/border.js} +8 -14
  45. package/3rdparty/walkontable/src/{border.mjs → selection/border/border.mjs} +7 -12
  46. package/3rdparty/walkontable/src/selection/border/constants.js +15 -0
  47. package/3rdparty/walkontable/src/selection/border/constants.mjs +12 -0
  48. package/3rdparty/walkontable/src/selection/constants.js +54 -0
  49. package/3rdparty/walkontable/src/selection/constants.mjs +51 -0
  50. package/3rdparty/walkontable/src/selection/index.js +26 -0
  51. package/3rdparty/walkontable/src/selection/index.mjs +5 -0
  52. package/3rdparty/walkontable/src/selection/manager.js +274 -0
  53. package/3rdparty/walkontable/src/selection/manager.mjs +269 -0
  54. package/3rdparty/walkontable/src/selection/scanner.js +270 -0
  55. package/3rdparty/walkontable/src/selection/scanner.mjs +267 -0
  56. package/3rdparty/walkontable/src/selection/selection.js +100 -0
  57. package/3rdparty/walkontable/src/selection/selection.mjs +96 -0
  58. package/3rdparty/walkontable/src/settings.js +13 -4
  59. package/3rdparty/walkontable/src/settings.mjs +13 -4
  60. package/3rdparty/walkontable/src/table/bottom.js +1 -2
  61. package/3rdparty/walkontable/src/table/bottomInlineStartCorner.js +1 -2
  62. package/3rdparty/walkontable/src/table/inlineStart.js +1 -2
  63. package/3rdparty/walkontable/src/table/master.js +3 -6
  64. package/3rdparty/walkontable/src/table/master.mjs +2 -4
  65. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +10 -2
  66. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +9 -0
  67. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +10 -2
  68. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +9 -0
  69. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +10 -2
  70. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +9 -0
  71. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +10 -2
  72. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +9 -0
  73. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +10 -2
  74. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +9 -0
  75. package/3rdparty/walkontable/src/table/top.js +1 -2
  76. package/3rdparty/walkontable/src/table/topInlineStartCorner.js +1 -2
  77. package/3rdparty/walkontable/src/table.js +20 -80
  78. package/3rdparty/walkontable/src/table.mjs +20 -79
  79. package/3rdparty/walkontable/src/utils/orderView/constants.js +3 -6
  80. package/3rdparty/walkontable/src/viewport.js +1 -2
  81. package/CHANGELOG.md +51 -0
  82. package/base.js +3 -4
  83. package/base.mjs +2 -2
  84. package/cellTypes/autocompleteType/autocompleteType.js +3 -5
  85. package/cellTypes/checkboxType/checkboxType.js +3 -5
  86. package/cellTypes/dateType/dateType.d.ts +3 -3
  87. package/cellTypes/dateType/dateType.js +5 -7
  88. package/cellTypes/dateType/dateType.mjs +2 -2
  89. package/cellTypes/dropdownType/dropdownType.js +3 -5
  90. package/cellTypes/handsontableType/handsontableType.d.ts +3 -3
  91. package/cellTypes/handsontableType/handsontableType.js +5 -7
  92. package/cellTypes/handsontableType/handsontableType.mjs +2 -2
  93. package/cellTypes/index.d.ts +3 -0
  94. package/cellTypes/index.js +4 -0
  95. package/cellTypes/index.mjs +3 -1
  96. package/cellTypes/numericType/numericType.js +3 -5
  97. package/cellTypes/passwordType/passwordType.js +3 -5
  98. package/cellTypes/selectType/index.d.ts +1 -0
  99. package/cellTypes/selectType/index.js +6 -0
  100. package/cellTypes/selectType/index.mjs +1 -0
  101. package/cellTypes/selectType/selectType.d.ts +14 -0
  102. package/cellTypes/selectType/selectType.js +11 -0
  103. package/cellTypes/selectType/selectType.mjs +8 -0
  104. package/cellTypes/textType/textType.js +3 -5
  105. package/cellTypes/timeType/timeType.js +3 -5
  106. package/common.d.ts +1 -1
  107. package/core/focusCatcher/focusDetector.js +63 -0
  108. package/core/focusCatcher/focusDetector.mjs +59 -0
  109. package/core/focusCatcher/index.js +148 -0
  110. package/core/focusCatcher/index.mjs +144 -0
  111. package/core/index.js +9 -0
  112. package/core/index.mjs +1 -0
  113. package/core.d.ts +10 -5
  114. package/core.js +327 -359
  115. package/core.mjs +327 -359
  116. package/dataMap/dataMap.js +1 -2
  117. package/dataMap/dataSource.js +1 -2
  118. package/dataMap/metaManager/metaSchema.js +65 -0
  119. package/dataMap/metaManager/metaSchema.mjs +65 -0
  120. package/dataMap/metaManager/mods/extendMetaProperties.js +7 -1
  121. package/dataMap/metaManager/mods/extendMetaProperties.mjs +7 -1
  122. package/dataMap/replaceData.js +5 -0
  123. package/dataMap/replaceData.mjs +5 -0
  124. package/dist/handsontable.css +94 -76
  125. package/dist/handsontable.full.css +94 -76
  126. package/dist/handsontable.full.js +21236 -14104
  127. package/dist/handsontable.full.min.css +8 -8
  128. package/dist/handsontable.full.min.js +170 -152
  129. package/dist/handsontable.js +22016 -15254
  130. package/dist/handsontable.min.css +7 -7
  131. package/dist/handsontable.min.js +31 -23
  132. package/dist/languages/all.js +47 -40
  133. package/dist/languages/all.min.js +1 -1
  134. package/dist/languages/ar-AR.js +1 -2
  135. package/dist/languages/cs-CZ.js +1 -2
  136. package/dist/languages/de-CH.js +1 -2
  137. package/dist/languages/de-DE.js +1 -2
  138. package/dist/languages/en-US.js +15 -3
  139. package/dist/languages/en-US.min.js +1 -1
  140. package/dist/languages/es-MX.js +1 -2
  141. package/dist/languages/fr-FR.js +1 -2
  142. package/dist/languages/it-IT.js +1 -2
  143. package/dist/languages/ja-JP.js +1 -2
  144. package/dist/languages/ko-KR.js +1 -2
  145. package/dist/languages/lv-LV.js +1 -2
  146. package/dist/languages/nb-NO.js +1 -2
  147. package/dist/languages/nl-NL.js +1 -2
  148. package/dist/languages/pl-PL.js +15 -3
  149. package/dist/languages/pl-PL.min.js +1 -1
  150. package/dist/languages/pt-BR.js +1 -2
  151. package/dist/languages/ru-RU.js +1 -2
  152. package/dist/languages/sr-SP.js +1 -2
  153. package/dist/languages/zh-CN.js +1 -2
  154. package/dist/languages/zh-TW.js +1 -2
  155. package/editorManager.js +17 -91
  156. package/editorManager.mjs +16 -87
  157. package/editors/autocompleteEditor/autocompleteEditor.js +65 -11
  158. package/editors/autocompleteEditor/autocompleteEditor.mjs +65 -10
  159. package/editors/baseEditor/baseEditor.js +19 -13
  160. package/editors/baseEditor/baseEditor.mjs +16 -7
  161. package/editors/checkboxEditor/checkboxEditor.js +1 -2
  162. package/editors/dateEditor/dateEditor.js +27 -9
  163. package/editors/dateEditor/dateEditor.mjs +27 -8
  164. package/editors/dropdownEditor/dropdownEditor.js +1 -2
  165. package/editors/handsontableEditor/handsontableEditor.js +14 -7
  166. package/editors/handsontableEditor/handsontableEditor.mjs +14 -6
  167. package/editors/numericEditor/numericEditor.js +1 -2
  168. package/editors/passwordEditor/passwordEditor.js +1 -2
  169. package/editors/selectEditor/selectEditor.js +1 -2
  170. package/editors/textEditor/textEditor.js +20 -29
  171. package/editors/textEditor/textEditor.mjs +22 -30
  172. package/editors/timeEditor/timeEditor.js +1 -2
  173. package/eventManager.js +1 -2
  174. package/focusManager.d.ts +12 -0
  175. package/focusManager.js +265 -0
  176. package/focusManager.mjs +261 -0
  177. package/helpers/a11y.js +81 -0
  178. package/helpers/a11y.mjs +39 -0
  179. package/helpers/dom/element.js +224 -12
  180. package/helpers/dom/element.mjs +216 -10
  181. package/helpers/dom/event.d.ts +1 -0
  182. package/helpers/dom/event.js +25 -0
  183. package/helpers/dom/event.mjs +24 -0
  184. package/helpers/mixed.js +2 -2
  185. package/helpers/mixed.mjs +2 -2
  186. package/helpers/number.d.ts +1 -0
  187. package/helpers/number.js +18 -0
  188. package/helpers/number.mjs +17 -0
  189. package/helpers/unicode.js +1 -2
  190. package/i18n/constants.js +97 -160
  191. package/i18n/constants.mjs +17 -1
  192. package/i18n/languages/ar-AR.js +3 -4
  193. package/i18n/languages/cs-CZ.js +3 -4
  194. package/i18n/languages/de-CH.js +3 -4
  195. package/i18n/languages/de-DE.js +3 -4
  196. package/i18n/languages/en-US.js +17 -5
  197. package/i18n/languages/en-US.mjs +14 -1
  198. package/i18n/languages/es-MX.js +3 -4
  199. package/i18n/languages/fr-FR.js +3 -4
  200. package/i18n/languages/it-IT.js +3 -4
  201. package/i18n/languages/ja-JP.js +3 -4
  202. package/i18n/languages/ko-KR.js +3 -4
  203. package/i18n/languages/lv-LV.js +3 -4
  204. package/i18n/languages/nb-NO.js +3 -4
  205. package/i18n/languages/nl-NL.js +3 -4
  206. package/i18n/languages/pl-PL.js +17 -5
  207. package/i18n/languages/pl-PL.mjs +14 -1
  208. package/i18n/languages/pt-BR.js +3 -4
  209. package/i18n/languages/ru-RU.js +3 -4
  210. package/i18n/languages/sr-SP.js +3 -4
  211. package/i18n/languages/zh-CN.js +3 -4
  212. package/i18n/languages/zh-TW.js +3 -4
  213. package/i18n/registry.js +4 -6
  214. package/index.js +3 -4
  215. package/languages/all.js +47 -40
  216. package/languages/ar-AR.js +1 -2
  217. package/languages/cs-CZ.js +1 -2
  218. package/languages/de-CH.js +1 -2
  219. package/languages/de-DE.js +1 -2
  220. package/languages/en-US.js +15 -3
  221. package/languages/en-US.mjs +14 -1
  222. package/languages/es-MX.js +1 -2
  223. package/languages/fr-FR.js +1 -2
  224. package/languages/index.js +47 -40
  225. package/languages/it-IT.js +1 -2
  226. package/languages/ja-JP.js +1 -2
  227. package/languages/ko-KR.js +1 -2
  228. package/languages/lv-LV.js +1 -2
  229. package/languages/nb-NO.js +1 -2
  230. package/languages/nl-NL.js +1 -2
  231. package/languages/pl-PL.js +15 -3
  232. package/languages/pl-PL.mjs +14 -1
  233. package/languages/pt-BR.js +1 -2
  234. package/languages/ru-RU.js +1 -2
  235. package/languages/sr-SP.js +1 -2
  236. package/languages/zh-CN.js +1 -2
  237. package/languages/zh-TW.js +1 -2
  238. package/mixins/hooksRefRegisterer.js +1 -2
  239. package/mixins/localHooks.js +1 -2
  240. package/package.json +119 -96
  241. package/pluginHooks.d.ts +42 -7
  242. package/pluginHooks.js +301 -65
  243. package/pluginHooks.mjs +300 -63
  244. package/plugins/autoColumnSize/autoColumnSize.d.ts +2 -0
  245. package/plugins/autoColumnSize/autoColumnSize.js +2 -4
  246. package/plugins/autoRowSize/autoRowSize.d.ts +2 -0
  247. package/plugins/autoRowSize/autoRowSize.js +15 -10
  248. package/plugins/autoRowSize/autoRowSize.mjs +13 -6
  249. package/plugins/autofill/autofill.js +2 -4
  250. package/plugins/autofill/utils.js +1 -2
  251. package/plugins/base/base.js +1 -2
  252. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +2 -4
  253. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +1 -2
  254. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +1 -2
  255. package/plugins/collapsibleColumns/collapsibleColumns.js +77 -8
  256. package/plugins/collapsibleColumns/collapsibleColumns.mjs +76 -5
  257. package/plugins/columnSorting/columnSorting.js +71 -6
  258. package/plugins/columnSorting/columnSorting.mjs +70 -3
  259. package/plugins/columnSorting/index.js +3 -1
  260. package/plugins/columnSorting/index.mjs +1 -1
  261. package/plugins/columnSorting/sortFunction/checkbox.js +1 -2
  262. package/plugins/columnSorting/sortFunction/date.js +1 -2
  263. package/plugins/columnSorting/sortFunction/default.js +1 -2
  264. package/plugins/columnSorting/sortFunction/numeric.js +1 -2
  265. package/plugins/columnSorting/sortService/engine.js +3 -6
  266. package/plugins/columnSorting/utils.js +3 -6
  267. package/plugins/columnSummary/columnSummary.js +2 -4
  268. package/plugins/columnSummary/endpoints.js +1 -2
  269. package/plugins/comments/commentEditor.js +2 -2
  270. package/plugins/comments/commentEditor.mjs +1 -0
  271. package/plugins/comments/comments.js +254 -197
  272. package/plugins/comments/comments.mjs +251 -190
  273. package/plugins/comments/contextMenuItem/addEditComment.js +41 -0
  274. package/plugins/comments/contextMenuItem/addEditComment.mjs +35 -0
  275. package/plugins/comments/contextMenuItem/readOnlyComment.js +49 -0
  276. package/plugins/comments/contextMenuItem/readOnlyComment.mjs +43 -0
  277. package/plugins/comments/contextMenuItem/removeComment.js +38 -0
  278. package/plugins/comments/contextMenuItem/removeComment.mjs +32 -0
  279. package/plugins/comments/displaySwitch.js +1 -2
  280. package/plugins/contextMenu/commandExecutor.js +2 -3
  281. package/plugins/contextMenu/commandExecutor.mjs +2 -3
  282. package/plugins/contextMenu/contextMenu.d.ts +1 -1
  283. package/plugins/contextMenu/contextMenu.js +77 -40
  284. package/plugins/contextMenu/contextMenu.mjs +74 -35
  285. package/plugins/contextMenu/itemsFactory.js +2 -3
  286. package/plugins/contextMenu/itemsFactory.mjs +3 -4
  287. package/plugins/contextMenu/{cursor.mjs → menu/cursor.js} +6 -4
  288. package/plugins/contextMenu/{cursor.js → menu/cursor.mjs} +4 -10
  289. package/plugins/contextMenu/menu/defaultShortcutsList.js +88 -0
  290. package/plugins/contextMenu/menu/defaultShortcutsList.mjs +84 -0
  291. package/plugins/contextMenu/menu/index.js +9 -0
  292. package/plugins/contextMenu/menu/index.mjs +1 -0
  293. package/plugins/contextMenu/{menu.js → menu/menu.js} +145 -421
  294. package/plugins/contextMenu/{menu.mjs → menu/menu.mjs} +146 -422
  295. package/plugins/contextMenu/menu/menuItemRenderer.js +70 -0
  296. package/plugins/contextMenu/menu/menuItemRenderer.mjs +66 -0
  297. package/plugins/contextMenu/menu/navigator.js +27 -0
  298. package/plugins/contextMenu/menu/navigator.mjs +23 -0
  299. package/plugins/contextMenu/menu/positioner.js +213 -0
  300. package/plugins/contextMenu/menu/positioner.mjs +209 -0
  301. package/plugins/contextMenu/menu/shortcuts.js +114 -0
  302. package/plugins/contextMenu/menu/shortcuts.mjs +110 -0
  303. package/plugins/contextMenu/menu/utils.js +177 -0
  304. package/plugins/contextMenu/menu/utils.mjs +163 -0
  305. package/plugins/contextMenu/predefinedItems/alignment.js +10 -4
  306. package/plugins/contextMenu/predefinedItems/alignment.mjs +7 -0
  307. package/plugins/contextMenu/predefinedItems/clearColumn.js +8 -7
  308. package/plugins/contextMenu/predefinedItems/clearColumn.mjs +5 -3
  309. package/plugins/contextMenu/predefinedItems/columnLeft.js +8 -7
  310. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +5 -3
  311. package/plugins/contextMenu/predefinedItems/columnRight.js +8 -7
  312. package/plugins/contextMenu/predefinedItems/columnRight.mjs +5 -3
  313. package/plugins/contextMenu/predefinedItems/index.js +75 -0
  314. package/plugins/contextMenu/predefinedItems/index.mjs +68 -0
  315. package/plugins/contextMenu/predefinedItems/noItems.js +1 -2
  316. package/plugins/contextMenu/predefinedItems/readOnly.js +10 -4
  317. package/plugins/contextMenu/predefinedItems/readOnly.mjs +7 -0
  318. package/plugins/contextMenu/predefinedItems/redo.js +3 -4
  319. package/plugins/contextMenu/predefinedItems/removeColumn.js +10 -9
  320. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +5 -3
  321. package/plugins/contextMenu/predefinedItems/removeRow.js +10 -9
  322. package/plugins/contextMenu/predefinedItems/removeRow.mjs +5 -3
  323. package/plugins/contextMenu/predefinedItems/rowAbove.js +8 -7
  324. package/plugins/contextMenu/predefinedItems/rowAbove.mjs +5 -3
  325. package/plugins/contextMenu/predefinedItems/rowBelow.js +8 -7
  326. package/plugins/contextMenu/predefinedItems/rowBelow.mjs +5 -3
  327. package/plugins/contextMenu/predefinedItems/separator.js +1 -2
  328. package/plugins/contextMenu/predefinedItems/undo.js +3 -4
  329. package/plugins/contextMenu/utils.js +35 -151
  330. package/plugins/contextMenu/utils.mjs +35 -144
  331. package/plugins/copyPaste/clipboardData/clipboardData.js +516 -0
  332. package/plugins/copyPaste/clipboardData/clipboardData.mjs +512 -0
  333. package/plugins/copyPaste/clipboardData/copyClipboardData.js +69 -0
  334. package/plugins/copyPaste/clipboardData/copyClipboardData.mjs +65 -0
  335. package/plugins/copyPaste/clipboardData/index.js +9 -0
  336. package/plugins/copyPaste/clipboardData/index.mjs +4 -0
  337. package/plugins/copyPaste/clipboardData/pasteClipboardData.js +81 -0
  338. package/plugins/copyPaste/clipboardData/pasteClipboardData.mjs +77 -0
  339. package/plugins/copyPaste/contextMenuItem/copy.js +7 -0
  340. package/plugins/copyPaste/contextMenuItem/copy.mjs +7 -0
  341. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +9 -1
  342. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +9 -1
  343. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +9 -1
  344. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +9 -1
  345. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +9 -1
  346. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +9 -1
  347. package/plugins/copyPaste/contextMenuItem/cut.js +9 -2
  348. package/plugins/copyPaste/contextMenuItem/cut.mjs +7 -0
  349. package/plugins/copyPaste/copyPaste.js +160 -167
  350. package/plugins/copyPaste/copyPaste.mjs +161 -166
  351. package/plugins/customBorders/contextMenuItem/bottom.js +2 -2
  352. package/plugins/customBorders/contextMenuItem/left.js +2 -2
  353. package/plugins/customBorders/contextMenuItem/noBorders.js +2 -2
  354. package/plugins/customBorders/contextMenuItem/right.js +2 -2
  355. package/plugins/customBorders/contextMenuItem/top.js +2 -2
  356. package/plugins/customBorders/customBorders.js +27 -26
  357. package/plugins/customBorders/customBorders.mjs +24 -21
  358. package/plugins/dragToScroll/dragToScroll.js +2 -4
  359. package/plugins/dropdownMenu/dropdownMenu.d.ts +1 -1
  360. package/plugins/dropdownMenu/dropdownMenu.js +130 -44
  361. package/plugins/dropdownMenu/dropdownMenu.mjs +127 -39
  362. package/plugins/exportFile/dataProvider.js +1 -2
  363. package/plugins/exportFile/exportFile.js +4 -6
  364. package/plugins/exportFile/typeFactory.js +5 -8
  365. package/plugins/exportFile/types/_base.js +1 -2
  366. package/plugins/exportFile/types/csv.js +1 -2
  367. package/plugins/filters/component/_base.js +23 -8
  368. package/plugins/filters/component/_base.mjs +23 -8
  369. package/plugins/filters/component/actionBar.js +31 -29
  370. package/plugins/filters/component/actionBar.mjs +26 -23
  371. package/plugins/filters/component/condition.js +48 -61
  372. package/plugins/filters/component/condition.mjs +40 -52
  373. package/plugins/filters/component/operators.js +21 -22
  374. package/plugins/filters/component/operators.mjs +18 -18
  375. package/plugins/filters/component/value.js +37 -28
  376. package/plugins/filters/component/value.mjs +32 -22
  377. package/plugins/filters/condition/beginsWith.js +3 -4
  378. package/plugins/filters/condition/between.js +3 -4
  379. package/plugins/filters/condition/byValue.js +1 -2
  380. package/plugins/filters/condition/contains.js +3 -4
  381. package/plugins/filters/condition/date/after.js +3 -4
  382. package/plugins/filters/condition/date/before.js +3 -4
  383. package/plugins/filters/condition/date/today.js +3 -4
  384. package/plugins/filters/condition/date/tomorrow.js +3 -4
  385. package/plugins/filters/condition/date/yesterday.js +3 -4
  386. package/plugins/filters/condition/empty.js +3 -4
  387. package/plugins/filters/condition/endsWith.js +3 -4
  388. package/plugins/filters/condition/equal.js +3 -4
  389. package/plugins/filters/condition/false.js +1 -2
  390. package/plugins/filters/condition/greaterThan.js +3 -4
  391. package/plugins/filters/condition/greaterThanOrEqual.js +3 -4
  392. package/plugins/filters/condition/lessThan.js +3 -4
  393. package/plugins/filters/condition/lessThanOrEqual.js +3 -4
  394. package/plugins/filters/condition/none.js +3 -4
  395. package/plugins/filters/condition/notBetween.js +3 -4
  396. package/plugins/filters/condition/notContains.js +3 -4
  397. package/plugins/filters/condition/notEmpty.js +3 -4
  398. package/plugins/filters/condition/notEqual.js +3 -4
  399. package/plugins/filters/condition/true.js +1 -2
  400. package/plugins/filters/conditionCollection.d.ts +3 -2
  401. package/plugins/filters/conditionCollection.js +1 -2
  402. package/plugins/filters/conditionRegisterer.js +1 -2
  403. package/plugins/filters/conditionUpdateObserver.js +1 -2
  404. package/plugins/filters/constants.js +4 -8
  405. package/plugins/filters/constants.mjs +1 -1
  406. package/plugins/filters/dataFilter.js +1 -2
  407. package/plugins/filters/filters.d.ts +3 -5
  408. package/plugins/filters/filters.js +108 -66
  409. package/plugins/filters/filters.mjs +99 -55
  410. package/plugins/filters/logicalOperationRegisterer.js +1 -2
  411. package/plugins/filters/logicalOperations/conjunction.js +4 -6
  412. package/plugins/filters/logicalOperations/disjunction.js +4 -6
  413. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +4 -6
  414. package/plugins/filters/menu/focusController.js +123 -0
  415. package/plugins/filters/menu/focusController.mjs +119 -0
  416. package/plugins/filters/menu/focusNavigator.js +30 -0
  417. package/plugins/filters/menu/focusNavigator.mjs +26 -0
  418. package/plugins/filters/ui/_base.js +37 -15
  419. package/plugins/filters/ui/_base.mjs +35 -13
  420. package/plugins/filters/ui/input.js +43 -35
  421. package/plugins/filters/ui/input.mjs +42 -33
  422. package/plugins/filters/ui/link.js +44 -12
  423. package/plugins/filters/ui/link.mjs +44 -11
  424. package/plugins/filters/ui/multipleSelect.js +237 -133
  425. package/plugins/filters/ui/multipleSelect.mjs +232 -127
  426. package/plugins/filters/ui/radioInput.js +42 -18
  427. package/plugins/filters/ui/radioInput.mjs +42 -17
  428. package/plugins/filters/ui/select.js +152 -77
  429. package/plugins/filters/ui/select.mjs +148 -72
  430. package/plugins/formulas/engine/settings.js +2 -4
  431. package/plugins/formulas/formulas.js +3 -6
  432. package/plugins/formulas/indexSyncer/axisSyncer.js +1 -2
  433. package/plugins/formulas/indexSyncer/index.js +1 -2
  434. package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +2 -2
  435. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +2 -2
  436. package/plugins/hiddenColumns/hiddenColumns.d.ts +1 -0
  437. package/plugins/hiddenColumns/hiddenColumns.js +49 -6
  438. package/plugins/hiddenColumns/hiddenColumns.mjs +48 -3
  439. package/plugins/hiddenRows/contextMenuItem/hideRow.js +2 -2
  440. package/plugins/hiddenRows/contextMenuItem/showRow.js +2 -2
  441. package/plugins/hiddenRows/hiddenRows.d.ts +1 -0
  442. package/plugins/hiddenRows/hiddenRows.js +49 -6
  443. package/plugins/hiddenRows/hiddenRows.mjs +48 -3
  444. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +2 -2
  445. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +2 -2
  446. package/plugins/manualColumnFreeze/manualColumnFreeze.js +2 -4
  447. package/plugins/manualColumnMove/manualColumnMove.js +9 -17
  448. package/plugins/manualColumnMove/manualColumnMove.mjs +7 -13
  449. package/plugins/manualColumnMove/ui/_base.js +1 -2
  450. package/plugins/manualColumnMove/ui/backlight.js +1 -2
  451. package/plugins/manualColumnMove/ui/guideline.js +1 -2
  452. package/plugins/manualColumnResize/manualColumnResize.js +2 -4
  453. package/plugins/manualRowMove/manualRowMove.js +6 -23
  454. package/plugins/manualRowMove/manualRowMove.mjs +4 -19
  455. package/plugins/manualRowMove/ui/_base.js +1 -2
  456. package/plugins/manualRowMove/ui/backlight.js +1 -2
  457. package/plugins/manualRowMove/ui/guideline.js +1 -2
  458. package/plugins/manualRowResize/manualRowResize.js +2 -4
  459. package/plugins/mergeCells/calculations/autofill.js +1 -2
  460. package/plugins/mergeCells/calculations/selection.js +1 -2
  461. package/plugins/mergeCells/cellCoords.js +1 -2
  462. package/plugins/mergeCells/cellsCollection.js +1 -2
  463. package/plugins/mergeCells/contextMenuItem/toggleMerge.js +2 -2
  464. package/plugins/mergeCells/mergeCells.js +7 -20
  465. package/plugins/mergeCells/mergeCells.mjs +5 -16
  466. package/plugins/multiColumnSorting/multiColumnSorting.js +60 -6
  467. package/plugins/multiColumnSorting/multiColumnSorting.mjs +59 -3
  468. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +2 -4
  469. package/plugins/nestedHeaders/nestedHeaders.js +263 -36
  470. package/plugins/nestedHeaders/nestedHeaders.mjs +262 -33
  471. package/plugins/nestedHeaders/stateManager/index.js +102 -3
  472. package/plugins/nestedHeaders/stateManager/index.mjs +102 -3
  473. package/plugins/nestedHeaders/stateManager/sourceSettings.js +1 -2
  474. package/plugins/nestedHeaders/utils/ghostTable.js +1 -2
  475. package/plugins/nestedRows/data/dataManager.js +1 -2
  476. package/plugins/nestedRows/nestedRows.js +47 -10
  477. package/plugins/nestedRows/nestedRows.mjs +45 -6
  478. package/plugins/nestedRows/ui/_base.js +1 -2
  479. package/plugins/nestedRows/ui/collapsing.js +1 -2
  480. package/plugins/nestedRows/ui/contextMenu.js +3 -4
  481. package/plugins/nestedRows/ui/headers.js +13 -3
  482. package/plugins/nestedRows/ui/headers.mjs +13 -2
  483. package/plugins/persistentState/persistentState.js +2 -4
  484. package/plugins/persistentState/storage.js +1 -2
  485. package/plugins/search/search.js +2 -4
  486. package/plugins/touchScroll/touchScroll.js +2 -4
  487. package/plugins/trimRows/trimRows.js +2 -4
  488. package/plugins/undoRedo/index.js +2 -2
  489. package/plugins/undoRedo/undoRedo.js +2 -4
  490. package/renderers/autocompleteRenderer/autocompleteRenderer.js +9 -2
  491. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +8 -0
  492. package/renderers/baseRenderer/baseRenderer.js +18 -2
  493. package/renderers/baseRenderer/baseRenderer.mjs +18 -1
  494. package/renderers/checkboxRenderer/checkboxRenderer.js +10 -6
  495. package/renderers/checkboxRenderer/checkboxRenderer.mjs +9 -4
  496. package/renderers/dateRenderer/dateRenderer.d.ts +5 -0
  497. package/renderers/dateRenderer/dateRenderer.js +28 -0
  498. package/renderers/dateRenderer/dateRenderer.mjs +24 -0
  499. package/renderers/dateRenderer/index.d.ts +1 -0
  500. package/renderers/dateRenderer/index.js +6 -0
  501. package/renderers/dateRenderer/index.mjs +1 -0
  502. package/renderers/handsontableRenderer/handsontableRenderer.d.ts +5 -0
  503. package/renderers/handsontableRenderer/handsontableRenderer.js +28 -0
  504. package/renderers/handsontableRenderer/handsontableRenderer.mjs +24 -0
  505. package/renderers/handsontableRenderer/index.d.ts +1 -0
  506. package/renderers/handsontableRenderer/index.js +6 -0
  507. package/renderers/handsontableRenderer/index.mjs +1 -0
  508. package/renderers/htmlRenderer/htmlRenderer.js +1 -2
  509. package/renderers/index.d.ts +9 -0
  510. package/renderers/numericRenderer/numericRenderer.js +1 -2
  511. package/renderers/passwordRenderer/passwordRenderer.js +1 -2
  512. package/renderers/selectRenderer/index.d.ts +1 -0
  513. package/renderers/selectRenderer/index.js +6 -0
  514. package/renderers/selectRenderer/index.mjs +1 -0
  515. package/renderers/selectRenderer/selectRenderer.d.ts +5 -0
  516. package/renderers/selectRenderer/selectRenderer.js +26 -0
  517. package/renderers/selectRenderer/selectRenderer.mjs +22 -0
  518. package/renderers/textRenderer/textRenderer.js +1 -2
  519. package/renderers/timeRenderer/timeRenderer.js +1 -2
  520. package/selection/highlight/highlight.js +257 -73
  521. package/selection/highlight/highlight.mjs +250 -71
  522. package/selection/highlight/types/activeHeader.js +10 -8
  523. package/selection/highlight/types/activeHeader.mjs +10 -8
  524. package/selection/highlight/types/area.js +6 -18
  525. package/selection/highlight/types/area.mjs +6 -18
  526. package/selection/highlight/types/areaLayered.js +31 -0
  527. package/selection/highlight/types/areaLayered.mjs +26 -0
  528. package/selection/highlight/types/column.js +27 -0
  529. package/selection/highlight/types/column.mjs +22 -0
  530. package/selection/highlight/types/customSelection.js +7 -9
  531. package/selection/highlight/types/customSelection.mjs +7 -9
  532. package/selection/highlight/types/fill.js +5 -7
  533. package/selection/highlight/types/fill.mjs +5 -7
  534. package/selection/highlight/types/{cell.js → focus.js} +5 -7
  535. package/selection/highlight/types/{cell.mjs → focus.mjs} +5 -7
  536. package/selection/highlight/types/header.js +9 -18
  537. package/selection/highlight/types/header.mjs +9 -18
  538. package/selection/highlight/types/row.js +27 -0
  539. package/selection/highlight/types/row.mjs +22 -0
  540. package/selection/highlight/visualSelection.js +32 -29
  541. package/selection/highlight/visualSelection.mjs +31 -27
  542. package/selection/index.js +4 -7
  543. package/selection/index.mjs +2 -3
  544. package/selection/mouseEventHandler.js +7 -1
  545. package/selection/mouseEventHandler.mjs +7 -1
  546. package/selection/range.js +9 -10
  547. package/selection/range.mjs +8 -8
  548. package/selection/selection.js +334 -154
  549. package/selection/selection.mjs +330 -151
  550. package/selection/transformation.js +233 -94
  551. package/selection/transformation.mjs +232 -92
  552. package/selection/utils.js +20 -31
  553. package/selection/utils.mjs +16 -21
  554. package/settings.d.ts +4 -0
  555. package/shortcutContexts/commands/editor/closeAndSave.js +11 -0
  556. package/shortcutContexts/commands/editor/closeAndSave.mjs +8 -0
  557. package/shortcutContexts/commands/editor/closeWithoutSaving.js +11 -0
  558. package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +8 -0
  559. package/shortcutContexts/commands/editor/fastOpen.js +15 -0
  560. package/shortcutContexts/commands/editor/fastOpen.mjs +12 -0
  561. package/shortcutContexts/commands/editor/index.js +16 -0
  562. package/shortcutContexts/commands/editor/index.mjs +12 -0
  563. package/shortcutContexts/commands/editor/open.js +26 -0
  564. package/shortcutContexts/commands/editor/open.mjs +23 -0
  565. package/shortcutContexts/commands/emptySelectedCells.js +10 -0
  566. package/shortcutContexts/commands/emptySelectedCells.mjs +7 -0
  567. package/shortcutContexts/commands/extendCellsSelection/down.js +14 -0
  568. package/shortcutContexts/commands/extendCellsSelection/down.mjs +11 -0
  569. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +24 -0
  570. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +21 -0
  571. package/shortcutContexts/commands/extendCellsSelection/index.js +26 -0
  572. package/shortcutContexts/commands/extendCellsSelection/index.mjs +22 -0
  573. package/shortcutContexts/commands/extendCellsSelection/left.js +14 -0
  574. package/shortcutContexts/commands/extendCellsSelection/left.mjs +11 -0
  575. package/shortcutContexts/commands/extendCellsSelection/right.js +14 -0
  576. package/shortcutContexts/commands/extendCellsSelection/right.mjs +11 -0
  577. package/shortcutContexts/commands/extendCellsSelection/toColumns.js +18 -0
  578. package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +15 -0
  579. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +28 -0
  580. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +25 -0
  581. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +18 -0
  582. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +15 -0
  583. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +18 -0
  584. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +15 -0
  585. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +28 -0
  586. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +25 -0
  587. package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +28 -0
  588. package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +25 -0
  589. package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +28 -0
  590. package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +25 -0
  591. package/shortcutContexts/commands/extendCellsSelection/toRows.js +18 -0
  592. package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +15 -0
  593. package/shortcutContexts/commands/extendCellsSelection/up.js +14 -0
  594. package/shortcutContexts/commands/extendCellsSelection/up.mjs +11 -0
  595. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +24 -0
  596. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +21 -0
  597. package/shortcutContexts/commands/index.js +35 -0
  598. package/shortcutContexts/commands/index.mjs +31 -0
  599. package/shortcutContexts/commands/moveCellSelection/down.js +12 -0
  600. package/shortcutContexts/commands/moveCellSelection/down.mjs +9 -0
  601. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +32 -0
  602. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +29 -0
  603. package/shortcutContexts/commands/moveCellSelection/index.js +28 -0
  604. package/shortcutContexts/commands/moveCellSelection/index.mjs +24 -0
  605. package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +11 -0
  606. package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +8 -0
  607. package/shortcutContexts/commands/moveCellSelection/inlineStart.js +11 -0
  608. package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +8 -0
  609. package/shortcutContexts/commands/moveCellSelection/left.js +9 -0
  610. package/shortcutContexts/commands/moveCellSelection/left.mjs +6 -0
  611. package/shortcutContexts/commands/moveCellSelection/right.js +9 -0
  612. package/shortcutContexts/commands/moveCellSelection/right.mjs +6 -0
  613. package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +16 -0
  614. package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +13 -0
  615. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +17 -0
  616. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +14 -0
  617. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +13 -0
  618. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +10 -0
  619. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +16 -0
  620. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +13 -0
  621. package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +18 -0
  622. package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +15 -0
  623. package/shortcutContexts/commands/moveCellSelection/toMostRight.js +20 -0
  624. package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +17 -0
  625. package/shortcutContexts/commands/moveCellSelection/toMostTop.js +16 -0
  626. package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +13 -0
  627. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +18 -0
  628. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +15 -0
  629. package/shortcutContexts/commands/moveCellSelection/up.js +12 -0
  630. package/shortcutContexts/commands/moveCellSelection/up.mjs +9 -0
  631. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +32 -0
  632. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +29 -0
  633. package/shortcutContexts/commands/populateSelectedCellsData.js +28 -0
  634. package/shortcutContexts/commands/populateSelectedCellsData.mjs +25 -0
  635. package/shortcutContexts/commands/scrollToFocusedCell.js +34 -0
  636. package/shortcutContexts/commands/scrollToFocusedCell.mjs +31 -0
  637. package/shortcutContexts/commands/selectAll.js +11 -0
  638. package/shortcutContexts/commands/selectAll.mjs +8 -0
  639. package/shortcutContexts/constants.js +11 -0
  640. package/shortcutContexts/constants.mjs +8 -0
  641. package/shortcutContexts/editor.js +25 -0
  642. package/shortcutContexts/editor.mjs +21 -0
  643. package/shortcutContexts/grid.js +167 -0
  644. package/shortcutContexts/grid.mjs +163 -0
  645. package/shortcutContexts/index.js +24 -0
  646. package/shortcutContexts/index.mjs +11 -0
  647. package/shortcuts/context.d.ts +1 -0
  648. package/shortcuts/context.js +23 -4
  649. package/shortcuts/context.mjs +23 -5
  650. package/shortcuts/manager.js +31 -7
  651. package/shortcuts/manager.mjs +32 -7
  652. package/shortcuts/recorder.js +30 -14
  653. package/shortcuts/recorder.mjs +30 -14
  654. package/shortcuts/utils.js +19 -5
  655. package/shortcuts/utils.mjs +18 -4
  656. package/tableView.js +113 -16
  657. package/tableView.mjs +113 -15
  658. package/utils/dataStructures/linkedList.js +1 -2
  659. package/utils/dataStructures/priorityMap.js +2 -4
  660. package/utils/dataStructures/queue.js +1 -2
  661. package/utils/dataStructures/stack.js +1 -2
  662. package/utils/dataStructures/tree.js +3 -6
  663. package/utils/ghostTable.js +32 -17
  664. package/utils/ghostTable.mjs +31 -15
  665. package/utils/interval.js +1 -2
  666. package/utils/paginator.js +151 -0
  667. package/utils/paginator.mjs +147 -0
  668. package/utils/parseTable.js +527 -83
  669. package/utils/parseTable.mjs +523 -82
  670. package/utils/rootInstance.js +2 -4
  671. package/utils/samplesGenerator.js +21 -13
  672. package/utils/samplesGenerator.mjs +20 -11
  673. package/utils/staticRegister.js +1 -2
  674. package/validators/autocompleteValidator/autocompleteValidator.js +1 -2
  675. package/validators/dateValidator/dateValidator.js +1 -2
  676. package/validators/numericValidator/numericValidator.js +1 -2
  677. package/validators/timeValidator/timeValidator.js +1 -2
  678. package/3rdparty/walkontable/src/selection.js +0 -295
  679. package/3rdparty/walkontable/src/selection.mjs +0 -290
  680. package/plugins/contextMenu/predefinedItems.js +0 -76
  681. package/plugins/contextMenu/predefinedItems.mjs +0 -68
  682. package/plugins/copyPaste/clipboardData.js +0 -18
  683. package/plugins/copyPaste/clipboardData.mjs +0 -14
  684. package/plugins/copyPaste/focusableElement.js +0 -186
  685. package/plugins/copyPaste/focusableElement.mjs +0 -180
  686. package/plugins/copyPaste/pasteEvent.js +0 -14
  687. package/plugins/copyPaste/pasteEvent.mjs +0 -9
  688. package/selection/highlight/constants.js +0 -15
  689. package/selection/highlight/constants.mjs +0 -6
  690. package/selection/highlight/types/index.js +0 -35
  691. package/selection/highlight/types/index.mjs +0 -31
@@ -82,11 +82,19 @@ const calculatedRows = {
82
82
  */
83
83
  getVisibleRowsCount() {
84
84
  return this.dataAccessObject.countRowsVisible;
85
+ },
86
+ /**
87
+ * Get the number of rendered column headers.
88
+ *
89
+ * @returns {number}
90
+ * @this Table
91
+ */
92
+ getColumnHeadersCount() {
93
+ return this.dataAccessObject.columnHeaders.length;
85
94
  }
86
95
  };
87
96
  (0, _object.defineGetter)(calculatedRows, 'MIXIN_NAME', MIXIN_NAME, {
88
97
  writable: false,
89
98
  enumerable: false
90
99
  });
91
- var _default = calculatedRows;
92
- exports.default = _default;
100
+ var _default = exports.default = calculatedRows;
@@ -79,6 +79,15 @@ const calculatedRows = {
79
79
  */
80
80
  getVisibleRowsCount() {
81
81
  return this.dataAccessObject.countRowsVisible;
82
+ },
83
+ /**
84
+ * Get the number of rendered column headers.
85
+ *
86
+ * @returns {number}
87
+ * @this Table
88
+ */
89
+ getColumnHeadersCount() {
90
+ return this.dataAccessObject.columnHeaders.length;
82
91
  }
83
92
  };
84
93
  defineGetter(calculatedRows, 'MIXIN_NAME', MIXIN_NAME, {
@@ -74,11 +74,19 @@ const stickyColumnsStart = {
74
74
  */
75
75
  getVisibleColumnsCount() {
76
76
  return this.getRenderedColumnsCount();
77
+ },
78
+ /**
79
+ * Get the number of rendered row headers.
80
+ *
81
+ * @returns {number}
82
+ * @this Table
83
+ */
84
+ getRowHeadersCount() {
85
+ return this.dataAccessObject.rowHeaders.length;
77
86
  }
78
87
  };
79
88
  (0, _object.defineGetter)(stickyColumnsStart, 'MIXIN_NAME', MIXIN_NAME, {
80
89
  writable: false,
81
90
  enumerable: false
82
91
  });
83
- var _default = stickyColumnsStart;
84
- exports.default = _default;
92
+ var _default = exports.default = stickyColumnsStart;
@@ -71,6 +71,15 @@ const stickyColumnsStart = {
71
71
  */
72
72
  getVisibleColumnsCount() {
73
73
  return this.getRenderedColumnsCount();
74
+ },
75
+ /**
76
+ * Get the number of rendered row headers.
77
+ *
78
+ * @returns {number}
79
+ * @this Table
80
+ */
81
+ getRowHeadersCount() {
82
+ return this.dataAccessObject.rowHeaders.length;
74
83
  }
75
84
  };
76
85
  defineGetter(stickyColumnsStart, 'MIXIN_NAME', MIXIN_NAME, {
@@ -79,11 +79,19 @@ 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, {
85
94
  writable: false,
86
95
  enumerable: false
87
96
  });
88
- var _default = stickyRowsBottom;
89
- exports.default = _default;
97
+ var _default = exports.default = stickyRowsBottom;
@@ -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,11 +74,19 @@ 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, {
80
89
  writable: false,
81
90
  enumerable: false
82
91
  });
83
- var _default = stickyRowsTop;
84
- exports.default = _default;
92
+ var _default = exports.default = stickyRowsTop;
@@ -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, {
@@ -26,5 +26,4 @@ class TopOverlayTable extends _table.default {
26
26
  }
27
27
  (0, _object.mixin)(TopOverlayTable, _stickyRowsTop.default);
28
28
  (0, _object.mixin)(TopOverlayTable, _calculatedColumns.default);
29
- var _default = TopOverlayTable;
30
- exports.default = _default;
29
+ var _default = exports.default = TopOverlayTable;
@@ -27,5 +27,4 @@ class TopInlineStartCornerOverlayTable extends _table.default {
27
27
  }
28
28
  (0, _object.mixin)(TopInlineStartCornerOverlayTable, _stickyRowsTop.default);
29
29
  (0, _object.mixin)(TopInlineStartCornerOverlayTable, _stickyColumnsStart.default);
30
- var _default = TopInlineStartCornerOverlayTable;
31
- exports.default = _default;
30
+ var _default = exports.default = TopInlineStartCornerOverlayTable;
@@ -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++) {
@@ -1085,5 +1026,4 @@ class Table {
1085
1026
  return rowHeaderWidth;
1086
1027
  }
1087
1028
  }
1088
- var _default = Table;
1089
- exports.default = _default;
1029
+ var _default = exports.default = Table;
@@ -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++) {
@@ -7,7 +7,7 @@ exports.__esModule = true;
7
7
  *
8
8
  * @type {number}
9
9
  */
10
- const WORKING_SPACE_ALL = 0;
10
+ const WORKING_SPACE_ALL = exports.WORKING_SPACE_ALL = 0;
11
11
  /**
12
12
  * Describes that ViewSizeSet instance share sizes with another instance and
13
13
  * set working space for this instance to 'top' (root node can contain multiple
@@ -15,8 +15,7 @@ const WORKING_SPACE_ALL = 0;
15
15
  *
16
16
  * @type {number}
17
17
  */
18
- exports.WORKING_SPACE_ALL = WORKING_SPACE_ALL;
19
- const WORKING_SPACE_TOP = 1;
18
+ const WORKING_SPACE_TOP = exports.WORKING_SPACE_TOP = 1;
20
19
  /**
21
20
  * Describes that ViewSizeSet instance share sizes with another instance and
22
21
  * set working space for this instance to 'bottom' (root node can contain multiple
@@ -24,6 +23,4 @@ const WORKING_SPACE_TOP = 1;
24
23
  *
25
24
  * @type {number}
26
25
  */
27
- exports.WORKING_SPACE_TOP = WORKING_SPACE_TOP;
28
- const WORKING_SPACE_BOTTOM = 2;
29
- exports.WORKING_SPACE_BOTTOM = WORKING_SPACE_BOTTOM;
26
+ const WORKING_SPACE_BOTTOM = exports.WORKING_SPACE_BOTTOM = 2;
@@ -449,5 +449,4 @@ class Viewport {
449
449
  });
450
450
  }
451
451
  }
452
- var _default = Viewport;
453
- exports.default = _default;
452
+ var _default = exports.default = Viewport;
package/CHANGELOG.md CHANGED
@@ -9,6 +9,57 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
9
9
 
10
10
  <!-- UNVERSIONED -->
11
11
 
12
+ ## [14.0.0] - 2023-11-08
13
+
14
+ ### Added
15
+ - **Breaking change**: Added a11y attributes to all images and icons. [#10540](https://github.com/handsontable/handsontable/pull/10540)
16
+ - Added Ctrl/Cmd+Shift+Space keyboard shortcut that allows selecting all cells. [#10237](https://github.com/handsontable/handsontable/pull/10237)
17
+ - Added support for keyboard navigation in headers. [#10265](https://github.com/handsontable/handsontable/pull/10265)
18
+ - Added support for keyboard shortcuts that allows selecting all rows and columns and add 4 new hooks [#10389](https://github.com/handsontable/handsontable/pull/10389)
19
+ - Added support for collapsing/expanding columns using a keyboard shortcut. [#10404](https://github.com/handsontable/handsontable/pull/10404)
20
+ - Added support for collapsing/expanding nested rows using a keyboard shortcut. [#10405](https://github.com/handsontable/handsontable/pull/10405)
21
+ - Added support for column sorting using a keyboard shortcut. [#10410](https://github.com/handsontable/handsontable/pull/10410)
22
+ - Added support for keyboard shortcuts that allow open column menu. [#10413](https://github.com/handsontable/handsontable/pull/10413)
23
+ - Added support for keyboard shortcut that allows opening the context menu. [#10417](https://github.com/handsontable/handsontable/pull/10417)
24
+ - Added support for new keyboard shortcut that allows scrolling the viewport [#10419](https://github.com/handsontable/handsontable/pull/10419)
25
+ - Added support for keyboard shortcut that allows clearing the filters. [#10420](https://github.com/handsontable/handsontable/pull/10420)
26
+ - Added a keyboard shortcut that allows managing the cell comments. [#10421](https://github.com/handsontable/handsontable/pull/10421)
27
+ - Added the ability to traverse the grid using TAB key throughout the page and added new `disableTabNavigation` option. [#10430](https://github.com/handsontable/handsontable/pull/10430)
28
+ - Added the ARIA tags to the table elements. [#10463](https://github.com/handsontable/handsontable/pull/10463)
29
+ - Added a new `beforeSelectionHighlightSet` hook that allows modifying logical selection coordinates before they are applied to the rendering engine. [#10513](https://github.com/handsontable/handsontable/pull/10513)
30
+ - Implemented the `select` renderer and cell type. [#10529](https://github.com/handsontable/handsontable/pull/10529)
31
+ - add accessibility demo js/react [#10532](https://github.com/handsontable/handsontable/pull/10532)
32
+ - Added `handsontable` and `date` renderers for their respective cell types, to allow adding of the a11y attributes. [#10535](https://github.com/handsontable/handsontable/pull/10535)
33
+ - Added new `beforeColumnWrap` and `beforeRowWrap` hooks. [#10550](https://github.com/handsontable/handsontable/pull/10550)
34
+
35
+ ### Changed
36
+ - **Breaking change**: Changed the behavior of selecting all cells feature. [#10461](https://github.com/handsontable/handsontable/pull/10461)
37
+ - **Breaking change**: Extend the Core `scrollViewportTo` method for ability to disabling cell autosnapping [#10508](https://github.com/handsontable/handsontable/pull/10508)
38
+ - **Breaking change**: Storing information about merged cells and nested headers in the clipboard + changed hooks [#10517](https://github.com/handsontable/handsontable/pull/10517)
39
+ - **Breaking change**: Improved keyboard shortcuts navigation for the context and dropdown menus and add new `forwardToContext` option to the ShortcutManager. [#10519](https://github.com/handsontable/handsontable/pull/10519)
40
+ - **Breaking change**: Changed the colors of the invalid cells and the arrow buttons of the autocomplete-typed cells. [#10520](https://github.com/handsontable/handsontable/pull/10520)
41
+ - **Breaking change**: Improved the navigation and accessibility of the Dropdown Menu with filtering [#10530](https://github.com/handsontable/handsontable/pull/10530)
42
+ - Upgrade monorepo to use Node 20 [#10468](https://github.com/handsontable/handsontable/pull/10468)
43
+ - Improved DX by throwing an exception for developers who tries to active shortcut context that has been not yet registered. [#10476](https://github.com/handsontable/handsontable/pull/10476)
44
+ - Improved the performance of the table in cases when the table is hiding [#10490](https://github.com/handsontable/handsontable/pull/10490)
45
+ - Updated TS definition for the HiddenRows and HiddenColumns plugins [#10492](https://github.com/handsontable/handsontable/pull/10492)
46
+ - Updated TS definition for the AutoRowSize and AutoColumnSize plugins [#10493](https://github.com/handsontable/handsontable/pull/10493)
47
+ - Updated TS definition for Filters plugin and Core methods [#10494](https://github.com/handsontable/handsontable/pull/10494)
48
+ - Fix typescript types [#10509](https://github.com/handsontable/handsontable/issues/10509)
49
+
50
+ ### Fixed
51
+ - Fixed ampersand copy/paste issue; [#10472](https://github.com/handsontable/handsontable/pull/10472)
52
+ - Fixed an issue related to the backlight position misalignment for the ManualRowMove and ManualColumnMove plugins. [#10475](https://github.com/handsontable/handsontable/pull/10475)
53
+ - Fixed row header width jumping after adding/deleting rows to the dataset. [#10479](https://github.com/handsontable/handsontable/pull/10479)
54
+ - Fixed offset() for elements within foreign object context [#10480](https://github.com/handsontable/handsontable/issues/10480)
55
+ - Fixed table size and misalignment issue when the table runs in element that uses CSS `transform: scale` option. [#10482](https://github.com/handsontable/handsontable/pull/10482)
56
+ - Added missing 'updateData' ChangeSource type [#10488](https://github.com/handsontable/handsontable/pull/10488)
57
+ - Fixed a bug where pressing a Ctrl/Cmd does not trigger non-contiguous selection. [#10502](https://github.com/handsontable/handsontable/pull/10502)
58
+ - Fixed editor incorrect width and height calculations. [#10504](https://github.com/handsontable/handsontable/pull/10504)
59
+ - Fixed visual glitches (unwanted pixels) of the autocomplete editor's list in cases when there are no items. [#10506](https://github.com/handsontable/handsontable/pull/10506)
60
+ - Fix vue/react demo deps for stackblitz [#10523](https://github.com/handsontable/handsontable/pull/10523)
61
+ - Fixed wrong row height calculations for merged cells. [#941](https://github.com/handsontable/handsontable/pull/941)
62
+
12
63
  ## [13.1.0] - 2023-08-31
13
64
 
14
65
  ### Changed
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 = "31/08/2023 08:23:24";
47
- Handsontable.version = "13.1.0";
46
+ Handsontable.buildDate = "27/10/2023 12:46:23";
47
+ Handsontable.version = "14.0.0-next-d97b156-20231027";
48
48
  Handsontable.languages = {
49
49
  dictionaryKeys: _registry.dictionaryKeys,
50
50
  getLanguageDictionary: _registry.getLanguageDictionary,
@@ -52,5 +52,4 @@ Handsontable.languages = {
52
52
  registerLanguageDictionary: _registry.registerLanguageDictionary,
53
53
  getTranslatedPhrase: _registry.getTranslatedPhrase
54
54
  };
55
- var _default = Handsontable;
56
- exports.default = _default;
55
+ var _default = exports.default = Handsontable;
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 = "31/08/2023 08:23:33";
39
- Handsontable.version = "13.1.0";
38
+ Handsontable.buildDate = "27/10/2023 12:46:35";
39
+ Handsontable.version = "14.0.0-next-d97b156-20231027";
40
40
  Handsontable.languages = {
41
41
  dictionaryKeys,
42
42
  getLanguageDictionary,
@@ -4,12 +4,10 @@ exports.__esModule = true;
4
4
  var _autocompleteEditor = require("../../editors/autocompleteEditor");
5
5
  var _autocompleteRenderer = require("../../renderers/autocompleteRenderer");
6
6
  var _autocompleteValidator = require("../../validators/autocompleteValidator");
7
- const CELL_TYPE = 'autocomplete';
8
- exports.CELL_TYPE = CELL_TYPE;
9
- const AutocompleteCellType = {
7
+ const CELL_TYPE = exports.CELL_TYPE = 'autocomplete';
8
+ const AutocompleteCellType = exports.AutocompleteCellType = {
10
9
  CELL_TYPE,
11
10
  editor: _autocompleteEditor.AutocompleteEditor,
12
11
  renderer: _autocompleteRenderer.autocompleteRenderer,
13
12
  validator: _autocompleteValidator.autocompleteValidator
14
- };
15
- exports.AutocompleteCellType = AutocompleteCellType;
13
+ };