handsontable 12.1.3 → 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 (914) 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 +34 -151
  8. package/3rdparty/walkontable/src/border.mjs +36 -138
  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 +63 -230
  97. package/3rdparty/walkontable/src/table.mjs +73 -219
  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 +76 -1
  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 +5 -1
  145. package/core.js +505 -973
  146. package/core.mjs +510 -920
  147. package/dataMap/dataMap.js +106 -210
  148. package/dataMap/dataMap.mjs +106 -184
  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 +10 -61
  155. package/dataMap/metaManager/lazyFactoryMap.mjs +10 -45
  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 +86 -179
  165. package/dataMap/metaManager/metaSchema.mjs +86 -170
  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 +8478 -20043
  177. package/dist/handsontable.full.min.css +2 -2
  178. package/dist/handsontable.full.min.js +55 -55
  179. package/dist/handsontable.js +7995 -19560
  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 +36 -105
  203. package/editorManager.mjs +36 -85
  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 +44 -154
  208. package/editors/baseEditor/baseEditor.mjs +44 -128
  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 +20 -96
  214. package/editors/dateEditor/dateEditor.mjs +20 -75
  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 -8
  236. package/editors/textEditor/caretPositioner.mjs +10 -18
  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 +66 -256
  257. package/helpers/dom/element.mjs +73 -192
  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 -64
  265. package/helpers/mixed.mjs +15 -50
  266. package/helpers/number.js +4 -46
  267. package/helpers/number.mjs +4 -23
  268. package/helpers/object.js +15 -68
  269. package/helpers/object.mjs +21 -50
  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 -22
  275. package/helpers/unicode.mjs +17 -13
  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 -3
  378. package/pluginHooks.js +271 -96
  379. package/pluginHooks.mjs +270 -83
  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 +20 -89
  392. package/plugins/base/base.mjs +20 -61
  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 +1 -7
  422. package/plugins/columnSorting/sortService/engine.mjs +1 -3
  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 +52 -118
  429. package/plugins/columnSummary/columnSummary.mjs +52 -93
  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 +0 -1
  434. package/plugins/comments/commentEditor.js +16 -28
  435. package/plugins/comments/commentEditor.mjs +21 -32
  436. package/plugins/comments/comments.js +92 -175
  437. package/plugins/comments/comments.mjs +92 -149
  438. package/plugins/comments/displaySwitch.js +6 -23
  439. package/plugins/comments/displaySwitch.mjs +6 -18
  440. package/plugins/comments/index.js +0 -2
  441. package/plugins/contextMenu/commandExecutor.js +9 -36
  442. package/plugins/contextMenu/commandExecutor.mjs +14 -39
  443. package/plugins/contextMenu/contextMenu.js +21 -104
  444. package/plugins/contextMenu/contextMenu.mjs +21 -74
  445. package/plugins/contextMenu/cursor.js +6 -20
  446. package/plugins/contextMenu/cursor.mjs +11 -24
  447. package/plugins/contextMenu/index.js +0 -2
  448. package/plugins/contextMenu/itemsFactory.js +14 -43
  449. package/plugins/contextMenu/itemsFactory.mjs +19 -44
  450. package/plugins/contextMenu/menu.js +57 -177
  451. package/plugins/contextMenu/menu.mjs +57 -149
  452. package/plugins/contextMenu/predefinedItems/alignment.js +1 -55
  453. package/plugins/contextMenu/predefinedItems/alignment.mjs +1 -37
  454. package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -20
  455. package/plugins/contextMenu/predefinedItems/clearColumn.mjs +1 -4
  456. package/plugins/contextMenu/predefinedItems/columnLeft.js +6 -43
  457. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +6 -26
  458. package/plugins/contextMenu/predefinedItems/columnRight.js +4 -42
  459. package/plugins/contextMenu/predefinedItems/columnRight.mjs +4 -25
  460. package/plugins/contextMenu/predefinedItems/noItems.js +1 -4
  461. package/plugins/contextMenu/predefinedItems/noItems.mjs +1 -1
  462. package/plugins/contextMenu/predefinedItems/readOnly.js +1 -25
  463. package/plugins/contextMenu/predefinedItems/readOnly.mjs +1 -8
  464. package/plugins/contextMenu/predefinedItems/redo.js +1 -16
  465. package/plugins/contextMenu/predefinedItems/redo.mjs +1 -1
  466. package/plugins/contextMenu/predefinedItems/removeColumn.js +3 -38
  467. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +3 -18
  468. package/plugins/contextMenu/predefinedItems/removeRow.js +3 -37
  469. package/plugins/contextMenu/predefinedItems/removeRow.mjs +3 -17
  470. package/plugins/contextMenu/predefinedItems/rowAbove.js +6 -35
  471. package/plugins/contextMenu/predefinedItems/rowAbove.mjs +6 -19
  472. package/plugins/contextMenu/predefinedItems/rowBelow.js +4 -42
  473. package/plugins/contextMenu/predefinedItems/rowBelow.mjs +4 -25
  474. package/plugins/contextMenu/predefinedItems/separator.js +1 -2
  475. package/plugins/contextMenu/predefinedItems/separator.mjs +1 -1
  476. package/plugins/contextMenu/predefinedItems/undo.js +1 -16
  477. package/plugins/contextMenu/predefinedItems/undo.mjs +1 -1
  478. package/plugins/contextMenu/predefinedItems.js +2 -48
  479. package/plugins/contextMenu/predefinedItems.mjs +2 -7
  480. package/plugins/contextMenu/utils.js +17 -57
  481. package/plugins/contextMenu/utils.mjs +21 -39
  482. package/plugins/copyPaste/clipboardData.js +1 -10
  483. package/plugins/copyPaste/clipboardData.mjs +1 -9
  484. package/plugins/copyPaste/contextMenuItem/copy.js +2 -17
  485. package/plugins/copyPaste/contextMenuItem/copy.mjs +6 -9
  486. package/plugins/copyPaste/contextMenuItem/cut.js +2 -17
  487. package/plugins/copyPaste/contextMenuItem/cut.mjs +6 -9
  488. package/plugins/copyPaste/copyPaste.js +51 -185
  489. package/plugins/copyPaste/copyPaste.mjs +51 -144
  490. package/plugins/copyPaste/focusableElement.js +12 -56
  491. package/plugins/copyPaste/focusableElement.mjs +15 -49
  492. package/plugins/copyPaste/index.js +0 -2
  493. package/plugins/copyPaste/pasteEvent.js +1 -10
  494. package/plugins/copyPaste/pasteEvent.mjs +3 -10
  495. package/plugins/customBorders/contextMenuItem/bottom.js +0 -17
  496. package/plugins/customBorders/contextMenuItem/bottom.mjs +4 -8
  497. package/plugins/customBorders/contextMenuItem/index.js +0 -11
  498. package/plugins/customBorders/contextMenuItem/left.js +0 -17
  499. package/plugins/customBorders/contextMenuItem/left.mjs +4 -8
  500. package/plugins/customBorders/contextMenuItem/noBorders.js +0 -15
  501. package/plugins/customBorders/contextMenuItem/noBorders.mjs +4 -6
  502. package/plugins/customBorders/contextMenuItem/right.js +0 -17
  503. package/plugins/customBorders/contextMenuItem/right.mjs +4 -8
  504. package/plugins/customBorders/contextMenuItem/top.js +0 -17
  505. package/plugins/customBorders/contextMenuItem/top.mjs +4 -8
  506. package/plugins/customBorders/customBorders.js +52 -181
  507. package/plugins/customBorders/customBorders.mjs +52 -147
  508. package/plugins/customBorders/index.js +0 -2
  509. package/plugins/customBorders/utils.js +13 -52
  510. package/plugins/customBorders/utils.mjs +20 -39
  511. package/plugins/dragToScroll/dragToScroll.js +17 -74
  512. package/plugins/dragToScroll/dragToScroll.mjs +17 -55
  513. package/plugins/dragToScroll/index.js +0 -2
  514. package/plugins/dropdownMenu/dropdownMenu.js +43 -126
  515. package/plugins/dropdownMenu/dropdownMenu.mjs +43 -95
  516. package/plugins/dropdownMenu/index.js +0 -2
  517. package/plugins/exportFile/dataProvider.js +24 -69
  518. package/plugins/exportFile/dataProvider.mjs +26 -60
  519. package/plugins/exportFile/exportFile.js +48 -58
  520. package/plugins/exportFile/exportFile.mjs +48 -36
  521. package/plugins/exportFile/index.js +0 -2
  522. package/plugins/exportFile/typeFactory.js +1 -11
  523. package/plugins/exportFile/typeFactory.mjs +1 -4
  524. package/plugins/exportFile/types/_base.js +2 -16
  525. package/plugins/exportFile/types/_base.mjs +4 -16
  526. package/plugins/exportFile/types/csv.js +2 -50
  527. package/plugins/exportFile/types/csv.mjs +2 -29
  528. package/plugins/filters/component/_base.js +12 -32
  529. package/plugins/filters/component/_base.mjs +15 -30
  530. package/plugins/filters/component/actionBar.js +6 -55
  531. package/plugins/filters/component/actionBar.mjs +9 -38
  532. package/plugins/filters/component/condition.js +15 -94
  533. package/plugins/filters/component/condition.mjs +18 -67
  534. package/plugins/filters/component/operators.js +10 -68
  535. package/plugins/filters/component/operators.mjs +10 -45
  536. package/plugins/filters/component/value.js +16 -97
  537. package/plugins/filters/component/value.mjs +19 -70
  538. package/plugins/filters/condition/beginsWith.js +2 -32
  539. package/plugins/filters/condition/beginsWith.mjs +2 -10
  540. package/plugins/filters/condition/between.js +3 -37
  541. package/plugins/filters/condition/between.mjs +3 -15
  542. package/plugins/filters/condition/byValue.js +3 -27
  543. package/plugins/filters/condition/byValue.mjs +3 -12
  544. package/plugins/filters/condition/contains.js +2 -32
  545. package/plugins/filters/condition/contains.mjs +2 -10
  546. package/plugins/filters/condition/date/after.js +2 -34
  547. package/plugins/filters/condition/date/after.mjs +2 -12
  548. package/plugins/filters/condition/date/before.js +2 -34
  549. package/plugins/filters/condition/date/before.mjs +2 -12
  550. package/plugins/filters/condition/date/today.js +1 -22
  551. package/plugins/filters/condition/date/today.mjs +1 -3
  552. package/plugins/filters/condition/date/tomorrow.js +1 -22
  553. package/plugins/filters/condition/date/tomorrow.mjs +1 -3
  554. package/plugins/filters/condition/date/yesterday.js +1 -22
  555. package/plugins/filters/condition/date/yesterday.mjs +1 -3
  556. package/plugins/filters/condition/empty.js +1 -19
  557. package/plugins/filters/condition/empty.mjs +1 -1
  558. package/plugins/filters/condition/endsWith.js +2 -32
  559. package/plugins/filters/condition/endsWith.mjs +2 -10
  560. package/plugins/filters/condition/equal.js +2 -31
  561. package/plugins/filters/condition/equal.mjs +2 -10
  562. package/plugins/filters/condition/false.js +1 -5
  563. package/plugins/filters/condition/false.mjs +1 -1
  564. package/plugins/filters/condition/greaterThan.js +2 -32
  565. package/plugins/filters/condition/greaterThan.mjs +2 -12
  566. package/plugins/filters/condition/greaterThanOrEqual.js +2 -32
  567. package/plugins/filters/condition/greaterThanOrEqual.mjs +2 -12
  568. package/plugins/filters/condition/lessThan.js +2 -32
  569. package/plugins/filters/condition/lessThan.mjs +2 -12
  570. package/plugins/filters/condition/lessThanOrEqual.js +2 -32
  571. package/plugins/filters/condition/lessThanOrEqual.mjs +2 -12
  572. package/plugins/filters/condition/none.js +1 -18
  573. package/plugins/filters/condition/none.mjs +1 -1
  574. package/plugins/filters/condition/notBetween.js +1 -19
  575. package/plugins/filters/condition/notBetween.mjs +1 -1
  576. package/plugins/filters/condition/notContains.js +1 -19
  577. package/plugins/filters/condition/notContains.mjs +1 -1
  578. package/plugins/filters/condition/notEmpty.js +1 -19
  579. package/plugins/filters/condition/notEmpty.mjs +1 -1
  580. package/plugins/filters/condition/notEqual.js +1 -19
  581. package/plugins/filters/condition/notEqual.mjs +1 -1
  582. package/plugins/filters/condition/true.js +1 -5
  583. package/plugins/filters/condition/true.mjs +1 -1
  584. package/plugins/filters/conditionCollection.js +21 -80
  585. package/plugins/filters/conditionCollection.mjs +21 -57
  586. package/plugins/filters/conditionRegisterer.js +5 -14
  587. package/plugins/filters/conditionRegisterer.mjs +5 -9
  588. package/plugins/filters/conditionUpdateObserver.js +17 -57
  589. package/plugins/filters/conditionUpdateObserver.mjs +25 -53
  590. package/plugins/filters/constants.js +1 -66
  591. package/plugins/filters/constants.mjs +1 -8
  592. package/plugins/filters/dataFilter.js +4 -21
  593. package/plugins/filters/dataFilter.mjs +7 -23
  594. package/plugins/filters/filters.js +103 -208
  595. package/plugins/filters/filters.mjs +103 -163
  596. package/plugins/filters/index.js +0 -2
  597. package/plugins/filters/logicalOperationRegisterer.js +3 -9
  598. package/plugins/filters/logicalOperationRegisterer.mjs +3 -4
  599. package/plugins/filters/logicalOperations/conjunction.js +2 -19
  600. package/plugins/filters/logicalOperations/conjunction.mjs +2 -2
  601. package/plugins/filters/logicalOperations/disjunction.js +2 -19
  602. package/plugins/filters/logicalOperations/disjunction.mjs +2 -2
  603. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +2 -21
  604. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +2 -3
  605. package/plugins/filters/ui/_base.js +12 -55
  606. package/plugins/filters/ui/_base.mjs +12 -35
  607. package/plugins/filters/ui/input.js +7 -52
  608. package/plugins/filters/ui/input.mjs +7 -34
  609. package/plugins/filters/ui/link.js +3 -43
  610. package/plugins/filters/ui/link.mjs +3 -25
  611. package/plugins/filters/ui/multipleSelect.js +26 -120
  612. package/plugins/filters/ui/multipleSelect.mjs +20 -76
  613. package/plugins/filters/ui/radioInput.js +6 -47
  614. package/plugins/filters/ui/radioInput.mjs +6 -30
  615. package/plugins/filters/ui/select.js +14 -76
  616. package/plugins/filters/ui/select.mjs +14 -52
  617. package/plugins/filters/utils.js +6 -39
  618. package/plugins/filters/utils.mjs +6 -23
  619. package/plugins/formulas/engine/register.js +24 -74
  620. package/plugins/formulas/engine/register.mjs +29 -51
  621. package/plugins/formulas/engine/settings.js +4 -24
  622. package/plugins/formulas/engine/settings.mjs +4 -12
  623. package/plugins/formulas/formulas.js +103 -295
  624. package/plugins/formulas/formulas.mjs +104 -248
  625. package/plugins/formulas/index.js +0 -2
  626. package/plugins/formulas/utils.js +1 -3
  627. package/plugins/formulas/utils.mjs +1 -1
  628. package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +4 -38
  629. package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +8 -25
  630. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +17 -45
  631. package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +21 -29
  632. package/plugins/hiddenColumns/hiddenColumns.js +72 -149
  633. package/plugins/hiddenColumns/hiddenColumns.mjs +72 -108
  634. package/plugins/hiddenColumns/index.js +0 -2
  635. package/plugins/hiddenRows/contextMenuItem/hideRow.js +4 -38
  636. package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +8 -25
  637. package/plugins/hiddenRows/contextMenuItem/showRow.js +17 -45
  638. package/plugins/hiddenRows/contextMenuItem/showRow.mjs +21 -29
  639. package/plugins/hiddenRows/hiddenRows.js +70 -148
  640. package/plugins/hiddenRows/hiddenRows.mjs +70 -107
  641. package/plugins/hiddenRows/index.js +0 -2
  642. package/plugins/index.js +0 -71
  643. package/plugins/index.mjs +3 -5
  644. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -28
  645. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +5 -17
  646. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -28
  647. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +5 -17
  648. package/plugins/manualColumnFreeze/index.js +0 -2
  649. package/plugins/manualColumnFreeze/manualColumnFreeze.js +21 -78
  650. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +21 -54
  651. package/plugins/manualColumnMove/index.js +0 -2
  652. package/plugins/manualColumnMove/manualColumnMove.js +45 -134
  653. package/plugins/manualColumnMove/manualColumnMove.mjs +45 -106
  654. package/plugins/manualColumnMove/ui/_base.js +12 -30
  655. package/plugins/manualColumnMove/ui/_base.mjs +12 -27
  656. package/plugins/manualColumnMove/ui/backlight.js +1 -37
  657. package/plugins/manualColumnMove/ui/backlight.mjs +1 -22
  658. package/plugins/manualColumnMove/ui/guideline.js +1 -37
  659. package/plugins/manualColumnMove/ui/guideline.mjs +1 -22
  660. package/plugins/manualColumnResize/index.js +0 -2
  661. package/plugins/manualColumnResize/manualColumnResize.js +44 -143
  662. package/plugins/manualColumnResize/manualColumnResize.mjs +43 -118
  663. package/plugins/manualRowMove/index.js +0 -2
  664. package/plugins/manualRowMove/manualRowMove.js +45 -137
  665. package/plugins/manualRowMove/manualRowMove.mjs +45 -109
  666. package/plugins/manualRowMove/ui/_base.js +12 -27
  667. package/plugins/manualRowMove/ui/_base.mjs +12 -26
  668. package/plugins/manualRowMove/ui/backlight.js +1 -37
  669. package/plugins/manualRowMove/ui/backlight.mjs +1 -22
  670. package/plugins/manualRowMove/ui/guideline.js +1 -37
  671. package/plugins/manualRowMove/ui/guideline.mjs +1 -22
  672. package/plugins/manualRowResize/index.js +0 -2
  673. package/plugins/manualRowResize/manualRowResize.js +42 -138
  674. package/plugins/manualRowResize/manualRowResize.mjs +41 -112
  675. package/plugins/mergeCells/calculations/autofill.js +39 -130
  676. package/plugins/mergeCells/calculations/autofill.mjs +44 -122
  677. package/plugins/mergeCells/calculations/selection.js +9 -40
  678. package/plugins/mergeCells/calculations/selection.mjs +9 -37
  679. package/plugins/mergeCells/cellCoords.js +30 -51
  680. package/plugins/mergeCells/cellCoords.mjs +35 -54
  681. package/plugins/mergeCells/cellsCollection.js +13 -84
  682. package/plugins/mergeCells/cellsCollection.mjs +18 -69
  683. package/plugins/mergeCells/contextMenuItem/toggleMerge.js +0 -22
  684. package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +4 -11
  685. package/plugins/mergeCells/index.js +0 -2
  686. package/plugins/mergeCells/mergeCells.js +130 -333
  687. package/plugins/mergeCells/mergeCells.mjs +130 -292
  688. package/plugins/mergeCells/utils.js +0 -3
  689. package/plugins/mergeCells/utils.mjs +0 -1
  690. package/plugins/multiColumnSorting/domHelpers.js +2 -12
  691. package/plugins/multiColumnSorting/domHelpers.mjs +2 -5
  692. package/plugins/multiColumnSorting/index.js +0 -2
  693. package/plugins/multiColumnSorting/multiColumnSorting.js +14 -66
  694. package/plugins/multiColumnSorting/multiColumnSorting.mjs +14 -44
  695. package/plugins/multiColumnSorting/rootComparator.js +2 -26
  696. package/plugins/multiColumnSorting/rootComparator.mjs +9 -23
  697. package/plugins/multiColumnSorting/utils.js +0 -7
  698. package/plugins/multiColumnSorting/utils.mjs +3 -8
  699. package/plugins/multipleSelectionHandles/index.js +0 -2
  700. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +6 -109
  701. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +6 -87
  702. package/plugins/nestedHeaders/index.js +0 -2
  703. package/plugins/nestedHeaders/nestedHeaders.js +79 -200
  704. package/plugins/nestedHeaders/nestedHeaders.mjs +80 -173
  705. package/plugins/nestedHeaders/stateManager/headersTree.js +16 -93
  706. package/plugins/nestedHeaders/stateManager/headersTree.mjs +16 -73
  707. package/plugins/nestedHeaders/stateManager/index.js +24 -107
  708. package/plugins/nestedHeaders/stateManager/index.mjs +51 -115
  709. package/plugins/nestedHeaders/stateManager/matrixGenerator.js +7 -25
  710. package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +38 -51
  711. package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.js +12 -27
  712. package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.mjs +29 -35
  713. package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.js +10 -25
  714. package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.mjs +26 -32
  715. package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.js +3 -19
  716. package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.mjs +9 -20
  717. package/plugins/nestedHeaders/stateManager/nodeModifiers/index.js +2 -12
  718. package/plugins/nestedHeaders/stateManager/nodeModifiers/index.mjs +2 -5
  719. package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.js +3 -22
  720. package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.mjs +9 -21
  721. package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.js +3 -10
  722. package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.mjs +3 -7
  723. package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +5 -36
  724. package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +44 -61
  725. package/plugins/nestedHeaders/stateManager/sourceSettings.js +16 -78
  726. package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +21 -68
  727. package/plugins/nestedHeaders/stateManager/utils.js +19 -22
  728. package/plugins/nestedHeaders/stateManager/utils.mjs +19 -20
  729. package/plugins/nestedHeaders/utils/ghostTable.js +9 -37
  730. package/plugins/nestedHeaders/utils/ghostTable.mjs +16 -43
  731. package/plugins/nestedRows/data/dataManager.js +40 -161
  732. package/plugins/nestedRows/data/dataManager.mjs +44 -148
  733. package/plugins/nestedRows/index.js +0 -2
  734. package/plugins/nestedRows/nestedRows.js +40 -118
  735. package/plugins/nestedRows/nestedRows.mjs +40 -85
  736. package/plugins/nestedRows/ui/_base.js +1 -9
  737. package/plugins/nestedRows/ui/_base.mjs +1 -8
  738. package/plugins/nestedRows/ui/collapsing.js +28 -134
  739. package/plugins/nestedRows/ui/collapsing.mjs +34 -118
  740. package/plugins/nestedRows/ui/contextMenu.js +2 -53
  741. package/plugins/nestedRows/ui/contextMenu.mjs +2 -32
  742. package/plugins/nestedRows/ui/headers.js +5 -50
  743. package/plugins/nestedRows/ui/headers.mjs +11 -41
  744. package/plugins/nestedRows/utils/rowMoveController.js +28 -78
  745. package/plugins/nestedRows/utils/rowMoveController.mjs +33 -66
  746. package/plugins/persistentState/index.js +0 -2
  747. package/plugins/persistentState/persistentState.js +10 -58
  748. package/plugins/persistentState/persistentState.mjs +10 -37
  749. package/plugins/persistentState/storage.js +9 -25
  750. package/plugins/persistentState/storage.mjs +12 -26
  751. package/plugins/registry.js +7 -51
  752. package/plugins/registry.mjs +8 -34
  753. package/plugins/search/index.js +0 -2
  754. package/plugins/search/search.js +16 -96
  755. package/plugins/search/search.mjs +16 -67
  756. package/plugins/touchScroll/index.js +0 -2
  757. package/plugins/touchScroll/touchScroll.js +15 -76
  758. package/plugins/touchScroll/touchScroll.mjs +15 -58
  759. package/plugins/trimRows/index.js +0 -2
  760. package/plugins/trimRows/trimRows.js +59 -85
  761. package/plugins/trimRows/trimRows.mjs +59 -62
  762. package/plugins/undoRedo/index.js +0 -14
  763. package/plugins/undoRedo/undoRedo.js +48 -218
  764. package/plugins/undoRedo/undoRedo.mjs +48 -188
  765. package/registry.js +0 -11
  766. package/registry.mjs +2 -4
  767. package/renderers/autocompleteRenderer/autocompleteRenderer.js +5 -14
  768. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +5 -6
  769. package/renderers/autocompleteRenderer/index.js +0 -2
  770. package/renderers/baseRenderer/baseRenderer.js +2 -11
  771. package/renderers/baseRenderer/baseRenderer.mjs +2 -9
  772. package/renderers/baseRenderer/index.js +0 -2
  773. package/renderers/checkboxRenderer/checkboxRenderer.js +22 -103
  774. package/renderers/checkboxRenderer/checkboxRenderer.mjs +22 -81
  775. package/renderers/checkboxRenderer/index.js +0 -2
  776. package/renderers/htmlRenderer/htmlRenderer.js +1 -7
  777. package/renderers/htmlRenderer/htmlRenderer.mjs +1 -1
  778. package/renderers/htmlRenderer/index.js +0 -2
  779. package/renderers/index.js +0 -19
  780. package/renderers/index.mjs +3 -5
  781. package/renderers/numericRenderer/index.js +0 -2
  782. package/renderers/numericRenderer/numericRenderer.js +1 -21
  783. package/renderers/numericRenderer/numericRenderer.mjs +1 -9
  784. package/renderers/passwordRenderer/index.js +0 -2
  785. package/renderers/passwordRenderer/passwordRenderer.js +1 -8
  786. package/renderers/passwordRenderer/passwordRenderer.mjs +1 -1
  787. package/renderers/registry.js +7 -16
  788. package/renderers/registry.mjs +7 -14
  789. package/renderers/textRenderer/index.js +0 -2
  790. package/renderers/textRenderer/textRenderer.js +1 -13
  791. package/renderers/textRenderer/textRenderer.mjs +1 -5
  792. package/renderers/timeRenderer/index.js +0 -2
  793. package/renderers/timeRenderer/timeRenderer.js +1 -6
  794. package/renderers/timeRenderer/timeRenderer.mjs +1 -1
  795. package/selection/highlight/highlight.js +17 -73
  796. package/selection/highlight/highlight.mjs +31 -64
  797. package/selection/highlight/types/activeHeader.js +1 -21
  798. package/selection/highlight/types/activeHeader.mjs +6 -16
  799. package/selection/highlight/types/area.js +2 -22
  800. package/selection/highlight/types/area.mjs +10 -20
  801. package/selection/highlight/types/cell.js +1 -21
  802. package/selection/highlight/types/cell.mjs +9 -19
  803. package/selection/highlight/types/customSelection.js +2 -22
  804. package/selection/highlight/types/customSelection.mjs +11 -21
  805. package/selection/highlight/types/fill.js +2 -17
  806. package/selection/highlight/types/fill.mjs +9 -14
  807. package/selection/highlight/types/header.js +3 -23
  808. package/selection/highlight/types/header.mjs +13 -23
  809. package/selection/highlight/types/index.js +3 -24
  810. package/selection/highlight/types/index.mjs +3 -10
  811. package/selection/highlight/visualSelection.js +24 -74
  812. package/selection/highlight/visualSelection.mjs +24 -62
  813. package/selection/index.js +0 -14
  814. package/selection/mouseEventHandler.js +19 -30
  815. package/selection/mouseEventHandler.mjs +32 -36
  816. package/selection/range.js +11 -31
  817. package/selection/range.mjs +11 -22
  818. package/selection/selection.js +62 -157
  819. package/selection/selection.mjs +65 -132
  820. package/selection/transformation.js +10 -40
  821. package/selection/transformation.mjs +18 -45
  822. package/selection/utils.js +22 -70
  823. package/selection/utils.mjs +22 -47
  824. package/shortcuts/context.js +23 -78
  825. package/shortcuts/context.mjs +23 -55
  826. package/shortcuts/index.js +0 -2
  827. package/shortcuts/keyObserver.js +4 -17
  828. package/shortcuts/keyObserver.mjs +4 -12
  829. package/shortcuts/manager.js +16 -36
  830. package/shortcuts/manager.mjs +16 -33
  831. package/shortcuts/recorder.js +9 -40
  832. package/shortcuts/recorder.mjs +9 -31
  833. package/shortcuts/utils.js +5 -20
  834. package/shortcuts/utils.mjs +5 -6
  835. package/tableView.js +100 -270
  836. package/tableView.mjs +100 -248
  837. package/translations/changesObservable/observable.js +5 -54
  838. package/translations/changesObservable/observable.mjs +12 -51
  839. package/translations/changesObservable/observer.js +4 -32
  840. package/translations/changesObservable/observer.mjs +9 -29
  841. package/translations/changesObservable/utils.js +1 -5
  842. package/translations/changesObservable/utils.mjs +1 -4
  843. package/translations/index.js +0 -11
  844. package/translations/indexMapper.js +68 -156
  845. package/translations/indexMapper.mjs +68 -123
  846. package/translations/mapCollections/aggregatedCollection.js +9 -51
  847. package/translations/mapCollections/aggregatedCollection.mjs +12 -41
  848. package/translations/mapCollections/index.js +0 -7
  849. package/translations/mapCollections/mapCollection.js +10 -33
  850. package/translations/mapCollections/mapCollection.mjs +10 -22
  851. package/translations/maps/hidingMap.js +2 -35
  852. package/translations/maps/hidingMap.mjs +7 -28
  853. package/translations/maps/index.js +1 -24
  854. package/translations/maps/index.mjs +1 -3
  855. package/translations/maps/indexMap.js +12 -34
  856. package/translations/maps/indexMap.mjs +16 -32
  857. package/translations/maps/indexesSequence.js +3 -41
  858. package/translations/maps/indexesSequence.mjs +9 -32
  859. package/translations/maps/linkedPhysicalIndexToValueMap.js +9 -78
  860. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +16 -59
  861. package/translations/maps/physicalIndexToValueMap.js +2 -39
  862. package/translations/maps/physicalIndexToValueMap.mjs +8 -31
  863. package/translations/maps/trimmingMap.js +2 -35
  864. package/translations/maps/trimmingMap.mjs +7 -28
  865. package/translations/maps/utils/actionsOnIndexes.js +1 -7
  866. package/translations/maps/utils/actionsOnIndexes.mjs +9 -12
  867. package/translations/maps/utils/index.js +0 -13
  868. package/translations/maps/utils/index.mjs +0 -3
  869. package/translations/maps/utils/indexesSequence.js +1 -24
  870. package/translations/maps/utils/indexesSequence.mjs +10 -19
  871. package/translations/maps/utils/physicallyIndexed.js +1 -27
  872. package/translations/maps/utils/physicallyIndexed.mjs +11 -21
  873. package/utils/dataStructures/linkedList.js +15 -56
  874. package/utils/dataStructures/linkedList.mjs +15 -54
  875. package/utils/dataStructures/priorityMap.js +8 -46
  876. package/utils/dataStructures/priorityMap.mjs +8 -29
  877. package/utils/dataStructures/queue.js +6 -17
  878. package/utils/dataStructures/queue.mjs +6 -16
  879. package/utils/dataStructures/stack.js +6 -17
  880. package/utils/dataStructures/stack.mjs +6 -16
  881. package/utils/dataStructures/tree.js +11 -75
  882. package/utils/dataStructures/tree.mjs +11 -54
  883. package/utils/dataStructures/uniqueMap.js +17 -56
  884. package/utils/dataStructures/uniqueMap.mjs +17 -42
  885. package/utils/dataStructures/uniqueSet.js +5 -32
  886. package/utils/dataStructures/uniqueSet.mjs +5 -19
  887. package/utils/ghostTable.js +33 -104
  888. package/utils/ghostTable.mjs +35 -92
  889. package/utils/interval.js +10 -37
  890. package/utils/interval.mjs +7 -29
  891. package/utils/parseTable.js +11 -92
  892. package/utils/parseTable.mjs +11 -62
  893. package/utils/rootInstance.js +3 -14
  894. package/utils/rootInstance.mjs +3 -3
  895. package/utils/samplesGenerator.js +15 -51
  896. package/utils/samplesGenerator.mjs +17 -44
  897. package/utils/staticRegister.js +6 -33
  898. package/utils/staticRegister.mjs +6 -19
  899. package/validators/autocompleteValidator/autocompleteValidator.js +2 -10
  900. package/validators/autocompleteValidator/autocompleteValidator.mjs +2 -8
  901. package/validators/autocompleteValidator/index.js +0 -2
  902. package/validators/dateValidator/dateValidator.js +2 -21
  903. package/validators/dateValidator/dateValidator.mjs +2 -11
  904. package/validators/dateValidator/index.js +0 -2
  905. package/validators/index.js +0 -11
  906. package/validators/index.mjs +3 -5
  907. package/validators/numericValidator/index.js +0 -2
  908. package/validators/numericValidator/numericValidator.js +1 -7
  909. package/validators/numericValidator/numericValidator.mjs +1 -3
  910. package/validators/registry.js +7 -16
  911. package/validators/registry.mjs +7 -14
  912. package/validators/timeValidator/index.js +0 -2
  913. package/validators/timeValidator/timeValidator.js +6 -18
  914. package/validators/timeValidator/timeValidator.mjs +8 -13
