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
@@ -7,15 +7,14 @@ exports.__esModule = true;
7
7
  *
8
8
  * @type {number}
9
9
  */
10
- const RENDER_TYPE = 1;
10
+ const RENDER_TYPE = exports.RENDER_TYPE = 1;
11
11
  /**
12
12
  * Fully visible type calculation calculates rows that are fully visible in the viewport.
13
13
  * This type of calculation is used in scrolling by arrow keys navigation.
14
14
  *
15
15
  * @type {number}
16
16
  */
17
- exports.RENDER_TYPE = RENDER_TYPE;
18
- const FULLY_VISIBLE_TYPE = 2;
17
+ const FULLY_VISIBLE_TYPE = exports.FULLY_VISIBLE_TYPE = 2;
19
18
  /**
20
19
  * Partially visible type calculation calculates rows that are fully and partially visible in
21
20
  * the viewport. This type of calculation is used to check `endRow` (or `startRow`) with properties
@@ -24,6 +23,4 @@ const FULLY_VISIBLE_TYPE = 2;
24
23
  *
25
24
  * @type {number}
26
25
  */
27
- exports.FULLY_VISIBLE_TYPE = FULLY_VISIBLE_TYPE;
28
- const PARTIALLY_VISIBLE_TYPE = 3;
29
- exports.PARTIALLY_VISIBLE_TYPE = PARTIALLY_VISIBLE_TYPE;
26
+ const PARTIALLY_VISIBLE_TYPE = exports.PARTIALLY_VISIBLE_TYPE = 3;
@@ -289,5 +289,4 @@ class ViewportColumnsCalculator {
289
289
  return width;
290
290
  }
291
291
  }
292
- var _default = ViewportColumnsCalculator;
293
- exports.default = _default;
292
+ var _default = exports.default = ViewportColumnsCalculator;
@@ -173,5 +173,4 @@ class ViewportRowsCalculator {
173
173
  }
174
174
  }
175
175
  }
176
- var _default = ViewportRowsCalculator;
177
- exports.default = _default;
176
+ var _default = exports.default = ViewportRowsCalculator;
@@ -4,13 +4,20 @@ export default class CellCoords {
4
4
  row: number;
5
5
  col: number;
6
6
 
7
- isValid(wot: any): boolean;
7
+ isValid(tableParams: {
8
+ countRows?: number;
9
+ countCols?: number;
10
+ countRowHeaders?: number;
11
+ countColHeaders?: number;
12
+ }): boolean;
13
+ isRtl(): boolean;
8
14
  isEqual(cellCoords: CellCoords): boolean;
9
15
  isSouthEastOf(testedCoords: any): boolean;
10
16
  isNorthWestOf(testedCoords: any): boolean;
11
17
  isSouthWestOf(testedCoords: any): boolean;
12
18
  isNorthEastOf(testedCoords: any): boolean;
13
19
  normalize(): CellCoords;
20
+ assign(coords: CellCoords | { row?: number, col?: number }): CellCoords;
14
21
  clone(): CellCoords;
15
22
  toObject(): any;
16
23
  }
