handsontable 9.0.1 → 11.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (757) hide show
  1. package/3rdparty/autoResize/autoResize.js +2 -0
  2. package/3rdparty/autoResize/autoResize.mjs +1 -0
  3. package/3rdparty/walkontable/src/border.js +3 -1
  4. package/3rdparty/walkontable/src/border.mjs +2 -1
  5. package/3rdparty/walkontable/src/calculator/constants.js +1 -1
  6. package/3rdparty/walkontable/src/calculator/index.js +2 -0
  7. package/3rdparty/walkontable/src/calculator/viewportColumns.d.ts +18 -0
  8. package/3rdparty/walkontable/src/cell/coords.d.ts +16 -0
  9. package/3rdparty/walkontable/src/cell/range.d.ts +51 -0
  10. package/3rdparty/walkontable/src/index.d.ts +1 -0
  11. package/3rdparty/walkontable/src/overlay/bottom.js +3 -3
  12. package/3rdparty/walkontable/src/overlay/bottom.mjs +2 -2
  13. package/3rdparty/walkontable/src/overlay/bottomLeftCorner.js +3 -3
  14. package/3rdparty/walkontable/src/overlay/bottomLeftCorner.mjs +2 -2
  15. package/3rdparty/walkontable/src/overlay/constants.js +1 -1
  16. package/3rdparty/walkontable/src/overlay/index.js +2 -0
  17. package/3rdparty/walkontable/src/overlay/left.js +3 -3
  18. package/3rdparty/walkontable/src/overlay/left.mjs +2 -2
  19. package/3rdparty/walkontable/src/overlay/registerer.js +1 -1
  20. package/3rdparty/walkontable/src/overlay/top.js +3 -3
  21. package/3rdparty/walkontable/src/overlay/top.mjs +2 -2
  22. package/3rdparty/walkontable/src/overlay/topLeftCorner.js +3 -3
  23. package/3rdparty/walkontable/src/overlay/topLeftCorner.mjs +2 -2
  24. package/3rdparty/walkontable/src/overlays.js +2 -0
  25. package/3rdparty/walkontable/src/overlays.mjs +1 -0
  26. package/3rdparty/walkontable/src/renderer/cells.js +1 -1
  27. package/3rdparty/walkontable/src/renderer/cells.mjs +1 -1
  28. package/3rdparty/walkontable/src/renderer/colGroup.js +3 -3
  29. package/3rdparty/walkontable/src/renderer/colGroup.mjs +2 -2
  30. package/3rdparty/walkontable/src/renderer/columnHeaders.js +3 -3
  31. package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +2 -2
  32. package/3rdparty/walkontable/src/renderer/rowHeaders.js +1 -1
  33. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +1 -1
  34. package/3rdparty/walkontable/src/renderer/rows.js +3 -3
  35. package/3rdparty/walkontable/src/renderer/rows.mjs +2 -2
  36. package/3rdparty/walkontable/src/selection.js +5 -3
  37. package/3rdparty/walkontable/src/selection.mjs +3 -2
  38. package/3rdparty/walkontable/src/table/bottom.js +3 -3
  39. package/3rdparty/walkontable/src/table/bottom.mjs +2 -2
  40. package/3rdparty/walkontable/src/table/bottomLeftCorner.js +3 -3
  41. package/3rdparty/walkontable/src/table/bottomLeftCorner.mjs +2 -2
  42. package/3rdparty/walkontable/src/table/left.js +3 -3
  43. package/3rdparty/walkontable/src/table/left.mjs +2 -2
  44. package/3rdparty/walkontable/src/table/master.js +3 -3
  45. package/3rdparty/walkontable/src/table/master.mjs +2 -2
  46. package/3rdparty/walkontable/src/table/top.js +3 -3
  47. package/3rdparty/walkontable/src/table/top.mjs +2 -2
  48. package/3rdparty/walkontable/src/table/topLeftCorner.js +3 -3
  49. package/3rdparty/walkontable/src/table/topLeftCorner.mjs +2 -2
  50. package/3rdparty/walkontable/src/table.js +5 -3
  51. package/3rdparty/walkontable/src/table.mjs +3 -2
  52. package/3rdparty/walkontable/src/utils/orderView/constants.js +1 -1
  53. package/3rdparty/walkontable/src/utils/orderView/sharedView.js +3 -3
  54. package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +2 -2
  55. package/CHANGELOG.md +72 -0
  56. package/LICENSE.txt +19 -22
  57. package/README.md +2 -1
  58. package/base.d.ts +1 -1
  59. package/base.js +16 -3
  60. package/base.mjs +14 -4
  61. package/cellTypes/autocompleteType/autocompleteType.d.ts +17 -0
  62. package/cellTypes/autocompleteType/autocompleteType.js +1 -1
  63. package/cellTypes/autocompleteType/index.d.ts +1 -0
  64. package/cellTypes/base.d.ts +14 -0
  65. package/cellTypes/checkboxType/checkboxType.d.ts +14 -0
  66. package/cellTypes/checkboxType/index.d.ts +1 -0
  67. package/cellTypes/dateType/dateType.d.ts +17 -0
  68. package/cellTypes/dateType/index.d.ts +1 -0
  69. package/cellTypes/dropdownType/dropdownType.d.ts +17 -0
  70. package/cellTypes/dropdownType/index.d.ts +1 -0
  71. package/cellTypes/handsontableType/handsontableType.d.ts +14 -0
  72. package/cellTypes/handsontableType/index.d.ts +1 -0
  73. package/cellTypes/index.d.ts +47 -0
  74. package/cellTypes/index.js +18 -2
  75. package/cellTypes/index.mjs +26 -9
  76. package/cellTypes/numericType/index.d.ts +1 -0
  77. package/cellTypes/numericType/numericType.d.ts +17 -0
  78. package/cellTypes/passwordType/index.d.ts +1 -0
  79. package/cellTypes/passwordType/passwordType.d.ts +14 -0
  80. package/cellTypes/registry.d.ts +18 -0
  81. package/cellTypes/registry.js +2 -2
  82. package/cellTypes/textType/index.d.ts +1 -0
  83. package/cellTypes/textType/textType.d.ts +14 -0
  84. package/cellTypes/timeType/index.d.ts +1 -0
  85. package/cellTypes/timeType/timeType.d.ts +17 -0
  86. package/common.d.ts +74 -0
  87. package/core.d.ts +159 -0
  88. package/core.js +143 -103
  89. package/core.mjs +141 -103
  90. package/{dataMap.js → dataMap/dataMap.js} +37 -35
  91. package/{dataMap.mjs → dataMap/dataMap.mjs} +37 -35
  92. package/dataMap/index.js +5 -1
  93. package/dataMap/index.mjs +3 -2
  94. package/dataMap/metaManager/index.js +54 -6
  95. package/dataMap/metaManager/index.mjs +51 -6
  96. package/dataMap/metaManager/lazyFactoryMap.js +3 -3
  97. package/dataMap/metaManager/lazyFactoryMap.mjs +3 -3
  98. package/dataMap/metaManager/metaLayers/cellMeta.js +2 -0
  99. package/dataMap/metaManager/metaLayers/cellMeta.mjs +1 -0
  100. package/dataMap/metaManager/metaLayers/globalMeta.js +2 -1
  101. package/dataMap/metaManager/metaLayers/globalMeta.mjs +2 -1
  102. package/dataMap/metaManager/metaSchema.js +2331 -871
  103. package/dataMap/metaManager/metaSchema.mjs +2331 -871
  104. package/dataMap/metaManager/mods/dynamicCellMeta.js +136 -0
  105. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +119 -0
  106. package/dataMap/metaManager/utils.js +3 -3
  107. package/dataSource.js +2 -0
  108. package/dataSource.mjs +1 -0
  109. package/dist/handsontable.css +309 -303
  110. package/dist/handsontable.full.css +309 -303
  111. package/dist/handsontable.full.js +50435 -45020
  112. package/dist/handsontable.full.min.css +25 -28
  113. package/dist/handsontable.full.min.js +181 -164
  114. package/dist/handsontable.js +31234 -28030
  115. package/dist/handsontable.min.css +25 -28
  116. package/dist/handsontable.min.js +22 -25
  117. package/editorManager.js +15 -12
  118. package/editorManager.mjs +15 -13
  119. package/editors/autocompleteEditor/autocompleteEditor.d.ts +29 -0
  120. package/editors/autocompleteEditor/autocompleteEditor.js +91 -87
  121. package/editors/autocompleteEditor/autocompleteEditor.mjs +89 -84
  122. package/editors/autocompleteEditor/index.d.ts +1 -0
  123. package/editors/autocompleteEditor/index.js +1 -1
  124. package/editors/baseEditor/baseEditor.d.ts +45 -0
  125. package/editors/baseEditor/baseEditor.js +8 -7
  126. package/editors/baseEditor/baseEditor.mjs +5 -5
  127. package/editors/baseEditor/index.d.ts +1 -0
  128. package/editors/baseEditor/index.js +1 -1
  129. package/editors/checkboxEditor/checkboxEditor.d.ts +12 -0
  130. package/editors/checkboxEditor/checkboxEditor.js +4 -4
  131. package/editors/checkboxEditor/checkboxEditor.mjs +2 -2
  132. package/editors/checkboxEditor/index.d.ts +1 -0
  133. package/editors/checkboxEditor/index.js +1 -1
  134. package/editors/dateEditor/dateEditor.d.ts +18 -0
  135. package/editors/dateEditor/dateEditor.js +20 -20
  136. package/editors/dateEditor/dateEditor.mjs +19 -19
  137. package/editors/dateEditor/index.d.ts +1 -0
  138. package/editors/dateEditor/index.js +1 -1
  139. package/editors/dropdownEditor/dropdownEditor.d.ts +7 -0
  140. package/editors/dropdownEditor/dropdownEditor.js +5 -5
  141. package/editors/dropdownEditor/dropdownEditor.mjs +3 -3
  142. package/editors/dropdownEditor/index.d.ts +1 -0
  143. package/editors/dropdownEditor/index.js +1 -1
  144. package/editors/handsontableEditor/handsontableEditor.d.ts +10 -0
  145. package/editors/handsontableEditor/handsontableEditor.js +4 -4
  146. package/editors/handsontableEditor/handsontableEditor.mjs +3 -3
  147. package/editors/handsontableEditor/index.d.ts +1 -0
  148. package/editors/index.d.ts +53 -0
  149. package/editors/index.js +19 -2
  150. package/editors/index.mjs +28 -10
  151. package/editors/numericEditor/index.d.ts +1 -0
  152. package/editors/numericEditor/numericEditor.d.ts +7 -0
  153. package/editors/numericEditor/numericEditor.js +3 -3
  154. package/editors/numericEditor/numericEditor.mjs +2 -2
  155. package/editors/passwordEditor/index.d.ts +1 -0
  156. package/editors/passwordEditor/passwordEditor.d.ts +7 -0
  157. package/editors/passwordEditor/passwordEditor.js +4 -4
  158. package/editors/passwordEditor/passwordEditor.mjs +3 -3
  159. package/editors/registry.d.ts +29 -0
  160. package/editors/registry.js +2 -2
  161. package/editors/selectEditor/index.d.ts +1 -0
  162. package/editors/selectEditor/selectEditor.d.ts +16 -0
  163. package/editors/selectEditor/selectEditor.js +4 -4
  164. package/editors/selectEditor/selectEditor.mjs +3 -3
  165. package/editors/textEditor/index.d.ts +1 -0
  166. package/editors/textEditor/textEditor.d.ts +24 -0
  167. package/editors/textEditor/textEditor.js +4 -4
  168. package/editors/textEditor/textEditor.mjs +3 -3
  169. package/eventManager.d.ts +13 -0
  170. package/eventManager.js +1 -1
  171. package/handsontable-non-commercial-license.pdf +0 -0
  172. package/helpers/array.d.ts +18 -0
  173. package/helpers/array.js +10 -10
  174. package/helpers/array.mjs +1 -1
  175. package/helpers/browser.d.ts +25 -0
  176. package/helpers/browser.js +11 -9
  177. package/helpers/browser.mjs +1 -0
  178. package/helpers/console.d.ts +4 -0
  179. package/helpers/console.js +2 -2
  180. package/helpers/data.d.ts +13 -0
  181. package/helpers/data.js +7 -35
  182. package/helpers/data.mjs +1 -27
  183. package/helpers/date.d.ts +1 -0
  184. package/helpers/dom/element.d.ts +49 -0
  185. package/helpers/dom/element.js +44 -45
  186. package/helpers/dom/element.mjs +7 -8
  187. package/helpers/dom/event.d.ts +4 -0
  188. package/helpers/dom/event.js +2 -2
  189. package/helpers/dom/index.d.ts +2 -0
  190. package/helpers/feature.d.ts +11 -0
  191. package/helpers/feature.js +6 -6
  192. package/helpers/function.d.ts +10 -0
  193. package/helpers/function.js +43 -5
  194. package/helpers/function.mjs +35 -0
  195. package/helpers/index.d.ts +14 -0
  196. package/helpers/mixed.d.ts +5 -0
  197. package/helpers/mixed.js +5 -5
  198. package/helpers/mixed.mjs +2 -2
  199. package/helpers/number.d.ts +5 -0
  200. package/helpers/number.js +96 -17
  201. package/helpers/number.mjs +85 -17
  202. package/helpers/object.d.ts +16 -0
  203. package/helpers/object.js +11 -11
  204. package/helpers/string.d.ts +7 -0
  205. package/helpers/string.js +4 -4
  206. package/helpers/templateLiteralTag.d.ts +1 -0
  207. package/helpers/unicode.d.ts +73 -0
  208. package/helpers/unicode.js +49 -33
  209. package/helpers/unicode.mjs +44 -27
  210. package/i18n/constants.js +1 -1
  211. package/i18n/index.d.ts +2 -0
  212. package/i18n/index.js +2 -0
  213. package/i18n/languages/de-CH.d.ts +5 -0
  214. package/i18n/languages/de-DE.d.ts +5 -0
  215. package/i18n/languages/en-US.d.ts +5 -0
  216. package/i18n/languages/es-MX.d.ts +5 -0
  217. package/i18n/languages/fr-FR.d.ts +5 -0
  218. package/i18n/languages/index.d.ts +35 -0
  219. package/i18n/languages/it-IT.d.ts +5 -0
  220. package/i18n/languages/ja-JP.d.ts +5 -0
  221. package/i18n/languages/ko-KR.d.ts +5 -0
  222. package/i18n/languages/lv-LV.d.ts +5 -0
  223. package/i18n/languages/nb-NO.d.ts +5 -0
  224. package/i18n/languages/nl-NL.d.ts +5 -0
  225. package/i18n/languages/pl-PL.d.ts +5 -0
  226. package/i18n/languages/pt-BR.d.ts +5 -0
  227. package/i18n/languages/ru-RU.d.ts +5 -0
  228. package/i18n/languages/zh-CN.d.ts +5 -0
  229. package/i18n/languages/zh-TW.d.ts +5 -0
  230. package/i18n/phraseFormatters/index.js +1 -1
  231. package/i18n/registry.d.ts +13 -0
  232. package/i18n/registry.js +4 -4
  233. package/i18n/utils.js +1 -1
  234. package/index.d.ts +516 -0
  235. package/index.js +40 -112
  236. package/index.mjs +17 -90
  237. package/mixins/localHooks.js +17 -14
  238. package/mixins/localHooks.mjs +16 -13
  239. package/package.json +103 -10
  240. package/pluginHooks.d.ts +255 -0
  241. package/pluginHooks.js +132 -57
  242. package/pluginHooks.mjs +131 -57
  243. package/plugins/autoColumnSize/autoColumnSize.d.ts +27 -0
  244. package/plugins/autoColumnSize/autoColumnSize.js +20 -13
  245. package/plugins/autoColumnSize/autoColumnSize.mjs +18 -12
  246. package/plugins/autoColumnSize/index.d.ts +1 -0
  247. package/plugins/autoColumnSize/index.js +1 -1
  248. package/plugins/autoRowSize/autoRowSize.d.ts +27 -0
  249. package/plugins/autoRowSize/autoRowSize.js +22 -14
  250. package/plugins/autoRowSize/autoRowSize.mjs +19 -12
  251. package/plugins/autoRowSize/index.d.ts +1 -0
  252. package/plugins/autoRowSize/index.js +1 -1
  253. package/plugins/autofill/autofill.d.ts +18 -0
  254. package/plugins/autofill/autofill.js +10 -19
  255. package/plugins/autofill/autofill.mjs +7 -16
  256. package/plugins/autofill/index.d.ts +1 -0
  257. package/plugins/autofill/index.js +1 -1
  258. package/plugins/autofill/utils.js +1 -1
  259. package/plugins/base/base.d.ts +21 -0
  260. package/plugins/base/base.js +2 -2
  261. package/plugins/base/base.mjs +1 -1
  262. package/plugins/base/index.d.ts +1 -0
  263. package/plugins/base/index.js +1 -1
  264. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.d.ts +9 -0
  265. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +4 -3
  266. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +3 -2
  267. package/plugins/bindRowsWithHeaders/index.d.ts +1 -0
  268. package/plugins/bindRowsWithHeaders/index.js +1 -1
  269. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +4 -4
  270. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +3 -3
  271. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +6 -4
  272. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +4 -3
  273. package/plugins/collapsibleColumns/collapsibleColumns.d.ts +22 -0
  274. package/plugins/collapsibleColumns/collapsibleColumns.js +13 -6
  275. package/plugins/collapsibleColumns/collapsibleColumns.mjs +11 -5
  276. package/plugins/collapsibleColumns/index.d.ts +1 -0
  277. package/plugins/collapsibleColumns/index.js +1 -1
  278. package/plugins/columnSorting/columnSorting.d.ts +30 -0
  279. package/plugins/columnSorting/columnSorting.js +19 -14
  280. package/plugins/columnSorting/columnSorting.mjs +16 -12
  281. package/plugins/columnSorting/columnStatesManager.js +5 -3
  282. package/plugins/columnSorting/columnStatesManager.mjs +4 -3
  283. package/plugins/columnSorting/index.d.ts +1 -0
  284. package/plugins/columnSorting/index.js +1 -1
  285. package/plugins/columnSorting/rootComparator.js +2 -0
  286. package/plugins/columnSorting/rootComparator.mjs +1 -0
  287. package/plugins/columnSorting/sortFunction/checkbox.js +1 -1
  288. package/plugins/columnSorting/sortFunction/date.js +1 -1
  289. package/plugins/columnSorting/sortFunction/default.js +4 -3
  290. package/plugins/columnSorting/sortFunction/default.mjs +3 -2
  291. package/plugins/columnSorting/sortFunction/numeric.js +1 -1
  292. package/plugins/columnSorting/sortService/engine.js +1 -1
  293. package/plugins/columnSorting/sortService/registry.js +1 -1
  294. package/plugins/columnSorting/utils.js +4 -4
  295. package/plugins/columnSorting/utils.mjs +1 -1
  296. package/plugins/columnSummary/columnSummary.d.ts +72 -0
  297. package/plugins/columnSummary/columnSummary.js +31 -12
  298. package/plugins/columnSummary/columnSummary.mjs +29 -10
  299. package/plugins/columnSummary/endpoints.js +6 -4
  300. package/plugins/columnSummary/endpoints.mjs +5 -4
  301. package/plugins/columnSummary/index.d.ts +1 -0
  302. package/plugins/columnSummary/index.js +1 -1
  303. package/plugins/comments/commentEditor.js +1 -1
  304. package/plugins/comments/commentEditor.mjs +1 -1
  305. package/plugins/comments/comments.d.ts +50 -0
  306. package/plugins/comments/comments.js +11 -6
  307. package/plugins/comments/comments.mjs +10 -5
  308. package/plugins/comments/displaySwitch.js +1 -1
  309. package/plugins/comments/displaySwitch.mjs +1 -1
  310. package/plugins/comments/index.d.ts +1 -0
  311. package/plugins/comments/index.js +1 -1
  312. package/plugins/contextMenu/commandExecutor.js +1 -1
  313. package/plugins/contextMenu/commandExecutor.mjs +1 -1
  314. package/plugins/contextMenu/contextMenu.d.ts +65 -0
  315. package/plugins/contextMenu/contextMenu.js +8 -7
  316. package/plugins/contextMenu/contextMenu.mjs +6 -5
  317. package/plugins/contextMenu/cursor.js +1 -1
  318. package/plugins/contextMenu/cursor.mjs +1 -1
  319. package/plugins/contextMenu/index.d.ts +1 -0
  320. package/plugins/contextMenu/index.js +1 -1
  321. package/plugins/contextMenu/itemsFactory.js +1 -1
  322. package/plugins/contextMenu/itemsFactory.mjs +1 -1
  323. package/plugins/contextMenu/menu.js +4 -4
  324. package/plugins/contextMenu/menu.mjs +3 -3
  325. package/plugins/contextMenu/predefinedItems/alignment.js +1 -1
  326. package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -1
  327. package/plugins/contextMenu/predefinedItems/columnLeft.js +1 -1
  328. package/plugins/contextMenu/predefinedItems/columnRight.js +1 -1
  329. package/plugins/contextMenu/predefinedItems/noItems.js +1 -1
  330. package/plugins/contextMenu/predefinedItems/readOnly.js +1 -1
  331. package/plugins/contextMenu/predefinedItems/redo.js +1 -1
  332. package/plugins/contextMenu/predefinedItems/removeColumn.js +4 -2
  333. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +2 -1
  334. package/plugins/contextMenu/predefinedItems/removeRow.js +4 -2
  335. package/plugins/contextMenu/predefinedItems/removeRow.mjs +2 -1
  336. package/plugins/contextMenu/predefinedItems/rowAbove.js +1 -1
  337. package/plugins/contextMenu/predefinedItems/rowBelow.js +1 -1
  338. package/plugins/contextMenu/predefinedItems/separator.js +1 -1
  339. package/plugins/contextMenu/predefinedItems/undo.js +1 -1
  340. package/plugins/contextMenu/predefinedItems.js +2 -2
  341. package/plugins/contextMenu/utils.js +10 -10
  342. package/plugins/copyPaste/clipboardData.js +3 -0
  343. package/plugins/copyPaste/clipboardData.mjs +3 -0
  344. package/plugins/copyPaste/copyPaste.d.ts +35 -0
  345. package/plugins/copyPaste/copyPaste.js +13 -10
  346. package/plugins/copyPaste/copyPaste.mjs +11 -9
  347. package/plugins/copyPaste/focusableElement.js +1 -2
  348. package/plugins/copyPaste/focusableElement.mjs +1 -2
  349. package/plugins/copyPaste/index.d.ts +1 -0
  350. package/plugins/copyPaste/index.js +1 -1
  351. package/plugins/copyPaste/pasteEvent.js +3 -0
  352. package/plugins/copyPaste/pasteEvent.mjs +3 -0
  353. package/plugins/customBorders/customBorders.d.ts +38 -0
  354. package/plugins/customBorders/customBorders.js +11 -9
  355. package/plugins/customBorders/customBorders.mjs +8 -7
  356. package/plugins/customBorders/index.d.ts +1 -0
  357. package/plugins/customBorders/index.js +1 -1
  358. package/plugins/customBorders/utils.js +3 -3
  359. package/plugins/dragToScroll/dragToScroll.d.ts +15 -0
  360. package/plugins/dragToScroll/dragToScroll.js +5 -5
  361. package/plugins/dragToScroll/dragToScroll.mjs +3 -3
  362. package/plugins/dragToScroll/index.d.ts +1 -0
  363. package/plugins/dragToScroll/index.js +1 -1
  364. package/plugins/dropdownMenu/dropdownMenu.d.ts +24 -0
  365. package/plugins/dropdownMenu/dropdownMenu.js +9 -9
  366. package/plugins/dropdownMenu/dropdownMenu.mjs +7 -7
  367. package/plugins/dropdownMenu/index.d.ts +1 -0
  368. package/plugins/dropdownMenu/index.js +1 -1
  369. package/plugins/exportFile/dataProvider.js +3 -5
  370. package/plugins/exportFile/dataProvider.mjs +3 -5
  371. package/plugins/exportFile/exportFile.d.ts +12 -0
  372. package/plugins/exportFile/exportFile.js +6 -5
  373. package/plugins/exportFile/exportFile.mjs +4 -3
  374. package/plugins/exportFile/index.d.ts +1 -0
  375. package/plugins/exportFile/index.js +1 -1
  376. package/plugins/exportFile/typeFactory.js +2 -1
  377. package/plugins/exportFile/typeFactory.mjs +1 -0
  378. package/plugins/exportFile/types/_base.js +0 -1
  379. package/plugins/exportFile/types/_base.mjs +0 -1
  380. package/plugins/exportFile/types/csv.js +3 -4
  381. package/plugins/exportFile/types/csv.mjs +2 -3
  382. package/plugins/filters/component/_base.js +1 -1
  383. package/plugins/filters/component/_base.mjs +1 -1
  384. package/plugins/filters/component/actionBar.js +4 -4
  385. package/plugins/filters/component/actionBar.mjs +3 -3
  386. package/plugins/filters/component/condition.js +7 -5
  387. package/plugins/filters/component/condition.mjs +5 -4
  388. package/plugins/filters/component/operators.js +4 -4
  389. package/plugins/filters/component/operators.mjs +3 -3
  390. package/plugins/filters/component/value.js +13 -6
  391. package/plugins/filters/component/value.mjs +11 -5
  392. package/plugins/filters/condition/beginsWith.js +5 -3
  393. package/plugins/filters/condition/beginsWith.mjs +3 -2
  394. package/plugins/filters/condition/between.js +4 -2
  395. package/plugins/filters/condition/between.mjs +2 -1
  396. package/plugins/filters/condition/byValue.js +4 -2
  397. package/plugins/filters/condition/byValue.mjs +2 -1
  398. package/plugins/filters/condition/contains.js +5 -3
  399. package/plugins/filters/condition/contains.mjs +3 -2
  400. package/plugins/filters/condition/date/after.js +4 -2
  401. package/plugins/filters/condition/date/after.mjs +2 -1
  402. package/plugins/filters/condition/date/before.js +4 -2
  403. package/plugins/filters/condition/date/before.mjs +2 -1
  404. package/plugins/filters/condition/date/today.js +1 -1
  405. package/plugins/filters/condition/date/tomorrow.js +1 -1
  406. package/plugins/filters/condition/date/yesterday.js +1 -1
  407. package/plugins/filters/condition/empty.js +1 -1
  408. package/plugins/filters/condition/endsWith.js +5 -3
  409. package/plugins/filters/condition/endsWith.mjs +3 -2
  410. package/plugins/filters/condition/equal.js +5 -3
  411. package/plugins/filters/condition/equal.mjs +3 -2
  412. package/plugins/filters/condition/false.js +1 -1
  413. package/plugins/filters/condition/greaterThan.js +4 -2
  414. package/plugins/filters/condition/greaterThan.mjs +2 -1
  415. package/plugins/filters/condition/greaterThanOrEqual.js +4 -2
  416. package/plugins/filters/condition/greaterThanOrEqual.mjs +2 -1
  417. package/plugins/filters/condition/lessThan.js +4 -2
  418. package/plugins/filters/condition/lessThan.mjs +2 -1
  419. package/plugins/filters/condition/lessThanOrEqual.js +4 -2
  420. package/plugins/filters/condition/lessThanOrEqual.mjs +2 -1
  421. package/plugins/filters/condition/none.js +1 -1
  422. package/plugins/filters/condition/notBetween.js +1 -1
  423. package/plugins/filters/condition/notContains.js +1 -1
  424. package/plugins/filters/condition/notEmpty.js +1 -1
  425. package/plugins/filters/condition/notEqual.js +1 -1
  426. package/plugins/filters/condition/true.js +1 -1
  427. package/plugins/filters/conditionCollection.d.ts +32 -0
  428. package/plugins/filters/conditionCollection.js +8 -5
  429. package/plugins/filters/conditionCollection.mjs +6 -4
  430. package/plugins/filters/conditionRegisterer.js +1 -1
  431. package/plugins/filters/conditionUpdateObserver.d.ts +10 -0
  432. package/plugins/filters/conditionUpdateObserver.js +3 -1
  433. package/plugins/filters/conditionUpdateObserver.mjs +2 -1
  434. package/plugins/filters/constants.js +2 -1
  435. package/plugins/filters/constants.mjs +1 -0
  436. package/plugins/filters/dataFilter.js +1 -1
  437. package/plugins/filters/dataFilter.mjs +1 -1
  438. package/plugins/filters/filters.d.ts +56 -0
  439. package/plugins/filters/filters.js +19 -14
  440. package/plugins/filters/filters.mjs +17 -13
  441. package/plugins/filters/index.d.ts +1 -0
  442. package/plugins/filters/index.js +1 -1
  443. package/plugins/filters/logicalOperationRegisterer.js +1 -1
  444. package/plugins/filters/logicalOperations/conjunction.js +3 -3
  445. package/plugins/filters/logicalOperations/conjunction.mjs +1 -0
  446. package/plugins/filters/logicalOperations/disjunction.js +3 -3
  447. package/plugins/filters/logicalOperations/disjunction.mjs +1 -0
  448. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +3 -3
  449. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +1 -0
  450. package/plugins/filters/ui/_base.js +2 -3
  451. package/plugins/filters/ui/_base.mjs +2 -3
  452. package/plugins/filters/ui/input.js +3 -3
  453. package/plugins/filters/ui/input.mjs +3 -3
  454. package/plugins/filters/ui/link.js +3 -3
  455. package/plugins/filters/ui/link.mjs +3 -3
  456. package/plugins/filters/ui/multipleSelect.js +31 -5
  457. package/plugins/filters/ui/multipleSelect.mjs +30 -5
  458. package/plugins/filters/ui/radioInput.js +3 -3
  459. package/plugins/filters/ui/radioInput.mjs +3 -3
  460. package/plugins/filters/ui/select.js +3 -3
  461. package/plugins/filters/ui/select.mjs +3 -3
  462. package/plugins/filters/utils.js +3 -3
  463. package/plugins/formulas/engine/register.js +3 -3
  464. package/plugins/formulas/engine/settings.js +4 -4
  465. package/plugins/formulas/engine/settings.mjs +2 -3
  466. package/plugins/formulas/formulas.d.ts +31 -0
  467. package/plugins/formulas/formulas.js +286 -89
  468. package/plugins/formulas/formulas.mjs +279 -86
  469. package/plugins/formulas/index.d.ts +1 -0
  470. package/plugins/formulas/index.js +1 -1
  471. package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +3 -1
  472. package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +2 -1
  473. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +4 -2
  474. package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +2 -1
  475. package/plugins/hiddenColumns/hiddenColumns.d.ts +21 -0
  476. package/plugins/hiddenColumns/hiddenColumns.js +37 -24
  477. package/plugins/hiddenColumns/hiddenColumns.mjs +36 -23
  478. package/plugins/hiddenColumns/index.d.ts +1 -0
  479. package/plugins/hiddenColumns/index.js +1 -1
  480. package/plugins/hiddenRows/contextMenuItem/hideRow.js +3 -1
  481. package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +2 -1
  482. package/plugins/hiddenRows/contextMenuItem/showRow.js +4 -2
  483. package/plugins/hiddenRows/contextMenuItem/showRow.mjs +2 -1
  484. package/plugins/hiddenRows/hiddenRows.d.ts +21 -0
  485. package/plugins/hiddenRows/hiddenRows.js +37 -25
  486. package/plugins/hiddenRows/hiddenRows.mjs +36 -24
  487. package/plugins/hiddenRows/index.d.ts +1 -0
  488. package/plugins/hiddenRows/index.js +1 -1
  489. package/plugins/index.d.ts +111 -0
  490. package/plugins/index.js +98 -58
  491. package/plugins/index.mjs +75 -34
  492. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +3 -1
  493. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +2 -1
  494. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +3 -1
  495. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +2 -1
  496. package/plugins/manualColumnFreeze/index.d.ts +1 -0
  497. package/plugins/manualColumnFreeze/index.js +1 -1
  498. package/plugins/manualColumnFreeze/manualColumnFreeze.d.ts +11 -0
  499. package/plugins/manualColumnFreeze/manualColumnFreeze.js +11 -6
  500. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +10 -5
  501. package/plugins/manualColumnMove/index.d.ts +1 -0
  502. package/plugins/manualColumnMove/index.js +1 -1
  503. package/plugins/manualColumnMove/manualColumnMove.d.ts +14 -0
  504. package/plugins/manualColumnMove/manualColumnMove.js +28 -23
  505. package/plugins/manualColumnMove/manualColumnMove.mjs +27 -22
  506. package/plugins/manualColumnMove/ui/_base.js +1 -1
  507. package/plugins/manualColumnMove/ui/_base.mjs +1 -1
  508. package/plugins/manualColumnMove/ui/backlight.js +4 -4
  509. package/plugins/manualColumnMove/ui/backlight.mjs +3 -3
  510. package/plugins/manualColumnMove/ui/guideline.js +4 -4
  511. package/plugins/manualColumnMove/ui/guideline.mjs +3 -3
  512. package/plugins/manualColumnResize/index.d.ts +1 -0
  513. package/plugins/manualColumnResize/index.js +1 -1
  514. package/plugins/manualColumnResize/manualColumnResize.d.ts +30 -0
  515. package/plugins/manualColumnResize/manualColumnResize.js +7 -6
  516. package/plugins/manualColumnResize/manualColumnResize.mjs +6 -5
  517. package/plugins/manualRowMove/index.d.ts +1 -0
  518. package/plugins/manualRowMove/index.js +1 -1
  519. package/plugins/manualRowMove/manualRowMove.d.ts +14 -0
  520. package/plugins/manualRowMove/manualRowMove.js +25 -22
  521. package/plugins/manualRowMove/manualRowMove.mjs +24 -21
  522. package/plugins/manualRowMove/ui/_base.js +1 -2
  523. package/plugins/manualRowMove/ui/_base.mjs +1 -2
  524. package/plugins/manualRowMove/ui/backlight.js +5 -5
  525. package/plugins/manualRowMove/ui/backlight.mjs +4 -4
  526. package/plugins/manualRowMove/ui/guideline.js +5 -5
  527. package/plugins/manualRowMove/ui/guideline.mjs +4 -4
  528. package/plugins/manualRowResize/index.d.ts +1 -0
  529. package/plugins/manualRowResize/index.js +1 -1
  530. package/plugins/manualRowResize/manualRowResize.d.ts +29 -0
  531. package/plugins/manualRowResize/manualRowResize.js +6 -5
  532. package/plugins/manualRowResize/manualRowResize.mjs +5 -4
  533. package/plugins/mergeCells/calculations/autofill.js +4 -3
  534. package/plugins/mergeCells/calculations/autofill.mjs +3 -3
  535. package/plugins/mergeCells/calculations/selection.js +1 -2
  536. package/plugins/mergeCells/calculations/selection.mjs +1 -2
  537. package/plugins/mergeCells/cellCoords.js +1 -1
  538. package/plugins/mergeCells/cellCoords.mjs +1 -1
  539. package/plugins/mergeCells/cellsCollection.js +5 -3
  540. package/plugins/mergeCells/cellsCollection.mjs +4 -3
  541. package/plugins/mergeCells/index.d.ts +1 -0
  542. package/plugins/mergeCells/index.js +1 -1
  543. package/plugins/mergeCells/mergeCells.d.ts +22 -0
  544. package/plugins/mergeCells/mergeCells.js +7 -4
  545. package/plugins/mergeCells/mergeCells.mjs +5 -3
  546. package/plugins/multiColumnSorting/domHelpers.js +2 -0
  547. package/plugins/multiColumnSorting/domHelpers.mjs +1 -0
  548. package/plugins/multiColumnSorting/index.d.ts +1 -0
  549. package/plugins/multiColumnSorting/index.js +1 -1
  550. package/plugins/multiColumnSorting/multiColumnSorting.d.ts +8 -0
  551. package/plugins/multiColumnSorting/multiColumnSorting.js +11 -8
  552. package/plugins/multiColumnSorting/multiColumnSorting.mjs +9 -6
  553. package/plugins/multiColumnSorting/rootComparator.js +2 -0
  554. package/plugins/multiColumnSorting/rootComparator.mjs +1 -0
  555. package/plugins/multipleSelectionHandles/index.d.ts +1 -0
  556. package/plugins/multipleSelectionHandles/index.js +1 -1
  557. package/plugins/multipleSelectionHandles/multipleSelectionHandles.d.ts +21 -0
  558. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +7 -5
  559. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +5 -3
  560. package/plugins/nestedHeaders/index.d.ts +1 -0
  561. package/plugins/nestedHeaders/index.js +1 -1
  562. package/plugins/nestedHeaders/nestedHeaders.d.ts +17 -0
  563. package/plugins/nestedHeaders/nestedHeaders.js +41 -21
  564. package/plugins/nestedHeaders/nestedHeaders.mjs +38 -19
  565. package/plugins/nestedHeaders/stateManager/headersTree.js +11 -5
  566. package/plugins/nestedHeaders/stateManager/headersTree.mjs +10 -5
  567. package/plugins/nestedHeaders/stateManager/index.js +9 -6
  568. package/plugins/nestedHeaders/stateManager/index.mjs +9 -6
  569. package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.js +1 -1
  570. package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +2 -0
  571. package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +1 -0
  572. package/plugins/nestedHeaders/stateManager/sourceSettings.js +8 -4
  573. package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +8 -4
  574. package/plugins/nestedHeaders/utils/ghostTable.js +10 -2
  575. package/plugins/nestedHeaders/utils/ghostTable.mjs +10 -2
  576. package/plugins/nestedRows/data/dataManager.js +40 -14
  577. package/plugins/nestedRows/data/dataManager.mjs +38 -13
  578. package/plugins/nestedRows/index.d.ts +1 -0
  579. package/plugins/nestedRows/index.js +1 -1
  580. package/plugins/nestedRows/nestedRows.d.ts +12 -0
  581. package/plugins/nestedRows/nestedRows.js +48 -34
  582. package/plugins/nestedRows/nestedRows.mjs +43 -32
  583. package/plugins/nestedRows/ui/_base.js +1 -2
  584. package/plugins/nestedRows/ui/_base.mjs +1 -2
  585. package/plugins/nestedRows/ui/collapsing.js +6 -5
  586. package/plugins/nestedRows/ui/collapsing.mjs +4 -4
  587. package/plugins/nestedRows/ui/contextMenu.js +2 -3
  588. package/plugins/nestedRows/ui/contextMenu.mjs +2 -3
  589. package/plugins/nestedRows/ui/headers.js +4 -5
  590. package/plugins/nestedRows/ui/headers.mjs +3 -4
  591. package/plugins/nestedRows/utils/rowMoveController.js +10 -9
  592. package/plugins/nestedRows/utils/rowMoveController.mjs +8 -8
  593. package/plugins/persistentState/index.d.ts +1 -0
  594. package/plugins/persistentState/persistentState.d.ts +13 -0
  595. package/plugins/persistentState/persistentState.js +13 -4
  596. package/plugins/persistentState/persistentState.mjs +12 -3
  597. package/plugins/persistentState/storage.js +1 -1
  598. package/plugins/persistentState/storage.mjs +1 -1
  599. package/plugins/registry.d.ts +9 -0
  600. package/plugins/registry.js +4 -2
  601. package/plugins/registry.mjs +2 -1
  602. package/plugins/search/index.d.ts +1 -0
  603. package/plugins/search/search.d.ts +28 -0
  604. package/plugins/search/search.js +7 -6
  605. package/plugins/search/search.mjs +7 -6
  606. package/plugins/touchScroll/index.d.ts +1 -0
  607. package/plugins/touchScroll/touchScroll.d.ts +13 -0
  608. package/plugins/touchScroll/touchScroll.js +9 -9
  609. package/plugins/touchScroll/touchScroll.mjs +8 -8
  610. package/plugins/trimRows/index.d.ts +1 -0
  611. package/plugins/trimRows/trimRows.d.ts +17 -0
  612. package/plugins/trimRows/trimRows.js +3 -2
  613. package/plugins/trimRows/trimRows.mjs +3 -2
  614. package/plugins/undoRedo/index.d.ts +1 -0
  615. package/plugins/undoRedo/undoRedo.d.ts +49 -0
  616. package/plugins/undoRedo/undoRedo.js +28 -30
  617. package/plugins/undoRedo/undoRedo.mjs +26 -29
  618. package/registry.d.ts +6 -0
  619. package/registry.js +46 -0
  620. package/registry.mjs +27 -0
  621. package/renderers/autocompleteRenderer/autocompleteRenderer.d.ts +5 -0
  622. package/renderers/autocompleteRenderer/autocompleteRenderer.js +1 -1
  623. package/renderers/autocompleteRenderer/index.d.ts +1 -0
  624. package/renderers/base.d.ts +3 -0
  625. package/renderers/baseRenderer/baseRenderer.d.ts +5 -0
  626. package/renderers/baseRenderer/baseRenderer.js +1 -1
  627. package/renderers/baseRenderer/index.d.ts +1 -0
  628. package/renderers/checkboxRenderer/checkboxRenderer.d.ts +5 -0
  629. package/renderers/checkboxRenderer/checkboxRenderer.js +3 -5
  630. package/renderers/checkboxRenderer/checkboxRenderer.mjs +3 -4
  631. package/renderers/checkboxRenderer/index.d.ts +1 -0
  632. package/renderers/htmlRenderer/htmlRenderer.d.ts +5 -0
  633. package/renderers/htmlRenderer/htmlRenderer.js +1 -1
  634. package/renderers/htmlRenderer/index.d.ts +1 -0
  635. package/renderers/index.d.ts +42 -0
  636. package/renderers/index.js +16 -2
  637. package/renderers/index.mjs +22 -7
  638. package/renderers/numericRenderer/index.d.ts +1 -0
  639. package/renderers/numericRenderer/numericRenderer.d.ts +5 -0
  640. package/renderers/numericRenderer/numericRenderer.js +1 -1
  641. package/renderers/passwordRenderer/index.d.ts +1 -0
  642. package/renderers/passwordRenderer/passwordRenderer.d.ts +5 -0
  643. package/renderers/passwordRenderer/passwordRenderer.js +1 -1
  644. package/renderers/registry.d.ts +18 -0
  645. package/renderers/registry.js +3 -2
  646. package/renderers/textRenderer/index.d.ts +1 -0
  647. package/renderers/textRenderer/textRenderer.d.ts +5 -0
  648. package/renderers/textRenderer/textRenderer.js +1 -1
  649. package/selection/highlight/constants.js +1 -1
  650. package/selection/highlight/highlight.js +7 -5
  651. package/selection/highlight/highlight.mjs +5 -4
  652. package/selection/highlight/types/activeHeader.js +2 -0
  653. package/selection/highlight/types/activeHeader.mjs +1 -0
  654. package/selection/highlight/types/area.js +2 -0
  655. package/selection/highlight/types/area.mjs +1 -0
  656. package/selection/highlight/types/cell.js +2 -0
  657. package/selection/highlight/types/cell.mjs +1 -0
  658. package/selection/highlight/types/customSelection.js +2 -0
  659. package/selection/highlight/types/customSelection.mjs +1 -0
  660. package/selection/highlight/types/fill.js +2 -0
  661. package/selection/highlight/types/fill.mjs +1 -0
  662. package/selection/highlight/types/header.js +2 -0
  663. package/selection/highlight/types/header.mjs +1 -0
  664. package/selection/highlight/types/index.js +2 -0
  665. package/selection/highlight/types/index.mjs +1 -0
  666. package/selection/highlight/visualSelection.js +7 -5
  667. package/selection/highlight/visualSelection.mjs +5 -4
  668. package/selection/index.d.ts +5 -0
  669. package/selection/index.js +2 -0
  670. package/selection/mouseEventHandler.js +4 -4
  671. package/selection/mouseEventHandler.mjs +3 -3
  672. package/selection/range.js +5 -5
  673. package/selection/range.mjs +4 -4
  674. package/selection/selection.js +18 -9
  675. package/selection/selection.mjs +17 -9
  676. package/selection/transformation.js +3 -2
  677. package/selection/transformation.mjs +3 -2
  678. package/selection/utils.js +6 -4
  679. package/selection/utils.mjs +3 -2
  680. package/settings.d.ts +208 -0
  681. package/tableView.js +20 -14
  682. package/tableView.mjs +19 -14
  683. package/translations/changesObservable/observable.js +10 -5
  684. package/translations/changesObservable/observable.mjs +10 -5
  685. package/translations/changesObservable/observer.js +6 -1
  686. package/translations/changesObservable/observer.mjs +6 -1
  687. package/translations/changesObservable/utils.js +1 -0
  688. package/translations/changesObservable/utils.mjs +1 -0
  689. package/translations/index.d.ts +1 -0
  690. package/translations/index.js +3 -1
  691. package/translations/indexMapper.d.ts +45 -0
  692. package/translations/indexMapper.js +8 -3
  693. package/translations/indexMapper.mjs +6 -2
  694. package/translations/mapCollections/aggregatedCollection.js +3 -3
  695. package/translations/mapCollections/aggregatedCollection.mjs +2 -2
  696. package/translations/mapCollections/index.js +2 -0
  697. package/translations/mapCollections/mapCollection.js +1 -1
  698. package/translations/maps/hidingMap.js +3 -3
  699. package/translations/maps/hidingMap.mjs +2 -2
  700. package/translations/maps/indexMap.d.ts +10 -0
  701. package/translations/maps/indexesSequence.js +4 -4
  702. package/translations/maps/indexesSequence.mjs +3 -3
  703. package/translations/maps/linkedPhysicalIndexToValueMap.js +4 -2
  704. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +3 -2
  705. package/translations/maps/physicalIndexToValueMap.js +4 -4
  706. package/translations/maps/physicalIndexToValueMap.mjs +3 -3
  707. package/translations/maps/trimmingMap.js +3 -3
  708. package/translations/maps/trimmingMap.mjs +2 -2
  709. package/translations/maps/utils/actionsOnIndexes.js +2 -0
  710. package/translations/maps/utils/actionsOnIndexes.mjs +1 -0
  711. package/translations/maps/utils/indexesSequence.js +2 -0
  712. package/translations/maps/utils/indexesSequence.mjs +1 -0
  713. package/translations/maps/utils/physicallyIndexed.js +2 -0
  714. package/translations/maps/utils/physicallyIndexed.mjs +1 -0
  715. package/utils/dataStructures/priorityMap.js +4 -2
  716. package/utils/dataStructures/priorityMap.mjs +2 -1
  717. package/utils/dataStructures/tree.js +3 -1
  718. package/utils/dataStructures/tree.mjs +1 -0
  719. package/utils/dataStructures/uniqueMap.js +3 -1
  720. package/utils/dataStructures/uniqueMap.mjs +2 -1
  721. package/utils/dataStructures/uniqueSet.js +2 -0
  722. package/utils/dataStructures/uniqueSet.mjs +1 -0
  723. package/utils/ghostTable.js +5 -4
  724. package/utils/ghostTable.mjs +3 -3
  725. package/utils/interval.js +1 -2
  726. package/utils/interval.mjs +0 -1
  727. package/utils/parseTable.d.ts +5 -0
  728. package/utils/parseTable.js +2 -2
  729. package/utils/parseTable.mjs +1 -1
  730. package/utils/rootInstance.js +3 -2
  731. package/utils/samplesGenerator.js +0 -1
  732. package/utils/samplesGenerator.mjs +0 -1
  733. package/utils/staticRegister.js +3 -1
  734. package/utils/staticRegister.mjs +1 -0
  735. package/validators/autocompleteValidator/autocompleteValidator.d.ts +5 -0
  736. package/validators/autocompleteValidator/autocompleteValidator.js +1 -1
  737. package/validators/autocompleteValidator/index.d.ts +1 -0
  738. package/validators/base.d.ts +6 -0
  739. package/validators/dateValidator/dateValidator.d.ts +5 -0
  740. package/validators/dateValidator/dateValidator.js +2 -2
  741. package/validators/dateValidator/index.d.ts +1 -0
  742. package/validators/index.d.ts +33 -0
  743. package/validators/index.js +13 -2
  744. package/validators/index.mjs +16 -4
  745. package/validators/numericValidator/index.d.ts +1 -0
  746. package/validators/numericValidator/numericValidator.d.ts +5 -0
  747. package/validators/numericValidator/numericValidator.js +1 -1
  748. package/validators/registry.d.ts +18 -0
  749. package/validators/registry.js +3 -2
  750. package/validators/timeValidator/index.d.ts +1 -0
  751. package/validators/timeValidator/timeValidator.d.ts +5 -0
  752. package/validators/timeValidator/timeValidator.js +3 -1
  753. package/validators/timeValidator/timeValidator.mjs +1 -0
  754. package/handsontable-general-terms.pdf +0 -0
  755. package/handsontable.d.ts +0 -2616
  756. package/plugins/formulas/autofill.js +0 -180
  757. package/plugins/formulas/autofill.mjs +0 -172
