handsontable 12.1.3 → 12.3.0-next-bb1a7c2-20221208

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