@@ -62,26 +62,45 @@ class CellCoords {
62
62
 
63
63
  /**
64
64
  * Checks if the coordinates in your `CellCoords` instance are valid
65
- * in the context of a given Walkontable instance.
65
+ * in the context of given table parameters.
66
66
  *
67
67
  * The `row` index:
68
- * - Can't be negative.
69
- * - Can't be higher than the total number of rows in the Walkontable instance.
68
+ * - Must be an integer.
69
+ * - Must be higher than the number of column headers in the table.
70
+ * - Must be lower than the total number of rows in the table.
70
71
  *
71
72
  * The `col` index:
72
- * - Can't be negative.
73
- * - Can't be higher than the total number of columns in the Walkontable instance.
73
+ * - Must be an integer.
74
+ * - Must be higher than the number of row headers in the table.
75
+ * - Must be lower than the total number of columns in the table.
74
76
  *
75
- * @param {Walkontable} wot A Walkontable instance.
77
+ * @param {object} [tableParams] An object with a defined table size.
78
+ * @param {number} [tableParams.countRows=0] The total number of rows.
79
+ * @param {number} [tableParams.countCols=0] The total number of columns.
80
+ * @param {number} [tableParams.countRowHeaders=0] A number of row headers.
81
+ * @param {number} [tableParams.countColHeaders=0] A number of column headers.
76
82
  * @returns {boolean} `true`: The coordinates are valid.
77
83
  */
78
- isValid(wot) {
79
- // check if the row and column indexes are valid (0 or higher)
80
- if (this.row < 0 || this.col < 0) {
84
+ isValid(tableParams) {
85
+ const {
86
+ countRows,
87
+ countCols,
88
+ countRowHeaders,
89
+ countColHeaders
90
+ } = {
91
+ countRows: 0,
92
+ countCols: 0,
93
+ countRowHeaders: 0,
94
+ countColHeaders: 0,
95
+ ...tableParams
96
+ };
97
+ if (!Number.isInteger(this.row) || !Number.isInteger(this.col)) {
98
+ return false;
99
+ }
100
+ if (this.row < -countColHeaders || this.col < -countRowHeaders) {
81
101
  return false;
82
102
  }
83
- // check if the selection fits in the total of rows and columns
84
- if (this.row >= wot.getSetting('totalRows') || this.col >= wot.getSetting('totalColumns')) {
103
+ if (this.row >= countRows || this.col >= countCols) {
85
104
  return false;
86
105
  }
87
106
  return true;
@@ -101,6 +120,35 @@ class CellCoords {
101
120
  return this.row === cellCoords.row && this.col === cellCoords.col;
102
121
  }
103
122
 
123
+ /**
124
+ * Checks if the coordinates point to the headers range. If one of the axis (row or col) point to
125
+ * the header (negative value) then method returns `true`.
126
+ *
127
+ * @returns {boolean}
128
+ */
129
+ isHeader() {
130
+ return !this.isCell();
131
+ }
132
+
133
+ /**
134
+ * Checks if the coordinates point to the cells range. If all axis (row and col) point to
135
+ * the cell (positive value) then method returns `true`.
136
+ *
137
+ * @returns {boolean}
138
+ */
139
+ isCell() {
140
+ return this.row >= 0 && this.col >= 0;
141
+ }
142
+
143
+ /**
144
+ * Checks if the coordinates runs in RTL mode.
145
+ *
146
+ * @returns {boolean}
147
+ */
148
+ isRtl() {
149
+ return _classPrivateFieldGet(this, _isRtl);
150
+ }
151
+
104
152
  /**
105
153
  * Checks if another set of coordinates (`testedCoords`)
106
154
  * is south-east of the coordinates in your `CellCoords` instance.
@@ -158,6 +206,27 @@ class CellCoords {
158
206
  return this;
159
207
  }
160
208
 
209
+ /**
210
+ * Assigns the coordinates from another `CellCoords` instance (or compatible literal object)
211
+ * to your `CellCoords` instance.
212
+ *
213
+ * @param {CellCoords | { row: number | undefined, col: number | undefined }} coords The CellCoords
214
+ * instance or compatible literal object.
215
+ * @returns {CellCoords}
216
+ */
217
+ assign(coords) {
218
+ if (Number.isInteger(coords === null || coords === void 0 ? void 0 : coords.row)) {
219
+ this.row = coords.row;
220
+ }
221
+ if (Number.isInteger(coords === null || coords === void 0 ? void 0 : coords.col)) {
222
+ this.col = coords.col;
223
+ }
224
+ if (coords instanceof CellCoords) {
225
+ _classPrivateFieldSet(this, _isRtl, coords.isRtl());
226
+ }
227
+ return this;
228
+ }
229
+
161
230
  /**
162
231
  * Clones your `CellCoords` instance.
163
232
  *
@@ -179,5 +248,4 @@ class CellCoords {
179
248
  };
180
249
  }
181
250
  }
182
- var _default = CellCoords;
183
- exports.default = _default;
251
+ var _default = exports.default = CellCoords;
@@ -59,26 +59,45 @@ class CellCoords {
59
59
 
60
60
  /**
61
61
  * Checks if the coordinates in your `CellCoords` instance are valid
62
- * in the context of a given Walkontable instance.
62
+ * in the context of given table parameters.
63
63
  *
64
64
  * The `row` index:
65
- * - Can't be negative.
66
- * - Can't be higher than the total number of rows in the Walkontable instance.
65
+ * - Must be an integer.
66
+ * - Must be higher than the number of column headers in the table.
67
+ * - Must be lower than the total number of rows in the table.
67
68
  *
68
69
  * The `col` index:
69
- * - Can't be negative.
70
- * - Can't be higher than the total number of columns in the Walkontable instance.
70
+ * - Must be an integer.
71
+ * - Must be higher than the number of row headers in the table.
72
+ * - Must be lower than the total number of columns in the table.
71
73
  *
72
- * @param {Walkontable} wot A Walkontable instance.
74
+ * @param {object} [tableParams] An object with a defined table size.
75
+ * @param {number} [tableParams.countRows=0] The total number of rows.
76
+ * @param {number} [tableParams.countCols=0] The total number of columns.
77
+ * @param {number} [tableParams.countRowHeaders=0] A number of row headers.
78
+ * @param {number} [tableParams.countColHeaders=0] A number of column headers.
73
79
  * @returns {boolean} `true`: The coordinates are valid.
74
80
  */
75
- isValid(wot) {
76
- // check if the row and column indexes are valid (0 or higher)
77
- if (this.row < 0 || this.col < 0) {
81
+ isValid(tableParams) {
82
+ const {
83
+ countRows,
84
+ countCols,
85
+ countRowHeaders,
86
+ countColHeaders
87
+ } = {
88
+ countRows: 0,
89
+ countCols: 0,
90
+ countRowHeaders: 0,
91
+ countColHeaders: 0,
92
+ ...tableParams
93
+ };
94
+ if (!Number.isInteger(this.row) || !Number.isInteger(this.col)) {
95
+ return false;
96
+ }
97
+ if (this.row < -countColHeaders || this.col < -countRowHeaders) {
78
98
  return false;
79
99
  }
80
- // check if the selection fits in the total of rows and columns
81
- if (this.row >= wot.getSetting('totalRows') || this.col >= wot.getSetting('totalColumns')) {
100
+ if (this.row >= countRows || this.col >= countCols) {
82
101
  return false;
83
102
  }
84
103
  return true;
@@ -98,6 +117,35 @@ class CellCoords {
98
117
  return this.row === cellCoords.row && this.col === cellCoords.col;
99
118
  }
100
119
 
120
+ /**
121
+ * Checks if the coordinates point to the headers range. If one of the axis (row or col) point to
122
+ * the header (negative value) then method returns `true`.
123
+ *
124
+ * @returns {boolean}
125
+ */
126
+ isHeader() {
127
+ return !this.isCell();
128
+ }
129
+
130
+ /**
131
+ * Checks if the coordinates point to the cells range. If all axis (row and col) point to
132
+ * the cell (positive value) then method returns `true`.
133
+ *
134
+ * @returns {boolean}
135
+ */
136
+ isCell() {
137
+ return this.row >= 0 && this.col >= 0;
138
+ }
139
+
140
+ /**
141
+ * Checks if the coordinates runs in RTL mode.
142
+ *
143
+ * @returns {boolean}
144
+ */
145
+ isRtl() {
146
+ return _classPrivateFieldGet(this, _isRtl);
147
+ }
148
+
101
149
  /**
102
150
  * Checks if another set of coordinates (`testedCoords`)
103
151
  * is south-east of the coordinates in your `CellCoords` instance.
@@ -155,6 +203,27 @@ class CellCoords {
155
203
  return this;
156
204
  }
157
205
 
206
+ /**
207
+ * Assigns the coordinates from another `CellCoords` instance (or compatible literal object)
208
+ * to your `CellCoords` instance.
209
+ *
210
+ * @param {CellCoords | { row: number | undefined, col: number | undefined }} coords The CellCoords
211
+ * instance or compatible literal object.
212
+ * @returns {CellCoords}
213
+ */
214
+ assign(coords) {
215
+ if (Number.isInteger(coords === null || coords === void 0 ? void 0 : coords.row)) {
216
+ this.row = coords.row;
217
+ }
218
+ if (Number.isInteger(coords === null || coords === void 0 ? void 0 : coords.col)) {
219
+ this.col = coords.col;
220
+ }
221
+ if (coords instanceof CellCoords) {
222
+ _classPrivateFieldSet(this, _isRtl, coords.isRtl());
223
+ }
224
+ return this;
225
+ }
226
+
158
227
  /**
159
228
  * Clones your `CellCoords` instance.
160
229
  *
@@ -12,8 +12,15 @@ export default class CellRange {
12
12
  setHighlight(coords: CellCoords): CellRange;
13
13
  setFrom(coords: CellCoords): CellRange;
14
14
  setTo(coords: CellCoords): CellRange;
15
- isValid(wot: any): boolean;
16
- isSingle(): boolean;
15
+ isValid(tableParams: {
16
+ countRows?: number;
17
+ countCols?: number;
18
+ countRowHeaders?: number;
19
+ countColHeaders?: number;
20
+ }): boolean;
21
+ isSingleCell(): boolean;
22
+ isSingleHeader(): boolean;
23
+ containsHeaders(): boolean;
17
24
  getOuterHeight(): number;
18
25
  getOuterWidth(): number;
19
26
  getHeight(): number;
@@ -71,7 +71,7 @@ class CellRange {
71
71
  writable: true,
72
72
  value: false
73
73
  });
74
- this.highlight = highlight.clone().normalize();
74
+ this.highlight = highlight.clone();
75
75
  this.from = from.clone();
76
76
  this.to = to.clone();
77
77
  _classPrivateFieldSet(this, _isRtl, isRtl);
@@ -84,7 +84,7 @@ class CellRange {
84
84
  * @returns {CellRange}
85
85
  */
86
86
  setHighlight(coords) {
87
- this.highlight = coords.clone().normalize();
87
+ this.highlight = coords.clone();
88
88
  return this;
89
89
  }
90
90
 
@@ -112,26 +112,57 @@ class CellRange {
112
112
 
113
113
  /**
114
114
  * Checks if the coordinates in your `CellRange` instance are valid
115
- * in the context of a given Walkontable instance.
115
+ * in the context of given table parameters.
116
116
  *
117
117
  * See the [`isValid()`](@/api/cellCoords.md#isvalid) method of the [`CellCoords`](@/api/cellCoords.md) class.
118
118
  *
119
- * @param {Walkontable} wot A Walkontable instance.
119
+ * @param {object} tableParams An object with a defined table size.
120
+ * @param {number} tableParams.countRows The total number of rows.
121
+ * @param {number} tableParams.countCols The total number of columns.
122
+ * @param {number} tableParams.countRowHeaders A number of row headers.
123
+ * @param {number} tableParams.countColHeaders A number of column headers.
120
124
  * @returns {boolean}
121
125
  */
122
- isValid(wot) {
123
- return this.from.isValid(wot) && this.to.isValid(wot);
126
+ isValid(tableParams) {
127
+ return this.from.isValid(tableParams) && this.to.isValid(tableParams);
124
128
  }
125
129
 
126
130
  /**
127
- * Checks if your range is just a single cell.
131
+ * Checks if your range is just a single cell or header.
128
132
  *
129
133
  * @returns {boolean}
130
134
  */
131
135
  isSingle() {
136
+ return this.isSingleCell() || this.isSingleHeader();
137
+ }
138
+
139
+ /**
140
+ * Checks if your range is just a single cell.
141
+ *
142
+ * @returns {boolean}
143
+ */
144
+ isSingleCell() {
132
145
  return this.from.row >= 0 && this.from.row === this.to.row && this.from.col >= 0 && this.from.col === this.to.col;
133
146
  }
134
147
 
148
+ /**
149
+ * Checks if your range is just a single header.
150
+ *
151
+ * @returns {boolean}
152
+ */
153
+ isSingleHeader() {
154
+ return (this.from.row < 0 || this.from.col < 0) && this.from.row === this.to.row && this.from.col === this.to.col;
155
+ }
156
+
157
+ /**
158
+ * Checks if your range overlaps headers range (negative coordinates).
159
+ *
160
+ * @returns {boolean}
161
+ */
162
+ containsHeaders() {
163
+ return this.from.isHeader() || this.to.isHeader();
164
+ }
165
+
135
166
  /**
136
167
  * Returns the height of your range (as a number of rows, including row headers).
137
168
  *
@@ -848,5 +879,4 @@ class CellRange {
848
879
  return new _coords.default(row, column, _classPrivateFieldGet(this, _isRtl));
849
880
  }
850
881
  }
851
- var _default = CellRange;
852
- exports.default = _default;
882
+ var _default = exports.default = CellRange;
@@ -67,7 +67,7 @@ class CellRange {
67
67
  writable: true,
68
68
  value: false
69
69
  });
70
- this.highlight = highlight.clone().normalize();
70
+ this.highlight = highlight.clone();
71
71
  this.from = from.clone();
72
72
  this.to = to.clone();
73
73
  _classPrivateFieldSet(this, _isRtl, isRtl);
@@ -80,7 +80,7 @@ class CellRange {
80
80
  * @returns {CellRange}
81
81
  */
82
82
  setHighlight(coords) {
83
- this.highlight = coords.clone().normalize();
83
+ this.highlight = coords.clone();
84
84
  return this;
85
85
  }
86
86
 
@@ -108,26 +108,57 @@ class CellRange {
108
108
 
109
109
  /**
110
110
  * Checks if the coordinates in your `CellRange` instance are valid
111
- * in the context of a given Walkontable instance.
111
+ * in the context of given table parameters.
112
112
  *
113
113
  * See the [`isValid()`](@/api/cellCoords.md#isvalid) method of the [`CellCoords`](@/api/cellCoords.md) class.
114
114
  *
115
- * @param {Walkontable} wot A Walkontable instance.
115
+ * @param {object} tableParams An object with a defined table size.
116
+ * @param {number} tableParams.countRows The total number of rows.
117
+ * @param {number} tableParams.countCols The total number of columns.
118
+ * @param {number} tableParams.countRowHeaders A number of row headers.
119
+ * @param {number} tableParams.countColHeaders A number of column headers.
116
120
  * @returns {boolean}
117
121
  */
118
- isValid(wot) {
119
- return this.from.isValid(wot) && this.to.isValid(wot);
122
+ isValid(tableParams) {
123
+ return this.from.isValid(tableParams) && this.to.isValid(tableParams);
120
124
  }
121
125
 
122
126
  /**
123
- * Checks if your range is just a single cell.
127
+ * Checks if your range is just a single cell or header.
124
128
  *
125
129
  * @returns {boolean}
126
130
  */
127
131
  isSingle() {
132
+ return this.isSingleCell() || this.isSingleHeader();
133
+ }
134
+
135
+ /**
136
+ * Checks if your range is just a single cell.
137
+ *
138
+ * @returns {boolean}
139
+ */
140
+ isSingleCell() {
128
141
  return this.from.row >= 0 && this.from.row === this.to.row && this.from.col >= 0 && this.from.col === this.to.col;
129
142
  }
130
143
 
144
+ /**
145
+ * Checks if your range is just a single header.
146
+ *
147
+ * @returns {boolean}
148
+ */
149
+ isSingleHeader() {
150
+ return (this.from.row < 0 || this.from.col < 0) && this.from.row === this.to.row && this.from.col === this.to.col;
151
+ }
152
+
153
+ /**
154
+ * Checks if your range overlaps headers range (negative coordinates).
155
+ *
156
+ * @returns {boolean}
157
+ */
158
+ containsHeaders() {
159
+ return this.from.isHeader() || this.to.isHeader();
160
+ }
161
+
131
162
  /**
132
163
  * Returns the height of your range (as a number of rows, including row headers).
133
164
  *
@@ -31,7 +31,7 @@ class CoreAbstract {
31
31
  _defineProperty(this, "wtScroll", void 0);
32
32
  _defineProperty(this, "wtViewport", void 0);
33
33
  _defineProperty(this, "wtOverlays", void 0);
34
- _defineProperty(this, "selections", void 0);
34
+ _defineProperty(this, "selectionManager", void 0);
35
35
  _defineProperty(this, "wtEvent", void 0);
36
36
  /**
37
37
  * The walkontable instance id.
@@ -309,8 +309,8 @@ class CoreAbstract {
309
309
  return wot.wtOverlays; // TODO refactoring: move outside dao, use IOC
310
310
  },
311
311
 
312
- get selections() {
313
- return wot.selections; // TODO refactoring: move outside dao, use IOC
312
+ get selectionManager() {
313
+ return wot.selectionManager; // TODO refactoring: move outside dao, use IOC
314
314
  },
315
315
 
316
316
  get drawn() {
@@ -359,6 +359,12 @@ class CoreAbstract {
359
359
  },
360
360
  get countRowsVisible() {
361
361
  return wot.wtViewport.rowsVisibleCalculator.count;
362
+ },
363
+ get columnHeaders() {
364
+ return wot.wtSettings.getSetting('columnHeaders');
365
+ },
366
+ get rowHeaders() {
367
+ return wot.wtSettings.getSetting('rowHeaders');
362
368
  }
363
369
  };
364
370
  }
@@ -27,7 +27,7 @@ export default class CoreAbstract {
27
27
  _defineProperty(this, "wtScroll", void 0);
28
28
  _defineProperty(this, "wtViewport", void 0);
29
29
  _defineProperty(this, "wtOverlays", void 0);
30
- _defineProperty(this, "selections", void 0);
30
+ _defineProperty(this, "selectionManager", void 0);
31
31
  _defineProperty(this, "wtEvent", void 0);
32
32
  /**
33
33
  * The walkontable instance id.
@@ -305,8 +305,8 @@ export default class CoreAbstract {
305
305
  return wot.wtOverlays; // TODO refactoring: move outside dao, use IOC
306
306
  },
307
307
 
308
- get selections() {
309
- return wot.selections; // TODO refactoring: move outside dao, use IOC
308
+ get selectionManager() {
309
+ return wot.selectionManager; // TODO refactoring: move outside dao, use IOC
310
310
  },
311
311
 
312
312
  get drawn() {
@@ -355,6 +355,12 @@ export default class CoreAbstract {
355
355
  },
356
356
  get countRowsVisible() {
357
357
  return wot.wtViewport.rowsVisibleCalculator.count;
358
+ },
359
+ get columnHeaders() {
360
+ return wot.wtSettings.getSetting('columnHeaders');
361
+ },
362
+ get rowHeaders() {
363
+ return wot.wtSettings.getSetting('rowHeaders');
358
364
  }
359
365
  };
360
366
  }
@@ -26,8 +26,8 @@ class Clone extends _base.default {
26
26
  this.cloneOverlay = clone.overlay;
27
27
  this.wtTable = this.cloneOverlay.createTable(this.getTableDao(), facadeGetter, this.domBindings, this.wtSettings);
28
28
  this.wtViewport = clone.viewport;
29
- this.selections = clone.selections;
30
- this.wtEvent = new _event.default(facadeGetter, this.domBindings, this.wtSettings, this.eventManager, this.wtTable, this.selections, clone.event);
29
+ this.selectionManager = clone.selectionManager;
30
+ this.wtEvent = new _event.default(facadeGetter, this.domBindings, this.wtSettings, this.eventManager, this.wtTable, this.selectionManager, clone.event);
31
31
  this.findOriginalHeaders();
32
32
  }
33
33
  }
@@ -22,8 +22,8 @@ export default class Clone extends CoreAbstract {
22
22
  this.cloneOverlay = clone.overlay;
23
23
  this.wtTable = this.cloneOverlay.createTable(this.getTableDao(), facadeGetter, this.domBindings, this.wtSettings);
24
24
  this.wtViewport = clone.viewport;
25
- this.selections = clone.selections;
26
- this.wtEvent = new Event(facadeGetter, this.domBindings, this.wtSettings, this.eventManager, this.wtTable, this.selections, clone.event);
25
+ this.selectionManager = clone.selectionManager;
26
+ this.wtEvent = new Event(facadeGetter, this.domBindings, this.wtSettings, this.eventManager, this.wtTable, this.selectionManager, clone.event);
27
27
  this.findOriginalHeaders();
28
28
  }
29
29
  }
@@ -8,6 +8,7 @@ var _settings = _interopRequireDefault(require("../settings"));
8
8
  var _master = _interopRequireDefault(require("../table/master"));
9
9
  var _viewport = _interopRequireDefault(require("../viewport"));
10
10
  var _base = _interopRequireDefault(require("./_base"));
11
+ var _manager = require("../selection/manager");
11
12
  var _object = require("../../../../helpers/object");
12
13
  var _element = require("../../../../helpers/dom/element");
13
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -25,8 +26,8 @@ class Walkontable extends _base.default {
25
26
 
26
27
  this.wtTable = new _master.default(this.getTableDao(), facadeGetter, this.domBindings, this.wtSettings);
27
28
  this.wtViewport = new _viewport.default(this.getViewportDao(), this.domBindings, this.wtSettings, this.eventManager, this.wtTable);
28
- this.selections = this.wtSettings.getSetting('selections');
29
- this.wtEvent = new _event.default(facadeGetter, this.domBindings, this.wtSettings, this.eventManager, this.wtTable, this.selections);
29
+ this.selectionManager = new _manager.SelectionManager(this.wtSettings.getSetting('selections'));
30
+ this.wtEvent = new _event.default(facadeGetter, this.domBindings, this.wtSettings, this.eventManager, this.wtTable, this.selectionManager);
30
31
  this.wtOverlays = new _overlays.default(
31
32
  // TODO create DAO and remove reference to the Walkontable instance.
32
33
  this, facadeGetter, this.domBindings, this.wtSettings, this.eventManager, this.wtTable);
@@ -5,6 +5,7 @@ import Settings from "../settings.mjs";
5
5
  import MasterTable from "../table/master.mjs";
6
6
  import Viewport from "../viewport.mjs";
7
7
  import CoreAbstract from "./_base.mjs";
8
+ import { SelectionManager } from "../selection/manager.mjs";
8
9
  import { objectEach } from "../../../../helpers/object.mjs";
9
10
  import { addClass, removeClass } from "../../../../helpers/dom/element.mjs";
10
11
  /**
@@ -21,8 +22,8 @@ export default class Walkontable extends CoreAbstract {
21
22
 
22
23
  this.wtTable = new MasterTable(this.getTableDao(), facadeGetter, this.domBindings, this.wtSettings);
23
24
  this.wtViewport = new Viewport(this.getViewportDao(), this.domBindings, this.wtSettings, this.eventManager, this.wtTable);
24
- this.selections = this.wtSettings.getSetting('selections');
25
- this.wtEvent = new Event(facadeGetter, this.domBindings, this.wtSettings, this.eventManager, this.wtTable, this.selections);
25
+ this.selectionManager = new SelectionManager(this.wtSettings.getSetting('selections'));
26
+ this.wtEvent = new Event(facadeGetter, this.domBindings, this.wtSettings, this.eventManager, this.wtTable, this.selectionManager);
26
27
  this.wtOverlays = new Overlays(
27
28
  // TODO create DAO and remove reference to the Walkontable instance.
28
29
  this, facadeGetter, this.domBindings, this.wtSettings, this.eventManager, this.wtTable);