package/core.js CHANGED
@@ -4,16 +4,12 @@ require("core-js/modules/es.symbol.js");
4
4
 
5
5
  require("core-js/modules/es.symbol.description.js");
6
6
 
7
- require("core-js/modules/es.object.to-string.js");
8
-
9
7
  require("core-js/modules/es.symbol.iterator.js");
10
8
 
11
9
  require("core-js/modules/es.array.iterator.js");
12
10
 
13
11
  require("core-js/modules/web.dom-collections.iterator.js");
14
12
 
15
- require("core-js/modules/es.array.slice.js");
16
-
17
13
  require("core-js/modules/es.function.name.js");
18
14
 
19
15
  exports.__esModule = true;
@@ -27,12 +23,18 @@ require("core-js/modules/es.number.is-integer.js");
27
23
 
28
24
  require("core-js/modules/es.number.constructor.js");
29
25
 
26
+ require("core-js/modules/es.array.slice.js");
27
+
28
+ require("core-js/modules/es.array.concat.js");
29
+
30
+ require("core-js/modules/es.array.fill.js");
31
+
32
+ require("core-js/modules/es.array.map.js");
33
+
30
34
  require("core-js/modules/es.regexp.exec.js");
31
35
 
32
36
  require("core-js/modules/es.string.replace.js");