@@ -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,114 +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
-
456
366
  var positionChanged = false;
457
-
458
367
  if (this.isMaster) {
459
368
  positionChanged = wtOverlays.topOverlay.resetFixedPosition();
460
-
461
369
  if (wtOverlays.bottomOverlay.clone) {
462
370
  positionChanged = wtOverlays.bottomOverlay.resetFixedPosition() || positionChanged;
463
371
  }
464
-
465
372
  positionChanged = wtOverlays.inlineStartOverlay.resetFixedPosition() || positionChanged;
466
-
467
373
  if (wtOverlays.topInlineStartCornerOverlay) {
468
374
  wtOverlays.topInlineStartCornerOverlay.resetFixedPosition();
469
375
  }
470
-
471
376
  if (wtOverlays.bottomInlineStartCornerOverlay && wtOverlays.bottomInlineStartCornerOverlay.clone) {
472
377
  wtOverlays.bottomInlineStartCornerOverlay.resetFixedPosition();
473
378
  }
474
379
  }
475
-
476
380
  if (positionChanged) {
477
381
  // It refreshes the cells borders caused by a 1px shift (introduced by overlays which add or
478
382
  // remove `innerBorderTop` and `innerBorderInlineStart` CSS classes to the DOM element. This happens
479
383
  // when there is a switch between rendering from 0 to N rows/columns and vice versa).
480
384
  wtOverlays.refreshAll(); // `refreshAll()` internally already calls `refreshSelections()` method
481
-
482
385
  wtOverlays.adjustElementsSize();
483
386
  } else {
484
387
  this.refreshSelections(runFastDraw);
485
388
  }
