handsontable 12.1.2 → 12.2.0

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