33
37
 
34
- require("core-js/modules/es.array.concat.js");
35
-
36
38
  require("core-js/modules/es.array.from.js");
37
39
 
38
40
  require("core-js/modules/es.string.iterator.js");
@@ -41,6 +43,8 @@ require("core-js/modules/es.array.index-of.js");
41
43
 
42
44
  require("core-js/modules/es.array.reverse.js");
43
45
 
46
+ require("core-js/modules/es.object.to-string.js");
47
+
44
48
  require("core-js/modules/web.dom-collections.for-each.js");
45
49
 
46
50
  require("core-js/modules/web.timers.js");
@@ -97,7 +101,7 @@ var _keyStateObserver = require("./utils/keyStateObserver");
97
101
 
98
102
  var _selection = require("./selection");
99
103
 
100
- var _index = require("./dataMap/index");
104
+ var _dataMap = require("./dataMap");
101
105
 
102
106
  var _uniqueMap = require("./utils/dataStructures/uniqueMap");
103
107
 
@@ -109,7 +113,7 @@ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArra
109
113
 
110
114
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
111
115
 
112
- function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
116
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
113
117
 
114
118
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
115
119
 
@@ -134,25 +138,19 @@ var activeGuid = null;
134
138
  * @core
135
139
  * @class Core
136
140
  * @description
