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