486
-
487
389
  if (syncScroll) {
488
390
  wtOverlays.syncScrollWithMaster();
489
391
  }
490
-
491
392
  this.dataAccessObject.drawn = true;
492
393
  return this;
493
394
  }
395
+
494
396
  /**
495
397
  * @param {number} col The visual column index.
496
398
  */
497
-
498
399
  }, {
499
400
  key: "markIfOversizedColumnHeader",
500
401
  value: function markIfOversizedColumnHeader(col) {
@@ -505,23 +406,18 @@ var Table = /*#__PURE__*/function () {
505
406
  var currentHeader;
506
407
  var currentHeaderHeight;
507
408
  var columnHeaderHeightSetting = this.wtSettings.getSetting('columnHeaderHeight') || [];
508
-
509
409
  while (level) {
510
410
  level -= 1;
511
411
  previousColHeaderHeight = this.getColumnHeaderHeight(level);
512
412
  currentHeader = this.getColumnHeader(sourceColIndex, level);
513
-
514
413
  if (!currentHeader) {
515
414
  /* eslint-disable no-continue */
516
415
  continue;
517
416
  }
518
-
519
417
  currentHeaderHeight = (0, _element.innerHeight)(currentHeader);
520
-
521
418
  if (!previousColHeaderHeight && defaultRowHeight < currentHeaderHeight || previousColHeaderHeight < currentHeaderHeight) {
522
419
  this.dataAccessObject.wtViewport.oversizedColumnHeaders[level] = currentHeaderHeight;
523
420
  }
524
-
525
421
  if (Array.isArray(columnHeaderHeightSetting)) {
526
422
  if (columnHeaderHeightSetting[level] !== null && columnHeaderHeightSetting[level] !== void 0) {
527
423
  this.dataAccessObject.wtViewport.oversizedColumnHeaders[level] = columnHeaderHeightSetting[level];
@@ -529,16 +425,15 @@ var Table = /*#__PURE__*/function () {
529
425
  } else if (!isNaN(columnHeaderHeightSetting)) {
530
426
  this.dataAccessObject.wtViewport.oversizedColumnHeaders[level] = columnHeaderHeightSetting;
531
427
  }
532
-
533
428
  if (this.dataAccessObject.wtViewport.oversizedColumnHeaders[level] < (columnHeaderHeightSetting[level] || columnHeaderHeightSetting)) {
534
429
  this.dataAccessObject.wtViewport.oversizedColumnHeaders[level] = columnHeaderHeightSetting[level] || columnHeaderHeightSetting; // eslint-disable-line max-len
535
430
  }
536
431
  }
537
432
  }
433
+
538
434
  /**
539
435
  *
540
436
  */
541
-
542
437
  }, {
543
438
  key: "adjustColumnHeaderHeights",
544
439
  value: function adjustColumnHeaderHeights() {
@@ -546,126 +441,109 @@ var Table = /*#__PURE__*/function () {
546
441
  var children = this.THEAD.childNodes;
547
442
  var oversizedColumnHeaders = this.dataAccessObject.wtViewport.oversizedColumnHeaders;
548
443
  var columnHeaders = wtSettings.getSetting('columnHeaders');
549
-
550
444
  for (var i = 0, len = columnHeaders.length; i < len; i++) {
551
445
  if (oversizedColumnHeaders[i]) {
552
446
  if (!children[i] || children[i].childNodes.length === 0) {
553
447
  return;
554
448
  }
555
-
556
449
  children[i].childNodes[0].style.height = "".concat(oversizedColumnHeaders[i], "px");
557
450
  }
558
451
  }
559
452
  }
453
+
560
454
  /**
561
455
  * Resets cache of row heights. The cache should be cached for each render cycle in a case
562
456
  * when new cell values have content which increases/decreases cell height.
563
457
  */
564
-
565
458
  }, {
566
459
  key: "resetOversizedRows",
567
460
  value: function resetOversizedRows() {
568
461
  var wtSettings = this.wtSettings;
569
462
  var wtViewport = this.dataAccessObject.wtViewport;
570
-
571
463
  if (!this.isMaster && !this.is(_overlay.CLONE_BOTTOM)) {
572
464
  return;
573
465
  }
574
-
575
466
  if (!wtSettings.getSetting('externalRowCalculator')) {
576
- var rowsToRender = this.getRenderedRowsCount(); // Reset the oversized row cache for rendered rows
467
+ var rowsToRender = this.getRenderedRowsCount();
577
468
 
469
+ // Reset the oversized row cache for rendered rows
578
470
  for (var visibleRowIndex = 0; visibleRowIndex < rowsToRender; visibleRowIndex++) {
579
471
  var sourceRow = this.rowFilter.renderedToSource(visibleRowIndex);
580
-
581
472
  if (wtViewport.oversizedRows && wtViewport.oversizedRows[sourceRow]) {
582
473
  wtViewport.oversizedRows[sourceRow] = void 0;
583
474
  }
584
475
  }
585
476
  }
586
477
  }
478
+
587
479
  /**
588
480
  * @param {string} className The CSS class name to remove from the table cells.
589
481
  */
590
-
591
482
  }, {
592
483
  key: "removeClassFromCells",
593
484
  value: function removeClassFromCells(className) {
594
485
  var nodes = this.TABLE.querySelectorAll(".".concat(className));
595
-
596
486
  for (var i = 0, len = nodes.length; i < len; i++) {
597
487
  (0, _element.removeClass)(nodes[i], className);
598
488
  }
599
489
  }
490
+
600
491
  /**
601
492
  * Refresh the table selection by re-rendering Selection instances connected with that instance.
602
493
  *
603
494
  * @param {boolean} fastDraw If fast drawing is enabled than additionally className clearing is applied.
604
495
  */
605
-
606
496
  }, {
607
497
  key: "refreshSelections",
608
498
  value: function refreshSelections(fastDraw) {
609
499
  var wtSettings = this.wtSettings;
610
500
  var selections = this.dataAccessObject.selections;
611
-
612
501
  if (!selections) {
613
502
  return;
614
503
  }
615
-
616
504
  var highlights = Array.from(selections);
617
505
  var len = highlights.length;
618
-
619
506
  if (fastDraw) {
620
507
  var classesToRemove = [];
621
-
622
508
  for (var i = 0; i < len; i++) {
623
509
  var _highlights$i$setting = highlights[i].settings,
624
- highlightHeaderClassName = _highlights$i$setting.highlightHeaderClassName,
625
- highlightRowClassName = _highlights$i$setting.highlightRowClassName,
626
- highlightColumnClassName = _highlights$i$setting.highlightColumnClassName;
510
+ highlightHeaderClassName = _highlights$i$setting.highlightHeaderClassName,
511
+ highlightRowClassName = _highlights$i$setting.highlightRowClassName,
512
+ highlightColumnClassName = _highlights$i$setting.highlightColumnClassName;
627
513
  var classNames = highlights[i].classNames;
628
514
  var classNamesLength = classNames.length;
629
-
630
515
  for (var j = 0; j < classNamesLength; j++) {
631
516
  if (!classesToRemove.includes(classNames[j])) {
632
517
  classesToRemove.push(classNames[j]);
633
518
  }
634
519
  }
635
-
636
520
  if (highlightHeaderClassName && !classesToRemove.includes(highlightHeaderClassName)) {
637
521
  classesToRemove.push(highlightHeaderClassName);
638
522
  }
639
-
640
523
  if (highlightRowClassName && !classesToRemove.includes(highlightRowClassName)) {
641
524
  classesToRemove.push(highlightRowClassName);
642
525
  }
643
-
644
526
  if (highlightColumnClassName && !classesToRemove.includes(highlightColumnClassName)) {
645
527
  classesToRemove.push(highlightColumnClassName);
646
528
  }
647
529
  }
648
-
649
530
  var additionalClassesToRemove = wtSettings.getSetting('onBeforeRemoveCellClassNames');
650
-
651
531
  if (Array.isArray(additionalClassesToRemove)) {
652
532
  for (var _i = 0; _i < additionalClassesToRemove.length; _i++) {
653
533
  classesToRemove.push(additionalClassesToRemove[_i]);
654
534
  }
655
535
  }
656
-
657
536
  var classesToRemoveLength = classesToRemove.length;
658
-
659
537
  for (var _i2 = 0; _i2 < classesToRemoveLength; _i2++) {
660
538
  // there was no rerender, so we need to remove classNames by ourselves
661
539
  this.removeClassFromCells(classesToRemove[_i2]);
662
540
  }
663
541
  }
664
-
665
542
  for (var _i3 = 0; _i3 < len; _i3++) {
666
543
  highlights[_i3].draw(this.facadeGetter(), fastDraw);
667
544
  }
668
545
  }
546
+
669
547
  /**
670
548
  * Get cell element at coords.
671
549
  * Negative coords.row or coords.col are used to retrieve header cells. If there are multiple header levels, the
@@ -685,21 +563,17 @@ var Table = /*#__PURE__*/function () {
685
563
  * -3 column before viewport
686
564
  * -4 column after viewport.
687
565
  */
688
-
689
566
  }, {
690
567
  key: "getCell",
691
568
  value: function getCell(coords) {
692
569
  var row = coords.row;
693
570
  var column = coords.col;
694
571
  var hookResult = this.wtSettings.getSetting('onModifyGetCellCoords', row, column);
695
-
696
572
  if (hookResult && Array.isArray(hookResult)) {
697
573
  var _hookResult = _slicedToArray(hookResult, 2);
698
-
699
574
  row = _hookResult[0];
700
575
  column = _hookResult[1];
701
576
  }
702
-
703
577
  if (this.isRowBeforeRenderedRows(row)) {
704
578
  // row before rendered rows
705
579
  return -1;
@@ -713,27 +587,22 @@ var Table = /*#__PURE__*/function () {
713
587
  // column after rendered columns
714
588
  return -4;
715
589
  }
716
-
717
590
  var TR;
718
-
719
591
  if (row < 0) {
720
592
  TR = this.THEAD.childNodes[this.rowFilter.sourceRowToVisibleColHeadedRow(row)];
721
593
  } else {
722
594
  TR = this.TBODY.childNodes[this.rowFilter.sourceToRendered(row)];
723
595
  }
724
-
725
596
  if (!TR && row >= 0) {
726
597
  throw new Error('TR was expected to be rendered but is not');
727
598
  }
728
-
729
599
  var TD = TR.childNodes[this.columnFilter.sourceColumnToVisibleRowHeadedColumn(column)];
730
-
731
600
  if (!TD && column >= 0) {
732
601
  throw new Error('TD or TH was expected to be rendered but is not');
733
602
  }
734
-
735
603
  return TD;
736
604
  }
605
+
737
606
  /**
738
607
  * GetColumnHeader.
739
608
  *
@@ -741,7 +610,6 @@ var Table = /*#__PURE__*/function () {
741
610
  * @param {number} [level=0] Header level (0 = most distant to the table).
742
611
  * @returns {object} HTMLElement on success or undefined on error.
743
612
  */
744
-
745
613
  }, {
746
614
  key: "getColumnHeader",
747
615
  value: function getColumnHeader(col) {
@@ -749,13 +617,13 @@ var Table = /*#__PURE__*/function () {
749
617
  var TR = this.THEAD.childNodes[level];
750
618
  return TR === null || TR === void 0 ? void 0 : TR.childNodes[this.columnFilter.sourceColumnToVisibleRowHeadedColumn(col)];
751
619
  }
620
+
752
621
  /**
753
622
  * Gets all columns headers (TH elements) from the table.
754
623
  *
755
624
  * @param {number} column A source column index.
756
625
  * @returns {HTMLTableCellElement[]}
757
626
  */
758
-
759
627
  }, {
760
628
  key: "getColumnHeaders",
761
629
  value: function getColumnHeaders(column) {
@@ -763,13 +631,13 @@ var Table = /*#__PURE__*/function () {
763
631
  var visibleColumn = this.columnFilter.sourceColumnToVisibleRowHeadedColumn(column);
764
632
  this.THEAD.childNodes.forEach(function (TR) {
765
633
  var TH = TR.childNodes[visibleColumn];
766
-
767
634
  if (TH) {
768
635
  THs.push(TH);
769
636
  }
770
637
  });
771
638
  return THs;
772
639
  }
640
+
773
641
  /**
774
642
  * GetRowHeader.
775
643
  *
@@ -777,78 +645,65 @@ var Table = /*#__PURE__*/function () {
777
645
  * @param {number} [level=0] Header level (0 = most distant to the table).
778
646
  * @returns {HTMLElement} HTMLElement on success or Number one of the exit codes on error: `null table doesn't have row headers`.
779
647
  */
780
-
781
648
  }, {
782
649
  key: "getRowHeader",
783
650
  value: function getRowHeader(row) {
784
651
  var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
785
-
786
652
  if (this.columnFilter.sourceColumnToVisibleRowHeadedColumn(0) === 0) {
787
653
  return;
788
654
  }
789
-
790
655
  var rowHeadersCount = this.wtSettings.getSetting('rowHeaders').length;
791
-
792
656
  if (level >= rowHeadersCount) {
793
657
  return;
794
658
  }
795
-
796
659
  var TR = this.TBODY.childNodes[this.rowFilter.sourceToRendered(row)];
797
660
  return TR === null || TR === void 0 ? void 0 : TR.childNodes[level];
798
661
  }
662
+
799
663
  /**
800
664
  * Gets all rows headers (TH elements) from the table.
801
665
  *
802
666
  * @param {number} row A source row index.
803
667
  * @returns {HTMLTableCellElement[]}
804
668
  */
805
-
806
669
  }, {
807
670
  key: "getRowHeaders",
808
671
  value: function getRowHeaders(row) {
809
672
  if (this.columnFilter.sourceColumnToVisibleRowHeadedColumn(0) === 0) {
810
673
  return [];
811
674
  }
812
-
813
675
  var THs = [];
814
676
  var rowHeadersCount = this.wtSettings.getSetting('rowHeaders').length;
815
-
816
677
  for (var renderedRowIndex = 0; renderedRowIndex < rowHeadersCount; renderedRowIndex++) {
817
678
  var TR = this.TBODY.childNodes[this.rowFilter.sourceToRendered(row)];
818
679
  var TH = TR === null || TR === void 0 ? void 0 : TR.childNodes[renderedRowIndex];
819
-
820
680
  if (TH) {
821
681
  THs.push(TH);
822
682
  }
823
683
  }
824
-
825
684
  return THs;
826
685
  }
686
+
827
687
  /**
828
688
  * Returns cell coords object for a given TD (or a child element of a TD element).
829
689
  *
830
690
  * @param {HTMLTableCellElement} TD A cell DOM element (or a child of one).
831
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.
832
692
  */
833
-
834
693
  }, {
835
694
  key: "getCoords",
836
695
  value: function getCoords(TD) {
837
696
  var cellElement = TD;
838
-
839
697
  if (cellElement.nodeName !== 'TD' && cellElement.nodeName !== 'TH') {
840
698
  cellElement = (0, _element.closest)(cellElement, ['TD', 'TH']);
841
699
  }
842
-
843
700
  if (cellElement === null) {
844
701
  return null;
845
702
  }
846
-
847
703
  var TR = cellElement.parentNode;
848
704
  var CONTAINER = TR.parentNode;
849
705
  var row = (0, _element.index)(TR);
850
706
  var col = cellElement.cellIndex;
851
-
852
707
  if ((0, _element.overlayContainsElement)(_overlay.CLONE_TOP_INLINE_START_CORNER, cellElement, this.wtRootElement) || (0, _element.overlayContainsElement)(_overlay.CLONE_TOP, cellElement, this.wtRootElement)) {
853
708
  if (CONTAINER.nodeName === 'THEAD') {
854
709
  row -= CONTAINER.childNodes.length;
@@ -861,26 +716,23 @@ var Table = /*#__PURE__*/function () {
861
716
  } else {
862
717
  row = this.rowFilter.renderedToSource(row);
863
718
  }
864
-
865
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)) {
866
720
  col = this.columnFilter.offsettedTH(col);
867
721
  } else {
868
722
  col = this.columnFilter.visibleRowHeadedColumnToSourceColumn(col);
869
723
  }
870
-
871
724
  return this.wot.createCellCoords(row, col);
872
725
  }
726
+
873
727
  /**
874
728
  * Check if any of the rendered rows is higher than expected, and if so, cache them.
875
729
  */
876
-
877
730
  }, {
878
731
  key: "markOversizedRows",
879
732
  value: function markOversizedRows() {
880
733
  if (this.wtSettings.getSetting('externalRowCalculator')) {
881
734
  return;
882
735
  }
883
-
884
736
  var rowCount = this.TBODY.childNodes.length;
885
737
  var expectedTableHeight = rowCount * this.wtSettings.getSetting('defaultRowHeight');
886
738
  var actualTableHeight = (0, _element.innerHeight)(this.TBODY) - 1;
@@ -889,79 +741,73 @@ var Table = /*#__PURE__*/function () {
889
741
  var sourceRowIndex;
890
742
  var currentTr;
891
743
  var rowHeader;
892
-
893
744
  if (expectedTableHeight === actualTableHeight && !this.wtSettings.getSetting('fixedRowsBottom')) {
894
745
  // If the actual table height equals rowCount * default single row height, no row is oversized -> no need to iterate over them
895
746
  return;
896
747
  }
897
-
898
748
  while (rowCount) {
899
749
  rowCount -= 1;
900
750
  sourceRowIndex = this.rowFilter.renderedToSource(rowCount);
901
751
  previousRowHeight = this.getRowHeight(sourceRowIndex);
902
752
  currentTr = this.getTrForRow(sourceRowIndex);
903
753
  rowHeader = currentTr.querySelector('th');
904
-
905
754
  if (rowHeader) {
906
755
  rowInnerHeight = (0, _element.innerHeight)(rowHeader);
907
756
  } else {
908
757
  rowInnerHeight = (0, _element.innerHeight)(currentTr) - 1;
909
758
  }
910
-
911
759
  if (!previousRowHeight && this.wtSettings.getSetting('defaultRowHeight') < rowInnerHeight || previousRowHeight < rowInnerHeight) {
912
760
  rowInnerHeight += 1;
913
761
  this.dataAccessObject.wtViewport.oversizedRows[sourceRowIndex] = rowInnerHeight;
914
762
  }
915
763
  }
916
764
  }
765
+
917
766
  /**
918
767
  * @param {number} row The visual row index.
919
768
  * @returns {HTMLTableElement}
920
769
  */
921
-
922
770
  }, {
923
771
  key: "getTrForRow",
924
772
  value: function getTrForRow(row) {
925
773
  return this.TBODY.childNodes[this.rowFilter.sourceToRendered(row)];
926
774
  }
775
+
927
776
  /**
928
777
  * Checks if the column index (negative value from -1 to N) is rendered.
929
778
  *
930
779
  * @param {number} column The column index (negative value from -1 to N).
931
780
  * @returns {boolean}
932
781
  */
933
-
934
782
  }, {
935
783
  key: "isColumnHeaderRendered",
936
784
  value: function isColumnHeaderRendered(column) {
937
785
  if (column >= 0) {
938
786
  return false;
939
787
  }
940
-
941
788
  var rowHeaders = this.wtSettings.getSetting('rowHeaders');
942
789
  var rowHeadersCount = rowHeaders.length;
943
790
  return Math.abs(column) <= rowHeadersCount;
944
791
  }
792
+
945
793
  /**
946
794
  * Checks if the row index (negative value from -1 to N) is rendered.
947
795
  *
948
796
  * @param {number} row The row index (negative value from -1 to N).
949
797
  * @returns {boolean}
950
798
  */
951
-
952
799
  }, {
953
800
  key: "isRowHeaderRendered",
954
801
  value: function isRowHeaderRendered(row) {
955
802
  if (row >= 0) {
956
803
  return false;
957
804
  }
958
-
959
805
  var columnHeaders = this.wtSettings.getSetting('columnHeaders');
960
806
  var columnHeadersCount = columnHeaders.length;
961
807
  return Math.abs(row) <= columnHeadersCount;
962
808
  }
963
- /* eslint-disable jsdoc/require-description-complete-sentence */
964
809
 
810
+ /* eslint-disable jsdoc/require-description-complete-sentence */
965
811
  /**
966
812
  * Check if the given row index is lower than the index of the first row that
967
813
  * is currently rendered and return TRUE in that case, or FALSE otherwise.
@@ -990,23 +836,21 @@ var Table = /*#__PURE__*/function () {
990
836
  * @function isRowBeforeRenderedRows
991
837
  * @returns {boolean}
992
838
  */
993
-
994
839
  /* eslint-enable jsdoc/require-description-complete-sentence */
995
-
996
840
  }, {
997
841
  key: "isRowBeforeRenderedRows",
998
842
  value: function isRowBeforeRenderedRows(row) {
999
- var first = this.getFirstRenderedRow(); // Check the headers only in case when the first rendered row is -1 or 0.
1000
- // This is an indication that the overlay is placed on the most top position.
843
+ var first = this.getFirstRenderedRow();
1001
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.
1002
847
  if (row < 0 && first <= 0) {
1003
848
  return !this.isRowHeaderRendered(row);
1004
849
  }
1005
-
1006
850
  return row < first;
1007
851
  }
1008
- /* eslint-disable jsdoc/require-description-complete-sentence */
1009
852
 
853
+ /* eslint-disable jsdoc/require-description-complete-sentence */
1010
854
  /**
1011
855
  * Check if the given column index is greater than the index of the last column that
1012
856
  * is currently rendered and return TRUE in that case, or FALSE otherwise.
@@ -1038,16 +882,14 @@ var Table = /*#__PURE__*/function () {
1038
882
  * @function isRowAfterRenderedRows
1039
883
  * @returns {boolean}
1040
884
  */
1041
-
1042
885
  /* eslint-enable jsdoc/require-description-complete-sentence */
1043
-
1044
886
  }, {
1045
887
  key: "isRowAfterRenderedRows",
1046
888
  value: function isRowAfterRenderedRows(row) {
1047
889
  return row > this.getLastRenderedRow();
1048
890
  }
1049
- /* eslint-disable jsdoc/require-description-complete-sentence */
1050
891
 
892
+ /* eslint-disable jsdoc/require-description-complete-sentence */
1051
893
  /**
1052
894
  * Check if the given column index is lower than the index of the first column that
1053
895
  * is currently rendered and return TRUE in that case, or FALSE otherwise.
@@ -1075,23 +917,21 @@ var Table = /*#__PURE__*/function () {
1075
917
  * @function isColumnBeforeRenderedColumns
1076
918
  * @returns {boolean}
1077
919
  */
1078
-
1079
920
  /* eslint-enable jsdoc/require-description-complete-sentence */
1080
-
1081
921
  }, {
1082
922
  key: "isColumnBeforeRenderedColumns",
1083
923
  value: function isColumnBeforeRenderedColumns(column) {
1084
- var first = this.getFirstRenderedColumn(); // Check the headers only in case when the first rendered column is -1 or 0.
1085
- // This is an indication that the overlay is placed on the most left position.
924
+ var first = this.getFirstRenderedColumn();
1086
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.
1087
928
  if (column < 0 && first <= 0) {
1088
929
  return !this.isColumnHeaderRendered(column);
1089
930
  }
1090
-
1091
931
  return column < first;
1092
932
  }
1093
- /* eslint-disable jsdoc/require-description-complete-sentence */
1094
933
 
934
+ /* eslint-disable jsdoc/require-description-complete-sentence */
1095
935
  /**
1096
936
  * Check if the given column index is greater than the index of the last column that
1097
937
  * is currently rendered and return TRUE in that case, or FALSE otherwise.
@@ -1122,9 +962,7 @@ var Table = /*#__PURE__*/function () {
1122
962
  * @function isColumnAfterRenderedColumns
1123
963
  * @returns {boolean}
1124
964
  */
1125
-
1126
965
  /* eslint-enable jsdoc/require-description-complete-sentence */
1127
-
1128
966
  }, {
1129
967
  key: "isColumnAfterRenderedColumns",
1130
968
  value: function isColumnAfterRenderedColumns(column) {
@@ -1165,124 +1003,127 @@ var Table = /*#__PURE__*/function () {
1165
1003
  value: function allColumnsInViewport() {
1166
1004
  return this.wtSettings.getSetting('totalColumns') === this.getVisibleColumnsCount();
1167
1005
  }
1006
+
1168
1007
  /**
1169
1008
  * Checks if any of the row's cells content exceeds its initial height, and if so, returns the oversized height.
1170
1009
  *
1171
1010
  * @param {number} sourceRow The physical row index.
1172
1011
  * @returns {number}
1173
1012
  */
1174
-
1175
1013
  }, {
1176
1014
  key: "getRowHeight",
1177
1015
  value: function getRowHeight(sourceRow) {
1178
1016
  return this.rowUtils.getHeight(sourceRow);
1179
1017
  }
1018
+
1180
1019
  /**
1181
1020
  * @param {number} level The column level.
1182
1021
  * @returns {number}
1183
1022
  */
1184
-
1185
1023
  }, {
1186
1024
  key: "getColumnHeaderHeight",
1187
1025
  value: function getColumnHeaderHeight(level) {
1188
1026
  return this.columnUtils.getHeaderHeight(level);
1189
1027
  }
1028
+
1190
1029
  /**
1191
1030
  * @param {number} sourceColumn The physical column index.
1192
1031
  * @returns {number}
1193
1032
  */
1194
-
1195
1033
  }, {
1196
1034
  key: "getColumnWidth",
1197
1035
  value: function getColumnWidth(sourceColumn) {
1198
1036
  return this.columnUtils.getWidth(sourceColumn);
1199
1037
  }
1038
+
1200
1039
  /**
1201
1040
  * @param {number} sourceColumn The physical column index.
1202
1041
  * @returns {number}
1203
1042
  */
1204
-
1205
1043
  }, {
1206
1044
  key: "getStretchedColumnWidth",
1207
1045
  value: function getStretchedColumnWidth(sourceColumn) {
1208
1046
  return this.columnUtils.getStretchedColumnWidth(sourceColumn);
1209
1047
  }
1048
+
1210
1049
  /**
1211
1050
  * Checks if the table has defined size. It returns `true` when the table has width and height
1212
1051
  * set bigger than `0px`.
1213
1052
  *
1214
1053
  * @returns {boolean}
1215
1054
  */
1216
-
1217
1055
  }, {
1218
1056
  key: "hasDefinedSize",
1219
1057
  value: function hasDefinedSize() {
1220
1058
  return this.hasTableHeight && this.hasTableWidth;
1221
1059
  }
1060
+
1222
1061
  /**
1223
1062
  * Gets table's width. The returned width is the width of the rendered cells that fit in the
1224
1063
  * current viewport. The value may change depends on the viewport position (scroll position).
1225
1064
  *
1226
1065
  * @returns {number}
1227
1066
  */
1228
-
1229
1067
  }, {
1230
1068
  key: "getWidth",
1231
1069
  value: function getWidth() {
1232
1070
  return (0, _element.outerWidth)(this.TABLE);
1233
1071
  }
1072
+
1234
1073
  /**
1235
1074
  * Gets table's height. The returned height is the height of the rendered cells that fit in the
1236
1075
  * current viewport. The value may change depends on the viewport position (scroll position).
1237
1076
  *
1238
1077
  * @returns {number}
1239
1078
  */
1240
-
1241
1079
  }, {
1242
1080
  key: "getHeight",
1243
1081
  value: function getHeight() {
1244
1082
  return (0, _element.outerHeight)(this.TABLE);
1245
1083
  }
1084
+
1246
1085
  /**
1247
1086
  * Gets table's total width. The returned width is the width of all rendered cells (including headers)
1248
1087
  * that can be displayed in the table.
1249
1088
  *
1250
1089
  * @returns {number}
1251
1090
  */
1252
-
1253
1091
  }, {
1254
1092
  key: "getTotalWidth",
1255
1093
  value: function getTotalWidth() {
1256
- 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);
1257
1095
 
1096
+ // when the overlay's table does not have any cells the hider returns 0, get then width from the table element
1258
1097
  return width !== 0 ? width : this.getWidth();
1259
1098
  }
1099
+
1260
1100
  /**
1261
1101
  * Gets table's total height. The returned height is the height of all rendered cells (including headers)
1262
1102
  * that can be displayed in the table.
1263
1103
  *
1264
1104
  * @returns {number}
1265
1105
  */
1266
-
1267
1106
  }, {
1268
1107
  key: "getTotalHeight",
1269
1108
  value: function getTotalHeight() {
1270
- 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);
1271
1110
 
1111
+ // when the overlay's table does not have any cells the hider returns 0, get then height from the table element
1272
1112
  return height !== 0 ? height : this.getHeight();
1273
1113
  }
1114
+
1274
1115
  /**
1275
1116
  * Checks if the table is visible. It returns `true` when the holder element (or its parents)
1276
1117
  * has CSS 'display' property different than 'none'.
1277
1118
  *
1278
1119
  * @returns {boolean}
1279
1120
  */
1280
-
1281
1121
  }, {
1282
1122
  key: "isVisible",
1283
1123
  value: function isVisible() {
1284
1124
  return (0, _element.isVisible)(this.TABLE);
1285
1125
  }
1126
+
1286
1127
  /**
1287
1128
  * Modify row header widths provided by user in class contructor.
1288
1129
  *
@@ -1290,21 +1131,19 @@ var Table = /*#__PURE__*/function () {
1290
1131
  * @param {Function} rowHeaderWidthFactory The function which can provide default width values for rows..
1291
1132
  * @returns {number}
1292
1133
  */
1293
-
1294
1134
  }, {
1295
1135
  key: "_modifyRowHeaderWidth",
1296
1136
  value: function _modifyRowHeaderWidth(rowHeaderWidthFactory) {
1297
1137
  var widths = (0, _function.isFunction)(rowHeaderWidthFactory) ? rowHeaderWidthFactory() : null;
1298
-
1299
1138
  if (Array.isArray(widths)) {
1300
1139
  widths = _toConsumableArray(widths);
1301
1140
  widths[widths.length - 1] = this._correctRowHeaderWidth(widths[widths.length - 1]);
1302
1141
  } else {
1303
1142
  widths = this._correctRowHeaderWidth(widths);
1304
1143
  }
1305
-
1306
1144
  return widths;
1307
1145
  }
1146
+
1308
1147
  /**
1309
1148
  * Correct row header width if necessary.
1310
1149
  *
@@ -1312,26 +1151,20 @@ var Table = /*#__PURE__*/function () {
1312
1151
  * @param {number} width The width to process.
1313
1152
  * @returns {number}
1314
1153
  */
1315
-
1316
1154
  }, {
1317
1155
  key: "_correctRowHeaderWidth",
1318
1156
  value: function _correctRowHeaderWidth(width) {
1319
1157
  var rowHeaderWidth = width;
1320
-
1321
1158
  if (typeof width !== 'number') {
1322
1159
  rowHeaderWidth = this.wtSettings.getSetting('defaultColumnWidth');
1323
1160
  }
1324
-
1325
1161
  if (this.correctHeaderWidth) {
1326
1162
  rowHeaderWidth += 1;
1327
1163
  }
1328
-
1329
1164
  return rowHeaderWidth;
1330
1165
  }
1331
1166
  }]);
1332
-
1333
1167
  return Table;
1334
1168
  }();
1335
-
1336
1169
  var _default = Table;
1337
1170
  exports.default = _default;