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