handsontable 0.0.0-next-9ec04ce-20221121

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.

Potentially problematic release.


This version of handsontable might be problematic. Click here for more details.

Files changed (1232) hide show
  1. package/3rdparty/SheetClip/SheetClip.js +128 -0
  2. package/3rdparty/SheetClip/SheetClip.mjs +123 -0
  3. package/3rdparty/SheetClip/index.js +7 -0
  4. package/3rdparty/SheetClip/index.mjs +1 -0
  5. package/3rdparty/autoResize/autoResize.js +164 -0
  6. package/3rdparty/autoResize/autoResize.mjs +160 -0
  7. package/3rdparty/autoResize/index.js +6 -0
  8. package/3rdparty/autoResize/index.mjs +1 -0
  9. package/3rdparty/walkontable/src/border.js +746 -0
  10. package/3rdparty/walkontable/src/border.mjs +741 -0
  11. package/3rdparty/walkontable/src/calculator/constants.js +30 -0
  12. package/3rdparty/walkontable/src/calculator/constants.mjs +23 -0
  13. package/3rdparty/walkontable/src/calculator/index.js +22 -0
  14. package/3rdparty/walkontable/src/calculator/index.mjs +4 -0
  15. package/3rdparty/walkontable/src/calculator/viewportColumns.d.ts +18 -0
  16. package/3rdparty/walkontable/src/calculator/viewportColumns.js +297 -0
  17. package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +292 -0
  18. package/3rdparty/walkontable/src/calculator/viewportRows.js +175 -0
  19. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +170 -0
  20. package/3rdparty/walkontable/src/cell/coords.d.ts +16 -0
  21. package/3rdparty/walkontable/src/cell/coords.js +185 -0
  22. package/3rdparty/walkontable/src/cell/coords.mjs +180 -0
  23. package/3rdparty/walkontable/src/cell/range.d.ts +59 -0
  24. package/3rdparty/walkontable/src/cell/range.js +888 -0
  25. package/3rdparty/walkontable/src/cell/range.mjs +882 -0
  26. package/3rdparty/walkontable/src/core/_base.js +395 -0
  27. package/3rdparty/walkontable/src/core/_base.mjs +390 -0
  28. package/3rdparty/walkontable/src/core/clone.js +59 -0
  29. package/3rdparty/walkontable/src/core/clone.mjs +54 -0
  30. package/3rdparty/walkontable/src/core/core.js +130 -0
  31. package/3rdparty/walkontable/src/core/core.mjs +125 -0
  32. package/3rdparty/walkontable/src/event.js +401 -0
  33. package/3rdparty/walkontable/src/event.mjs +396 -0
  34. package/3rdparty/walkontable/src/facade/core.js +236 -0
  35. package/3rdparty/walkontable/src/facade/core.mjs +231 -0
  36. package/3rdparty/walkontable/src/filter/column.js +107 -0
  37. package/3rdparty/walkontable/src/filter/column.mjs +102 -0
  38. package/3rdparty/walkontable/src/filter/row.js +107 -0
  39. package/3rdparty/walkontable/src/filter/row.mjs +102 -0
  40. package/3rdparty/walkontable/src/index.d.ts +1 -0
  41. package/3rdparty/walkontable/src/index.js +37 -0
  42. package/3rdparty/walkontable/src/index.mjs +10 -0
  43. package/3rdparty/walkontable/src/overlay/_base.js +363 -0
  44. package/3rdparty/walkontable/src/overlay/_base.mjs +357 -0
  45. package/3rdparty/walkontable/src/overlay/bottom.js +397 -0
  46. package/3rdparty/walkontable/src/overlay/bottom.mjs +391 -0
  47. package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.js +140 -0
  48. package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.mjs +134 -0
  49. package/3rdparty/walkontable/src/overlay/constants.js +26 -0
  50. package/3rdparty/walkontable/src/overlay/constants.mjs +15 -0
  51. package/3rdparty/walkontable/src/overlay/index.js +34 -0
  52. package/3rdparty/walkontable/src/overlay/index.mjs +7 -0
  53. package/3rdparty/walkontable/src/overlay/inlineStart.js +385 -0
  54. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +379 -0
  55. package/3rdparty/walkontable/src/overlay/top.js +415 -0
  56. package/3rdparty/walkontable/src/overlay/top.mjs +409 -0
  57. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +130 -0
  58. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +124 -0
  59. package/3rdparty/walkontable/src/overlays.js +675 -0
  60. package/3rdparty/walkontable/src/overlays.mjs +670 -0
  61. package/3rdparty/walkontable/src/renderer/_base.js +83 -0
  62. package/3rdparty/walkontable/src/renderer/_base.mjs +78 -0
  63. package/3rdparty/walkontable/src/renderer/cells.js +127 -0
  64. package/3rdparty/walkontable/src/renderer/cells.mjs +122 -0
  65. package/3rdparty/walkontable/src/renderer/colGroup.js +101 -0
  66. package/3rdparty/walkontable/src/renderer/colGroup.mjs +96 -0
  67. package/3rdparty/walkontable/src/renderer/columnHeaders.js +115 -0
  68. package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +110 -0
  69. package/3rdparty/walkontable/src/renderer/index.js +118 -0
  70. package/3rdparty/walkontable/src/renderer/index.mjs +107 -0
  71. package/3rdparty/walkontable/src/renderer/rowHeaders.js +119 -0
  72. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +114 -0
  73. package/3rdparty/walkontable/src/renderer/rows.js +99 -0
  74. package/3rdparty/walkontable/src/renderer/rows.mjs +94 -0
  75. package/3rdparty/walkontable/src/renderer/table.js +317 -0
  76. package/3rdparty/walkontable/src/renderer/table.mjs +313 -0
  77. package/3rdparty/walkontable/src/scroll.js +316 -0
  78. package/3rdparty/walkontable/src/scroll.mjs +311 -0
  79. package/3rdparty/walkontable/src/selection.js +349 -0
  80. package/3rdparty/walkontable/src/selection.mjs +343 -0
  81. package/3rdparty/walkontable/src/settings.js +306 -0
  82. package/3rdparty/walkontable/src/settings.mjs +302 -0
  83. package/3rdparty/walkontable/src/table/bottom.js +56 -0
  84. package/3rdparty/walkontable/src/table/bottom.mjs +50 -0
  85. package/3rdparty/walkontable/src/table/bottomInlineStartCorner.js +57 -0
  86. package/3rdparty/walkontable/src/table/bottomInlineStartCorner.mjs +51 -0
  87. package/3rdparty/walkontable/src/table/inlineStart.js +53 -0
  88. package/3rdparty/walkontable/src/table/inlineStart.mjs +47 -0
  89. package/3rdparty/walkontable/src/table/master.js +132 -0
  90. package/3rdparty/walkontable/src/table/master.mjs +126 -0
  91. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +93 -0
  92. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +88 -0
  93. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +93 -0
  94. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +88 -0
  95. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +85 -0
  96. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +80 -0
  97. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +90 -0
  98. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +85 -0
  99. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +85 -0
  100. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +80 -0
  101. package/3rdparty/walkontable/src/table/top.js +56 -0
  102. package/3rdparty/walkontable/src/table/top.mjs +50 -0
  103. package/3rdparty/walkontable/src/table/topInlineStartCorner.js +57 -0
  104. package/3rdparty/walkontable/src/table/topInlineStartCorner.mjs +51 -0
  105. package/3rdparty/walkontable/src/table.js +1171 -0
  106. package/3rdparty/walkontable/src/table.mjs +1165 -0
  107. package/3rdparty/walkontable/src/types.js +98 -0
  108. package/3rdparty/walkontable/src/types.mjs +97 -0
  109. package/3rdparty/walkontable/src/utils/column.js +121 -0
  110. package/3rdparty/walkontable/src/utils/column.mjs +117 -0
  111. package/3rdparty/walkontable/src/utils/nodesPool.js +48 -0
  112. package/3rdparty/walkontable/src/utils/nodesPool.mjs +44 -0
  113. package/3rdparty/walkontable/src/utils/orderView/constants.js +30 -0
  114. package/3rdparty/walkontable/src/utils/orderView/constants.mjs +23 -0
  115. package/3rdparty/walkontable/src/utils/orderView/index.js +8 -0
  116. package/3rdparty/walkontable/src/utils/orderView/index.mjs +3 -0
  117. package/3rdparty/walkontable/src/utils/orderView/sharedView.js +81 -0
  118. package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +76 -0
  119. package/3rdparty/walkontable/src/utils/orderView/view.js +216 -0
  120. package/3rdparty/walkontable/src/utils/orderView/view.mjs +211 -0
  121. package/3rdparty/walkontable/src/utils/orderView/viewSize.js +68 -0
  122. package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +64 -0
  123. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +137 -0
  124. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +132 -0
  125. package/3rdparty/walkontable/src/utils/row.js +43 -0
  126. package/3rdparty/walkontable/src/utils/row.mjs +39 -0
  127. package/3rdparty/walkontable/src/viewport.js +491 -0
  128. package/3rdparty/walkontable/src/viewport.mjs +486 -0
  129. package/CHANGELOG.md +716 -0
  130. package/LICENSE.txt +25 -0
  131. package/README.md +140 -0
  132. package/base.d.ts +3 -0
  133. package/base.js +54 -0
  134. package/base.mjs +44 -0
  135. package/cellTypes/autocompleteType/autocompleteType.d.ts +17 -0
  136. package/cellTypes/autocompleteType/autocompleteType.js +16 -0
  137. package/cellTypes/autocompleteType/autocompleteType.mjs +10 -0
  138. package/cellTypes/autocompleteType/index.d.ts +1 -0
  139. package/cellTypes/autocompleteType/index.js +7 -0
  140. package/cellTypes/autocompleteType/index.mjs +1 -0
  141. package/cellTypes/base.d.ts +14 -0
  142. package/cellTypes/checkboxType/checkboxType.d.ts +14 -0
  143. package/cellTypes/checkboxType/checkboxType.js +14 -0
  144. package/cellTypes/checkboxType/checkboxType.mjs +8 -0
  145. package/cellTypes/checkboxType/index.d.ts +1 -0
  146. package/cellTypes/checkboxType/index.js +7 -0
  147. package/cellTypes/checkboxType/index.mjs +1 -0
  148. package/cellTypes/dateType/dateType.d.ts +17 -0
  149. package/cellTypes/dateType/dateType.js +17 -0
  150. package/cellTypes/dateType/dateType.mjs +11 -0
  151. package/cellTypes/dateType/index.d.ts +1 -0
  152. package/cellTypes/dateType/index.js +7 -0
  153. package/cellTypes/dateType/index.mjs +1 -0
  154. package/cellTypes/dropdownType/dropdownType.d.ts +17 -0
  155. package/cellTypes/dropdownType/dropdownType.js +17 -0
  156. package/cellTypes/dropdownType/dropdownType.mjs +11 -0
  157. package/cellTypes/dropdownType/index.d.ts +1 -0
  158. package/cellTypes/dropdownType/index.js +7 -0
  159. package/cellTypes/dropdownType/index.mjs +1 -0
  160. package/cellTypes/handsontableType/handsontableType.d.ts +14 -0
  161. package/cellTypes/handsontableType/handsontableType.js +15 -0
  162. package/cellTypes/handsontableType/handsontableType.mjs +9 -0
  163. package/cellTypes/handsontableType/index.d.ts +1 -0
  164. package/cellTypes/handsontableType/index.js +7 -0
  165. package/cellTypes/handsontableType/index.mjs +1 -0
  166. package/cellTypes/index.d.ts +47 -0
  167. package/cellTypes/index.js +52 -0
  168. package/cellTypes/index.mjs +26 -0
  169. package/cellTypes/numericType/index.d.ts +1 -0
  170. package/cellTypes/numericType/index.js +7 -0
  171. package/cellTypes/numericType/index.mjs +1 -0
  172. package/cellTypes/numericType/numericType.d.ts +17 -0
  173. package/cellTypes/numericType/numericType.js +17 -0
  174. package/cellTypes/numericType/numericType.mjs +11 -0
  175. package/cellTypes/passwordType/index.d.ts +1 -0
  176. package/cellTypes/passwordType/index.js +7 -0
  177. package/cellTypes/passwordType/index.mjs +1 -0
  178. package/cellTypes/passwordType/passwordType.d.ts +14 -0
  179. package/cellTypes/passwordType/passwordType.js +15 -0
  180. package/cellTypes/passwordType/passwordType.mjs +9 -0
  181. package/cellTypes/registry.d.ts +18 -0
  182. package/cellTypes/registry.js +60 -0
  183. package/cellTypes/registry.mjs +51 -0
  184. package/cellTypes/textType/index.d.ts +1 -0
  185. package/cellTypes/textType/index.js +7 -0
  186. package/cellTypes/textType/index.mjs +1 -0
  187. package/cellTypes/textType/textType.d.ts +14 -0
  188. package/cellTypes/textType/textType.js +14 -0
  189. package/cellTypes/textType/textType.mjs +8 -0
  190. package/cellTypes/timeType/index.d.ts +1 -0
  191. package/cellTypes/timeType/index.js +7 -0
  192. package/cellTypes/timeType/index.mjs +1 -0
  193. package/cellTypes/timeType/timeType.d.ts +17 -0
  194. package/cellTypes/timeType/timeType.js +16 -0
  195. package/cellTypes/timeType/timeType.mjs +10 -0
  196. package/common.d.ts +74 -0
  197. package/core.d.ts +167 -0
  198. package/core.js +4684 -0
  199. package/core.mjs +4679 -0
  200. package/dataMap/dataMap.js +975 -0
  201. package/dataMap/dataMap.mjs +970 -0
  202. package/dataMap/dataSource.js +325 -0
  203. package/dataMap/dataSource.mjs +320 -0
  204. package/dataMap/index.js +16 -0
  205. package/dataMap/index.mjs +7 -0
  206. package/dataMap/metaManager/index.js +339 -0
  207. package/dataMap/metaManager/index.mjs +334 -0
  208. package/dataMap/metaManager/lazyFactoryMap.js +370 -0
  209. package/dataMap/metaManager/lazyFactoryMap.mjs +366 -0
  210. package/dataMap/metaManager/metaLayers/cellMeta.js +275 -0
  211. package/dataMap/metaManager/metaLayers/cellMeta.mjs +270 -0
  212. package/dataMap/metaManager/metaLayers/columnMeta.js +153 -0
  213. package/dataMap/metaManager/metaLayers/columnMeta.mjs +148 -0
  214. package/dataMap/metaManager/metaLayers/globalMeta.js +103 -0
  215. package/dataMap/metaManager/metaLayers/globalMeta.mjs +98 -0
  216. package/dataMap/metaManager/metaLayers/tableMeta.js +73 -0
  217. package/dataMap/metaManager/metaLayers/tableMeta.mjs +69 -0
  218. package/dataMap/metaManager/metaSchema.js +4610 -0
  219. package/dataMap/metaManager/metaSchema.mjs +4605 -0
  220. package/dataMap/metaManager/mods/dynamicCellMeta.js +107 -0
  221. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +101 -0
  222. package/dataMap/metaManager/mods/extendMetaProperties.js +104 -0
  223. package/dataMap/metaManager/mods/extendMetaProperties.mjs +99 -0
  224. package/dataMap/metaManager/utils.js +99 -0
  225. package/dataMap/metaManager/utils.mjs +91 -0
  226. package/dataMap/replaceData.js +119 -0
  227. package/dataMap/replaceData.mjs +115 -0
  228. package/dist/README.md +54 -0
  229. package/dist/handsontable.css +1941 -0
  230. package/dist/handsontable.full.css +2172 -0
  231. package/dist/handsontable.full.js +150392 -0
  232. package/dist/handsontable.full.min.css +47 -0
  233. package/dist/handsontable.full.min.js +869 -0
  234. package/dist/handsontable.js +94075 -0
  235. package/dist/handsontable.min.css +43 -0
  236. package/dist/handsontable.min.js +31 -0
  237. package/dist/languages/all.js +583 -0
  238. package/dist/languages/all.min.js +1 -0
  239. package/dist/languages/ar-AR.js +157 -0
  240. package/dist/languages/ar-AR.min.js +1 -0
  241. package/dist/languages/cs-CZ.js +157 -0
  242. package/dist/languages/cs-CZ.min.js +1 -0
  243. package/dist/languages/de-CH.js +158 -0
  244. package/dist/languages/de-CH.min.js +1 -0
  245. package/dist/languages/de-DE.js +159 -0
  246. package/dist/languages/de-DE.min.js +1 -0
  247. package/dist/languages/en-US.js +160 -0
  248. package/dist/languages/en-US.min.js +1 -0
  249. package/dist/languages/es-MX.js +161 -0
  250. package/dist/languages/es-MX.min.js +1 -0
  251. package/dist/languages/fr-FR.js +162 -0
  252. package/dist/languages/fr-FR.min.js +1 -0
  253. package/dist/languages/it-IT.js +164 -0
  254. package/dist/languages/it-IT.min.js +1 -0
  255. package/dist/languages/ja-JP.js +161 -0
  256. package/dist/languages/ja-JP.min.js +1 -0
  257. package/dist/languages/ko-KR.js +161 -0
  258. package/dist/languages/ko-KR.min.js +1 -0
  259. package/dist/languages/lv-LV.js +161 -0
  260. package/dist/languages/lv-LV.min.js +1 -0
  261. package/dist/languages/nb-NO.js +161 -0
  262. package/dist/languages/nb-NO.min.js +1 -0
  263. package/dist/languages/nl-NL.js +161 -0
  264. package/dist/languages/nl-NL.min.js +1 -0
  265. package/dist/languages/pl-PL.js +161 -0
  266. package/dist/languages/pl-PL.min.js +1 -0
  267. package/dist/languages/pt-BR.js +161 -0
  268. package/dist/languages/pt-BR.min.js +1 -0
  269. package/dist/languages/ru-RU.js +161 -0
  270. package/dist/languages/ru-RU.min.js +1 -0
  271. package/dist/languages/sr-SP.js +161 -0
  272. package/dist/languages/sr-SP.min.js +1 -0
  273. package/dist/languages/zh-CN.js +161 -0
  274. package/dist/languages/zh-CN.min.js +1 -0
  275. package/dist/languages/zh-TW.js +161 -0
  276. package/dist/languages/zh-TW.min.js +1 -0
  277. package/editorManager.js +522 -0
  278. package/editorManager.mjs +514 -0
  279. package/editors/autocompleteEditor/autocompleteEditor.d.ts +29 -0
  280. package/editors/autocompleteEditor/autocompleteEditor.js +584 -0
  281. package/editors/autocompleteEditor/autocompleteEditor.mjs +578 -0
  282. package/editors/autocompleteEditor/index.d.ts +1 -0
  283. package/editors/autocompleteEditor/index.js +7 -0
  284. package/editors/autocompleteEditor/index.mjs +1 -0
  285. package/editors/baseEditor/baseEditor.d.ts +45 -0
  286. package/editors/baseEditor/baseEditor.js +688 -0
  287. package/editors/baseEditor/baseEditor.mjs +679 -0
  288. package/editors/baseEditor/index.d.ts +1 -0
  289. package/editors/baseEditor/index.js +8 -0
  290. package/editors/baseEditor/index.mjs +1 -0
  291. package/editors/checkboxEditor/checkboxEditor.d.ts +12 -0
  292. package/editors/checkboxEditor/checkboxEditor.js +85 -0
  293. package/editors/checkboxEditor/checkboxEditor.mjs +79 -0
  294. package/editors/checkboxEditor/index.d.ts +1 -0
  295. package/editors/checkboxEditor/index.js +7 -0
  296. package/editors/checkboxEditor/index.mjs +1 -0
  297. package/editors/dateEditor/dateEditor.d.ts +18 -0
  298. package/editors/dateEditor/dateEditor.js +325 -0
  299. package/editors/dateEditor/dateEditor.mjs +318 -0
  300. package/editors/dateEditor/index.d.ts +1 -0
  301. package/editors/dateEditor/index.js +7 -0
  302. package/editors/dateEditor/index.mjs +1 -0
  303. package/editors/dropdownEditor/dropdownEditor.d.ts +7 -0
  304. package/editors/dropdownEditor/dropdownEditor.js +81 -0
  305. package/editors/dropdownEditor/dropdownEditor.mjs +74 -0
  306. package/editors/dropdownEditor/index.d.ts +1 -0
  307. package/editors/dropdownEditor/index.js +7 -0
  308. package/editors/dropdownEditor/index.mjs +1 -0
  309. package/editors/handsontableEditor/handsontableEditor.d.ts +10 -0
  310. package/editors/handsontableEditor/handsontableEditor.js +306 -0
  311. package/editors/handsontableEditor/handsontableEditor.mjs +300 -0
  312. package/editors/handsontableEditor/index.d.ts +1 -0
  313. package/editors/handsontableEditor/index.js +7 -0
  314. package/editors/handsontableEditor/index.mjs +1 -0
  315. package/editors/index.d.ts +56 -0
  316. package/editors/index.js +63 -0
  317. package/editors/index.mjs +30 -0
  318. package/editors/numericEditor/index.d.ts +1 -0
  319. package/editors/numericEditor/index.js +7 -0
  320. package/editors/numericEditor/index.mjs +1 -0
  321. package/editors/numericEditor/numericEditor.d.ts +7 -0
  322. package/editors/numericEditor/numericEditor.js +49 -0
  323. package/editors/numericEditor/numericEditor.mjs +43 -0
  324. package/editors/passwordEditor/index.d.ts +1 -0
  325. package/editors/passwordEditor/index.js +7 -0
  326. package/editors/passwordEditor/index.mjs +1 -0
  327. package/editors/passwordEditor/passwordEditor.d.ts +7 -0
  328. package/editors/passwordEditor/passwordEditor.js +68 -0
  329. package/editors/passwordEditor/passwordEditor.mjs +62 -0
  330. package/editors/registry.d.ts +29 -0
  331. package/editors/registry.js +106 -0
  332. package/editors/registry.mjs +94 -0
  333. package/editors/selectEditor/index.d.ts +1 -0
  334. package/editors/selectEditor/index.js +7 -0
  335. package/editors/selectEditor/index.mjs +1 -0
  336. package/editors/selectEditor/selectEditor.d.ts +16 -0
  337. package/editors/selectEditor/selectEditor.js +302 -0
  338. package/editors/selectEditor/selectEditor.mjs +296 -0
  339. package/editors/textEditor/caretPositioner.js +37 -0
  340. package/editors/textEditor/caretPositioner.mjs +33 -0
  341. package/editors/textEditor/index.d.ts +1 -0
  342. package/editors/textEditor/index.js +7 -0
  343. package/editors/textEditor/index.mjs +1 -0
  344. package/editors/textEditor/textEditor.d.ts +24 -0
  345. package/editors/textEditor/textEditor.js +612 -0
  346. package/editors/textEditor/textEditor.mjs +605 -0
  347. package/editors/timeEditor/index.d.ts +1 -0
  348. package/editors/timeEditor/index.js +7 -0
  349. package/editors/timeEditor/index.mjs +1 -0
  350. package/editors/timeEditor/timeEditor.d.ts +7 -0
  351. package/editors/timeEditor/timeEditor.js +70 -0
  352. package/editors/timeEditor/timeEditor.mjs +64 -0
  353. package/eventManager.d.ts +13 -0
  354. package/eventManager.js +236 -0
  355. package/eventManager.mjs +231 -0
  356. package/handsontable-non-commercial-license.pdf +0 -0
  357. package/helpers/array.d.ts +18 -0
  358. package/helpers/array.js +353 -0
  359. package/helpers/array.mjs +333 -0
  360. package/helpers/browser.d.ts +25 -0
  361. package/helpers/browser.js +231 -0
  362. package/helpers/browser.mjs +210 -0
  363. package/helpers/console.d.ts +4 -0
  364. package/helpers/console.js +65 -0
  365. package/helpers/console.mjs +56 -0
  366. package/helpers/data.d.ts +12 -0
  367. package/helpers/data.js +247 -0
  368. package/helpers/data.mjs +234 -0
  369. package/helpers/date.d.ts +1 -0
  370. package/helpers/date.js +22 -0
  371. package/helpers/date.mjs +18 -0
  372. package/helpers/dom/element.d.ts +49 -0
  373. package/helpers/dom/element.js +1117 -0
  374. package/helpers/dom/element.mjs +1064 -0
  375. package/helpers/dom/event.d.ts +4 -0
  376. package/helpers/dom/event.js +46 -0
  377. package/helpers/dom/event.mjs +39 -0
  378. package/helpers/dom/index.d.ts +2 -0
  379. package/helpers/feature.d.ts +11 -0
  380. package/helpers/feature.js +184 -0
  381. package/helpers/feature.mjs +172 -0
  382. package/helpers/function.d.ts +10 -0
  383. package/helpers/function.js +319 -0
  384. package/helpers/function.mjs +307 -0
  385. package/helpers/index.d.ts +14 -0
  386. package/helpers/mixed.d.ts +5 -0
  387. package/helpers/mixed.js +230 -0
  388. package/helpers/mixed.mjs +220 -0
  389. package/helpers/number.d.ts +5 -0
  390. package/helpers/number.js +142 -0
  391. package/helpers/number.mjs +134 -0
  392. package/helpers/object.d.ts +16 -0
  393. package/helpers/object.js +371 -0
  394. package/helpers/object.mjs +352 -0
  395. package/helpers/string.d.ts +7 -0
  396. package/helpers/string.js +115 -0
  397. package/helpers/string.mjs +104 -0
  398. package/helpers/templateLiteralTag.d.ts +1 -0
  399. package/helpers/templateLiteralTag.js +26 -0
  400. package/helpers/templateLiteralTag.mjs +22 -0
  401. package/helpers/unicode.d.ts +73 -0
  402. package/helpers/unicode.js +158 -0
  403. package/helpers/unicode.mjs +148 -0
  404. package/helpers/wrappers/jquery.js +50 -0
  405. package/helpers/wrappers/jquery.mjs +46 -0
  406. package/i18n/constants.js +162 -0
  407. package/i18n/constants.mjs +82 -0
  408. package/i18n/index.d.ts +2 -0
  409. package/i18n/index.js +18 -0
  410. package/i18n/index.mjs +2 -0
  411. package/i18n/languages/ar-AR.js +25 -0
  412. package/i18n/languages/ar-AR.mjs +15 -0
  413. package/i18n/languages/cs-CZ.js +24 -0
  414. package/i18n/languages/cs-CZ.mjs +14 -0
  415. package/i18n/languages/de-CH.d.ts +5 -0
  416. package/i18n/languages/de-CH.js +24 -0
  417. package/i18n/languages/de-CH.mjs +14 -0
  418. package/i18n/languages/de-DE.d.ts +5 -0
  419. package/i18n/languages/de-DE.js +24 -0
  420. package/i18n/languages/de-DE.mjs +14 -0
  421. package/i18n/languages/en-US.d.ts +5 -0
  422. package/i18n/languages/en-US.js +24 -0
  423. package/i18n/languages/en-US.mjs +14 -0
  424. package/i18n/languages/es-MX.d.ts +5 -0
  425. package/i18n/languages/es-MX.js +24 -0
  426. package/i18n/languages/es-MX.mjs +13 -0
  427. package/i18n/languages/fr-FR.d.ts +5 -0
  428. package/i18n/languages/fr-FR.js +24 -0
  429. package/i18n/languages/fr-FR.mjs +14 -0
  430. package/i18n/languages/index.d.ts +35 -0
  431. package/i18n/languages/index.js +42 -0
  432. package/i18n/languages/index.mjs +20 -0
  433. package/i18n/languages/it-IT.d.ts +5 -0
  434. package/i18n/languages/it-IT.js +24 -0
  435. package/i18n/languages/it-IT.mjs +14 -0
  436. package/i18n/languages/ja-JP.d.ts +5 -0
  437. package/i18n/languages/ja-JP.js +24 -0
  438. package/i18n/languages/ja-JP.mjs +14 -0
  439. package/i18n/languages/ko-KR.d.ts +5 -0
  440. package/i18n/languages/ko-KR.js +24 -0
  441. package/i18n/languages/ko-KR.mjs +14 -0
  442. package/i18n/languages/lv-LV.d.ts +5 -0
  443. package/i18n/languages/lv-LV.js +24 -0
  444. package/i18n/languages/lv-LV.mjs +14 -0
  445. package/i18n/languages/nb-NO.d.ts +5 -0
  446. package/i18n/languages/nb-NO.js +24 -0
  447. package/i18n/languages/nb-NO.mjs +14 -0
  448. package/i18n/languages/nl-NL.d.ts +5 -0
  449. package/i18n/languages/nl-NL.js +24 -0
  450. package/i18n/languages/nl-NL.mjs +14 -0
  451. package/i18n/languages/pl-PL.d.ts +5 -0
  452. package/i18n/languages/pl-PL.js +24 -0
  453. package/i18n/languages/pl-PL.mjs +14 -0
  454. package/i18n/languages/pt-BR.d.ts +5 -0
  455. package/i18n/languages/pt-BR.js +24 -0
  456. package/i18n/languages/pt-BR.mjs +14 -0
  457. package/i18n/languages/ru-RU.d.ts +5 -0
  458. package/i18n/languages/ru-RU.js +24 -0
  459. package/i18n/languages/ru-RU.mjs +14 -0
  460. package/i18n/languages/sr-SP.js +24 -0
  461. package/i18n/languages/sr-SP.mjs +14 -0
  462. package/i18n/languages/zh-CN.d.ts +5 -0
  463. package/i18n/languages/zh-CN.js +24 -0
  464. package/i18n/languages/zh-CN.mjs +14 -0
  465. package/i18n/languages/zh-TW.d.ts +5 -0
  466. package/i18n/languages/zh-TW.js +24 -0
  467. package/i18n/languages/zh-TW.mjs +14 -0
  468. package/i18n/phraseFormatters/index.js +31 -0
  469. package/i18n/phraseFormatters/index.mjs +26 -0
  470. package/i18n/phraseFormatters/pluralize.js +21 -0
  471. package/i18n/phraseFormatters/pluralize.mjs +17 -0
  472. package/i18n/phraseFormatters/substituteVariables.js +22 -0
  473. package/i18n/phraseFormatters/substituteVariables.mjs +18 -0
  474. package/i18n/registry.d.ts +13 -0
  475. package/i18n/registry.js +180 -0
  476. package/i18n/registry.mjs +155 -0
  477. package/i18n/utils.js +90 -0
  478. package/i18n/utils.mjs +83 -0
  479. package/index.d.ts +520 -0
  480. package/index.js +130 -0
  481. package/index.mjs +112 -0
  482. package/languages/all.js +583 -0
  483. package/languages/ar-AR.js +157 -0
  484. package/languages/ar-AR.mjs +17 -0
  485. package/languages/cs-CZ.js +157 -0
  486. package/languages/cs-CZ.mjs +16 -0
  487. package/languages/de-CH.js +158 -0
  488. package/languages/de-CH.mjs +16 -0
  489. package/languages/de-DE.js +159 -0
  490. package/languages/de-DE.mjs +16 -0
  491. package/languages/en-US.js +160 -0
  492. package/languages/en-US.mjs +16 -0
  493. package/languages/es-MX.js +161 -0
  494. package/languages/es-MX.mjs +15 -0
  495. package/languages/fr-FR.js +162 -0
  496. package/languages/fr-FR.mjs +16 -0
  497. package/languages/index.js +583 -0
  498. package/languages/index.mjs +20 -0
  499. package/languages/it-IT.js +164 -0
  500. package/languages/it-IT.mjs +16 -0
  501. package/languages/ja-JP.js +161 -0
  502. package/languages/ja-JP.mjs +16 -0
  503. package/languages/ko-KR.js +161 -0
  504. package/languages/ko-KR.mjs +16 -0
  505. package/languages/lv-LV.js +161 -0
  506. package/languages/lv-LV.mjs +16 -0
  507. package/languages/nb-NO.js +161 -0
  508. package/languages/nb-NO.mjs +16 -0
  509. package/languages/nl-NL.js +161 -0
  510. package/languages/nl-NL.mjs +16 -0
  511. package/languages/pl-PL.js +161 -0
  512. package/languages/pl-PL.mjs +16 -0
  513. package/languages/pt-BR.js +161 -0
  514. package/languages/pt-BR.mjs +16 -0
  515. package/languages/ru-RU.js +161 -0
  516. package/languages/ru-RU.mjs +16 -0
  517. package/languages/sr-SP.js +161 -0
  518. package/languages/sr-SP.mjs +16 -0
  519. package/languages/zh-CN.js +161 -0
  520. package/languages/zh-CN.mjs +16 -0
  521. package/languages/zh-TW.js +161 -0
  522. package/languages/zh-TW.mjs +16 -0
  523. package/mixins/hooksRefRegisterer.js +61 -0
  524. package/mixins/hooksRefRegisterer.mjs +56 -0
  525. package/mixins/localHooks.js +71 -0
  526. package/mixins/localHooks.mjs +66 -0
  527. package/package.json +751 -0
  528. package/pluginHooks.d.ts +256 -0
  529. package/pluginHooks.js +2750 -0
  530. package/pluginHooks.mjs +2744 -0
  531. package/plugins/autoColumnSize/autoColumnSize.d.ts +27 -0
  532. package/plugins/autoColumnSize/autoColumnSize.js +796 -0
  533. package/plugins/autoColumnSize/autoColumnSize.mjs +788 -0
  534. package/plugins/autoColumnSize/index.d.ts +1 -0
  535. package/plugins/autoColumnSize/index.js +8 -0
  536. package/plugins/autoColumnSize/index.mjs +1 -0
  537. package/plugins/autoRowSize/autoRowSize.d.ts +27 -0
  538. package/plugins/autoRowSize/autoRowSize.js +735 -0
  539. package/plugins/autoRowSize/autoRowSize.mjs +727 -0
  540. package/plugins/autoRowSize/index.d.ts +1 -0
  541. package/plugins/autoRowSize/index.js +8 -0
  542. package/plugins/autoRowSize/index.mjs +1 -0
  543. package/plugins/autofill/autofill.d.ts +18 -0
  544. package/plugins/autofill/autofill.js +694 -0
  545. package/plugins/autofill/autofill.mjs +687 -0
  546. package/plugins/autofill/index.d.ts +1 -0
  547. package/plugins/autofill/index.js +8 -0
  548. package/plugins/autofill/index.mjs +1 -0
  549. package/plugins/autofill/utils.js +134 -0
  550. package/plugins/autofill/utils.mjs +126 -0
  551. package/plugins/base/base.d.ts +27 -0
  552. package/plugins/base/base.js +345 -0
  553. package/plugins/base/base.mjs +339 -0
  554. package/plugins/base/index.d.ts +1 -0
  555. package/plugins/base/index.js +7 -0
  556. package/plugins/base/index.mjs +1 -0
  557. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.d.ts +9 -0
  558. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +169 -0
  559. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +161 -0
  560. package/plugins/bindRowsWithHeaders/index.d.ts +1 -0
  561. package/plugins/bindRowsWithHeaders/index.js +8 -0
  562. package/plugins/bindRowsWithHeaders/index.mjs +1 -0
  563. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +80 -0
  564. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +75 -0
  565. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +103 -0
  566. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +98 -0
  567. package/plugins/collapsibleColumns/collapsibleColumns.d.ts +22 -0
  568. package/plugins/collapsibleColumns/collapsibleColumns.js +592 -0
  569. package/plugins/collapsibleColumns/collapsibleColumns.mjs +584 -0
  570. package/plugins/collapsibleColumns/index.d.ts +1 -0
  571. package/plugins/collapsibleColumns/index.js +8 -0
  572. package/plugins/collapsibleColumns/index.mjs +1 -0
  573. package/plugins/columnSorting/columnSorting.d.ts +30 -0
  574. package/plugins/columnSorting/columnSorting.js +865 -0
  575. package/plugins/columnSorting/columnSorting.mjs +857 -0
  576. package/plugins/columnSorting/columnStatesManager.js +273 -0
  577. package/plugins/columnSorting/columnStatesManager.mjs +268 -0
  578. package/plugins/columnSorting/domHelpers.js +54 -0
  579. package/plugins/columnSorting/domHelpers.mjs +49 -0
  580. package/plugins/columnSorting/index.d.ts +1 -0
  581. package/plugins/columnSorting/index.js +8 -0
  582. package/plugins/columnSorting/index.mjs +1 -0
  583. package/plugins/columnSorting/rootComparator.js +52 -0
  584. package/plugins/columnSorting/rootComparator.mjs +48 -0
  585. package/plugins/columnSorting/sortFunction/checkbox.js +64 -0
  586. package/plugins/columnSorting/sortFunction/checkbox.mjs +58 -0
  587. package/plugins/columnSorting/sortFunction/date.js +61 -0
  588. package/plugins/columnSorting/sortFunction/date.mjs +54 -0
  589. package/plugins/columnSorting/sortFunction/default.js +65 -0
  590. package/plugins/columnSorting/sortFunction/default.mjs +59 -0
  591. package/plugins/columnSorting/sortFunction/numeric.js +49 -0
  592. package/plugins/columnSorting/sortFunction/numeric.mjs +43 -0
  593. package/plugins/columnSorting/sortService/engine.js +26 -0
  594. package/plugins/columnSorting/sortService/engine.mjs +18 -0
  595. package/plugins/columnSorting/sortService/index.js +13 -0
  596. package/plugins/columnSorting/sortService/index.mjs +3 -0
  597. package/plugins/columnSorting/sortService/registry.js +37 -0
  598. package/plugins/columnSorting/sortService/registry.mjs +30 -0
  599. package/plugins/columnSorting/utils.js +122 -0
  600. package/plugins/columnSorting/utils.mjs +110 -0
  601. package/plugins/columnSummary/columnSummary.d.ts +72 -0
  602. package/plugins/columnSummary/columnSummary.js +544 -0
  603. package/plugins/columnSummary/columnSummary.mjs +536 -0
  604. package/plugins/columnSummary/endpoints.js +557 -0
  605. package/plugins/columnSummary/endpoints.mjs +552 -0
  606. package/plugins/columnSummary/index.d.ts +1 -0
  607. package/plugins/columnSummary/index.js +8 -0
  608. package/plugins/columnSummary/index.mjs +1 -0
  609. package/plugins/columnSummary/utils.js +13 -0
  610. package/plugins/columnSummary/utils.mjs +9 -0
  611. package/plugins/comments/commentEditor.js +241 -0
  612. package/plugins/comments/commentEditor.mjs +236 -0
  613. package/plugins/comments/comments.d.ts +50 -0
  614. package/plugins/comments/comments.js +942 -0
  615. package/plugins/comments/comments.mjs +932 -0
  616. package/plugins/comments/displaySwitch.js +115 -0
  617. package/plugins/comments/displaySwitch.mjs +109 -0
  618. package/plugins/comments/index.d.ts +1 -0
  619. package/plugins/comments/index.js +8 -0
  620. package/plugins/comments/index.mjs +1 -0
  621. package/plugins/contextMenu/commandExecutor.js +113 -0
  622. package/plugins/contextMenu/commandExecutor.mjs +108 -0
  623. package/plugins/contextMenu/contextMenu.d.ts +65 -0
  624. package/plugins/contextMenu/contextMenu.js +445 -0
  625. package/plugins/contextMenu/contextMenu.mjs +437 -0
  626. package/plugins/contextMenu/cursor.js +126 -0
  627. package/plugins/contextMenu/cursor.mjs +121 -0
  628. package/plugins/contextMenu/index.d.ts +1 -0
  629. package/plugins/contextMenu/index.js +8 -0
  630. package/plugins/contextMenu/index.mjs +1 -0
  631. package/plugins/contextMenu/itemsFactory.js +136 -0
  632. package/plugins/contextMenu/itemsFactory.mjs +131 -0
  633. package/plugins/contextMenu/menu.js +1003 -0
  634. package/plugins/contextMenu/menu.mjs +997 -0
  635. package/plugins/contextMenu/predefinedItems/alignment.js +277 -0
  636. package/plugins/contextMenu/predefinedItems/alignment.mjs +259 -0
  637. package/plugins/contextMenu/predefinedItems/clearColumn.js +47 -0
  638. package/plugins/contextMenu/predefinedItems/clearColumn.mjs +29 -0
  639. package/plugins/contextMenu/predefinedItems/columnLeft.js +57 -0
  640. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +39 -0
  641. package/plugins/contextMenu/predefinedItems/columnRight.js +55 -0
  642. package/plugins/contextMenu/predefinedItems/columnRight.mjs +37 -0
  643. package/plugins/contextMenu/predefinedItems/noItems.js +22 -0
  644. package/plugins/contextMenu/predefinedItems/noItems.mjs +16 -0
  645. package/plugins/contextMenu/predefinedItems/readOnly.js +69 -0
  646. package/plugins/contextMenu/predefinedItems/readOnly.mjs +51 -0
  647. package/plugins/contextMenu/predefinedItems/redo.js +42 -0
  648. package/plugins/contextMenu/predefinedItems/redo.mjs +24 -0
  649. package/plugins/contextMenu/predefinedItems/removeColumn.js +79 -0
  650. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +68 -0
  651. package/plugins/contextMenu/predefinedItems/removeRow.js +78 -0
  652. package/plugins/contextMenu/predefinedItems/removeRow.mjs +67 -0
  653. package/plugins/contextMenu/predefinedItems/rowAbove.js +53 -0
  654. package/plugins/contextMenu/predefinedItems/rowAbove.mjs +35 -0
  655. package/plugins/contextMenu/predefinedItems/rowBelow.js +51 -0
  656. package/plugins/contextMenu/predefinedItems/rowBelow.mjs +33 -0
  657. package/plugins/contextMenu/predefinedItems/separator.js +16 -0
  658. package/plugins/contextMenu/predefinedItems/separator.mjs +10 -0
  659. package/plugins/contextMenu/predefinedItems/undo.js +42 -0
  660. package/plugins/contextMenu/predefinedItems/undo.mjs +24 -0
  661. package/plugins/contextMenu/predefinedItems.js +76 -0
  662. package/plugins/contextMenu/predefinedItems.mjs +57 -0
  663. package/plugins/contextMenu/utils.js +278 -0
  664. package/plugins/contextMenu/utils.mjs +261 -0
  665. package/plugins/copyPaste/clipboardData.js +29 -0
  666. package/plugins/copyPaste/clipboardData.mjs +25 -0
  667. package/plugins/copyPaste/contextMenuItem/copy.js +45 -0
  668. package/plugins/copyPaste/contextMenuItem/copy.mjs +29 -0
  669. package/plugins/copyPaste/contextMenuItem/cut.js +45 -0
  670. package/plugins/copyPaste/contextMenuItem/cut.mjs +29 -0
  671. package/plugins/copyPaste/copyPaste.d.ts +35 -0
  672. package/plugins/copyPaste/copyPaste.js +721 -0
  673. package/plugins/copyPaste/copyPaste.mjs +713 -0
  674. package/plugins/copyPaste/focusableElement.js +210 -0
  675. package/plugins/copyPaste/focusableElement.mjs +204 -0
  676. package/plugins/copyPaste/index.d.ts +1 -0
  677. package/plugins/copyPaste/index.js +8 -0
  678. package/plugins/copyPaste/index.mjs +1 -0
  679. package/plugins/copyPaste/pasteEvent.js +17 -0
  680. package/plugins/copyPaste/pasteEvent.mjs +12 -0
  681. package/plugins/customBorders/contextMenuItem/bottom.js +39 -0
  682. package/plugins/customBorders/contextMenuItem/bottom.mjs +23 -0
  683. package/plugins/customBorders/contextMenuItem/index.js +14 -0
  684. package/plugins/customBorders/contextMenuItem/index.mjs +6 -0
  685. package/plugins/customBorders/contextMenuItem/left.js +40 -0
  686. package/plugins/customBorders/contextMenuItem/left.mjs +24 -0
  687. package/plugins/customBorders/contextMenuItem/noBorders.js +36 -0
  688. package/plugins/customBorders/contextMenuItem/noBorders.mjs +20 -0
  689. package/plugins/customBorders/contextMenuItem/right.js +40 -0
  690. package/plugins/customBorders/contextMenuItem/right.mjs +24 -0
  691. package/plugins/customBorders/contextMenuItem/top.js +39 -0
  692. package/plugins/customBorders/contextMenuItem/top.mjs +23 -0
  693. package/plugins/customBorders/customBorders.d.ts +38 -0
  694. package/plugins/customBorders/customBorders.js +887 -0
  695. package/plugins/customBorders/customBorders.mjs +877 -0
  696. package/plugins/customBorders/index.d.ts +1 -0
  697. package/plugins/customBorders/index.js +8 -0
  698. package/plugins/customBorders/index.mjs +1 -0
  699. package/plugins/customBorders/utils.js +265 -0
  700. package/plugins/customBorders/utils.mjs +249 -0
  701. package/plugins/dragToScroll/dragToScroll.d.ts +15 -0
  702. package/plugins/dragToScroll/dragToScroll.js +335 -0
  703. package/plugins/dragToScroll/dragToScroll.mjs +327 -0
  704. package/plugins/dragToScroll/index.d.ts +1 -0
  705. package/plugins/dragToScroll/index.js +8 -0
  706. package/plugins/dragToScroll/index.mjs +1 -0
  707. package/plugins/dropdownMenu/dropdownMenu.d.ts +24 -0
  708. package/plugins/dropdownMenu/dropdownMenu.js +511 -0
  709. package/plugins/dropdownMenu/dropdownMenu.mjs +504 -0
  710. package/plugins/dropdownMenu/index.d.ts +1 -0
  711. package/plugins/dropdownMenu/index.js +8 -0
  712. package/plugins/dropdownMenu/index.mjs +1 -0
  713. package/plugins/exportFile/dataProvider.js +200 -0
  714. package/plugins/exportFile/dataProvider.mjs +195 -0
  715. package/plugins/exportFile/exportFile.d.ts +12 -0
  716. package/plugins/exportFile/exportFile.js +262 -0
  717. package/plugins/exportFile/exportFile.mjs +250 -0
  718. package/plugins/exportFile/index.d.ts +1 -0
  719. package/plugins/exportFile/index.js +8 -0
  720. package/plugins/exportFile/index.mjs +1 -0
  721. package/plugins/exportFile/typeFactory.js +30 -0
  722. package/plugins/exportFile/typeFactory.mjs +21 -0
  723. package/plugins/exportFile/types/_base.js +78 -0
  724. package/plugins/exportFile/types/_base.mjs +73 -0
  725. package/plugins/exportFile/types/csv.js +131 -0
  726. package/plugins/exportFile/types/csv.mjs +125 -0
  727. package/plugins/filters/component/_base.js +169 -0
  728. package/plugins/filters/component/_base.mjs +163 -0
  729. package/plugins/filters/component/actionBar.js +161 -0
  730. package/plugins/filters/component/actionBar.mjs +151 -0
  731. package/plugins/filters/component/condition.js +325 -0
  732. package/plugins/filters/component/condition.mjs +316 -0
  733. package/plugins/filters/component/operators.js +222 -0
  734. package/plugins/filters/component/operators.mjs +216 -0
  735. package/plugins/filters/component/value.js +278 -0
  736. package/plugins/filters/component/value.mjs +269 -0
  737. package/plugins/filters/condition/beginsWith.js +50 -0
  738. package/plugins/filters/condition/beginsWith.mjs +39 -0
  739. package/plugins/filters/condition/between.js +64 -0
  740. package/plugins/filters/condition/between.mjs +53 -0
  741. package/plugins/filters/condition/byValue.js +48 -0
  742. package/plugins/filters/condition/byValue.mjs +42 -0
  743. package/plugins/filters/condition/contains.js +50 -0
  744. package/plugins/filters/condition/contains.mjs +39 -0
  745. package/plugins/filters/condition/date/after.js +55 -0
  746. package/plugins/filters/condition/date/after.mjs +43 -0
  747. package/plugins/filters/condition/date/before.js +55 -0
  748. package/plugins/filters/condition/date/before.mjs +43 -0
  749. package/plugins/filters/condition/date/today.js +39 -0
  750. package/plugins/filters/condition/date/today.mjs +20 -0
  751. package/plugins/filters/condition/date/tomorrow.js +39 -0
  752. package/plugins/filters/condition/date/tomorrow.mjs +20 -0
  753. package/plugins/filters/condition/date/yesterday.js +39 -0
  754. package/plugins/filters/condition/date/yesterday.mjs +20 -0
  755. package/plugins/filters/condition/empty.js +35 -0
  756. package/plugins/filters/condition/empty.mjs +17 -0
  757. package/plugins/filters/condition/endsWith.js +50 -0
  758. package/plugins/filters/condition/endsWith.mjs +39 -0
  759. package/plugins/filters/condition/equal.js +49 -0
  760. package/plugins/filters/condition/equal.mjs +38 -0
  761. package/plugins/filters/condition/false.js +18 -0
  762. package/plugins/filters/condition/false.mjs +12 -0
  763. package/plugins/filters/condition/greaterThan.js +52 -0
  764. package/plugins/filters/condition/greaterThan.mjs +41 -0
  765. package/plugins/filters/condition/greaterThanOrEqual.js +52 -0
  766. package/plugins/filters/condition/greaterThanOrEqual.mjs +41 -0
  767. package/plugins/filters/condition/lessThan.js +52 -0
  768. package/plugins/filters/condition/lessThan.mjs +41 -0
  769. package/plugins/filters/condition/lessThanOrEqual.js +52 -0
  770. package/plugins/filters/condition/lessThanOrEqual.mjs +41 -0
  771. package/plugins/filters/condition/none.js +33 -0
  772. package/plugins/filters/condition/none.mjs +15 -0
  773. package/plugins/filters/condition/notBetween.js +36 -0
  774. package/plugins/filters/condition/notBetween.mjs +18 -0
  775. package/plugins/filters/condition/notContains.js +36 -0
  776. package/plugins/filters/condition/notContains.mjs +18 -0
  777. package/plugins/filters/condition/notEmpty.js +36 -0
  778. package/plugins/filters/condition/notEmpty.mjs +18 -0
  779. package/plugins/filters/condition/notEqual.js +36 -0
  780. package/plugins/filters/condition/notEqual.mjs +18 -0
  781. package/plugins/filters/condition/true.js +18 -0
  782. package/plugins/filters/condition/true.mjs +12 -0
  783. package/plugins/filters/conditionCollection.d.ts +32 -0
  784. package/plugins/filters/conditionCollection.js +343 -0
  785. package/plugins/filters/conditionCollection.mjs +337 -0
  786. package/plugins/filters/conditionRegisterer.js +61 -0
  787. package/plugins/filters/conditionRegisterer.mjs +53 -0
  788. package/plugins/filters/conditionUpdateObserver.d.ts +10 -0
  789. package/plugins/filters/conditionUpdateObserver.js +248 -0
  790. package/plugins/filters/conditionUpdateObserver.mjs +242 -0
  791. package/plugins/filters/constants.js +103 -0
  792. package/plugins/filters/constants.mjs +69 -0
  793. package/plugins/filters/dataFilter.js +98 -0
  794. package/plugins/filters/dataFilter.mjs +93 -0
  795. package/plugins/filters/filters.d.ts +56 -0
  796. package/plugins/filters/filters.js +1037 -0
  797. package/plugins/filters/filters.mjs +1026 -0
  798. package/plugins/filters/index.d.ts +1 -0
  799. package/plugins/filters/index.js +8 -0
  800. package/plugins/filters/index.mjs +1 -0
  801. package/plugins/filters/logicalOperationRegisterer.js +50 -0
  802. package/plugins/filters/logicalOperationRegisterer.mjs +42 -0
  803. package/plugins/filters/logicalOperations/conjunction.js +36 -0
  804. package/plugins/filters/logicalOperations/conjunction.mjs +18 -0
  805. package/plugins/filters/logicalOperations/disjunction.js +36 -0
  806. package/plugins/filters/logicalOperations/disjunction.mjs +18 -0
  807. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +40 -0
  808. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +22 -0
  809. package/plugins/filters/ui/_base.js +249 -0
  810. package/plugins/filters/ui/_base.mjs +231 -0
  811. package/plugins/filters/ui/input.js +140 -0
  812. package/plugins/filters/ui/input.mjs +134 -0
  813. package/plugins/filters/ui/link.js +86 -0
  814. package/plugins/filters/ui/link.mjs +80 -0
  815. package/plugins/filters/ui/multipleSelect.js +441 -0
  816. package/plugins/filters/ui/multipleSelect.mjs +434 -0
  817. package/plugins/filters/ui/radioInput.js +130 -0
  818. package/plugins/filters/ui/radioInput.mjs +124 -0
  819. package/plugins/filters/ui/select.js +269 -0
  820. package/plugins/filters/ui/select.mjs +261 -0
  821. package/plugins/filters/utils.js +143 -0
  822. package/plugins/filters/utils.mjs +134 -0
  823. package/plugins/formulas/engine/register.js +259 -0
  824. package/plugins/formulas/engine/register.mjs +247 -0
  825. package/plugins/formulas/engine/settings.js +115 -0
  826. package/plugins/formulas/engine/settings.mjs +107 -0
  827. package/plugins/formulas/formulas.d.ts +31 -0
  828. package/plugins/formulas/formulas.js +1229 -0
  829. package/plugins/formulas/formulas.mjs +1221 -0
  830. package/plugins/formulas/index.d.ts +1 -0
  831. package/plugins/formulas/index.js +8 -0
  832. package/plugins/formulas/index.mjs +1 -0
  833. package/plugins/formulas/utils.js +24 -0
  834. package/plugins/formulas/utils.mjs +19 -0
  835. package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +76 -0
  836. package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +67 -0
  837. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +124 -0
  838. package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +115 -0
  839. package/plugins/hiddenColumns/hiddenColumns.d.ts +21 -0
  840. package/plugins/hiddenColumns/hiddenColumns.js +620 -0
  841. package/plugins/hiddenColumns/hiddenColumns.mjs +612 -0
  842. package/plugins/hiddenColumns/index.d.ts +1 -0
  843. package/plugins/hiddenColumns/index.js +8 -0
  844. package/plugins/hiddenColumns/index.mjs +1 -0
  845. package/plugins/hiddenRows/contextMenuItem/hideRow.js +76 -0
  846. package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +67 -0
  847. package/plugins/hiddenRows/contextMenuItem/showRow.js +124 -0
  848. package/plugins/hiddenRows/contextMenuItem/showRow.mjs +115 -0
  849. package/plugins/hiddenRows/hiddenRows.d.ts +21 -0
  850. package/plugins/hiddenRows/hiddenRows.js +612 -0
  851. package/plugins/hiddenRows/hiddenRows.mjs +604 -0
  852. package/plugins/hiddenRows/index.d.ts +1 -0
  853. package/plugins/hiddenRows/index.js +8 -0
  854. package/plugins/hiddenRows/index.mjs +1 -0
  855. package/plugins/index.d.ts +111 -0
  856. package/plugins/index.js +115 -0
  857. package/plugins/index.mjs +75 -0
  858. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +58 -0
  859. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +49 -0
  860. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +58 -0
  861. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +49 -0
  862. package/plugins/manualColumnFreeze/index.d.ts +1 -0
  863. package/plugins/manualColumnFreeze/index.js +8 -0
  864. package/plugins/manualColumnFreeze/index.mjs +1 -0
  865. package/plugins/manualColumnFreeze/manualColumnFreeze.d.ts +11 -0
  866. package/plugins/manualColumnFreeze/manualColumnFreeze.js +250 -0
  867. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +242 -0
  868. package/plugins/manualColumnMove/index.d.ts +1 -0
  869. package/plugins/manualColumnMove/index.js +8 -0
  870. package/plugins/manualColumnMove/index.mjs +1 -0
  871. package/plugins/manualColumnMove/manualColumnMove.d.ts +14 -0
  872. package/plugins/manualColumnMove/manualColumnMove.js +775 -0
  873. package/plugins/manualColumnMove/manualColumnMove.mjs +767 -0
  874. package/plugins/manualColumnMove/ui/_base.js +209 -0
  875. package/plugins/manualColumnMove/ui/_base.mjs +204 -0
  876. package/plugins/manualColumnMove/ui/backlight.js +60 -0
  877. package/plugins/manualColumnMove/ui/backlight.mjs +54 -0
  878. package/plugins/manualColumnMove/ui/guideline.js +60 -0
  879. package/plugins/manualColumnMove/ui/guideline.mjs +54 -0
  880. package/plugins/manualColumnResize/index.d.ts +1 -0
  881. package/plugins/manualColumnResize/index.js +8 -0
  882. package/plugins/manualColumnResize/index.mjs +1 -0
  883. package/plugins/manualColumnResize/manualColumnResize.d.ts +30 -0
  884. package/plugins/manualColumnResize/manualColumnResize.js +690 -0
  885. package/plugins/manualColumnResize/manualColumnResize.mjs +680 -0
  886. package/plugins/manualRowMove/index.d.ts +1 -0
  887. package/plugins/manualRowMove/index.js +8 -0
  888. package/plugins/manualRowMove/index.mjs +1 -0
  889. package/plugins/manualRowMove/manualRowMove.d.ts +14 -0
  890. package/plugins/manualRowMove/manualRowMove.js +757 -0
  891. package/plugins/manualRowMove/manualRowMove.mjs +749 -0
  892. package/plugins/manualRowMove/ui/_base.js +196 -0
  893. package/plugins/manualRowMove/ui/_base.mjs +191 -0
  894. package/plugins/manualRowMove/ui/backlight.js +60 -0
  895. package/plugins/manualRowMove/ui/backlight.mjs +54 -0
  896. package/plugins/manualRowMove/ui/guideline.js +60 -0
  897. package/plugins/manualRowMove/ui/guideline.mjs +54 -0
  898. package/plugins/manualRowResize/index.d.ts +1 -0
  899. package/plugins/manualRowResize/index.js +8 -0
  900. package/plugins/manualRowResize/index.mjs +1 -0
  901. package/plugins/manualRowResize/manualRowResize.d.ts +29 -0
  902. package/plugins/manualRowResize/manualRowResize.js +652 -0
  903. package/plugins/manualRowResize/manualRowResize.mjs +642 -0
  904. package/plugins/mergeCells/calculations/autofill.js +464 -0
  905. package/plugins/mergeCells/calculations/autofill.mjs +459 -0
  906. package/plugins/mergeCells/calculations/selection.js +204 -0
  907. package/plugins/mergeCells/calculations/selection.mjs +199 -0
  908. package/plugins/mergeCells/cellCoords.js +347 -0
  909. package/plugins/mergeCells/cellCoords.mjs +342 -0
  910. package/plugins/mergeCells/cellsCollection.js +344 -0
  911. package/plugins/mergeCells/cellsCollection.mjs +338 -0
  912. package/plugins/mergeCells/contextMenuItem/toggleMerge.js +55 -0
  913. package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +38 -0
  914. package/plugins/mergeCells/index.d.ts +1 -0
  915. package/plugins/mergeCells/index.js +8 -0
  916. package/plugins/mergeCells/index.mjs +1 -0
  917. package/plugins/mergeCells/mergeCells.d.ts +22 -0
  918. package/plugins/mergeCells/mergeCells.js +1290 -0
  919. package/plugins/mergeCells/mergeCells.mjs +1282 -0
  920. package/plugins/mergeCells/utils.js +30 -0
  921. package/plugins/mergeCells/utils.mjs +26 -0
  922. package/plugins/multiColumnSorting/domHelpers.js +44 -0
  923. package/plugins/multiColumnSorting/domHelpers.mjs +39 -0
  924. package/plugins/multiColumnSorting/index.d.ts +1 -0
  925. package/plugins/multiColumnSorting/index.js +8 -0
  926. package/plugins/multiColumnSorting/index.mjs +1 -0
  927. package/plugins/multiColumnSorting/multiColumnSorting.d.ts +8 -0
  928. package/plugins/multiColumnSorting/multiColumnSorting.js +336 -0
  929. package/plugins/multiColumnSorting/multiColumnSorting.mjs +329 -0
  930. package/plugins/multiColumnSorting/rootComparator.js +55 -0
  931. package/plugins/multiColumnSorting/rootComparator.mjs +51 -0
  932. package/plugins/multiColumnSorting/utils.js +16 -0
  933. package/plugins/multiColumnSorting/utils.mjs +12 -0
  934. package/plugins/multipleSelectionHandles/index.d.ts +1 -0
  935. package/plugins/multipleSelectionHandles/index.js +8 -0
  936. package/plugins/multipleSelectionHandles/index.mjs +1 -0
  937. package/plugins/multipleSelectionHandles/multipleSelectionHandles.d.ts +21 -0
  938. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +394 -0
  939. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +386 -0
  940. package/plugins/nestedHeaders/index.d.ts +1 -0
  941. package/plugins/nestedHeaders/index.js +8 -0
  942. package/plugins/nestedHeaders/index.mjs +1 -0
  943. package/plugins/nestedHeaders/nestedHeaders.d.ts +17 -0
  944. package/plugins/nestedHeaders/nestedHeaders.js +666 -0
  945. package/plugins/nestedHeaders/nestedHeaders.mjs +658 -0
  946. package/plugins/nestedHeaders/stateManager/headersTree.js +288 -0
  947. package/plugins/nestedHeaders/stateManager/headersTree.mjs +283 -0
  948. package/plugins/nestedHeaders/stateManager/index.js +417 -0
  949. package/plugins/nestedHeaders/stateManager/index.mjs +412 -0
  950. package/plugins/nestedHeaders/stateManager/matrixGenerator.js +102 -0
  951. package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +99 -0
  952. package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.js +98 -0
  953. package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.mjs +94 -0
  954. package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.js +95 -0
  955. package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.mjs +91 -0
  956. package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.js +54 -0
  957. package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.mjs +50 -0
  958. package/plugins/nestedHeaders/stateManager/nodeModifiers/index.js +40 -0
  959. package/plugins/nestedHeaders/stateManager/nodeModifiers/index.mjs +35 -0
  960. package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.js +55 -0
  961. package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.mjs +51 -0
  962. package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.js +61 -0
  963. package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.mjs +55 -0
  964. package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +122 -0
  965. package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +119 -0
  966. package/plugins/nestedHeaders/stateManager/sourceSettings.js +250 -0
  967. package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +245 -0
  968. package/plugins/nestedHeaders/stateManager/utils.js +75 -0
  969. package/plugins/nestedHeaders/stateManager/utils.mjs +70 -0
  970. package/plugins/nestedHeaders/utils/ghostTable.js +167 -0
  971. package/plugins/nestedHeaders/utils/ghostTable.mjs +162 -0
  972. package/plugins/nestedRows/data/dataManager.js +809 -0
  973. package/plugins/nestedRows/data/dataManager.mjs +804 -0
  974. package/plugins/nestedRows/index.d.ts +1 -0
  975. package/plugins/nestedRows/index.js +8 -0
  976. package/plugins/nestedRows/index.mjs +1 -0
  977. package/plugins/nestedRows/nestedRows.d.ts +12 -0
  978. package/plugins/nestedRows/nestedRows.js +592 -0
  979. package/plugins/nestedRows/nestedRows.mjs +584 -0
  980. package/plugins/nestedRows/ui/_base.js +28 -0
  981. package/plugins/nestedRows/ui/_base.mjs +23 -0
  982. package/plugins/nestedRows/ui/collapsing.js +562 -0
  983. package/plugins/nestedRows/ui/collapsing.mjs +556 -0
  984. package/plugins/nestedRows/ui/contextMenu.js +147 -0
  985. package/plugins/nestedRows/ui/contextMenu.mjs +138 -0
  986. package/plugins/nestedRows/ui/headers.js +157 -0
  987. package/plugins/nestedRows/ui/headers.mjs +151 -0
  988. package/plugins/nestedRows/utils/rowMoveController.js +331 -0
  989. package/plugins/nestedRows/utils/rowMoveController.mjs +327 -0
  990. package/plugins/persistentState/index.d.ts +1 -0
  991. package/plugins/persistentState/index.js +8 -0
  992. package/plugins/persistentState/index.mjs +1 -0
  993. package/plugins/persistentState/persistentState.d.ts +13 -0
  994. package/plugins/persistentState/persistentState.js +207 -0
  995. package/plugins/persistentState/persistentState.mjs +199 -0
  996. package/plugins/persistentState/storage.js +138 -0
  997. package/plugins/persistentState/storage.mjs +133 -0
  998. package/plugins/registry.d.ts +9 -0
  999. package/plugins/registry.js +150 -0
  1000. package/plugins/registry.mjs +146 -0
  1001. package/plugins/search/index.d.ts +1 -0
  1002. package/plugins/search/index.js +8 -0
  1003. package/plugins/search/index.mjs +1 -0
  1004. package/plugins/search/search.d.ts +28 -0
  1005. package/plugins/search/search.js +377 -0
  1006. package/plugins/search/search.mjs +370 -0
  1007. package/plugins/touchScroll/index.d.ts +1 -0
  1008. package/plugins/touchScroll/index.js +8 -0
  1009. package/plugins/touchScroll/index.mjs +1 -0
  1010. package/plugins/touchScroll/touchScroll.d.ts +13 -0
  1011. package/plugins/touchScroll/touchScroll.js +250 -0
  1012. package/plugins/touchScroll/touchScroll.mjs +243 -0
  1013. package/plugins/trimRows/index.d.ts +1 -0
  1014. package/plugins/trimRows/index.js +8 -0
  1015. package/plugins/trimRows/index.mjs +1 -0
  1016. package/plugins/trimRows/trimRows.d.ts +17 -0
  1017. package/plugins/trimRows/trimRows.js +393 -0
  1018. package/plugins/trimRows/trimRows.mjs +386 -0
  1019. package/plugins/undoRedo/index.d.ts +1 -0
  1020. package/plugins/undoRedo/index.js +18 -0
  1021. package/plugins/undoRedo/index.mjs +2 -0
  1022. package/plugins/undoRedo/undoRedo.d.ts +49 -0
  1023. package/plugins/undoRedo/undoRedo.js +935 -0
  1024. package/plugins/undoRedo/undoRedo.mjs +928 -0
  1025. package/registry.d.ts +6 -0
  1026. package/registry.js +35 -0
  1027. package/registry.mjs +26 -0
  1028. package/renderers/autocompleteRenderer/autocompleteRenderer.d.ts +5 -0
  1029. package/renderers/autocompleteRenderer/autocompleteRenderer.js +59 -0
  1030. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +52 -0
  1031. package/renderers/autocompleteRenderer/index.d.ts +1 -0
  1032. package/renderers/autocompleteRenderer/index.js +7 -0
  1033. package/renderers/autocompleteRenderer/index.mjs +1 -0
  1034. package/renderers/base.d.ts +3 -0
  1035. package/renderers/baseRenderer/baseRenderer.d.ts +5 -0
  1036. package/renderers/baseRenderer/baseRenderer.js +46 -0
  1037. package/renderers/baseRenderer/baseRenderer.mjs +39 -0
  1038. package/renderers/baseRenderer/index.d.ts +1 -0
  1039. package/renderers/baseRenderer/index.js +7 -0
  1040. package/renderers/baseRenderer/index.mjs +1 -0
  1041. package/renderers/checkboxRenderer/checkboxRenderer.d.ts +5 -0
  1042. package/renderers/checkboxRenderer/checkboxRenderer.js +398 -0
  1043. package/renderers/checkboxRenderer/checkboxRenderer.mjs +391 -0
  1044. package/renderers/checkboxRenderer/index.d.ts +1 -0
  1045. package/renderers/checkboxRenderer/index.js +7 -0
  1046. package/renderers/checkboxRenderer/index.mjs +1 -0
  1047. package/renderers/htmlRenderer/htmlRenderer.d.ts +5 -0
  1048. package/renderers/htmlRenderer/htmlRenderer.js +25 -0
  1049. package/renderers/htmlRenderer/htmlRenderer.mjs +19 -0
  1050. package/renderers/htmlRenderer/index.d.ts +1 -0
  1051. package/renderers/htmlRenderer/index.js +7 -0
  1052. package/renderers/htmlRenderer/index.mjs +1 -0
  1053. package/renderers/index.d.ts +45 -0
  1054. package/renderers/index.js +48 -0
  1055. package/renderers/index.mjs +24 -0
  1056. package/renderers/numericRenderer/index.d.ts +1 -0
  1057. package/renderers/numericRenderer/index.js +7 -0
  1058. package/renderers/numericRenderer/index.mjs +1 -0
  1059. package/renderers/numericRenderer/numericRenderer.d.ts +5 -0
  1060. package/renderers/numericRenderer/numericRenderer.js +57 -0
  1061. package/renderers/numericRenderer/numericRenderer.mjs +50 -0
  1062. package/renderers/passwordRenderer/index.d.ts +1 -0
  1063. package/renderers/passwordRenderer/index.js +7 -0
  1064. package/renderers/passwordRenderer/index.mjs +1 -0
  1065. package/renderers/passwordRenderer/passwordRenderer.d.ts +5 -0
  1066. package/renderers/passwordRenderer/passwordRenderer.js +32 -0
  1067. package/renderers/passwordRenderer/passwordRenderer.mjs +26 -0
  1068. package/renderers/registry.d.ts +18 -0
  1069. package/renderers/registry.js +48 -0
  1070. package/renderers/registry.mjs +38 -0
  1071. package/renderers/textRenderer/index.d.ts +1 -0
  1072. package/renderers/textRenderer/index.js +7 -0
  1073. package/renderers/textRenderer/index.mjs +1 -0
  1074. package/renderers/textRenderer/textRenderer.d.ts +5 -0
  1075. package/renderers/textRenderer/textRenderer.js +48 -0
  1076. package/renderers/textRenderer/textRenderer.mjs +42 -0
  1077. package/renderers/timeRenderer/index.d.ts +1 -0
  1078. package/renderers/timeRenderer/index.js +7 -0
  1079. package/renderers/timeRenderer/index.mjs +1 -0
  1080. package/renderers/timeRenderer/timeRenderer.d.ts +5 -0
  1081. package/renderers/timeRenderer/timeRenderer.js +26 -0
  1082. package/renderers/timeRenderer/timeRenderer.mjs +20 -0
  1083. package/selection/highlight/constants.js +16 -0
  1084. package/selection/highlight/constants.mjs +6 -0
  1085. package/selection/highlight/highlight.js +330 -0
  1086. package/selection/highlight/highlight.mjs +325 -0
  1087. package/selection/highlight/types/activeHeader.js +38 -0
  1088. package/selection/highlight/types/activeHeader.mjs +32 -0
  1089. package/selection/highlight/types/area.js +49 -0
  1090. package/selection/highlight/types/area.mjs +43 -0
  1091. package/selection/highlight/types/cell.js +46 -0
  1092. package/selection/highlight/types/cell.mjs +40 -0
  1093. package/selection/highlight/types/customSelection.js +41 -0
  1094. package/selection/highlight/types/customSelection.mjs +35 -0
  1095. package/selection/highlight/types/fill.js +41 -0
  1096. package/selection/highlight/types/fill.mjs +35 -0
  1097. package/selection/highlight/types/header.js +49 -0
  1098. package/selection/highlight/types/header.mjs +43 -0
  1099. package/selection/highlight/types/index.js +43 -0
  1100. package/selection/highlight/types/index.mjs +39 -0
  1101. package/selection/highlight/visualSelection.js +277 -0
  1102. package/selection/highlight/visualSelection.mjs +272 -0
  1103. package/selection/index.d.ts +5 -0
  1104. package/selection/index.js +30 -0
  1105. package/selection/index.mjs +6 -0
  1106. package/selection/mouseEventHandler.js +135 -0
  1107. package/selection/mouseEventHandler.mjs +129 -0
  1108. package/selection/range.js +173 -0
  1109. package/selection/range.mjs +168 -0
  1110. package/selection/selection.js +802 -0
  1111. package/selection/selection.mjs +796 -0
  1112. package/selection/transformation.js +169 -0
  1113. package/selection/transformation.mjs +163 -0
  1114. package/selection/utils.js +256 -0
  1115. package/selection/utils.mjs +242 -0
  1116. package/settings.d.ts +210 -0
  1117. package/shortcuts/context.d.ts +20 -0
  1118. package/shortcuts/context.js +241 -0
  1119. package/shortcuts/context.mjs +236 -0
  1120. package/shortcuts/index.d.ts +1 -0
  1121. package/shortcuts/index.js +6 -0
  1122. package/shortcuts/index.mjs +1 -0
  1123. package/shortcuts/keyObserver.js +58 -0
  1124. package/shortcuts/keyObserver.mjs +54 -0
  1125. package/shortcuts/manager.d.ts +10 -0
  1126. package/shortcuts/manager.js +165 -0
  1127. package/shortcuts/manager.mjs +159 -0
  1128. package/shortcuts/recorder.js +165 -0
  1129. package/shortcuts/recorder.mjs +161 -0
  1130. package/shortcuts/utils.js +58 -0
  1131. package/shortcuts/utils.mjs +51 -0
  1132. package/tableView.js +1313 -0
  1133. package/tableView.mjs +1307 -0
  1134. package/translations/changesObservable/observable.js +175 -0
  1135. package/translations/changesObservable/observable.mjs +170 -0
  1136. package/translations/changesObservable/observer.js +100 -0
  1137. package/translations/changesObservable/observer.mjs +94 -0
  1138. package/translations/changesObservable/utils.js +50 -0
  1139. package/translations/changesObservable/utils.mjs +46 -0
  1140. package/translations/index.d.ts +1 -0
  1141. package/translations/index.js +29 -0
  1142. package/translations/index.mjs +4 -0
  1143. package/translations/indexMapper.d.ts +48 -0
  1144. package/translations/indexMapper.js +865 -0
  1145. package/translations/indexMapper.mjs +859 -0
  1146. package/translations/mapCollections/aggregatedCollection.js +139 -0
  1147. package/translations/mapCollections/aggregatedCollection.mjs +134 -0
  1148. package/translations/mapCollections/index.js +18 -0
  1149. package/translations/mapCollections/index.mjs +2 -0
  1150. package/translations/mapCollections/mapCollection.js +164 -0
  1151. package/translations/mapCollections/mapCollection.mjs +156 -0
  1152. package/translations/maps/hidingMap.js +63 -0
  1153. package/translations/maps/hidingMap.mjs +58 -0
  1154. package/translations/maps/index.js +59 -0
  1155. package/translations/maps/index.mjs +29 -0
  1156. package/translations/maps/indexMap.d.ts +10 -0
  1157. package/translations/maps/indexMap.js +203 -0
  1158. package/translations/maps/indexMap.mjs +197 -0
  1159. package/translations/maps/indexesSequence.js +82 -0
  1160. package/translations/maps/indexesSequence.mjs +77 -0
  1161. package/translations/maps/linkedPhysicalIndexToValueMap.js +216 -0
  1162. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +211 -0
  1163. package/translations/maps/physicalIndexToValueMap.js +76 -0
  1164. package/translations/maps/physicalIndexToValueMap.mjs +71 -0
  1165. package/translations/maps/trimmingMap.js +63 -0
  1166. package/translations/maps/trimmingMap.mjs +58 -0
  1167. package/translations/maps/utils/actionsOnIndexes.js +42 -0
  1168. package/translations/maps/utils/actionsOnIndexes.mjs +37 -0
  1169. package/translations/maps/utils/index.js +28 -0
  1170. package/translations/maps/utils/index.mjs +22 -0
  1171. package/translations/maps/utils/indexesSequence.js +52 -0
  1172. package/translations/maps/utils/indexesSequence.mjs +47 -0
  1173. package/translations/maps/utils/physicallyIndexed.js +61 -0
  1174. package/translations/maps/utils/physicallyIndexed.mjs +56 -0
  1175. package/utils/dataStructures/linkedList.js +263 -0
  1176. package/utils/dataStructures/linkedList.mjs +258 -0
  1177. package/utils/dataStructures/priorityMap.js +106 -0
  1178. package/utils/dataStructures/priorityMap.mjs +99 -0
  1179. package/utils/dataStructures/queue.js +83 -0
  1180. package/utils/dataStructures/queue.mjs +78 -0
  1181. package/utils/dataStructures/stack.js +83 -0
  1182. package/utils/dataStructures/stack.mjs +78 -0
  1183. package/utils/dataStructures/tree.js +254 -0
  1184. package/utils/dataStructures/tree.mjs +246 -0
  1185. package/utils/dataStructures/uniqueMap.js +144 -0
  1186. package/utils/dataStructures/uniqueMap.mjs +140 -0
  1187. package/utils/dataStructures/uniqueSet.js +78 -0
  1188. package/utils/dataStructures/uniqueSet.mjs +74 -0
  1189. package/utils/ghostTable.js +536 -0
  1190. package/utils/ghostTable.mjs +531 -0
  1191. package/utils/interval.js +134 -0
  1192. package/utils/interval.mjs +129 -0
  1193. package/utils/parseTable.d.ts +5 -0
  1194. package/utils/parseTable.js +305 -0
  1195. package/utils/parseTable.mjs +299 -0
  1196. package/utils/rootInstance.js +48 -0
  1197. package/utils/rootInstance.mjs +38 -0
  1198. package/utils/samplesGenerator.js +210 -0
  1199. package/utils/samplesGenerator.mjs +205 -0
  1200. package/utils/staticRegister.js +92 -0
  1201. package/utils/staticRegister.mjs +86 -0
  1202. package/validators/autocompleteValidator/autocompleteValidator.d.ts +5 -0
  1203. package/validators/autocompleteValidator/autocompleteValidator.js +56 -0
  1204. package/validators/autocompleteValidator/autocompleteValidator.mjs +50 -0
  1205. package/validators/autocompleteValidator/index.d.ts +1 -0
  1206. package/validators/autocompleteValidator/index.js +7 -0
  1207. package/validators/autocompleteValidator/index.mjs +1 -0
  1208. package/validators/base.d.ts +6 -0
  1209. package/validators/dateValidator/dateValidator.d.ts +5 -0
  1210. package/validators/dateValidator/dateValidator.js +77 -0
  1211. package/validators/dateValidator/dateValidator.mjs +69 -0
  1212. package/validators/dateValidator/index.d.ts +1 -0
  1213. package/validators/dateValidator/index.js +8 -0
  1214. package/validators/dateValidator/index.mjs +1 -0
  1215. package/validators/index.d.ts +33 -0
  1216. package/validators/index.js +32 -0
  1217. package/validators/index.mjs +16 -0
  1218. package/validators/numericValidator/index.d.ts +1 -0
  1219. package/validators/numericValidator/index.js +7 -0
  1220. package/validators/numericValidator/index.mjs +1 -0
  1221. package/validators/numericValidator/numericValidator.d.ts +5 -0
  1222. package/validators/numericValidator/numericValidator.js +30 -0
  1223. package/validators/numericValidator/numericValidator.mjs +24 -0
  1224. package/validators/registry.d.ts +18 -0
  1225. package/validators/registry.js +48 -0
  1226. package/validators/registry.mjs +38 -0
  1227. package/validators/timeValidator/index.d.ts +1 -0
  1228. package/validators/timeValidator/index.js +7 -0
  1229. package/validators/timeValidator/index.mjs +1 -0
  1230. package/validators/timeValidator/timeValidator.d.ts +5 -0
  1231. package/validators/timeValidator/timeValidator.js +66 -0
  1232. package/validators/timeValidator/timeValidator.mjs +60 -0
