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