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
@@ -926,5 +926,4 @@ class DataMap {
926
926
  this.propToColCache = void 0;
927
927
  }
928
928
  }
929
- var _default = DataMap;
930
- exports.default = _default;
929
+ var _default = exports.default = DataMap;
@@ -284,5 +284,4 @@ class DataSource {
284
284
  this.hot = null;
285
285
  }
286
286
  }
287
- var _default = DataSource;
288
- exports.default = _default;
287
+ var _default = exports.default = DataSource;
@@ -318,6 +318,18 @@ var _default = () => {
318
318
  * ```
319
319
  */
320
320
  allowRemoveRow: true,
321
+ /**
322
+ * If set to `true`, the accessibility-related ARIA tags will be added to the table. If set to `false`, they
323
+ * will be omitted.
324
+ * Defaults to `true`.
325
+ *
326
+ * @memberof Options#
327
+ * @type {boolean}
328
+ * @default true
329
+ * @category Core
330
+ * @since 14.0.0
331
+ */
332
+ ariaTags: true,
321
333
  /**
322
334
  * The `autoColumnSize` option configures the [`AutoColumnSize`](@/api/autoColumnSize.md) plugin.
323
335
  *
@@ -2430,6 +2442,18 @@ var _default = () => {
2430
2442
  * ```
2431
2443
  */
2432
2444
  invalidCellClassName: 'htInvalid',
2445
+ /**
2446
+ * The `imeFastEdit` option allows using the "fast edit" feature for the IME users. It's disabled by default
2447
+ * because of its incompatibility with some of the accessibility features.
2448
+ *
2449
+ * Enabling this option can make a negative impact on how some screen readers handle reading the table cells.
2450
+ *
2451
+ * @since 14.0.0
2452
+ * @memberof Options#
2453
+ * @type {boolean}
2454
+ * @category Core
2455
+ */
2456
+ imeFastEdit: false,
2433
2457
  /**
2434
2458
  * The `isEmptyCol` option lets you define your own custom method
2435
2459
  * for checking if a column at a given visual index is empty.
@@ -3103,6 +3127,47 @@ var _default = () => {
3103
3127
  * ```
3104
3128
  */
3105
3129
  multiColumnSorting: void 0,
3130
+ /**
3131
+ * When set to `true`, the `navigableHeaders` option lets you navigate [row headers](@/guides/rows/row-header.md) and [column headers](@/guides/columns/column-header.md), using the arrow keys or the <kbd>**Tab**</kbd> key (if the [`disableTabNavigation`](#disabletabnavigation) option is set to `false`).
3132
+ *
3133
+ * @since 14.0.0
3134
+ * @memberof Options#
3135
+ * @type {boolean}
3136
+ * @default false
3137
+ * @category Core
3138
+ *
3139
+ * @example
3140
+ * ```js
3141
+ * // you can navigate row and column headers with the keyboard
3142
+ * navigableHeaders: true,
3143
+ *
3144
+ * // default behavior: you can't navigate row and column headers with the keyboard
3145
+ * navigableHeaders: false,
3146
+ * ```
3147
+ */
3148
+ navigableHeaders: false,
3149
+ /**
3150
+ * When set to `true`, the `disableTabNavigation` option changes the behavior of the
3151
+ * <kbd>Tab</kbd> and <kbd>Shift</kbd>+<kbd>Tab</kbd> keyboard shortcuts. The Handsontable
3152
+ * no more captures that shortcuts to make the grid navigation available (`disableTabNavigation: false`)
3153
+ * but returns control to the browser so the native page navigation is possible.
3154
+ *
3155
+ * @since 14.0.0
3156
+ * @memberof Options#
3157
+ * @type {boolean}
3158
+ * @default false
3159
+ * @category Core
3160
+ *
3161
+ * @example
3162
+ * ```js
3163
+ * // you can't navigate row and column headers using <kbd>Tab</kbd> or <kbd>Shift</kbd>+<kbd>Tab</kbd> keyboard shortcuts
3164
+ * disableTabNavigation: true,
3165
+ *
3166
+ * // default behavior: you can navigate row and column headers using <kbd>Tab</kbd> or <kbd>Shift</kbd>+<kbd>Tab</kbd> keyboard shortcuts
3167
+ * disableTabNavigation: false,
3168
+ * ```
3169
+ */
3170
+ disableTabNavigation: false,
3106
3171
  /**
3107
3172
  * @description
3108
3173
  * The `nestedHeaders` option configures the [`NestedHeaders`](@/api/nestedHeaders.md) plugin.
@@ -315,6 +315,18 @@ export default (() => {
315
315
  * ```
316
316
  */
317
317
  allowRemoveRow: true,
318
+ /**
319
+ * If set to `true`, the accessibility-related ARIA tags will be added to the table. If set to `false`, they
320
+ * will be omitted.
321
+ * Defaults to `true`.
322
+ *
323
+ * @memberof Options#
324
+ * @type {boolean}
325
+ * @default true
326
+ * @category Core
327
+ * @since 14.0.0
328
+ */
329
+ ariaTags: true,
318
330
  /**
319
331
  * The `autoColumnSize` option configures the [`AutoColumnSize`](@/api/autoColumnSize.md) plugin.
320
332
  *
@@ -2427,6 +2439,18 @@ export default (() => {
2427
2439
  * ```
2428
2440
  */
2429
2441
  invalidCellClassName: 'htInvalid',
2442
+ /**
2443
+ * The `imeFastEdit` option allows using the "fast edit" feature for the IME users. It's disabled by default
2444
+ * because of its incompatibility with some of the accessibility features.
2445
+ *
2446
+ * Enabling this option can make a negative impact on how some screen readers handle reading the table cells.
2447
+ *
2448
+ * @since 14.0.0
2449
+ * @memberof Options#
2450
+ * @type {boolean}
2451
+ * @category Core
2452
+ */
2453
+ imeFastEdit: false,
2430
2454
  /**
2431
2455
  * The `isEmptyCol` option lets you define your own custom method
2432
2456
  * for checking if a column at a given visual index is empty.
@@ -3100,6 +3124,47 @@ export default (() => {
3100
3124
  * ```
3101
3125
  */
3102
3126
  multiColumnSorting: void 0,
3127
+ /**
3128
+ * When set to `true`, the `navigableHeaders` option lets you navigate [row headers](@/guides/rows/row-header.md) and [column headers](@/guides/columns/column-header.md), using the arrow keys or the <kbd>**Tab**</kbd> key (if the [`disableTabNavigation`](#disabletabnavigation) option is set to `false`).
3129
+ *
3130
+ * @since 14.0.0
3131
+ * @memberof Options#
3132
+ * @type {boolean}
3133
+ * @default false
3134
+ * @category Core
3135
+ *
3136
+ * @example
3137
+ * ```js
3138
+ * // you can navigate row and column headers with the keyboard
3139
+ * navigableHeaders: true,
3140
+ *
3141
+ * // default behavior: you can't navigate row and column headers with the keyboard
3142
+ * navigableHeaders: false,
3143
+ * ```
3144
+ */
3145
+ navigableHeaders: false,
3146
+ /**
3147
+ * When set to `true`, the `disableTabNavigation` option changes the behavior of the
3148
+ * <kbd>Tab</kbd> and <kbd>Shift</kbd>+<kbd>Tab</kbd> keyboard shortcuts. The Handsontable
3149
+ * no more captures that shortcuts to make the grid navigation available (`disableTabNavigation: false`)
3150
+ * but returns control to the browser so the native page navigation is possible.
3151
+ *
3152
+ * @since 14.0.0
3153
+ * @memberof Options#
3154
+ * @type {boolean}
3155
+ * @default false
3156
+ * @category Core
3157
+ *
3158
+ * @example
3159
+ * ```js
3160
+ * // you can't navigate row and column headers using <kbd>Tab</kbd> or <kbd>Shift</kbd>+<kbd>Tab</kbd> keyboard shortcuts
3161
+ * disableTabNavigation: true,
3162
+ *
3163
+ * // default behavior: you can navigate row and column headers using <kbd>Tab</kbd> or <kbd>Shift</kbd>+<kbd>Tab</kbd> keyboard shortcuts
3164
+ * disableTabNavigation: false,
3165
+ * ```
3166
+ */
3167
+ disableTabNavigation: false,
3103
3168
  /**
3104
3169
  * @description
3105
3170
  * The `nestedHeaders` option configures the [`NestedHeaders`](@/api/nestedHeaders.md) plugin.
@@ -18,7 +18,13 @@ class ExtendMetaPropertiesMod {
18
18
  /**
19
19
  * @type {Map}
20
20
  */
21
- this.propDescriptors = new Map([['fixedColumnsLeft', {
21
+ this.propDescriptors = new Map([['ariaTags', {
22
+ onChange(propName, value, isInitialChange) {
23
+ if (!isInitialChange) {
24
+ throw new Error(`The \`${propName}\` option can not be updated after the Handsontable instance was initialized.`);
25
+ }
26
+ }
27
+ }], ['fixedColumnsLeft', {
22
28
  target: 'fixedColumnsStart',
23
29
  onChange(propName) {
24
30
  const isRtl = this.metaManager.hot.isRtl();
@@ -15,7 +15,13 @@ export class ExtendMetaPropertiesMod {
15
15
  /**
16
16
  * @type {Map}
17
17
  */
18
- this.propDescriptors = new Map([['fixedColumnsLeft', {
18
+ this.propDescriptors = new Map([['ariaTags', {
19
+ onChange(propName, value, isInitialChange) {
20
+ if (!isInitialChange) {
21
+ throw new Error(`The \`${propName}\` option can not be updated after the Handsontable instance was initialized.`);
22
+ }
23
+ }
24
+ }], ['fixedColumnsLeft', {
19
25
  target: 'fixedColumnsStart',
20
26
  onChange(propName) {
21
27
  const isRtl = this.metaManager.hot.isRtl();
@@ -8,6 +8,8 @@ var _string = require("../helpers/string");
8
8
  var _function = require("../helpers/function");
9
9
  var _dataMap = _interopRequireDefault(require("./dataMap"));
10
10
  var _object = require("../helpers/object");
11
+ var _element = require("../helpers/dom/element");
12
+ var _a11y = require("../helpers/a11y");
11
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
14
  /**
13
15
  * Loads new data to Handsontable.
@@ -111,4 +113,7 @@ function replaceData(data, setDataMapFunction, callbackFunction, config) {
111
113
  hotInstance.runHooks('afterChange', null, internalSource);
112
114
  hotInstance.render();
113
115
  }
116
+ if (hotInstance.getSettings().ariaTags) {
117
+ (0, _element.setAttribute)(hotInstance.rootElement, [(0, _a11y.A11Y_ROWCOUNT)(hotInstance.countRows()), (0, _a11y.A11Y_COLCOUNT)(hotInstance.countCols())]);
118
+ }
114
119
  }
@@ -4,6 +4,8 @@ import { toUpperCaseFirst } from "../helpers/string.mjs";
4
4
  import { isFunction } from "../helpers/function.mjs";
5
5
  import DataMap from "./dataMap.mjs";
6
6
  import { deepClone } from "../helpers/object.mjs";
7
+ import { setAttribute } from "../helpers/dom/element.mjs";
8
+ import { A11Y_COLCOUNT, A11Y_ROWCOUNT } from "../helpers/a11y.mjs";
7
9
  /**
8
10
  * Loads new data to Handsontable.
9
11
  *
@@ -106,5 +108,8 @@ function replaceData(data, setDataMapFunction, callbackFunction, config) {
106
108
  hotInstance.runHooks('afterChange', null, internalSource);
107
109
  hotInstance.render();
108
110
  }
111
+ if (hotInstance.getSettings().ariaTags) {
112
+ setAttribute(hotInstance.rootElement, [A11Y_ROWCOUNT(hotInstance.countRows()), A11Y_COLCOUNT(hotInstance.countCols())]);
113
+ }
109
114
  }
110
115
  export { replaceData };
@@ -25,8 +25,8 @@
25
25
  * INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
26
26
  * USE OR INABILITY TO USE THIS SOFTWARE.
27
27
  *
28
- * Version: 13.1.0
29
- * Release date: 31/08/2023 (built at 31/08/2023 08:23:39)
28
+ * Version: 14.0.0-next-d97b156-20231027
29
+ * Release date: 08/11/2023 (built at 27/10/2023 12:46:45)
30
30
  */
31
31
  /**
32
32
  * Fix for bootstrap styles
@@ -179,6 +179,7 @@
179
179
  background-color: #fff;
180
180
  vertical-align: top;
181
181
  overflow: hidden;
182
+ outline: none;
182
183
  outline-width: 0;
183
184
  white-space: pre-wrap;
184
185
  }
@@ -389,13 +390,23 @@ innerBorderBottom - Property controlled by bottom overlay
389
390
 
390
391
  .handsontable td.htInvalid {
391
392
  /*gives priority over td.area selection background*/
392
- background-color: #ff4c42 !important;
393
+ background-color: #ffbeba !important;
393
394
  }
394
395
 
395
396
  .handsontable td.htNoWrap {
396
397
  white-space: nowrap;
397
398
  }
398
399
 
400
+ .handsontable td.invisibleSelection,
401
+ .handsontable th.invisibleSelection {
402
+ outline: none;
403
+ }
404
+
405
+ .handsontable td.invisibleSelection::selection,
406
+ .handsontable th.invisibleSelection::selection {
407
+ background: rgba(255, 255, 255, 0);
408
+ }
409
+
399
410
  .hot-display-license-info {
400
411
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Helvetica Neue", Arial, sans-serif;
401
412
  font-size: 10px;
@@ -410,6 +421,17 @@ innerBorderBottom - Property controlled by bottom overlay
410
421
  font-size: 10px;
411
422
  }
412
423
 
424
+ .handsontable .htFocusCatcher {
425
+ position: absolute;
426
+ z-index: -1;
427
+ opacity: 0;
428
+ border: 0;
429
+ margin: 0;
430
+ padding: 0;
431
+ width: 0;
432
+ height: 0;
433
+ }
434
+
413
435
  /* plugins */
414
436
  /* row + column resizer*/
415
437
  .handsontable .manualColumnResizer {
@@ -482,8 +504,10 @@ innerBorderBottom - Property controlled by bottom overlay
482
504
  .handsontable .columnSorting.sortAction:hover {
483
505
  text-decoration: underline;
484
506
  cursor: pointer;
485
- } /* Arrow position */
486
- .handsontable span.colHeader.columnSorting::before {
507
+ }
508
+
509
+ /* Arrow position */
510
+ .handsontable span.colHeader.columnSorting .columnSortingIndicator::before {
487
511
  /* Centering start */
488
512
  top: 50%;
489
513
  /* One extra pixel for purpose of proper positioning of sorting arrow, when `font-size` set to default */
@@ -503,7 +527,7 @@ innerBorderBottom - Property controlled by bottom overlay
503
527
  background-position-x: right;
504
528
  }
505
529
 
506
- [dir=rtl].handsontable span.colHeader.columnSorting::before {
530
+ [dir=rtl].handsontable span.colHeader.columnSorting .columnSortingIndicator::before {
507
531
  /* Centering end */
508
532
  /* For purpose of continuous mouse over experience, when moving between the `span` and the `::before` elements */
509
533
  padding-right: 8px;
@@ -513,17 +537,17 @@ innerBorderBottom - Property controlled by bottom overlay
513
537
  background-position-x: left;
514
538
  }
515
539
 
516
- .handsontable span.colHeader.columnSorting.ascending::before {
540
+ .handsontable span.colHeader.columnSorting.ascending .columnSortingIndicator::before {
517
541
  /* arrow up; 20 x 40 px, scaled to 5 x 10 px; base64 size: 0.3kB */
518
542
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAoCAMAAADJ7yrpAAAAKlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKE86IAAAADXRSTlMABBEmRGprlJW72e77tTkTKwAAAFNJREFUeAHtzjkSgCAUBNHPgsoy97+ulGXRqJE5L+xkxoYt2UdsLb5bqFINz+aLuuLn5rIu2RkO3fZpWENimNgiw6iBYRTPMLJjGFxQZ1hxxb/xBI1qC8k39CdKAAAAAElFTkSuQmCC);
519
543
  }
520
544
 
521
- .handsontable span.colHeader.columnSorting.descending::before {
545
+ .handsontable span.colHeader.columnSorting.descending .columnSortingIndicator::before {
522
546
  /* arrow down; 20 x 40 px, scaled to 5 x 10 px; base64 size: 0.3kB */
523
547
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAoCAMAAADJ7yrpAAAAKlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKE86IAAAADXRSTlMABBEmRGprlJW72e77tTkTKwAAAFJJREFUeAHtzjkSgCAQRNFmQYUZ7n9dKUvru0TmvPAn3br0QfgdZ5xx6x+rQn23GqTYnq1FDcnuzZIO2WmedVqIRVxgGKEyjNgYRjKGkZ1hFIZ3I70LyM0VtU8AAAAASUVORK5CYII=);
524
548
  }
525
549
 
526
- .htGhostTable .htCore span.colHeader.columnSorting:not(.indicatorDisabled)::after {
550
+ .htGhostTable .htCore span.colHeader.columnSorting:not(.indicatorDisabled)::before {
527
551
  content: "*";
528
552
  display: inline-block;
529
553
  position: relative;
@@ -607,6 +631,11 @@ innerBorderBottom - Property controlled by bottom overlay
607
631
  opacity: 0.58;
608
632
  }
609
633
 
634
+ .handsontable tbody th.current,
635
+ .handsontable thead th.current {
636
+ box-shadow: inset 0 0 0 2px #4b89ff;
637
+ }
638
+
610
639
  .handsontable tbody th.ht__highlight,
611
640
  .handsontable thead th.ht__highlight {
612
641
  background-color: #dcdcdc;
@@ -667,7 +696,7 @@ TextRenderer readOnly cell
667
696
  position: relative;
668
697
  }
669
698
 
670
- .handsontable .htSubmenu :after {
699
+ .handsontable .htSubmenu .submenuIndicator::after {
671
700
  content: "▶";
672
701
  color: #777;
673
702
  position: absolute;
@@ -675,11 +704,11 @@ TextRenderer readOnly cell
675
704
  font-size: 9px;
676
705
  }
677
706
 
678
- [dir=rtl].handsontable .htSubmenu :after {
707
+ [dir=rtl].handsontable .htSubmenu .submenuIndicator::after {
679
708
  content: "";
680
709
  }
681
710
 
682
- [dir=rtl].handsontable .htSubmenu :before {
711
+ [dir=rtl].handsontable .htSubmenu .submenuIndicator::before {
683
712
  content: "◀";
684
713
  color: #777;
685
714
  position: absolute;
@@ -799,7 +828,7 @@ TextRenderer placeholder value
799
828
  cursor: pointer;
800
829
  -webkit-box-shadow: 0 0 0 6px rgb(238, 238, 238);
801
830
  -moz-box-shadow: 0 0 0 6px rgb(238, 238, 238);
802
- box-shadow: 0 0 0 6px rgb(238, 238, 238);
831
+ box-shadow: 0 0 0 3px rgb(238, 238, 238);
803
832
  background: #eee;
804
833
  text-align: center;
805
834
  }
@@ -867,7 +896,7 @@ AutocompleteRenderer down arrow
867
896
  .handsontable .htAutocompleteArrow {
868
897
  float: right;
869
898
  font-size: 10px;
870
- color: #EEE;
899
+ color: #bbbbbb;
871
900
  cursor: default;
872
901
  width: 16px;
873
902
  text-align: center;
@@ -877,6 +906,14 @@ AutocompleteRenderer down arrow
877
906
  float: left;
878
907
  }
879
908
 
909
+ .handsontable td.htInvalid .htAutocompleteArrow {
910
+ color: #555555;
911
+ }
912
+
913
+ .handsontable td.htInvalid .htAutocompleteArrow:hover {
914
+ color: #1a1a1a;
915
+ }
916
+
880
917
  .handsontable td .htAutocompleteArrow:hover {
881
918
  color: #777;
882
919
  }
@@ -997,6 +1034,10 @@ CheckboxRenderer
997
1034
  border-left-width: 2px;
998
1035
  }
999
1036
 
1037
+ .htContextMenu.handsontable:focus {
1038
+ outline: none;
1039
+ }
1040
+
1000
1041
  .htContextMenu .wtBorder {
1001
1042
  visibility: hidden;
1002
1043
  }
@@ -1028,8 +1069,7 @@ CheckboxRenderer
1028
1069
  color: #323232;
1029
1070
  }
1030
1071
 
1031
- .htContextMenu table tbody tr td.current,
1032
- .htContextMenu table tbody tr td.zeroclipboard-is-hover {
1072
+ .htContextMenu table tbody tr td.current {
1033
1073
  background: #f3f3f3;
1034
1074
  }
1035
1075
 
@@ -1147,6 +1187,10 @@ textarea.HandsontableCopyPaste {
1147
1187
  border-left-width: 2px;
1148
1188
  }
1149
1189
 
1190
+ .htDropdownMenu.handsontable:focus {
1191
+ outline: none;
1192
+ }
1193
+
1150
1194
  .htDropdownMenu .wtBorder {
1151
1195
  visibility: hidden;
1152
1196
  }
@@ -1178,8 +1222,7 @@ textarea.HandsontableCopyPaste {
1178
1222
  color: #323232;
1179
1223
  }
1180
1224
 
1181
- .htDropdownMenu table tbody tr td.current,
1182
- .htDropdownMenu table tbody tr td.zeroclipboard-is-hover {
1225
+ .htDropdownMenu table tbody tr td.current {
1183
1226
  background: #e9e9e9;
1184
1227
  }
1185
1228
 
@@ -1285,8 +1328,7 @@ textarea.HandsontableCopyPaste {
1285
1328
  color: #323232;
1286
1329
  }
1287
1330
 
1288
- .htFiltersConditionsMenu table tbody tr td.current,
1289
- .htFiltersConditionsMenu table tbody tr td.zeroclipboard-is-hover {
1331
+ .htFiltersConditionsMenu table tbody tr td.current {
1290
1332
  background: #e9e9e9;
1291
1333
  }
1292
1334
 
@@ -1434,14 +1476,6 @@ textarea.HandsontableCopyPaste {
1434
1476
  border: 1px solid #d2d1d1;
1435
1477
  }
1436
1478
 
1437
- .handsontable .htUIInput input:focus {
1438
- outline: 0;
1439
- }
1440
-
1441
- .handsontable .htUIInputIcon {
1442
- position: absolute;
1443
- }
1444
-
1445
1479
  /* Button */
1446
1480
  .handsontable .htUIInput.htUIButton {
1447
1481
  cursor: pointer;
@@ -1576,12 +1610,13 @@ textarea.HandsontableCopyPaste {
1576
1610
  /*
1577
1611
  * Handsontable HiddenColumns
1578
1612
  */
1579
- .handsontable th.beforeHiddenColumn {
1613
+ .handsontable th.beforeHiddenColumn,
1614
+ .handsontable th.afterHiddenColumn {
1580
1615
  position: relative;
1581
1616
  }
1582
1617
 
1583
- .handsontable th.beforeHiddenColumn::after,
1584
- .handsontable th.afterHiddenColumn::before {
1618
+ .handsontable th.beforeHiddenColumn .beforeHiddenColumnIndicator::after,
1619
+ .handsontable th.afterHiddenColumn .afterHiddenColumnIndicator::before {
1585
1620
  color: #bbb;
1586
1621
  position: absolute;
1587
1622
  top: 50%;
@@ -1589,37 +1624,33 @@ textarea.HandsontableCopyPaste {
1589
1624
  transform: translateY(-50%);
1590
1625
  }
1591
1626
 
1592
- .handsontable th.afterHiddenColumn {
1593
- position: relative;
1594
- }
1595
-
1596
- .handsontable th.beforeHiddenColumn::after {
1627
+ .handsontable th.beforeHiddenColumn .beforeHiddenColumnIndicator::after {
1597
1628
  right: 1px;
1598
- content: "◀"; /* left arrow */
1629
+ content: "◀";
1599
1630
  }
1600
1631
 
1601
- [dir=rtl].handsontable th.beforeHiddenColumn::after {
1632
+ [dir=rtl].handsontable th.beforeHiddenColumn .beforeHiddenColumnIndicator::after {
1602
1633
  right: initial;
1603
1634
  left: 1px;
1604
- content: "▶"; /* right arrow */
1635
+ content: "▶";
1605
1636
  }
1606
1637
 
1607
- .handsontable th.afterHiddenColumn::before {
1638
+ .handsontable th.afterHiddenColumn .afterHiddenColumnIndicator::before {
1608
1639
  left: 1px;
1609
- content: "▶"; /* right arrow */
1640
+ content: "▶";
1610
1641
  }
1611
1642
 
1612
- [dir=rtl].handsontable th.afterHiddenColumn::before {
1643
+ [dir=rtl].handsontable th.afterHiddenColumn .afterHiddenColumnIndicator::before {
1613
1644
  right: 1px;
1614
1645
  left: initial;
1615
- content: "◀"; /* left arrow */
1646
+ content: "◀";
1616
1647
  }
1617
1648
  @charset "UTF-8";
1618
1649
  /*!
1619
1650
  * Handsontable HiddenRows
1620
1651
  */
1621
- .handsontable th.beforeHiddenRow::before,
1622
- .handsontable th.afterHiddenRow::after {
1652
+ .handsontable th.beforeHiddenRow .beforeHiddenRowIndicator::before,
1653
+ .handsontable th.afterHiddenRow .afterHiddenRowIndicator::after {
1623
1654
  color: #bbb;
1624
1655
  font-size: 6pt;
1625
1656
  line-height: 6pt;
@@ -1632,18 +1663,18 @@ textarea.HandsontableCopyPaste {
1632
1663
  position: relative;
1633
1664
  }
1634
1665
 
1635
- .handsontable th.beforeHiddenRow::before {
1636
- content: "▲";
1666
+ .handsontable th.beforeHiddenRow .beforeHiddenRowIndicator::before {
1667
+ content: "▲"; /* up-pointing triangle */
1637
1668
  bottom: 2px;
1638
1669
  }
1639
1670
 
1640
- .handsontable th.afterHiddenRow::after {
1641
- content: "▼";
1671
+ .handsontable th.afterHiddenRow .afterHiddenRowIndicator::after {
1672
+ content: "▼"; /* down-pointing triangle */
1642
1673
  top: 2px;
1643
1674
  }
1644
1675
 
1645
- .handsontable.ht__selection--rows tbody th.beforeHiddenRow.ht__highlight:before,
1646
- .handsontable.ht__selection--rows tbody th.afterHiddenRow.ht__highlight:after {
1676
+ .handsontable.ht__selection--rows tbody th.beforeHiddenRow.ht__highlight .beforeHiddenRowIndicator::before,
1677
+ .handsontable.ht__selection--rows tbody th.afterHiddenRow.ht__highlight .afterHiddenRowIndicator::after {
1647
1678
  color: #eee;
1648
1679
  }
1649
1680
 
@@ -1796,7 +1827,7 @@ textarea.HandsontableCopyPaste {
1796
1827
  opacity: 0.58;
1797
1828
  }
1798
1829
  /* Column's number position */
1799
- .handsontable span.colHeader.columnSorting::after {
1830
+ .handsontable span.colHeader.columnSorting .columnSortingIndicator::after {
1800
1831
  /* Centering start */
1801
1832
  top: 50%;
1802
1833
  /* Two extra pixels (-2 instead of -4) for purpose of proper positioning of numeric indicators, when `font-size` set to default */
@@ -1815,7 +1846,7 @@ textarea.HandsontableCopyPaste {
1815
1846
  text-decoration: underline;
1816
1847
  }
1817
1848
 
1818
- [dir=rtl].handsontable span.colHeader.columnSorting::after {
1849
+ [dir=rtl].handsontable span.colHeader.columnSorting .columnSortingIndicator::after {
1819
1850
  left: -15px;
1820
1851
  right: unset;
1821
1852
  /* For purpose of continuous mouse over experience, when moving between the `::before` and the `::after` elements */
@@ -1824,41 +1855,41 @@ textarea.HandsontableCopyPaste {
1824
1855
  }
1825
1856
 
1826
1857
  /* Workaround for IE9 - IE11, https://stackoverflow.com/a/21902566, https://stackoverflow.com/a/32120247 */
1827
- .handsontable span.colHeader.columnSorting::after {
1858
+ .handsontable span.colHeader.columnSorting .columnSortingIndicator::after {
1828
1859
  text-decoration: none;
1829
1860
  }
1830
1861
 
1831
1862
  /* We support up to 7 numeric indicators, describing order of column in sorted columns queue */
1832
- .handsontable span.colHeader.columnSorting[class^=sort-]::after,
1833
- .handsontable span.colHeader.columnSorting[class*=" sort-"]::after {
1863
+ .handsontable span.colHeader.columnSorting[class^=sort-] .columnSortingIndicator::after,
1864
+ .handsontable span.colHeader.columnSorting[class*=" sort-"] .columnSortingIndicator::after {
1834
1865
  content: "+";
1835
1866
  }
1836
1867
 
1837
- .handsontable span.colHeader.columnSorting.sort-1::after {
1868
+ .handsontable span.colHeader.columnSorting.sort-1 .columnSortingIndicator::after {
1838
1869
  content: "1";
1839
1870
  }
1840
1871
 
1841
- .handsontable span.colHeader.columnSorting.sort-2::after {
1872
+ .handsontable span.colHeader.columnSorting.sort-2 .columnSortingIndicator::after {
1842
1873
  content: "2";
1843
1874
  }
1844
1875
 
1845
- .handsontable span.colHeader.columnSorting.sort-3::after {
1876
+ .handsontable span.colHeader.columnSorting.sort-3 .columnSortingIndicator::after {
1846
1877
  content: "3";
1847
1878
  }
1848
1879
 
1849
- .handsontable span.colHeader.columnSorting.sort-4::after {
1880
+ .handsontable span.colHeader.columnSorting.sort-4 .columnSortingIndicator::after {
1850
1881
  content: "4";
1851
1882
  }
1852
1883
 
1853
- .handsontable span.colHeader.columnSorting.sort-5::after {
1884
+ .handsontable span.colHeader.columnSorting.sort-5 .columnSortingIndicator::after {
1854
1885
  content: "5";
1855
1886
  }
1856
1887
 
1857
- .handsontable span.colHeader.columnSorting.sort-6::after {
1888
+ .handsontable span.colHeader.columnSorting.sort-6 .columnSortingIndicator::after {
1858
1889
  content: "6";
1859
1890
  }
1860
1891
 
1861
- .handsontable span.colHeader.columnSorting.sort-7::after {
1892
+ .handsontable span.colHeader.columnSorting.sort-7 .columnSortingIndicator::after {
1862
1893
  content: "7";
1863
1894
  }
1864
1895
 
@@ -1869,7 +1900,6 @@ textarea.HandsontableCopyPaste {
1869
1900
  .handsontable thead th.hiddenHeader:not(:first-of-type) {
1870
1901
  display: none;
1871
1902
  }
1872
- @charset "UTF-8";
1873
1903
  .handsontable th.ht_nestingLevels {
1874
1904
  text-align: left;
1875
1905
  padding-left: 7px;
@@ -1903,10 +1933,6 @@ textarea.HandsontableCopyPaste {
1903
1933
  right: unset;
1904
1934
  }
1905
1935
 
1906
- .handsontable th span.ht_nestingLevel {
1907
- display: inline-block;
1908
- }
1909
-
1910
1936
  .handsontable th span.ht_nestingLevel_empty {
1911
1937
  display: inline-block;
1912
1938
  width: 10px;
@@ -1918,14 +1944,6 @@ textarea.HandsontableCopyPaste {
1918
1944
  float: right;
1919
1945
  }
1920
1946
 
1921
- .handsontable th span.ht_nestingLevel::after {
1922
- content: "┐";
1923
- font-size: 9px;
1924
- display: inline-block;
1925
- position: relative;
1926
- bottom: 3px;
1927
- }
1928
-
1929
1947
  .handsontable th div.ht_nestingButton {
1930
1948
  display: inline-block;
1931
1949
  position: absolute;