137
- * After Handsontable is constructed, you can modify the grid behavior using the available public methods.
138
141
  *
139
- * ## How to call methods.
142
+ * The `Handsontable` class to which we refer as to `Core`, allows you to modify the grid's behavior by using one of the available public methods.
140
143
  *
141
- * These are 2 equal ways to call a Handsontable method:
144
+ * ## How to call a method
142
145
  *
143
146
  * ```js
144
- * // all following examples assume that you constructed Handsontable like this
145
- * const hot = new Handsontable(document.getElementById('example1'), options);
147
+ * // First, let's contruct Handsontable
148
+ * const hot = new Handsontable(document.getElementById('example'), options);
146
149
  *
147
- * // now, to use setDataAtCell method, you can either:
150
+ * // Then, let's use the setDataAtCell method
148
151
  * hot.setDataAtCell(0, 0, 'new value');
149
152
  * ```
150
153
  *
151
- * Alternatively, you can call the method using jQuery wrapper (__obsolete__, requires initialization using our jQuery guide
152
- * ```js
153
- * $('#example1').handsontable('setDataAtCell', 0, 0, 'new value');
154
- * ```
155
- *
156
154
  * @param {HTMLElement} rootElement The element to which the Handsontable instance is injected.
157
155
  * @param {object} userSettings The user defined options.
158
156
  * @param {boolean} [rootInstanceSymbol=false] Indicates if the instance is root of all later instances created.
@@ -171,7 +169,7 @@ function Core(rootElement, userSettings) {
171
169
  var editorManager;
172
170
  var firstRun = true;
173
171
  userSettings.language = (0, _registry4.getValidLanguageCode)(userSettings.language);
174
- var metaManager = new _index.MetaManager(userSettings);
172
+ var metaManager = new _dataMap.MetaManager(instance, userSettings, [_dataMap.DynamicCellMetaMod]);
175
173
  var tableMeta = metaManager.getTableMeta();
176
174
  var globalMeta = metaManager.getGlobalMeta();
177
175
  var pluginsRegistry = (0, _uniqueMap.createUniqueMap)();
@@ -456,8 +454,6 @@ function Core(rootElement, userSettings) {
456
454
  /**
457
455
  * Inserts or removes rows and columns.
458
456
  *
459
- * @memberof Core#
460
- * @function alter
461
457
  * @private
462
458
  * @param {string} action Possible values: "insert_row", "insert_col", "remove_row", "remove_col".
463
459
  * @param {number|Array} index Row or column visual index which from the alter action will be triggered.
@@ -736,6 +732,8 @@ function Core(rootElement, userSettings) {
736
732
 
737
733
  /**
738
734
  * Makes sure there are empty rows at the bottom of the table.
735
+ *
736
+ * @private
739
737
  */
740
738
  adjustRowsAndCols: function adjustRowsAndCols() {
741
739
  var minRows = tableMeta.minRows;
@@ -876,72 +874,91 @@ function Core(rootElement, userSettings) {
876
874
  var clen;
877
875
  var setData = [];
878
876
  var current = {};
877
+ var newDataByColumns = [];
878
+ var startRow = start.row;
879
+ var startColumn = start.col;
879
880
  rlen = input.length;
880
881
 
881
882
  if (rlen === 0) {
882
883
  return false;
883
884
  }
884
885
 
885
- var repeatCol;
886
- var repeatRow;
887
- var cmax;
888
- var rmax;
889
- /* eslint-disable no-case-declarations */
890
- // insert data with specified pasteMode method
886
+ var columnsPopulationEnd = 0;
887
+ var rowsPopulationEnd = 0;
888
+
889
+ if ((0, _object.isObject)(end)) {
890
+ columnsPopulationEnd = end.col - startColumn + 1;
891
+ rowsPopulationEnd = end.row - startRow + 1;
892
+ } // insert data with specified pasteMode method
893
+
891
894
 
892
895
  switch (method) {
893
896
  case 'shift_down':
894
- repeatCol = end ? end.col - start.col + 1 : 0;
895
- repeatRow = end ? end.row - start.row + 1 : 0; // eslint-disable-next-line no-param-reassign
897
+ // translate data from a list of rows to a list of columns
898
+ var populatedDataByColumns = (0, _array.pivot)(input);
899
+ var numberOfDataColumns = populatedDataByColumns.length; // method's argument can extend the range of data population (data would be repeated)
896
900
 
897
- input = (0, _data.translateRowsToColumns)(input);
901
+ var numberOfColumnsToPopulate = Math.max(numberOfDataColumns, columnsPopulationEnd);
902
+ var pushedDownDataByRows = instance.getData().slice(startRow); // translate data from a list of rows to a list of columns
898
903
 
899
- for (c = 0, clen = input.length, cmax = Math.max(clen, repeatCol); c < cmax; c++) {
900
- if (c < clen) {
901
- var _instance;
904
+ var pushedDownDataByColumns = (0, _array.pivot)(pushedDownDataByRows).slice(startColumn, startColumn + numberOfColumnsToPopulate);
902
905
 
903
- for (r = 0, rlen = input[c].length; r < repeatRow - rlen; r++) {
904
- input[c].push(input[c][r % rlen]);
906
+ for (c = 0; c < numberOfColumnsToPopulate; c += 1) {
907
+ if (c < numberOfDataColumns) {
908
+ for (r = 0, rlen = populatedDataByColumns[c].length; r < rowsPopulationEnd - rlen; r += 1) {
909
+ // repeating data for rows
910
+ populatedDataByColumns[c].push(populatedDataByColumns[c][r % rlen]);
905
911
  }
906
912
 
907
- input[c].unshift(start.col + c, start.row, 0);
908
-
909
- (_instance = instance).spliceCol.apply(_instance, _toConsumableArray(input[c]));
913
+ if (c < pushedDownDataByColumns.length) {
914
+ newDataByColumns.push(populatedDataByColumns[c].concat(pushedDownDataByColumns[c]));
915
+ } else {
916
+ // if before data population, there was no data in the column
917
+ // we fill the required rows' newly-created cells with `null` values
918
+ newDataByColumns.push(populatedDataByColumns[c].concat(new Array(pushedDownDataByRows.length).fill(null)));
919
+ }
910
920
  } else {
911
- var _instance2;
912
-
913
- input[c % clen][0] = start.col + c;
914
-
915
- (_instance2 = instance).spliceCol.apply(_instance2, _toConsumableArray(input[c % clen]));
921
+ // Repeating data for columns.
922
+ newDataByColumns.push(populatedDataByColumns[c % numberOfDataColumns].concat(pushedDownDataByColumns[c]));
916
923
  }
917
924
  }
918
925
 
926
+ instance.populateFromArray(startRow, startColumn, (0, _array.pivot)(newDataByColumns));
919
927
  break;
920
928
 
921
929
  case 'shift_right':
922
- repeatCol = end ? end.col - start.col + 1 : 0;
923
- repeatRow = end ? end.row - start.row + 1 : 0;
930
+ var numberOfDataRows = input.length; // method's argument can extend the range of data population (data would be repeated)
924
931
 
925
- for (r = 0, rlen = input.length, rmax = Math.max(rlen, repeatRow); r < rmax; r++) {
926
- if (r < rlen) {
927
- var _instance3;
932
+ var numberOfRowsToPopulate = Math.max(numberOfDataRows, rowsPopulationEnd);
933
+ var pushedRightDataByRows = instance.getData().slice(startRow).map(function (rowData) {
934
+ return rowData.slice(startColumn);
935
+ });
928
936
 
929
- for (c = 0, clen = input[r].length; c < repeatCol - clen; c++) {
937
+ for (r = 0; r < numberOfRowsToPopulate; r += 1) {
938
+ if (r < numberOfDataRows) {
939
+ for (c = 0, clen = input[r].length; c < columnsPopulationEnd - clen; c += 1) {
940
+ // repeating data for rows
930
941
  input[r].push(input[r][c % clen]);
931
942
  }
932
943
 
933
- input[r].unshift(start.row + r, start.col, 0);
944
+ if (r < pushedRightDataByRows.length) {
945
+ for (var i = 0; i < pushedRightDataByRows[r].length; i += 1) {
946
+ input[r].push(pushedRightDataByRows[r][i]);
947
+ }
948
+ } else {
949
+ var _input$r;
934
950
 
935
- (_instance3 = instance).spliceRow.apply(_instance3, _toConsumableArray(input[r]));
951
+ // if before data population, there was no data in the row
952
+ // we fill the required columns' newly-created cells with `null` values
953
+ (_input$r = input[r]).push.apply(_input$r, _toConsumableArray(new Array(pushedRightDataByRows[0].length).fill(null)));
954
+ }
936
955
  } else {
937
- var _instance4;
938
-
939
- input[r % rlen][0] = start.row + r;
940
-
941
- (_instance4 = instance).spliceRow.apply(_instance4, _toConsumableArray(input[r % rlen]));
956
+ // Repeating data for columns.
957
+ input.push(input[r % rlen].slice(0, numberOfRowsToPopulate).concat(pushedRightDataByRows[r]));
942
958
  }
943
959
  }
944
960
 
961
+ instance.populateFromArray(startRow, startColumn, input);
945
962
  break;
946
963
 
947
964
  case 'overwrite':
@@ -1243,10 +1260,6 @@ function Core(rootElement, userSettings) {
1243
1260
 
1244
1261
  var waitingForValidator = new ValidatorsQueue();
1245
1262
 
1246
- var isNumericData = function isNumericData(value) {
1247
- return value.length > 0 && /^\s*[+-.]?\s*(?:(?:\d+(?:(\.|,)\d+)?(?:e[+-]?\d+)?)|(?:0x[a-f\d]+))\s*$/.test(value);
1248
- };
1249
-
1250
1263
  waitingForValidator.onQueueEmpty = function (isValid) {
1251
1264
  if (activeEditor && shouldBeCanceled) {
1252
1265
  activeEditor.cancelChanges();
@@ -1267,7 +1280,7 @@ function Core(rootElement, userSettings) {
1267
1280
  var col = datamap.propToCol(prop);
1268
1281
  var cellProperties = instance.getCellMeta(row, col);
1269
1282
 
1270
- if (cellProperties.type === 'numeric' && typeof newValue === 'string' && isNumericData(newValue)) {
1283
+ if (cellProperties.type === 'numeric' && typeof newValue === 'string' && (0, _number.isNumericLike)(newValue)) {
1271
1284
  changes[i][3] = getParsedNumber(newValue);
1272
1285
  }
1273
1286
  /* eslint-disable no-loop-func */
@@ -1391,6 +1404,8 @@ function Core(rootElement, userSettings) {
1391
1404
  /**
1392
1405
  * Validate a single cell.
1393
1406
  *
1407
+ * @memberof Core#
1408
+ * @function validateCell
1394
1409
  * @param {string|number} value The value to validate.
1395
1410
  * @param {object} cellProperties The cell meta which corresponds with the value.
1396
1411
  * @param {Function} callback The callback function.
@@ -1402,6 +1417,8 @@ function Core(rootElement, userSettings) {
1402
1417
  var validator = instance.getCellValidator(cellProperties); // the `canBeValidated = false` argument suggests, that the cell passes validation by default.
1403
1418
 
1404
1419
  /**
1420
+ * @private
1421
+ * @function done
1405
1422
  * @param {boolean} valid Indicates if the validation was successful.
1406
1423
  * @param {boolean} [canBeValidated=true] Flag which controls the validation process.
1407
1424
  */
@@ -1651,7 +1668,7 @@ function Core(rootElement, userSettings) {
1651
1668
  return grid.populateFromArray(new _src.CellCoords(row, column), input, c, source, method, direction, deltas);
1652
1669
  };
1653
1670
  /**
1654
- * Adds/removes data from the column. This method works the same as Array.splice for arrays (see {@link DataMap#spliceCol}).
1671
+ * Adds/removes data from the column. This method works the same as Array.splice for arrays.
1655
1672
  *
1656
1673
  * @memberof Core#
1657
1674
  * @function spliceCol
@@ -1673,7 +1690,7 @@ function Core(rootElement, userSettings) {
1673
1690
  return (_datamap = datamap).spliceCol.apply(_datamap, [column, index, amount].concat(elements));
1674
1691
  };
1675
1692
  /**
1676
- * Adds/removes data from the row. This method works the same as Array.splice for arrays (see {@link DataMap#spliceRow}).
1693
+ * Adds/removes data from the row. This method works the same as Array.splice for arrays.
1677
1694
  *
1678
1695
  * @memberof Core#
1679
1696
  * @function spliceRow
@@ -2200,7 +2217,7 @@ function Core(rootElement, userSettings) {
2200
2217
  }
2201
2218
 
2202
2219
  data = instance.runHooks('beforeLoadData', data, firstRun, source);
2203
- datamap = new _index.DataMap(instance, data, tableMeta);
2220
+ datamap = new _dataMap.DataMap(instance, data, tableMeta);
2204
2221
 
2205
2222
  if (_typeof(data) === 'object' && data !== null) {
2206
2223
  if (!(data.push && data.splice)) {
@@ -2336,7 +2353,7 @@ function Core(rootElement, userSettings) {
2336
2353
  };
2337
2354
  /**
2338
2355
  * Returns a string value of the selected range. Each column is separated by tab, each row is separated by a new
2339
- * line character (see {@link DataMap#getCopyableText}).
2356
+ * line character.
2340
2357
  *
2341
2358
  * @memberof Core#
2342
2359
  * @function getCopyableText
@@ -2352,7 +2369,7 @@ function Core(rootElement, userSettings) {
2352
2369
  return datamap.getCopyableText(new _src.CellCoords(startRow, startCol), new _src.CellCoords(endRow, endCol));
2353
2370
  };
2354
2371
  /**
2355
- * Returns the data's copyable value at specified `row` and `column` index (see {@link DataMap#getCopyable}).
2372
+ * Returns the data's copyable value at specified `row` and `column` index.
2356
2373
  *
2357
2374
  * @memberof Core#
2358
2375
  * @function getCopyableData
@@ -2556,6 +2573,7 @@ function Core(rootElement, userSettings) {
2556
2573
 
2557
2574
  instance._refreshBorders(null);
2558
2575
 
2576
+ instance.view.wt.wtOverlays.adjustElementsSize();
2559
2577
  editorManager.unlockEditor();
2560
2578
  }
2561
2579
 
@@ -2616,10 +2634,12 @@ function Core(rootElement, userSettings) {
2616
2634
  * @memberof Core#
2617
2635
  * @function alter
2618
2636
  * @param {string} action Possible alter operations:
2619
- * * `'insert_row'`
2620
- * * `'insert_col'`
2621
- * * `'remove_row'`
2622
- * * `'remove_col'`.
2637
+ * <ul>
2638
+ * <li> `'insert_row'` </li>
2639
+ * <li> `'insert_col'` </li>
2640
+ * <li> `'remove_row'` </li>
2641
+ * <li> `'remove_col'` </li>
2642
+ * </ul>.
2623
2643
  * @param {number|number[]} index Visual index of the row/column before which the new row/column will be
2624
2644
  * inserted/removed or an array of arrays in format `[[index, amount],...]`.
2625
2645
  * @param {number} [amount=1] Amount of rows/columns to be inserted or removed.
@@ -2722,7 +2742,7 @@ function Core(rootElement, userSettings) {
2722
2742
  return new _src.CellCoords(visualRow, visualColumn);
2723
2743
  };
2724
2744
  /**
2725
- * Returns the property name that corresponds with the given column index (see {@link DataMap#colToProp}).
2745
+ * Returns the property name that corresponds with the given column index.
2726
2746
  * If the data source is an array of arrays, it returns the columns index.
2727
2747
  *
2728
2748
  * @memberof Core#
@@ -2736,7 +2756,7 @@ function Core(rootElement, userSettings) {
2736
2756
  return datamap.colToProp(column);
2737
2757
  };
2738
2758
  /**
2739
- * Returns column index that corresponds with the given property (see {@link DataMap#propToCol}).
2759
+ * Returns column index that corresponds with the given property.
2740
2760
  *
2741
2761
  * @memberof Core#
2742
2762
  * @function propToCol
@@ -2830,7 +2850,7 @@ function Core(rootElement, userSettings) {
2830
2850
  return datamap.get(row, datamap.colToProp(column));
2831
2851
  };
2832
2852
  /**
2833
- * Returns value at visual `row` and `prop` indexes (see {@link DataMap#get}).
2853
+ * Returns value at visual `row` and `prop` indexes.
2834
2854
  *
2835
2855
  * __Note__: If data is reordered, sorted or trimmed, the currently visible order will be used.
2836
2856
  *
@@ -3056,7 +3076,7 @@ function Core(rootElement, userSettings) {
3056
3076
  };
3057
3077
  /**
3058
3078
  * @description
3059
- * Returns a data type defined in the Handsontable settings under the `type` key ([Options#type](https://handsontable.com/docs/Options.html#type)).
3079
+ * Returns a data type defined in the Handsontable settings under the `type` key ({@link Options#type}).
3060
3080
  * If there are cells with different types in the selected range, it returns `'mixed'`.
3061
3081
  *
3062
3082
  * __Note__: If data is reordered, sorted or trimmed, the currently visible order will be used.
@@ -3128,7 +3148,7 @@ function Core(rootElement, userSettings) {
3128
3148
  var _ref19 = [this.toPhysicalRow(row), this.toPhysicalColumn(column)],
3129
3149
  physicalRow = _ref19[0],
3130
3150
  physicalColumn = _ref19[1];
3131
- var cachedValue = metaManager.getCellMeta(physicalRow, physicalColumn, key);
3151
+ var cachedValue = metaManager.getCellMetaKeyValue(physicalRow, physicalColumn, key);
3132
3152
  var hookResult = instance.runHooks('beforeRemoveCellMeta', row, column, key, cachedValue);
3133
3153
 
3134
3154
  if (hookResult !== false) {
@@ -3175,6 +3195,8 @@ function Core(rootElement, userSettings) {
3175
3195
  });
3176
3196
  });
3177
3197
  }
3198
+
3199
+ instance.render();
3178
3200
  };
3179
3201
  /**
3180
3202
  * Set cell meta data object defined by `prop` to the corresponding params `row` and `column`.
@@ -3268,33 +3290,10 @@ function Core(rootElement, userSettings) {
3268
3290
  physicalColumn = column;
3269
3291
  }
3270
3292
 
3271
- var prop = datamap.colToProp(column);
3272
- var cellProperties = metaManager.getCellMeta(physicalRow, physicalColumn); // TODO(perf): Add assigning this props and executing below code only once per table render cycle.
3273
-
3274
- cellProperties.row = physicalRow;
3275
- cellProperties.col = physicalColumn;
3276
- cellProperties.visualRow = row;
3277
- cellProperties.visualCol = column;
3278
- cellProperties.prop = prop;
3279
- cellProperties.instance = instance;
3280
- instance.runHooks('beforeGetCellMeta', row, column, cellProperties); // for `type` added or changed in beforeGetCellMeta
3281
-
3282
- if (instance.hasHook('beforeGetCellMeta') && (0, _object.hasOwnProperty)(cellProperties, 'type')) {
3283
- metaManager.updateCellMeta(physicalRow, physicalColumn, {
3284
- type: cellProperties.type
3285
- });
3286
- }
3287
-
3288
- if (cellProperties.cells) {
3289
- var settings = cellProperties.cells(physicalRow, physicalColumn, prop);
3290
-
3291
- if (settings) {
3292
- metaManager.updateCellMeta(physicalRow, physicalColumn, settings);
3293
- }
3294
- }
3295
-
3296
- instance.runHooks('afterGetCellMeta', row, column, cellProperties);
3297
- return cellProperties;
3293
+ return metaManager.getCellMeta(physicalRow, physicalColumn, {
3294
+ visualRow: row,
3295
+ visualColumn: column
3296
+ });
3298
3297
  };
3299
3298
  /**
3300
3299
  * Returns an array of cell meta objects for specified physical row index.
@@ -3768,6 +3767,8 @@ function Core(rootElement, userSettings) {
3768
3767
  /**
3769
3768
  * Returns the row height.
3770
3769
  *
3770
+ * Mind that this method is different from the [AutoRowSize](@/api/autoRowSize.md) plugin's [`getRowHeight()`](@/api/autoRowSize.md#getrowheight) method.
3771
+ *
3771
3772
  * @memberof Core#
3772
3773
  * @function getRowHeight
3773
3774
  * @param {number} row Visual row index.
@@ -4584,6 +4585,45 @@ function Core(rootElement, userSettings) {
4584
4585
  editorManager.prepareEditor();
4585
4586
  }
4586
4587
  };
4588
+ /**
4589
+ * Check if currently it is RTL direction.
4590
+ *
4591
+ * @private
4592
+ * @memberof Core#
4593
+ * @function isRtl
4594
+ * @returns {boolean} True if RTL.
4595
+ */
4596
+
4597
+
4598
+ this.isRtl = function () {
4599
+ return instance.rootWindow.getComputedStyle(instance.rootElement).direction === 'rtl';
4600
+ };
4601
+ /**
4602
+ * Check if currently it is LTR direction.
4603
+ *
4604
+ * @private
4605
+ * @memberof Core#
4606
+ * @function isLtr
4607
+ * @returns {boolean} True if LTR.
4608
+ */
4609
+
4610
+
4611
+ this.isLtr = function () {
4612
+ return !instance.isRtl();
4613
+ };
4614
+ /**
4615
+ * Returns 1 for LTR; -1 for RTL. Useful for calculations.
4616
+ *
4617
+ * @private
4618
+ * @memberof Core#
4619
+ * @function getDirectionFactor
4620
+ * @returns {number} Returns 1 for LTR; -1 for RTL.
4621
+ */
4622
+
4623
+
4624
+ this.getDirectionFactor = function () {
4625
+ return instance.isLtr() ? 1 : -1;
4626
+ };
4587
4627
 
4588
4628
  (0, _registry.getPluginsNames)().forEach(function (pluginName) {
4589
4629
  var PluginClass = (0, _registry.getPlugin)(pluginName);