@@ -0,0 +1,1171 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.symbol.description.js");
5
+ require("core-js/modules/es.symbol.iterator.js");
6
+ require("core-js/modules/es.array.iterator.js");
7
+ require("core-js/modules/web.dom-collections.iterator.js");
8
+ require("core-js/modules/es.array.slice.js");
9
+ require("core-js/modules/es.regexp.exec.js");
10
+ exports.__esModule = true;
11
+ exports.default = void 0;
12
+ require("core-js/modules/es.function.name.js");
13
+ require("core-js/modules/es.array.from.js");
14
+ require("core-js/modules/es.string.iterator.js");
15
+ require("core-js/modules/es.array.includes.js");
16
+ require("core-js/modules/es.object.to-string.js");
17
+ require("core-js/modules/web.dom-collections.for-each.js");
18
+ var _element = require("../../../helpers/dom/element");
19
+ var _function = require("../../../helpers/function");
20
+ var _column = _interopRequireDefault(require("./filter/column"));
21
+ var _row = _interopRequireDefault(require("./filter/row"));
22
+ var _renderer = require("./renderer");
23
+ var _column2 = _interopRequireDefault(require("./utils/column"));
24
+ var _row2 = _interopRequireDefault(require("./utils/row"));
25
+ var _overlay = require("./overlay");
26
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
28
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
29
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
30
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
31
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
32
+ 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."); }
33
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
34
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
35
+ 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; }
36
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
37
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
38
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
39
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
40
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
41
+ /**
42
+ * @todo These mixes are never added to the class Table, however their members are used here.
43
+ * @todo Continue: Potentially it works only, because some of these mixes are added to every inherited class.
44
+ * @todo Refactoring, move code from `if(this.isMaster)` into MasterTable, and others like that.
45
+ * @mixes stickyColumnsStart
46
+ * @mixes stickyRowsBottom
47
+ * @mixes stickyRowsTop
48
+ * @mixes calculatedRows
49
+ * @mixes calculatedColumns
50
+ * @abstract
51
+ */
52
+ var Table = /*#__PURE__*/function () {
53
+ /**
54
+ * The walkontable settings.
55
+ *
56
+ * @protected
57
+ * @type {Settings}
58
+ */
59
+
60
+ /**
61
+ * Indicates if the table has height bigger than 0px.
62
+ *
63
+ * @type {boolean}
64
+ */
65
+
66
+ /**
67
+ * Indicates if the table has width bigger than 0px.
68
+ *
69
+ * @type {boolean}
70
+ */
71
+
72
+ /**
73
+ * Indicates if the table is visible. By visible, it means that the holder
74
+ * element has CSS 'display' property different than 'none'.
75
+ *
76
+ * @type {boolean}
77
+ */
78
+
79
+ /**
80
+ *
81
+ * @abstract
82
+ * @param {TableDao} dataAccessObject The data access object.
83
+ * @param {FacadeGetter} facadeGetter Function which return proper facade.
84
+ * @param {DomBindings} domBindings Bindings into DOM.
85
+ * @param {Settings} wtSettings The Walkontable settings.
86
+ * @param {'master'|CLONE_TYPES_ENUM} name Overlay name.
87
+ */
88
+ function Table(dataAccessObject, facadeGetter, domBindings, wtSettings, name) {
89
+ var _this = this;
90
+ _classCallCheck(this, Table);
91
+ _defineProperty(this, "wtSettings", null);
92
+ _defineProperty(this, "domBindings", void 0);
93
+ _defineProperty(this, "TBODY", null);
94
+ _defineProperty(this, "THEAD", null);
95
+ _defineProperty(this, "COLGROUP", null);
96
+ _defineProperty(this, "hasTableHeight", true);
97
+ _defineProperty(this, "hasTableWidth", true);
98
+ _defineProperty(this, "isTableVisible", false);
99
+ _defineProperty(this, "tableOffset", 0);
100
+ _defineProperty(this, "holderOffset", 0);
101
+ this.domBindings = domBindings;
102
+ /**
103
+ * Indicates if this instance is of type `MasterTable` (i.e. It is NOT an overlay).
104
+ *
105
+ * @type {boolean}
106
+ */
107
+ this.isMaster = name === 'master';
108
+ this.name = name;
109
+ this.dataAccessObject = dataAccessObject;
110
+ this.facadeGetter = facadeGetter;
111
+ this.wtSettings = wtSettings;
112
+
113
+ // legacy support
114
+ this.instance = this.dataAccessObject.wot; // TODO refactoring: it might be removed here, and provides legacy support through facade.
115
+ this.wot = this.dataAccessObject.wot;
116
+ this.TABLE = domBindings.rootTable;
117
+ (0, _element.removeTextNodes)(this.TABLE);
118
+
119
+ // TODO refactoring, to recognize the legitimacy of moving them into domBidings
120
+ this.spreader = this.createSpreader(this.TABLE);
121
+ this.hider = this.createHider(this.spreader);
122
+ this.holder = this.createHolder(this.hider);
123
+ this.wtRootElement = this.holder.parentNode;
124
+ if (this.isMaster) {
125
+ this.alignOverlaysWithTrimmingContainer(); // todo wow, It calls method from child class (MasterTable).
126
+ }
127
+
128
+ this.fixTableDomTree();
129
+ this.rowFilter = null; // TODO refactoring, eliminate all (re)creations of this object, then updates state when needed.
130
+ this.columnFilter = null; // TODO refactoring, eliminate all (re)creations of this object, then updates state when needed.
131
+ this.correctHeaderWidth = false;
132
+ var origRowHeaderWidth = this.wtSettings.getSettingPure('rowHeaderWidth');
133
+
134
+ // Fix for jumping row headers (https://github.com/handsontable/handsontable/issues/3850)
135
+ this.wtSettings.update('rowHeaderWidth', function () {
136
+ return _this._modifyRowHeaderWidth(origRowHeaderWidth);
137
+ });
138
+ this.rowUtils = new _row2.default(this.dataAccessObject, this.wtSettings); // TODO refactoring, It can be passed through IOC.
139
+ this.columnUtils = new _column2.default(this.dataAccessObject, this.wtSettings); // TODO refactoring, It can be passed through IOC.
140
+
141
+ this.tableRenderer = new _renderer.Renderer({
142
+ // TODO refactoring, It can be passed through IOC.
143
+ TABLE: this.TABLE,
144
+ THEAD: this.THEAD,
145
+ COLGROUP: this.COLGROUP,
146
+ TBODY: this.TBODY,
147
+ rowUtils: this.rowUtils,
148
+ columnUtils: this.columnUtils,
149
+ cellRenderer: this.wtSettings.getSettingPure('cellRenderer')
150
+ });
151
+ }
152
+
153
+ /**
154
+ * Returns a boolean that is true if this Table represents a specific overlay, identified by the overlay name.
155
+ * For MasterTable, it returns false.
156
+ *
157
+ * @param {string} overlayTypeName The overlay type.
158
+ * @returns {boolean}
159
+ */
160
+ _createClass(Table, [{
161
+ key: "is",
162
+ value: function is(overlayTypeName) {
163
+ // todo refactoring: eliminate all protected and private usages
164
+ return this.name === overlayTypeName;
165
+ }
166
+
167
+ /**
168
+ *
169
+ */
170
+ }, {
171
+ key: "fixTableDomTree",
172
+ value: function fixTableDomTree() {
173
+ var rootDocument = this.domBindings.rootDocument;
174
+ this.TBODY = this.TABLE.querySelector('tbody');
175
+ if (!this.TBODY) {
176
+ this.TBODY = rootDocument.createElement('tbody');
177
+ this.TABLE.appendChild(this.TBODY);
178
+ }
179
+ this.THEAD = this.TABLE.querySelector('thead');
180
+ if (!this.THEAD) {
181
+ this.THEAD = rootDocument.createElement('thead');
182
+ this.TABLE.insertBefore(this.THEAD, this.TBODY);
183
+ }
184
+ this.COLGROUP = this.TABLE.querySelector('colgroup');
185
+ if (!this.COLGROUP) {
186
+ this.COLGROUP = rootDocument.createElement('colgroup');
187
+ this.TABLE.insertBefore(this.COLGROUP, this.THEAD);
188
+ }
189
+ }
190
+
191
+ /**
192
+ * @param {HTMLTableElement} table An element to process.
193
+ * @returns {HTMLElement}
194
+ */
195
+ }, {
196
+ key: "createSpreader",
197
+ value: function createSpreader(table) {
198
+ var parent = table.parentNode;
199
+ var spreader;
200
+ if (!parent || parent.nodeType !== Node.ELEMENT_NODE || !(0, _element.hasClass)(parent, 'wtHolder')) {
201
+ spreader = this.domBindings.rootDocument.createElement('div');
202
+ spreader.className = 'wtSpreader';
203
+ if (parent) {
204
+ // if TABLE is detached (e.g. in Jasmine test), it has no parentNode so we cannot attach holder to it
205
+ parent.insertBefore(spreader, table);
206
+ }
207
+ spreader.appendChild(table);
208
+ }
209
+ spreader.style.position = 'relative';
210
+ return spreader;
211
+ }
212
+
213
+ /**
214
+ * @param {HTMLElement} spreader An element to the hider element is injected.
215
+ * @returns {HTMLElement}
216
+ */
217
+ }, {
218
+ key: "createHider",
219
+ value: function createHider(spreader) {
220
+ var parent = spreader.parentNode;
221
+ var hider;
222
+ if (!parent || parent.nodeType !== Node.ELEMENT_NODE || !(0, _element.hasClass)(parent, 'wtHolder')) {
223
+ hider = this.domBindings.rootDocument.createElement('div');
224
+ hider.className = 'wtHider';
225
+ if (parent) {
226
+ // if TABLE is detached (e.g. in Jasmine test), it has no parentNode so we cannot attach holder to it
227
+ parent.insertBefore(hider, spreader);
228
+ }
229
+ hider.appendChild(spreader);
230
+ }
231
+ return hider;
232
+ }
233
+
234
+ /**
235
+ *
236
+ * @param {HTMLElement} hider An element to the holder element is injected.
237
+ * @returns {HTMLElement}
238
+ */
239
+ }, {
240
+ key: "createHolder",
241
+ value: function createHolder(hider) {
242
+ var parent = hider.parentNode;
243
+ var holder;
244
+ if (!parent || parent.nodeType !== Node.ELEMENT_NODE || !(0, _element.hasClass)(parent, 'wtHolder')) {
245
+ holder = this.domBindings.rootDocument.createElement('div');
246
+ holder.style.position = 'relative';
247
+ holder.className = 'wtHolder';
248
+ if (parent) {
249
+ // if TABLE is detached (e.g. in Jasmine test), it has no parentNode so we cannot attach holder to it
250
+ parent.insertBefore(holder, hider);
251
+ }
252
+ if (this.isMaster) {
253
+ holder.parentNode.className += 'ht_master handsontable';
254
+ holder.parentNode.setAttribute('dir', this.wtSettings.getSettingPure('rtlMode') ? 'rtl' : 'ltr');
255
+ }
256
+ holder.appendChild(hider);
257
+ }
258
+ return holder;
259
+ }
260
+
261
+ /**
262
+ * Redraws the table.
263
+ *
264
+ * @param {boolean} [fastDraw=false] If TRUE, will try to avoid full redraw and only update the border positions.
265
+ * If FALSE or UNDEFINED, will perform a full redraw.
266
+ * @returns {Table}
267
+ */
268
+ }, {
269
+ key: "draw",
270
+ value: function draw() {
271
+ var fastDraw = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
272
+ var wtSettings = this.wtSettings;
273
+ var _this$dataAccessObjec = this.dataAccessObject,
274
+ wtOverlays = _this$dataAccessObjec.wtOverlays,
275
+ wtViewport = _this$dataAccessObjec.wtViewport;
276
+ var totalRows = wtSettings.getSetting('totalRows');
277
+ var totalColumns = wtSettings.getSetting('totalColumns');
278
+ var rowHeaders = wtSettings.getSetting('rowHeaders');
279
+ var rowHeadersCount = rowHeaders.length;
280
+ var columnHeaders = wtSettings.getSetting('columnHeaders');
281
+ var columnHeadersCount = columnHeaders.length;
282
+ var syncScroll = false;
283
+ var runFastDraw = fastDraw;
284
+ if (this.isMaster) {
285
+ this.holderOffset = (0, _element.offset)(this.holder);
286
+ runFastDraw = wtViewport.createRenderCalculators(runFastDraw);
287
+ if (rowHeadersCount && !wtSettings.getSetting('fixedColumnsStart')) {
288
+ var leftScrollPos = wtOverlays.inlineStartOverlay.getScrollPosition();
289
+ var previousState = this.correctHeaderWidth;
290
+ this.correctHeaderWidth = leftScrollPos !== 0;
291
+ if (previousState !== this.correctHeaderWidth) {
292
+ runFastDraw = false;
293
+ }
294
+ }
295
+ }
296
+ if (this.isMaster) {
297
+ syncScroll = wtOverlays.updateStateOfRendering();
298
+ }
299
+ if (runFastDraw) {
300
+ if (this.isMaster) {
301
+ // in case we only scrolled without redraw, update visible rows information in oldRowsCalculator
302
+ wtViewport.createVisibleCalculators();
303
+ }
304
+ if (wtOverlays) {
305
+ wtOverlays.refresh(true);
306
+ }
307
+ } else {
308
+ if (this.isMaster) {
309
+ this.tableOffset = (0, _element.offset)(this.TABLE);
310
+ } else {
311
+ this.tableOffset = this.dataAccessObject.parentTableOffset;
312
+ }
313
+ var startRow = totalRows > 0 ? this.getFirstRenderedRow() : 0;
314
+ var startColumn = totalColumns > 0 ? this.getFirstRenderedColumn() : 0;
315
+ this.rowFilter = new _row.default(startRow, totalRows, columnHeadersCount);
316
+ this.columnFilter = new _column.default(startColumn, totalColumns, rowHeadersCount);
317
+ var performRedraw = true;
318
+
319
+ // Only master table rendering can be skipped
320
+ if (this.isMaster) {
321
+ this.alignOverlaysWithTrimmingContainer(); // todo It calls method from child class (MasterTable).
322
+ var skipRender = {};
323
+ this.wtSettings.getSetting('beforeDraw', true, skipRender);
324
+ performRedraw = skipRender.skipRender !== true;
325
+ }
326
+ if (performRedraw) {
327
+ this.tableRenderer.setHeaderContentRenderers(rowHeaders, columnHeaders);
328
+ if (this.is(_overlay.CLONE_BOTTOM) || this.is(_overlay.CLONE_BOTTOM_INLINE_START_CORNER)) {
329
+ // do NOT render headers on the bottom or bottom-left corner overlay
330
+ this.tableRenderer.setHeaderContentRenderers(rowHeaders, []);
331
+ }
332
+ this.resetOversizedRows();
333
+ this.tableRenderer.setViewportSize(this.getRenderedRowsCount(), this.getRenderedColumnsCount()).setFilters(this.rowFilter, this.columnFilter).render();
334
+ var workspaceWidth;
335
+ if (this.isMaster) {
336
+ workspaceWidth = this.dataAccessObject.workspaceWidth;
337
+ this.dataAccessObject.wtViewport.containerWidth = null;
338
+ this.markOversizedColumnHeaders();
339
+ }
340
+ this.adjustColumnHeaderHeights();
341
+ if (this.isMaster || this.is(_overlay.CLONE_BOTTOM)) {
342
+ this.markOversizedRows();
343
+ }
344
+ if (this.isMaster) {
345
+ this.dataAccessObject.wtViewport.createVisibleCalculators();
346
+ this.dataAccessObject.wtOverlays.refresh(false);
347
+ this.dataAccessObject.wtOverlays.applyToDOM();
348
+ var hiderWidth = (0, _element.outerWidth)(this.hider);
349
+ var tableWidth = (0, _element.outerWidth)(this.TABLE);
350
+ if (hiderWidth !== 0 && tableWidth !== hiderWidth) {
351
+ // Recalculate the column widths, if width changes made in the overlays removed the scrollbar, thus changing the viewport width.
352
+ this.columnUtils.calculateWidths();
353
+ this.tableRenderer.renderer.colGroup.render();
354
+ }
355
+ if (workspaceWidth !== this.dataAccessObject.wtViewport.getWorkspaceWidth()) {
356
+ // workspace width changed though to shown/hidden vertical scrollbar. Let's reapply stretching
357
+ this.dataAccessObject.wtViewport.containerWidth = null;
358
+ this.columnUtils.calculateWidths();
359
+ this.tableRenderer.renderer.colGroup.render();
360
+ }
361
+ this.wtSettings.getSetting('onDraw', true);
362
+ } else if (this.is(_overlay.CLONE_BOTTOM)) {
363
+ this.dataAccessObject.cloneSource.wtOverlays.adjustElementsSize();
364
+ }
365
+ }
366
+ }
367
+ var positionChanged = false;
368
+ if (this.isMaster) {
369
+ positionChanged = wtOverlays.topOverlay.resetFixedPosition();
370
+ if (wtOverlays.bottomOverlay.clone) {
371
+ positionChanged = wtOverlays.bottomOverlay.resetFixedPosition() || positionChanged;
372
+ }
373
+ positionChanged = wtOverlays.inlineStartOverlay.resetFixedPosition() || positionChanged;
374
+ if (wtOverlays.topInlineStartCornerOverlay) {
375
+ wtOverlays.topInlineStartCornerOverlay.resetFixedPosition();
376
+ }
377
+ if (wtOverlays.bottomInlineStartCornerOverlay && wtOverlays.bottomInlineStartCornerOverlay.clone) {
378
+ wtOverlays.bottomInlineStartCornerOverlay.resetFixedPosition();
379
+ }
380
+ }
381
+ if (positionChanged) {
382
+ // It refreshes the cells borders caused by a 1px shift (introduced by overlays which add or
383
+ // remove `innerBorderTop` and `innerBorderInlineStart` CSS classes to the DOM element. This happens
384
+ // when there is a switch between rendering from 0 to N rows/columns and vice versa).
385
+ wtOverlays.refreshAll(); // `refreshAll()` internally already calls `refreshSelections()` method
386
+ wtOverlays.adjustElementsSize();
387
+ } else {
388
+ this.refreshSelections(runFastDraw);
389
+ }
390
+ if (syncScroll) {
391
+ wtOverlays.syncScrollWithMaster();
392
+ }
393
+ this.dataAccessObject.drawn = true;
394
+ return this;
395
+ }
396
+
397
+ /**
398
+ * @param {number} col The visual column index.
399
+ */
400
+ }, {
401
+ key: "markIfOversizedColumnHeader",
402
+ value: function markIfOversizedColumnHeader(col) {
403
+ var sourceColIndex = this.columnFilter.renderedToSource(col);
404
+ var level = this.wtSettings.getSetting('columnHeaders').length;
405
+ var defaultRowHeight = this.wtSettings.getSetting('defaultRowHeight');
406
+ var previousColHeaderHeight;
407
+ var currentHeader;
408
+ var currentHeaderHeight;
409
+ var columnHeaderHeightSetting = this.wtSettings.getSetting('columnHeaderHeight') || [];
410
+ while (level) {
411
+ level -= 1;
412
+ previousColHeaderHeight = this.getColumnHeaderHeight(level);
413
+ currentHeader = this.getColumnHeader(sourceColIndex, level);
414
+ if (!currentHeader) {
415
+ /* eslint-disable no-continue */
416
+ continue;
417
+ }
418
+ currentHeaderHeight = (0, _element.innerHeight)(currentHeader);
419
+ if (!previousColHeaderHeight && defaultRowHeight < currentHeaderHeight || previousColHeaderHeight < currentHeaderHeight) {
420
+ this.dataAccessObject.wtViewport.oversizedColumnHeaders[level] = currentHeaderHeight;
421
+ }
422
+ if (Array.isArray(columnHeaderHeightSetting)) {
423
+ if (columnHeaderHeightSetting[level] !== null && columnHeaderHeightSetting[level] !== void 0) {
424
+ this.dataAccessObject.wtViewport.oversizedColumnHeaders[level] = columnHeaderHeightSetting[level];
425
+ }
426
+ } else if (!isNaN(columnHeaderHeightSetting)) {
427
+ this.dataAccessObject.wtViewport.oversizedColumnHeaders[level] = columnHeaderHeightSetting;
428
+ }
429
+ if (this.dataAccessObject.wtViewport.oversizedColumnHeaders[level] < (columnHeaderHeightSetting[level] || columnHeaderHeightSetting)) {
430
+ this.dataAccessObject.wtViewport.oversizedColumnHeaders[level] = columnHeaderHeightSetting[level] || columnHeaderHeightSetting; // eslint-disable-line max-len
431
+ }
432
+ }
433
+ }
434
+
435
+ /**
436
+ *
437
+ */
438
+ }, {
439
+ key: "adjustColumnHeaderHeights",
440
+ value: function adjustColumnHeaderHeights() {
441
+ var wtSettings = this.wtSettings;
442
+ var children = this.THEAD.childNodes;
443
+ var oversizedColumnHeaders = this.dataAccessObject.wtViewport.oversizedColumnHeaders;
444
+ var columnHeaders = wtSettings.getSetting('columnHeaders');
445
+ for (var i = 0, len = columnHeaders.length; i < len; i++) {
446
+ if (oversizedColumnHeaders[i]) {
447
+ if (!children[i] || children[i].childNodes.length === 0) {
448
+ return;
449
+ }
450
+ children[i].childNodes[0].style.height = "".concat(oversizedColumnHeaders[i], "px");
451
+ }
452
+ }
453
+ }
454
+
455
+ /**
456
+ * Resets cache of row heights. The cache should be cached for each render cycle in a case
457
+ * when new cell values have content which increases/decreases cell height.
458
+ */
459
+ }, {
460
+ key: "resetOversizedRows",
461
+ value: function resetOversizedRows() {
462
+ var wtSettings = this.wtSettings;
463
+ var wtViewport = this.dataAccessObject.wtViewport;
464
+ if (!this.isMaster && !this.is(_overlay.CLONE_BOTTOM)) {
465
+ return;
466
+ }
467
+ if (!wtSettings.getSetting('externalRowCalculator')) {
468
+ var rowsToRender = this.getRenderedRowsCount();
469
+
470
+ // Reset the oversized row cache for rendered rows
471
+ for (var visibleRowIndex = 0; visibleRowIndex < rowsToRender; visibleRowIndex++) {
472
+ var sourceRow = this.rowFilter.renderedToSource(visibleRowIndex);
473
+ if (wtViewport.oversizedRows && wtViewport.oversizedRows[sourceRow]) {
474
+ wtViewport.oversizedRows[sourceRow] = void 0;
475
+ }
476
+ }
477
+ }
478
+ }
479
+
480
+ /**
481
+ * @param {string} className The CSS class name to remove from the table cells.
482
+ */
483
+ }, {
484
+ key: "removeClassFromCells",
485
+ value: function removeClassFromCells(className) {
486
+ var nodes = this.TABLE.querySelectorAll(".".concat(className));
487
+ for (var i = 0, len = nodes.length; i < len; i++) {
488
+ (0, _element.removeClass)(nodes[i], className);
489
+ }
490
+ }
491
+
492
+ /**
493
+ * Refresh the table selection by re-rendering Selection instances connected with that instance.
494
+ *
495
+ * @param {boolean} fastDraw If fast drawing is enabled than additionally className clearing is applied.
496
+ */
497
+ }, {
498
+ key: "refreshSelections",
499
+ value: function refreshSelections(fastDraw) {
500
+ var wtSettings = this.wtSettings;
501
+ var selections = this.dataAccessObject.selections;
502
+ if (!selections) {
503
+ return;
504
+ }
505
+ var highlights = Array.from(selections);
506
+ var len = highlights.length;
507
+ if (fastDraw) {
508
+ var classesToRemove = [];
509
+ for (var i = 0; i < len; i++) {
510
+ var _highlights$i$setting = highlights[i].settings,
511
+ highlightHeaderClassName = _highlights$i$setting.highlightHeaderClassName,
512
+ highlightRowClassName = _highlights$i$setting.highlightRowClassName,
513
+ highlightColumnClassName = _highlights$i$setting.highlightColumnClassName;
514
+ var classNames = highlights[i].classNames;
515
+ var classNamesLength = classNames.length;
516
+ for (var j = 0; j < classNamesLength; j++) {
517
+ if (!classesToRemove.includes(classNames[j])) {
518
+ classesToRemove.push(classNames[j]);
519
+ }
520
+ }
521
+ if (highlightHeaderClassName && !classesToRemove.includes(highlightHeaderClassName)) {
522
+ classesToRemove.push(highlightHeaderClassName);
523
+ }
524
+ if (highlightRowClassName && !classesToRemove.includes(highlightRowClassName)) {
525
+ classesToRemove.push(highlightRowClassName);
526
+ }
527
+ if (highlightColumnClassName && !classesToRemove.includes(highlightColumnClassName)) {
528
+ classesToRemove.push(highlightColumnClassName);
529
+ }
530
+ }
531
+ var additionalClassesToRemove = wtSettings.getSetting('onBeforeRemoveCellClassNames');
532
+ if (Array.isArray(additionalClassesToRemove)) {
533
+ for (var _i = 0; _i < additionalClassesToRemove.length; _i++) {
534
+ classesToRemove.push(additionalClassesToRemove[_i]);
535
+ }
536
+ }
537
+ var classesToRemoveLength = classesToRemove.length;
538
+ for (var _i2 = 0; _i2 < classesToRemoveLength; _i2++) {
539
+ // there was no rerender, so we need to remove classNames by ourselves
540
+ this.removeClassFromCells(classesToRemove[_i2]);
541
+ }
542
+ }
543
+ for (var _i3 = 0; _i3 < len; _i3++) {
544
+ highlights[_i3].draw(this.facadeGetter(), fastDraw);
545
+ }
546
+ }
547
+
548
+ /**
549
+ * Get cell element at coords.
550
+ * Negative coords.row or coords.col are used to retrieve header cells. If there are multiple header levels, the
551
+ * negative value corresponds to the distance from the working area. For example, when there are 3 levels of column
552
+ * headers, coords.col=-1 corresponds to the most inner header element, while coords.col=-3 corresponds to the
553
+ * outmost header element.
554
+ *
555
+ * In case an element for the coords is not rendered, the method returns an error code.
556
+ * To produce the error code, the input parameters are validated in the order in which they
557
+ * are given. Thus, if both the row and the column coords are out of the rendered bounds,
558
+ * the method returns the error code for the row.
559
+ *
560
+ * @param {CellCoords} coords The cell coordinates.
561
+ * @returns {HTMLElement|number} HTMLElement on success or Number one of the exit codes on error:
562
+ * -1 row before viewport
563
+ * -2 row after viewport
564
+ * -3 column before viewport
565
+ * -4 column after viewport.
566
+ */
567
+ }, {
568
+ key: "getCell",
569
+ value: function getCell(coords) {
570
+ var row = coords.row;
571
+ var column = coords.col;
572
+ var hookResult = this.wtSettings.getSetting('onModifyGetCellCoords', row, column);
573
+ if (hookResult && Array.isArray(hookResult)) {
574
+ var _hookResult = _slicedToArray(hookResult, 2);
575
+ row = _hookResult[0];
576
+ column = _hookResult[1];
577
+ }
578
+ if (this.isRowBeforeRenderedRows(row)) {
579
+ // row before rendered rows
580
+ return -1;
581
+ } else if (this.isRowAfterRenderedRows(row)) {
582
+ // row after rendered rows
583
+ return -2;
584
+ } else if (this.isColumnBeforeRenderedColumns(column)) {
585
+ // column before rendered columns
586
+ return -3;
587
+ } else if (this.isColumnAfterRenderedColumns(column)) {
588
+ // column after rendered columns
589
+ return -4;
590
+ }
591
+ var TR;
592
+ if (row < 0) {
593
+ TR = this.THEAD.childNodes[this.rowFilter.sourceRowToVisibleColHeadedRow(row)];
594
+ } else {
595
+ TR = this.TBODY.childNodes[this.rowFilter.sourceToRendered(row)];
596
+ }
597
+ if (!TR && row >= 0) {
598
+ throw new Error('TR was expected to be rendered but is not');
599
+ }
600
+ var TD = TR.childNodes[this.columnFilter.sourceColumnToVisibleRowHeadedColumn(column)];
601
+ if (!TD && column >= 0) {
602
+ throw new Error('TD or TH was expected to be rendered but is not');
603
+ }
604
+ return TD;
605
+ }
606
+
607
+ /**
608
+ * GetColumnHeader.
609
+ *
610
+ * @param {number} col Column index.
611
+ * @param {number} [level=0] Header level (0 = most distant to the table).
612
+ * @returns {object} HTMLElement on success or undefined on error.
613
+ */
614
+ }, {
615
+ key: "getColumnHeader",
616
+ value: function getColumnHeader(col) {
617
+ var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
618
+ var TR = this.THEAD.childNodes[level];
619
+ return TR === null || TR === void 0 ? void 0 : TR.childNodes[this.columnFilter.sourceColumnToVisibleRowHeadedColumn(col)];
620
+ }
621
+
622
+ /**
623
+ * Gets all columns headers (TH elements) from the table.
624
+ *
625
+ * @param {number} column A source column index.
626
+ * @returns {HTMLTableCellElement[]}
627
+ */
628
+ }, {
629
+ key: "getColumnHeaders",
630
+ value: function getColumnHeaders(column) {
631
+ var THs = [];
632
+ var visibleColumn = this.columnFilter.sourceColumnToVisibleRowHeadedColumn(column);
633
+ this.THEAD.childNodes.forEach(function (TR) {
634
+ var TH = TR.childNodes[visibleColumn];
635
+ if (TH) {
636
+ THs.push(TH);
637
+ }
638
+ });
639
+ return THs;
640
+ }
641
+
642
+ /**
643
+ * GetRowHeader.
644
+ *
645
+ * @param {number} row Row index.
646
+ * @param {number} [level=0] Header level (0 = most distant to the table).
647
+ * @returns {HTMLElement} HTMLElement on success or Number one of the exit codes on error: `null table doesn't have row headers`.
648
+ */
649
+ }, {
650
+ key: "getRowHeader",
651
+ value: function getRowHeader(row) {
652
+ var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
653
+ if (this.columnFilter.sourceColumnToVisibleRowHeadedColumn(0) === 0) {
654
+ return;
655
+ }
656
+ var rowHeadersCount = this.wtSettings.getSetting('rowHeaders').length;
657
+ if (level >= rowHeadersCount) {
658
+ return;
659
+ }
660
+ var TR = this.TBODY.childNodes[this.rowFilter.sourceToRendered(row)];
661
+ return TR === null || TR === void 0 ? void 0 : TR.childNodes[level];
662
+ }
663
+
664
+ /**
665
+ * Gets all rows headers (TH elements) from the table.
666
+ *
667
+ * @param {number} row A source row index.
668
+ * @returns {HTMLTableCellElement[]}
669
+ */
670
+ }, {
671
+ key: "getRowHeaders",
672
+ value: function getRowHeaders(row) {
673
+ if (this.columnFilter.sourceColumnToVisibleRowHeadedColumn(0) === 0) {
674
+ return [];
675
+ }
676
+ var THs = [];
677
+ var rowHeadersCount = this.wtSettings.getSetting('rowHeaders').length;
678
+ for (var renderedRowIndex = 0; renderedRowIndex < rowHeadersCount; renderedRowIndex++) {
679
+ var TR = this.TBODY.childNodes[this.rowFilter.sourceToRendered(row)];
680
+ var TH = TR === null || TR === void 0 ? void 0 : TR.childNodes[renderedRowIndex];
681
+ if (TH) {
682
+ THs.push(TH);
683
+ }
684
+ }
685
+ return THs;
686
+ }
687
+
688
+ /**
689
+ * Returns cell coords object for a given TD (or a child element of a TD element).
690
+ *
691
+ * @param {HTMLTableCellElement} TD A cell DOM element (or a child of one).
692
+ * @returns {CellCoords|null} The coordinates of the provided TD element (or the closest TD element) or null, if the provided element is not applicable.
693
+ */
694
+ }, {
695
+ key: "getCoords",
696
+ value: function getCoords(TD) {
697
+ var cellElement = TD;
698
+ if (cellElement.nodeName !== 'TD' && cellElement.nodeName !== 'TH') {
699
+ cellElement = (0, _element.closest)(cellElement, ['TD', 'TH']);
700
+ }
701
+ if (cellElement === null) {
702
+ return null;
703
+ }
704
+ var TR = cellElement.parentNode;
705
+ var CONTAINER = TR.parentNode;
706
+ var row = (0, _element.index)(TR);
707
+ var col = cellElement.cellIndex;
708
+ if ((0, _element.overlayContainsElement)(_overlay.CLONE_TOP_INLINE_START_CORNER, cellElement, this.wtRootElement) || (0, _element.overlayContainsElement)(_overlay.CLONE_TOP, cellElement, this.wtRootElement)) {
709
+ if (CONTAINER.nodeName === 'THEAD') {
710
+ row -= CONTAINER.childNodes.length;
711
+ }
712
+ } else if ((0, _element.overlayContainsElement)(_overlay.CLONE_BOTTOM_INLINE_START_CORNER, cellElement, this.wtRootElement) || (0, _element.overlayContainsElement)(_overlay.CLONE_BOTTOM, cellElement, this.wtRootElement)) {
713
+ var totalRows = this.wtSettings.getSetting('totalRows');
714
+ row = totalRows - CONTAINER.childNodes.length + row;
715
+ } else if (CONTAINER === this.THEAD) {
716
+ row = this.rowFilter.visibleColHeadedRowToSourceRow(row);
717
+ } else {
718
+ row = this.rowFilter.renderedToSource(row);
719
+ }
720
+ if ((0, _element.overlayContainsElement)(_overlay.CLONE_TOP_INLINE_START_CORNER, cellElement, this.wtRootElement) || (0, _element.overlayContainsElement)(_overlay.CLONE_INLINE_START, cellElement, this.wtRootElement) || (0, _element.overlayContainsElement)(_overlay.CLONE_BOTTOM_INLINE_START_CORNER, cellElement, this.wtRootElement)) {
721
+ col = this.columnFilter.offsettedTH(col);
722
+ } else {
723
+ col = this.columnFilter.visibleRowHeadedColumnToSourceColumn(col);
724
+ }
725
+ return this.wot.createCellCoords(row, col);
726
+ }
727
+
728
+ /**
729
+ * Check if any of the rendered rows is higher than expected, and if so, cache them.
730
+ */
731
+ }, {
732
+ key: "markOversizedRows",
733
+ value: function markOversizedRows() {
734
+ if (this.wtSettings.getSetting('externalRowCalculator')) {
735
+ return;
736
+ }
737
+ var rowCount = this.TBODY.childNodes.length;
738
+ var expectedTableHeight = rowCount * this.wtSettings.getSetting('defaultRowHeight');
739
+ var actualTableHeight = (0, _element.innerHeight)(this.TBODY) - 1;
740
+ var previousRowHeight;
741
+ var rowInnerHeight;
742
+ var sourceRowIndex;
743
+ var currentTr;
744
+ var rowHeader;
745
+ if (expectedTableHeight === actualTableHeight && !this.wtSettings.getSetting('fixedRowsBottom')) {
746
+ // If the actual table height equals rowCount * default single row height, no row is oversized -> no need to iterate over them
747
+ return;
748
+ }
749
+ while (rowCount) {
750
+ rowCount -= 1;
751
+ sourceRowIndex = this.rowFilter.renderedToSource(rowCount);
752
+ previousRowHeight = this.getRowHeight(sourceRowIndex);
753
+ currentTr = this.getTrForRow(sourceRowIndex);
754
+ rowHeader = currentTr.querySelector('th');
755
+ if (rowHeader) {
756
+ rowInnerHeight = (0, _element.innerHeight)(rowHeader);
757
+ } else {
758
+ rowInnerHeight = (0, _element.innerHeight)(currentTr) - 1;
759
+ }
760
+ if (!previousRowHeight && this.wtSettings.getSetting('defaultRowHeight') < rowInnerHeight || previousRowHeight < rowInnerHeight) {
761
+ rowInnerHeight += 1;
762
+ this.dataAccessObject.wtViewport.oversizedRows[sourceRowIndex] = rowInnerHeight;
763
+ }
764
+ }
765
+ }
766
+
767
+ /**
768
+ * @param {number} row The visual row index.
769
+ * @returns {HTMLTableElement}
770
+ */
771
+ }, {
772
+ key: "getTrForRow",
773
+ value: function getTrForRow(row) {
774
+ return this.TBODY.childNodes[this.rowFilter.sourceToRendered(row)];
775
+ }
776
+
777
+ /**
778
+ * Checks if the column index (negative value from -1 to N) is rendered.
779
+ *
780
+ * @param {number} column The column index (negative value from -1 to N).
781
+ * @returns {boolean}
782
+ */
783
+ }, {
784
+ key: "isColumnHeaderRendered",
785
+ value: function isColumnHeaderRendered(column) {
786
+ if (column >= 0) {
787
+ return false;
788
+ }
789
+ var rowHeaders = this.wtSettings.getSetting('rowHeaders');
790
+ var rowHeadersCount = rowHeaders.length;
791
+ return Math.abs(column) <= rowHeadersCount;
792
+ }
793
+
794
+ /**
795
+ * Checks if the row index (negative value from -1 to N) is rendered.
796
+ *
797
+ * @param {number} row The row index (negative value from -1 to N).
798
+ * @returns {boolean}
799
+ */
800
+ }, {
801
+ key: "isRowHeaderRendered",
802
+ value: function isRowHeaderRendered(row) {
803
+ if (row >= 0) {
804
+ return false;
805
+ }
806
+ var columnHeaders = this.wtSettings.getSetting('columnHeaders');
807
+ var columnHeadersCount = columnHeaders.length;
808
+ return Math.abs(row) <= columnHeadersCount;
809
+ }
810
+
811
+ /* eslint-disable jsdoc/require-description-complete-sentence */
812
+ /**
813
+ * Check if the given row index is lower than the index of the first row that
814
+ * is currently rendered and return TRUE in that case, or FALSE otherwise.
815
+ *
816
+ * Negative row index is used to check the columns' headers.
817
+ *
818
+ * Headers
819
+ * +--------------+ │
820
+ * -3 │ │ │ │ │
821
+ * +--------------+ │
822
+ * -2 │ │ │ │ │ TRUE
823
+ * +--------------+ │
824
+ * -1 │ │ │ │ │
825
+ * Cells +==================+ │
826
+ * 0 ┇ ┇ ┇ ┇ <--- For fixedRowsTop: 1 │
827
+ * +--------------+ the master overlay do ---+ first rendered row (index 1)
828
+ * 1 │ A2 │ B2 │ C2 │ not render the first row. │
829
+ * +--------------+ │ FALSE
830
+ * 2 │ A3 │ B3 │ C3 │ │
831
+ * +--------------+ ---+ last rendered row
832
+ * │
833
+ * │ FALSE
834
+ *
835
+ * @param {number} row The visual row index.
836
+ * @memberof Table#
837
+ * @function isRowBeforeRenderedRows
838
+ * @returns {boolean}
839
+ */
840
+ /* eslint-enable jsdoc/require-description-complete-sentence */
841
+ }, {
842
+ key: "isRowBeforeRenderedRows",
843
+ value: function isRowBeforeRenderedRows(row) {
844
+ var first = this.getFirstRenderedRow();
845
+
846
+ // Check the headers only in case when the first rendered row is -1 or 0.
847
+ // This is an indication that the overlay is placed on the most top position.
848
+ if (row < 0 && first <= 0) {
849
+ return !this.isRowHeaderRendered(row);
850
+ }
851
+ return row < first;
852
+ }
853
+
854
+ /* eslint-disable jsdoc/require-description-complete-sentence */
855
+ /**
856
+ * Check if the given column index is greater than the index of the last column that
857
+ * is currently rendered and return TRUE in that case, or FALSE otherwise.
858
+ *
859
+ * The negative row index is used to check the columns' headers. However,
860
+ * keep in mind that for negative indexes, the method always returns FALSE as
861
+ * it is not possible to render headers partially. The "after" index can not be
862
+ * lower than -1.
863
+ *
864
+ * Headers
865
+ * +--------------+ │
866
+ * -3 │ │ │ │ │
867
+ * +--------------+ │
868
+ * -2 │ │ │ │ │ FALSE
869
+ * +--------------+ │
870
+ * -1 │ │ │ │ │
871
+ * Cells +==================+ │
872
+ * 0 ┇ ┇ ┇ ┇ <--- For fixedRowsTop: 1 │
873
+ * +--------------+ the master overlay do ---+ first rendered row (index 1)
874
+ * 1 │ A2 │ B2 │ C2 │ not render the first rows │
875
+ * +--------------+ │ FALSE
876
+ * 2 │ A3 │ B3 │ C3 │ │
877
+ * +--------------+ ---+ last rendered row
878
+ * │
879
+ * │ TRUE
880
+ *
881
+ * @param {number} row The visual row index.
882
+ * @memberof Table#
883
+ * @function isRowAfterRenderedRows
884
+ * @returns {boolean}
885
+ */
886
+ /* eslint-enable jsdoc/require-description-complete-sentence */
887
+ }, {
888
+ key: "isRowAfterRenderedRows",
889
+ value: function isRowAfterRenderedRows(row) {
890
+ return row > this.getLastRenderedRow();
891
+ }
892
+
893
+ /* eslint-disable jsdoc/require-description-complete-sentence */
894
+ /**
895
+ * Check if the given column index is lower than the index of the first column that
896
+ * is currently rendered and return TRUE in that case, or FALSE otherwise.
897
+ *
898
+ * Negative column index is used to check the rows' headers.
899
+ *
900
+ * For fixedColumnsStart: 1 the master overlay
901
+ * do not render this first columns.
902
+ * Headers -3 -2 -1 |
903
+ * +----+----+----║┄ ┄ +------+------+
904
+ * │ │ │ ║ │ B1 │ C1 │
905
+ * +--------------║┄ ┄ --------------│
906
+ * │ │ │ ║ │ B2 │ C2 │
907
+ * +--------------║┄ ┄ --------------│
908
+ * │ │ │ ║ │ B3 │ C3 │
909
+ * +----+----+----║┄ ┄ +------+------+
910
+ * ╷ ╷
911
+ * -------------------------+-------------+---------------->
912
+ * TRUE first FALSE last FALSE
913
+ * rendered rendered
914
+ * column column
915
+ *
916
+ * @param {number} column The visual column index.
917
+ * @memberof Table#
918
+ * @function isColumnBeforeRenderedColumns
919
+ * @returns {boolean}
920
+ */
921
+ /* eslint-enable jsdoc/require-description-complete-sentence */
922
+ }, {
923
+ key: "isColumnBeforeRenderedColumns",
924
+ value: function isColumnBeforeRenderedColumns(column) {
925
+ var first = this.getFirstRenderedColumn();
926
+
927
+ // Check the headers only in case when the first rendered column is -1 or 0.
928
+ // This is an indication that the overlay is placed on the most left position.
929
+ if (column < 0 && first <= 0) {
930
+ return !this.isColumnHeaderRendered(column);
931
+ }
932
+ return column < first;
933
+ }
934
+
935
+ /* eslint-disable jsdoc/require-description-complete-sentence */
936
+ /**
937
+ * Check if the given column index is greater than the index of the last column that
938
+ * is currently rendered and return TRUE in that case, or FALSE otherwise.
939
+ *
940
+ * The negative column index is used to check the rows' headers. However,
941
+ * keep in mind that for negative indexes, the method always returns FALSE as
942
+ * it is not possible to render headers partially. The "after" index can not be
943
+ * lower than -1.
944
+ *
945
+ * For fixedColumnsStart: 1 the master overlay
946
+ * do not render this first columns.
947
+ * Headers -3 -2 -1 |
948
+ * +----+----+----║┄ ┄ +------+------+
949
+ * │ │ │ ║ │ B1 │ C1 │
950
+ * +--------------║┄ ┄ --------------│
951
+ * │ │ │ ║ │ B2 │ C2 │
952
+ * +--------------║┄ ┄ --------------│
953
+ * │ │ │ ║ │ B3 │ C3 │
954
+ * +----+----+----║┄ ┄ +------+------+
955
+ * ╷ ╷
956
+ * -------------------------+-------------+---------------->
957
+ * FALSE first FALSE last TRUE
958
+ * rendered rendered
959
+ * column column
960
+ *
961
+ * @param {number} column The visual column index.
962
+ * @memberof Table#
963
+ * @function isColumnAfterRenderedColumns
964
+ * @returns {boolean}
965
+ */
966
+ /* eslint-enable jsdoc/require-description-complete-sentence */
967
+ }, {
968
+ key: "isColumnAfterRenderedColumns",
969
+ value: function isColumnAfterRenderedColumns(column) {
970
+ return this.columnFilter && column > this.getLastRenderedColumn();
971
+ }
972
+ }, {
973
+ key: "isColumnAfterViewport",
974
+ value: function isColumnAfterViewport(column) {
975
+ return this.columnFilter && column > this.getLastVisibleColumn();
976
+ }
977
+ }, {
978
+ key: "isRowAfterViewport",
979
+ value: function isRowAfterViewport(row) {
980
+ return this.rowFilter && row > this.getLastVisibleRow();
981
+ }
982
+ }, {
983
+ key: "isColumnBeforeViewport",
984
+ value: function isColumnBeforeViewport(column) {
985
+ return this.columnFilter && this.columnFilter.sourceToRendered(column) < 0 && column >= 0;
986
+ }
987
+ }, {
988
+ key: "isLastRowFullyVisible",
989
+ value: function isLastRowFullyVisible() {
990
+ return this.getLastVisibleRow() === this.getLastRenderedRow();
991
+ }
992
+ }, {
993
+ key: "isLastColumnFullyVisible",
994
+ value: function isLastColumnFullyVisible() {
995
+ return this.getLastVisibleColumn() === this.getLastRenderedColumn();
996
+ }
997
+ }, {
998
+ key: "allRowsInViewport",
999
+ value: function allRowsInViewport() {
1000
+ return this.wtSettings.getSetting('totalRows') === this.getVisibleRowsCount();
1001
+ }
1002
+ }, {
1003
+ key: "allColumnsInViewport",
1004
+ value: function allColumnsInViewport() {
1005
+ return this.wtSettings.getSetting('totalColumns') === this.getVisibleColumnsCount();
1006
+ }
1007
+
1008
+ /**
1009
+ * Checks if any of the row's cells content exceeds its initial height, and if so, returns the oversized height.
1010
+ *
1011
+ * @param {number} sourceRow The physical row index.
1012
+ * @returns {number}
1013
+ */
1014
+ }, {
1015
+ key: "getRowHeight",
1016
+ value: function getRowHeight(sourceRow) {
1017
+ return this.rowUtils.getHeight(sourceRow);
1018
+ }
1019
+
1020
+ /**
1021
+ * @param {number} level The column level.
1022
+ * @returns {number}
1023
+ */
1024
+ }, {
1025
+ key: "getColumnHeaderHeight",
1026
+ value: function getColumnHeaderHeight(level) {
1027
+ return this.columnUtils.getHeaderHeight(level);
1028
+ }
1029
+
1030
+ /**
1031
+ * @param {number} sourceColumn The physical column index.
1032
+ * @returns {number}
1033
+ */
1034
+ }, {
1035
+ key: "getColumnWidth",
1036
+ value: function getColumnWidth(sourceColumn) {
1037
+ return this.columnUtils.getWidth(sourceColumn);
1038
+ }
1039
+
1040
+ /**
1041
+ * @param {number} sourceColumn The physical column index.
1042
+ * @returns {number}
1043
+ */
1044
+ }, {
1045
+ key: "getStretchedColumnWidth",
1046
+ value: function getStretchedColumnWidth(sourceColumn) {
1047
+ return this.columnUtils.getStretchedColumnWidth(sourceColumn);
1048
+ }
1049
+
1050
+ /**
1051
+ * Checks if the table has defined size. It returns `true` when the table has width and height
1052
+ * set bigger than `0px`.
1053
+ *
1054
+ * @returns {boolean}
1055
+ */
1056
+ }, {
1057
+ key: "hasDefinedSize",
1058
+ value: function hasDefinedSize() {
1059
+ return this.hasTableHeight && this.hasTableWidth;
1060
+ }
1061
+
1062
+ /**
1063
+ * Gets table's width. The returned width is the width of the rendered cells that fit in the
1064
+ * current viewport. The value may change depends on the viewport position (scroll position).
1065
+ *
1066
+ * @returns {number}
1067
+ */
1068
+ }, {
1069
+ key: "getWidth",
1070
+ value: function getWidth() {
1071
+ return (0, _element.outerWidth)(this.TABLE);
1072
+ }
1073
+
1074
+ /**
1075
+ * Gets table's height. The returned height is the height of the rendered cells that fit in the
1076
+ * current viewport. The value may change depends on the viewport position (scroll position).
1077
+ *
1078
+ * @returns {number}
1079
+ */
1080
+ }, {
1081
+ key: "getHeight",
1082
+ value: function getHeight() {
1083
+ return (0, _element.outerHeight)(this.TABLE);
1084
+ }
1085
+
1086
+ /**
1087
+ * Gets table's total width. The returned width is the width of all rendered cells (including headers)
1088
+ * that can be displayed in the table.
1089
+ *
1090
+ * @returns {number}
1091
+ */
1092
+ }, {
1093
+ key: "getTotalWidth",
1094
+ value: function getTotalWidth() {
1095
+ var width = (0, _element.outerWidth)(this.hider);
1096
+
1097
+ // when the overlay's table does not have any cells the hider returns 0, get then width from the table element
1098
+ return width !== 0 ? width : this.getWidth();
1099
+ }
1100
+
1101
+ /**
1102
+ * Gets table's total height. The returned height is the height of all rendered cells (including headers)
1103
+ * that can be displayed in the table.
1104
+ *
1105
+ * @returns {number}
1106
+ */
1107
+ }, {
1108
+ key: "getTotalHeight",
1109
+ value: function getTotalHeight() {
1110
+ var height = (0, _element.outerHeight)(this.hider);
1111
+
1112
+ // when the overlay's table does not have any cells the hider returns 0, get then height from the table element
1113
+ return height !== 0 ? height : this.getHeight();
1114
+ }
1115
+
1116
+ /**
1117
+ * Checks if the table is visible. It returns `true` when the holder element (or its parents)
1118
+ * has CSS 'display' property different than 'none'.
1119
+ *
1120
+ * @returns {boolean}
1121
+ */
1122
+ }, {
1123
+ key: "isVisible",
1124
+ value: function isVisible() {
1125
+ return (0, _element.isVisible)(this.TABLE);
1126
+ }
1127
+
1128
+ /**
1129
+ * Modify row header widths provided by user in class contructor.
1130
+ *
1131
+ * @private
1132
+ * @param {Function} rowHeaderWidthFactory The function which can provide default width values for rows..
1133
+ * @returns {number}
1134
+ */
1135
+ }, {
1136
+ key: "_modifyRowHeaderWidth",
1137
+ value: function _modifyRowHeaderWidth(rowHeaderWidthFactory) {
1138
+ var widths = (0, _function.isFunction)(rowHeaderWidthFactory) ? rowHeaderWidthFactory() : null;
1139
+ if (Array.isArray(widths)) {
1140
+ widths = _toConsumableArray(widths);
1141
+ widths[widths.length - 1] = this._correctRowHeaderWidth(widths[widths.length - 1]);
1142
+ } else {
1143
+ widths = this._correctRowHeaderWidth(widths);
1144
+ }
1145
+ return widths;
1146
+ }
1147
+
1148
+ /**
1149
+ * Correct row header width if necessary.
1150
+ *
1151
+ * @private
1152
+ * @param {number} width The width to process.
1153
+ * @returns {number}
1154
+ */
1155
+ }, {
1156
+ key: "_correctRowHeaderWidth",
1157
+ value: function _correctRowHeaderWidth(width) {
1158
+ var rowHeaderWidth = width;
1159
+ if (typeof width !== 'number') {
1160
+ rowHeaderWidth = this.wtSettings.getSetting('defaultColumnWidth');
1161
+ }
1162
+ if (this.correctHeaderWidth) {
1163
+ rowHeaderWidth += 1;
1164
+ }
1165
+ return rowHeaderWidth;
1166
+ }
1167
+ }]);
1168
+ return Table;
1169
+ }();
1170
+ var _default = Table;
1171
+ exports.default = _default;