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
@@ -18,7 +18,7 @@ function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.
18
18
  *
19
19
  * @type {string[]}
20
20
  */
21
- const HEADER_CONFIGURABLE_PROPS = ['label', 'collapsible'];
21
+ const HEADER_CONFIGURABLE_PROPS = exports.HEADER_CONFIGURABLE_PROPS = ['label', 'collapsible'];
22
22
 
23
23
  /**
24
24
  * The class manages and normalizes settings passed by the developer
@@ -28,7 +28,6 @@ const HEADER_CONFIGURABLE_PROPS = ['label', 'collapsible'];
28
28
  * @private
29
29
  * @class SourceSettings
30
30
  */
31
- exports.HEADER_CONFIGURABLE_PROPS = HEADER_CONFIGURABLE_PROPS;
32
31
  var _data = /*#__PURE__*/new WeakMap();
33
32
  var _dataLength = /*#__PURE__*/new WeakMap();
34
33
  var _columnsLimit = /*#__PURE__*/new WeakMap();
@@ -145,5 +145,4 @@ class GhostTable {
145
145
  this.container = null;
146
146
  }
147
147
  }
148
- var _default = GhostTable;
149
- exports.default = _default;
148
+ var _default = exports.default = GhostTable;
@@ -703,5 +703,4 @@ class DataManager {
703
703
  return row;
704
704
  }
705
705
  }
706
- var _default = DataManager;
707
- exports.default = _default;
706
+ var _default = exports.default = DataManager;
@@ -12,10 +12,9 @@ var _data = require("../../helpers/data");
12
12
  var _translations = require("../../translations");
13
13
  var _rowMoveController = _interopRequireDefault(require("./utils/rowMoveController"));
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
- const PLUGIN_KEY = 'nestedRows';
16
- exports.PLUGIN_KEY = PLUGIN_KEY;
17
- const PLUGIN_PRIORITY = 300;
18
- exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
15
+ const PLUGIN_KEY = exports.PLUGIN_KEY = 'nestedRows';
16
+ const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 300;
17
+ const SHORTCUTS_GROUP = PLUGIN_KEY;
19
18
  const privatePool = new WeakMap();
20
19
 
21
20
  /* eslint-disable jsdoc/require-description-complete-sentence */
@@ -150,6 +149,7 @@ class NestedRows extends _base.BasePlugin {
150
149
  });
151
150
  this.addHook('beforeLoadData', data => this.onBeforeLoadData(data));
152
151
  this.addHook('beforeUpdateData', data => this.onBeforeLoadData(data));
152
+ this.registerShortcuts();
153
153
  super.enablePlugin();
154
154
  }
155
155
 
@@ -158,13 +158,15 @@ class NestedRows extends _base.BasePlugin {
158
158
  */
159
159
  disablePlugin() {
160
160
  this.hot.rowIndexMapper.unregisterMap('nestedRows');
161
+ this.unregisterShortcuts();
161
162
  super.disablePlugin();
162
163
  }
163
164
 
164
165
  /**
165
166
  * Updates the plugin's state.
166
167
  *
167
- * This method is executed when [`updateSettings()`](@/api/core.md#updatesettings) is invoked with any of the following configuration options:
168
+ * This method is executed when [`updateSettings()`](@/api/core.md#updatesettings) is invoked with any of the
169
+ * following configuration options:
168
170
  * - [`nestedRows`](@/api/options.md#nestedrows)
169
171
  */
170
172
  updatePlugin() {
@@ -179,6 +181,44 @@ class NestedRows extends _base.BasePlugin {
179
181
  super.updatePlugin();
180
182
  }
181
183
 
184
+ /**
185
+ * Register shortcuts responsible for toggling collapsible columns.
186
+ *
187
+ * @private
188
+ */
189
+ registerShortcuts() {
190
+ this.hot.getShortcutManager().getContext('grid').addShortcut({
191
+ keys: [['Enter']],
192
+ callback: () => {
193
+ const {
194
+ highlight
195
+ } = this.hot.getSelectedRangeLast();
196
+ if (highlight.col === -1 && highlight.row >= 0) {
197
+ const row = this.collapsingUI.translateTrimmedRow(highlight.row);
198
+ if (this.collapsingUI.areChildrenCollapsed(row)) {
199
+ this.collapsingUI.expandChildren(row);
200
+ } else {
201
+ this.collapsingUI.collapseChildren(row);
202
+ }
203
+ }
204
+ },
205
+ runOnlyIf: () => {
206
+ var _this$hot$getSelected;
207
+ return (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight.isHeader();
208
+ },
209
+ group: SHORTCUTS_GROUP
210
+ });
211
+ }
212
+
213
+ /**
214
+ * Unregister shortcuts responsible for toggling collapsible columns.
215
+ *
216
+ * @private
217
+ */
218
+ unregisterShortcuts() {
219
+ this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
220
+ }
221
+
182
222
  /**
183
223
  * `beforeRowMove` hook callback.
184
224
  *
@@ -437,16 +477,13 @@ class NestedRows extends _base.BasePlugin {
437
477
  * @private
438
478
  */
439
479
  onAfterInit() {
440
- const deepestLevel = Math.max(...this.dataManager.cache.levels);
441
- if (deepestLevel > 0) {
442
- this.headersUI.updateRowHeaderWidth(deepestLevel);
443
- }
480
+ this.headersUI.updateRowHeaderWidth();
444
481
  }
445
482
 
446
483
  /**
447
484
  * `beforeViewRender` hook callback.
448
485
  *
449
- * @param {boolean} force Indicates if the render call was trigered by a change of settings or data.
486
+ * @param {boolean} force Indicates if the render call was triggered by a change of settings or data.
450
487
  * @param {object} skipRender An object, holder for skipRender functionality.
451
488
  * @private
452
489
  */
@@ -10,6 +10,7 @@ import { TrimmingMap } from "../../translations/index.mjs";
10
10
  import RowMoveController from "./utils/rowMoveController.mjs";
11
11
  export const PLUGIN_KEY = 'nestedRows';
12
12
  export const PLUGIN_PRIORITY = 300;
13
+ const SHORTCUTS_GROUP = PLUGIN_KEY;
13
14
  const privatePool = new WeakMap();
14
15
 
15
16
  /* eslint-disable jsdoc/require-description-complete-sentence */
@@ -144,6 +145,7 @@ export class NestedRows extends BasePlugin {
144
145
  });
145
146
  this.addHook('beforeLoadData', data => this.onBeforeLoadData(data));
146
147
  this.addHook('beforeUpdateData', data => this.onBeforeLoadData(data));
148
+ this.registerShortcuts();
147
149
  super.enablePlugin();
148
150
  }
149
151
 
@@ -152,13 +154,15 @@ export class NestedRows extends BasePlugin {
152
154
  */
153
155
  disablePlugin() {
154
156
  this.hot.rowIndexMapper.unregisterMap('nestedRows');
157
+ this.unregisterShortcuts();
155
158
  super.disablePlugin();
156
159
  }
157
160
 
158
161
  /**
159
162
  * Updates the plugin's state.
160
163
  *
161
- * This method is executed when [`updateSettings()`](@/api/core.md#updatesettings) is invoked with any of the following configuration options:
164
+ * This method is executed when [`updateSettings()`](@/api/core.md#updatesettings) is invoked with any of the
165
+ * following configuration options:
162
166
  * - [`nestedRows`](@/api/options.md#nestedrows)
163
167
  */
164
168
  updatePlugin() {
@@ -173,6 +177,44 @@ export class NestedRows extends BasePlugin {
173
177
  super.updatePlugin();
174
178
  }
175
179
 
180
+ /**
181
+ * Register shortcuts responsible for toggling collapsible columns.
182
+ *
183
+ * @private
184
+ */
185
+ registerShortcuts() {
186
+ this.hot.getShortcutManager().getContext('grid').addShortcut({
187
+ keys: [['Enter']],
188
+ callback: () => {
189
+ const {
190
+ highlight
191
+ } = this.hot.getSelectedRangeLast();
192
+ if (highlight.col === -1 && highlight.row >= 0) {
193
+ const row = this.collapsingUI.translateTrimmedRow(highlight.row);
194
+ if (this.collapsingUI.areChildrenCollapsed(row)) {
195
+ this.collapsingUI.expandChildren(row);
196
+ } else {
197
+ this.collapsingUI.collapseChildren(row);
198
+ }
199
+ }
200
+ },
201
+ runOnlyIf: () => {
202
+ var _this$hot$getSelected;
203
+ return (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight.isHeader();
204
+ },
205
+ group: SHORTCUTS_GROUP
206
+ });
207
+ }
208
+
209
+ /**
210
+ * Unregister shortcuts responsible for toggling collapsible columns.
211
+ *
212
+ * @private
213
+ */
214
+ unregisterShortcuts() {
215
+ this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
216
+ }
217
+
176
218
  /**
177
219
  * `beforeRowMove` hook callback.
178
220
  *
@@ -431,16 +473,13 @@ export class NestedRows extends BasePlugin {
431
473
  * @private
432
474
  */
433
475
  onAfterInit() {
434
- const deepestLevel = Math.max(...this.dataManager.cache.levels);
435
- if (deepestLevel > 0) {
436
- this.headersUI.updateRowHeaderWidth(deepestLevel);
437
- }
476
+ this.headersUI.updateRowHeaderWidth();
438
477
  }
439
478
 
440
479
  /**
441
480
  * `beforeViewRender` hook callback.
442
481
  *
443
- * @param {boolean} force Indicates if the render call was trigered by a change of settings or data.
482
+ * @param {boolean} force Indicates if the render call was triggered by a change of settings or data.
444
483
  * @param {object} skipRender An object, holder for skipRender functionality.
445
484
  * @private
446
485
  */
@@ -21,5 +21,4 @@ class BaseUI {
21
21
  this.plugin = pluginInstance;
22
22
  }
23
23
  }
24
- var _default = BaseUI;
25
- exports.default = _default;
24
+ var _default = exports.default = BaseUI;
@@ -466,5 +466,4 @@ class CollapsingUI extends _base.default {
466
466
  this.hot.view.adjustElementsSize();
467
467
  }
468
468
  }
469
- var _default = CollapsingUI;
470
- exports.default = _default;
469
+ var _default = exports.default = CollapsingUI;
@@ -6,8 +6,8 @@ var _array = require("../../../helpers/array");
6
6
  var C = _interopRequireWildcard(require("../../../i18n/constants"));
7
7
  var _base = _interopRequireDefault(require("./_base"));
8
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
10
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
9
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
10
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
11
  const privatePool = new WeakMap();
12
12
 
13
13
  /**
@@ -106,5 +106,4 @@ class ContextMenuUI extends _base.default {
106
106
  return defaultOptions;
107
107
  }
108
108
  }
109
- var _default = ContextMenuUI;
110
- exports.default = _default;
109
+ var _default = exports.default = ContextMenuUI;
@@ -5,6 +5,8 @@ var _array = require("../../../helpers/array");
5
5
  var _number = require("../../../helpers/number");
6
6
  var _element = require("../../../helpers/dom/element");
7
7
  var _base = _interopRequireDefault(require("./_base"));
8
+ var _a11y = require("../../../helpers/a11y");
9
+ var _constants = require("../../../i18n/constants");
8
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
11
  /**
10
12
  * Class responsible for the UI in the Nested Rows' row headers.
@@ -23,7 +25,6 @@ class HeadersUI extends _base.default {
23
25
  return {
24
26
  indicatorContainer: 'ht_nestingLevels',
25
27
  parent: 'ht_nestingParent',
26
- indicator: 'ht_nestingLevel',
27
28
  emptyIndicator: 'ht_nestingLevel_empty',
28
29
  button: 'ht_nestingButton',
29
30
  expandButton: 'ht_nestingExpand',
@@ -72,6 +73,7 @@ class HeadersUI extends _base.default {
72
73
  const innerDiv = TH.getElementsByTagName('DIV')[0];
73
74
  const innerSpan = innerDiv.querySelector('span.rowHeader');
74
75
  const previousIndicators = innerDiv.querySelectorAll('[class^="ht_nesting"]');
76
+ const ariaEnabled = this.hot.getSettings().ariaTags;
75
77
  (0, _array.arrayEach)(previousIndicators, elem => {
76
78
  if (elem) {
77
79
  innerDiv.removeChild(elem);
@@ -93,11 +95,20 @@ class HeadersUI extends _base.default {
93
95
  }
94
96
  if (this.dataManager.hasChildren(rowObject)) {
95
97
  const buttonsContainer = this.hot.rootDocument.createElement('DIV');
98
+ if (ariaEnabled) {
99
+ (0, _element.setAttribute)(buttonsContainer, [(0, _a11y.A11Y_HIDDEN)()]);
100
+ }
96
101
  (0, _element.addClass)(TH, HeadersUI.CSS_CLASSES.parent);
97
102
  if (this.collapsingUI.areChildrenCollapsed(rowIndex)) {
98
103
  (0, _element.addClass)(buttonsContainer, `${HeadersUI.CSS_CLASSES.button} ${HeadersUI.CSS_CLASSES.expandButton}`);
104
+ if (ariaEnabled) {
105
+ (0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(false), (0, _a11y.A11Y_DESCRIPTION)(this.hot.getTranslatedPhrase(_constants.ROW_HEADER_DESCRIPTION_EXPAND_ROW))]);
106
+ }
99
107
  } else {
100
108
  (0, _element.addClass)(buttonsContainer, `${HeadersUI.CSS_CLASSES.button} ${HeadersUI.CSS_CLASSES.collapseButton}`);
109
+ if (ariaEnabled) {
110
+ (0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(true), (0, _a11y.A11Y_DESCRIPTION)(this.hot.getTranslatedPhrase(_constants.ROW_HEADER_DESCRIPTION_COLLAPSE_ROW))]);
111
+ }
101
112
  }
102
113
  innerDiv.appendChild(buttonsContainer);
103
114
  }
@@ -118,5 +129,4 @@ class HeadersUI extends _base.default {
118
129
  this.hot.render();
119
130
  }
120
131
  }
121
- var _default = HeadersUI;
122
- exports.default = _default;
132
+ var _default = exports.default = HeadersUI;
@@ -1,7 +1,9 @@
1
1
  import { arrayEach } from "../../../helpers/array.mjs";
2
2
  import { rangeEach } from "../../../helpers/number.mjs";
3
- import { addClass } from "../../../helpers/dom/element.mjs";
3
+ import { addClass, setAttribute } from "../../../helpers/dom/element.mjs";
4
4
  import BaseUI from "./_base.mjs";
5
+ import { A11Y_DESCRIPTION, A11Y_EXPANDED, A11Y_HIDDEN } from "../../../helpers/a11y.mjs";
6
+ import { ROW_HEADER_DESCRIPTION_COLLAPSE_ROW, ROW_HEADER_DESCRIPTION_EXPAND_ROW } from "../../../i18n/constants.mjs";
5
7
  /**
6
8
  * Class responsible for the UI in the Nested Rows' row headers.
7
9
  *
@@ -19,7 +21,6 @@ class HeadersUI extends BaseUI {
19
21
  return {
20
22
  indicatorContainer: 'ht_nestingLevels',
21
23
  parent: 'ht_nestingParent',
22
- indicator: 'ht_nestingLevel',
23
24
  emptyIndicator: 'ht_nestingLevel_empty',
24
25
  button: 'ht_nestingButton',
25
26
  expandButton: 'ht_nestingExpand',
@@ -68,6 +69,7 @@ class HeadersUI extends BaseUI {
68
69
  const innerDiv = TH.getElementsByTagName('DIV')[0];
69
70
  const innerSpan = innerDiv.querySelector('span.rowHeader');
70
71
  const previousIndicators = innerDiv.querySelectorAll('[class^="ht_nesting"]');
72
+ const ariaEnabled = this.hot.getSettings().ariaTags;
71
73
  arrayEach(previousIndicators, elem => {
72
74
  if (elem) {
73
75
  innerDiv.removeChild(elem);
@@ -89,11 +91,20 @@ class HeadersUI extends BaseUI {
89
91
  }
90
92
  if (this.dataManager.hasChildren(rowObject)) {
91
93
  const buttonsContainer = this.hot.rootDocument.createElement('DIV');
94
+ if (ariaEnabled) {
95
+ setAttribute(buttonsContainer, [A11Y_HIDDEN()]);
96
+ }
92
97
  addClass(TH, HeadersUI.CSS_CLASSES.parent);
93
98
  if (this.collapsingUI.areChildrenCollapsed(rowIndex)) {
94
99
  addClass(buttonsContainer, `${HeadersUI.CSS_CLASSES.button} ${HeadersUI.CSS_CLASSES.expandButton}`);
100
+ if (ariaEnabled) {
101
+ setAttribute(TH, [A11Y_EXPANDED(false), A11Y_DESCRIPTION(this.hot.getTranslatedPhrase(ROW_HEADER_DESCRIPTION_EXPAND_ROW))]);
102
+ }
95
103
  } else {
96
104
  addClass(buttonsContainer, `${HeadersUI.CSS_CLASSES.button} ${HeadersUI.CSS_CLASSES.collapseButton}`);
105
+ if (ariaEnabled) {
106
+ setAttribute(TH, [A11Y_EXPANDED(true), A11Y_DESCRIPTION(this.hot.getTranslatedPhrase(ROW_HEADER_DESCRIPTION_COLLAPSE_ROW))]);
107
+ }
97
108
  }
98
109
  innerDiv.appendChild(buttonsContainer);
99
110
  }
@@ -8,9 +8,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
8
8
  _pluginHooks.default.getSingleton().register('persistentStateSave');
9
9
  _pluginHooks.default.getSingleton().register('persistentStateLoad');
10
10
  _pluginHooks.default.getSingleton().register('persistentStateReset');
11
- const PLUGIN_KEY = 'persistentState';
12
- exports.PLUGIN_KEY = PLUGIN_KEY;
13
- const PLUGIN_PRIORITY = 0;
11
+ const PLUGIN_KEY = exports.PLUGIN_KEY = 'persistentState';
12
+ const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 0;
14
13
 
15
14
  /* eslint-disable jsdoc/require-description-complete-sentence */
16
15
 
@@ -39,7 +38,6 @@ const PLUGIN_PRIORITY = 0;
39
38
  * __Important:__ In order for the data separation to work properly, make sure that each instance of Handsontable has a unique `id`.
40
39
  *
41
40
  */
42
- exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
43
41
  class PersistentState extends _base.BasePlugin {
44
42
  static get PLUGIN_KEY() {
45
43
  return PLUGIN_KEY;
@@ -112,5 +112,4 @@ class Storage {
112
112
  this.saveSavedKeys();
113
113
  }
114
114
  }
115
- var _default = Storage;
116
- exports.default = _default;
115
+ var _default = exports.default = Storage;
@@ -6,10 +6,8 @@ var _base = require("../base");
6
6
  var _object = require("../../helpers/object");
7
7
  var _number = require("../../helpers/number");
8
8
  var _mixed = require("../../helpers/mixed");
9
- const PLUGIN_KEY = 'search';
10
- exports.PLUGIN_KEY = PLUGIN_KEY;
11
- const PLUGIN_PRIORITY = 190;
12
- exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
9
+ const PLUGIN_KEY = exports.PLUGIN_KEY = 'search';
10
+ const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 190;
13
11
  const DEFAULT_SEARCH_RESULT_CLASS = 'htSearchResult';
14
12
  const DEFAULT_CALLBACK = function (instance, row, col, data, testResult) {
15
13
  instance.getCellMeta(row, col).isSearchResult = testResult;
@@ -6,16 +6,14 @@ var _element = require("../../helpers/dom/element");
6
6
  var _array = require("../../helpers/array");
7
7
  var _base = require("../base");
8
8
  var _feature = require("../../helpers/feature");
9
- const PLUGIN_KEY = 'touchScroll';
10
- exports.PLUGIN_KEY = PLUGIN_KEY;
11
- const PLUGIN_PRIORITY = 200;
9
+ const PLUGIN_KEY = exports.PLUGIN_KEY = 'touchScroll';
10
+ const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 200;
12
11
 
13
12
  /**
14
13
  * @private
15
14
  * @plugin TouchScroll
16
15
  * @class TouchScroll
17
16
  */
18
- exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
19
17
  class TouchScroll extends _base.BasePlugin {
20
18
  static get PLUGIN_KEY() {
21
19
  return PLUGIN_KEY;
@@ -5,9 +5,8 @@ require("core-js/modules/es.array.push.js");
5
5
  var _base = require("../base");
6
6
  var _translations = require("../../translations");
7
7
  var _array = require("../../helpers/array");
8
- const PLUGIN_KEY = 'trimRows';
9
- exports.PLUGIN_KEY = PLUGIN_KEY;
10
- const PLUGIN_PRIORITY = 330;
8
+ const PLUGIN_KEY = exports.PLUGIN_KEY = 'trimRows';
9
+ const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 330;
11
10
 
12
11
  /* eslint-disable jsdoc/require-description-complete-sentence */
13
12
 
@@ -96,7 +95,6 @@ const PLUGIN_PRIORITY = 330;
96
95
  * ```
97
96
  * :::
98
97
  */
99
- exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
100
98
  class TrimRows extends _base.BasePlugin {
101
99
  static get PLUGIN_KEY() {
102
100
  return PLUGIN_KEY;
@@ -4,5 +4,5 @@ exports.__esModule = true;
4
4
  var _undoRedo = _interopRequireWildcard(require("./undoRedo"));
5
5
  exports.UndoRedo = _undoRedo.default;
6
6
  exports.PLUGIN_KEY = _undoRedo.PLUGIN_KEY;
7
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
8
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
7
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
8
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -9,7 +9,7 @@ var _object = require("../../helpers/object");
9
9
  var _utils = require("../contextMenu/utils");
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
11
  const SHORTCUTS_GROUP = 'undoRedo';
12
- const PLUGIN_KEY = 'undoRedo';
12
+ const PLUGIN_KEY = exports.PLUGIN_KEY = 'undoRedo';
13
13
 
14
14
  /**
15
15
  * @description
@@ -24,7 +24,6 @@ const PLUGIN_KEY = 'undoRedo';
24
24
  * @plugin UndoRedo
25
25
  * @param {Core} instance The Handsontable instance.
26
26
  */
27
- exports.PLUGIN_KEY = PLUGIN_KEY;
28
27
  function UndoRedo(instance) {
29
28
  const plugin = this;
30
29
  this.instance = instance;
@@ -839,5 +838,4 @@ hook.register('beforeRedo');
839
838
  hook.register('afterRedo');
840
839
  UndoRedo.PLUGIN_KEY = PLUGIN_KEY;
841
840
  UndoRedo.SETTING_KEYS = true;
842
- var _default = UndoRedo;
843
- exports.default = _default;
841
+ var _default = exports.default = UndoRedo;
@@ -6,8 +6,9 @@ var _htmlRenderer = require("../htmlRenderer");
6
6
  var _textRenderer = require("../textRenderer");
7
7
  var _eventManager = _interopRequireDefault(require("../../eventManager"));
8
8
  var _element = require("../../helpers/dom/element");
9
+ var _a11y = require("../../helpers/a11y");
9
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
- const RENDERER_TYPE = 'autocomplete';
11
+ const RENDERER_TYPE = exports.RENDERER_TYPE = 'autocomplete';
11
12
 
12
13
  /**
13
14
  * Autocomplete renderer.
@@ -21,14 +22,17 @@ const RENDERER_TYPE = 'autocomplete';
21
22
  * @param {*} value The rendered value.
22
23
  * @param {object} cellProperties The cell meta object ({@see Core#getCellMeta}).
23
24
  */
24
- exports.RENDERER_TYPE = RENDERER_TYPE;
25
25
  function autocompleteRenderer(instance, TD, row, col, prop, value, cellProperties) {
26
26
  const {
27
27
  rootDocument
28
28
  } = instance;
29
29
  const rendererFunc = cellProperties.allowHtml ? _htmlRenderer.htmlRenderer : _textRenderer.textRenderer;
30
30
  const ARROW = rootDocument.createElement('DIV');
31
+ const isAriaEnabled = instance.getSettings().ariaTags;
31
32
  ARROW.className = 'htAutocompleteArrow';
33
+ if (isAriaEnabled) {
34
+ ARROW.setAttribute(...(0, _a11y.A11Y_HIDDEN)());
35
+ }
32
36
  ARROW.appendChild(rootDocument.createTextNode(String.fromCharCode(9660)));
33
37
  rendererFunc.apply(this, [instance, TD, row, col, prop, value, cellProperties]);
34
38
  if (!TD.firstChild) {
@@ -40,6 +44,9 @@ function autocompleteRenderer(instance, TD, row, col, prop, value, cellPropertie
40
44
 
41
45
  TD.insertBefore(ARROW, TD.firstChild);
42
46
  (0, _element.addClass)(TD, 'htAutocomplete');
47
+ if (isAriaEnabled) {
48
+ TD.setAttribute(...(0, _a11y.A11Y_HASPOPUP)('listbox'));
49
+ }
43
50
  if (!instance.acArrowListener) {
44
51
  const eventManager = new _eventManager.default(instance);
45
52
 
@@ -2,6 +2,7 @@ import { htmlRenderer } from "../htmlRenderer/index.mjs";
2
2
  import { textRenderer } from "../textRenderer/index.mjs";
3
3
  import EventManager from "../../eventManager.mjs";
4
4
  import { addClass, hasClass } from "../../helpers/dom/element.mjs";
5
+ import { A11Y_HASPOPUP, A11Y_HIDDEN } from "../../helpers/a11y.mjs";
5
6
  export const RENDERER_TYPE = 'autocomplete';
6
7
 
7
8
  /**
@@ -22,7 +23,11 @@ export function autocompleteRenderer(instance, TD, row, col, prop, value, cellPr
22
23
  } = instance;
23
24
  const rendererFunc = cellProperties.allowHtml ? htmlRenderer : textRenderer;
24
25
  const ARROW = rootDocument.createElement('DIV');
26
+ const isAriaEnabled = instance.getSettings().ariaTags;
25
27
  ARROW.className = 'htAutocompleteArrow';
28
+ if (isAriaEnabled) {
29
+ ARROW.setAttribute(...A11Y_HIDDEN());
30
+ }
26
31
  ARROW.appendChild(rootDocument.createTextNode(String.fromCharCode(9660)));
27
32
  rendererFunc.apply(this, [instance, TD, row, col, prop, value, cellProperties]);
28
33
  if (!TD.firstChild) {
@@ -34,6 +39,9 @@ export function autocompleteRenderer(instance, TD, row, col, prop, value, cellPr
34
39
 
35
40
  TD.insertBefore(ARROW, TD.firstChild);
36
41
  addClass(TD, 'htAutocomplete');
42
+ if (isAriaEnabled) {
43
+ TD.setAttribute(...A11Y_HASPOPUP('listbox'));
44
+ }
37
45
  if (!instance.acArrowListener) {
38
46
  const eventManager = new EventManager(instance);
39
47
 
@@ -4,11 +4,12 @@ exports.__esModule = true;
4
4
  exports.baseRenderer = baseRenderer;
5
5
  require("core-js/modules/es.array.push.js");
6
6
  var _element = require("../../helpers/dom/element");
7
+ var _a11y = require("../../helpers/a11y");
7
8
  /**
8
9
  * Adds appropriate CSS class to table cell, based on cellProperties.
9
10
  */
10
11
 
11
- const RENDERER_TYPE = 'base';
12
+ const RENDERER_TYPE = exports.RENDERER_TYPE = 'base';
12
13
 
13
14
  /**
14
15
  * @param {Core} instance The Handsontable instance.
@@ -19,20 +20,33 @@ const RENDERER_TYPE = 'base';
19
20
  * @param {*} value The rendered value.
20
21
  * @param {object} cellProperties The cell meta object ({@see Core#getCellMeta}).
21
22
  */
22
- exports.RENDERER_TYPE = RENDERER_TYPE;
23
23
  function baseRenderer(instance, TD, row, col, prop, value, cellProperties) {
24
+ const ariaEnabled = cellProperties.ariaTags;
24
25
  const classesToAdd = [];
25
26
  const classesToRemove = [];
27
+ const attributesToRemove = [];
28
+ const attributesToAdd = [];
26
29
  if (cellProperties.className) {
27
30
  (0, _element.addClass)(TD, cellProperties.className);
28
31
  }
29
32
  if (cellProperties.readOnly) {
30
33
  classesToAdd.push(cellProperties.readOnlyCellClassName);
34
+ if (ariaEnabled) {
35
+ attributesToAdd.push((0, _a11y.A11Y_READONLY)());
36
+ }
37
+ } else if (ariaEnabled) {
38
+ attributesToRemove.push((0, _a11y.A11Y_READONLY)()[0]);
31
39
  }
32
40
  if (cellProperties.valid === false && cellProperties.invalidCellClassName) {
33
41
  classesToAdd.push(cellProperties.invalidCellClassName);
42
+ if (ariaEnabled) {
43
+ attributesToAdd.push((0, _a11y.A11Y_INVALID)());
44
+ }
34
45
  } else {
35
46
  classesToRemove.push(cellProperties.invalidCellClassName);
47
+ if (ariaEnabled) {
48
+ attributesToRemove.push((0, _a11y.A11Y_INVALID)()[0]);
49
+ }
36
50
  }
37
51
  if (cellProperties.wordWrap === false && cellProperties.noWordWrapClassName) {
38
52
  classesToAdd.push(cellProperties.noWordWrapClassName);
@@ -42,5 +56,7 @@ function baseRenderer(instance, TD, row, col, prop, value, cellProperties) {
42
56
  }
43
57
  (0, _element.removeClass)(TD, classesToRemove);
44
58
  (0, _element.addClass)(TD, classesToAdd);
59
+ (0, _element.removeAttribute)(TD, attributesToRemove);
60
+ (0, _element.setAttribute)(TD, attributesToAdd);
45
61
  }
46
62
  baseRenderer.RENDERER_TYPE = RENDERER_TYPE;