handsontable 12.1.3 → 12.3.0-next-bb1a7c2-20221208

Sign up to get free protection for your applications and to get access to all the features.
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,44 +1,38 @@
1
1
  "use strict";
2
2
 
3
3
  require("core-js/modules/es.object.set-prototype-of.js");
4
-
5
4
  require("core-js/modules/es.reflect.construct.js");
6
-
5
+ require("core-js/modules/es.symbol.iterator.js");
6
+ require("core-js/modules/es.array.iterator.js");
7
+ require("core-js/modules/es.string.iterator.js");
8
+ require("core-js/modules/web.dom-collections.iterator.js");
7
9
  exports.__esModule = true;
8
10
  exports.default = void 0;
9
-
10
11
  require("core-js/modules/es.array.concat.js");
11
-
12
12
  require("core-js/modules/es.object.to-string.js");
13
-
14
13
  require("core-js/modules/web.dom-collections.for-each.js");
15
-
16
14
  require("core-js/modules/web.timers.js");
17
-
15
+ require("core-js/modules/es.symbol.to-primitive.js");
16
+ require("core-js/modules/es.date.to-primitive.js");
17
+ require("core-js/modules/es.symbol.js");
18
+ require("core-js/modules/es.symbol.description.js");
19
+ require("core-js/modules/es.number.constructor.js");
18
20
  var _element = require("../../../helpers/dom/element");
19
-
21
+ var _feature = require("../../../helpers/feature");
20
22
  var _array = require("../../../helpers/array");
21
-
22
23
  var _unicode = require("../../../helpers/unicode");
23
-
24
24
  var _browser = require("../../../helpers/browser");
25
-
26
25
  var _overlay = require("./overlay");
27
-
26
+ 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); }
28
27
  function _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct.bind(); } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }
29
-
30
28
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
31
-
32
29
  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
33
-
34
30
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
35
-
36
- 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); } }
37
-
31
+ 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); } }
38
32
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
39
-
40
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
41
-
33
+ 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; }
34
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
35
+ 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); }
42
36
  /**
43
37
  * @class Overlays
44
38
  */
@@ -99,6 +93,14 @@ var Overlays = /*#__PURE__*/function () {
99
93
  * @type {Settings}
100
94
  */
101
95
 
96
+ /**
97
+ * The instance of the ResizeObserver that observes the size of the Walkontable wrapper element.
98
+ * In case of the size change detection the `onContainerElementResize` is fired.
99
+ *
100
+ * @private
101
+ * @type {ResizeObserver}
102
+ */
103
+
102
104
  /**
103
105
  * @param {Walkontable} wotInstance The Walkontable instance. @todo refactoring remove.
104
106
  * @param {FacadeGetter} facadeGetter Function which return proper facade.
@@ -108,37 +110,38 @@ var Overlays = /*#__PURE__*/function () {
108
110
  * @param {MasterTable} wtTable The master table.
109
111
  */
110
112
  function Overlays(wotInstance, facadeGetter, domBindings, wtSettings, eventManager, wtTable) {
113
+ var _this = this;
111
114
  _classCallCheck(this, Overlays);
112
-
113
115
  _defineProperty(this, "wot", null);
114
-
115
116
  _defineProperty(this, "topOverlay", null);
116
-
117
117
  _defineProperty(this, "bottomOverlay", null);
118
-
119
118
  _defineProperty(this, "inlineStartOverlay", null);
120
-
121
119
  _defineProperty(this, "topInlineStartCornerOverlay", null);
122
-
123
120
  _defineProperty(this, "bottomInlineStartCornerOverlay", null);
124
-
125
121
  _defineProperty(this, "browserLineHeight", undefined);
126
-
127
122
  _defineProperty(this, "wtSettings", null);
128
-
123
+ _defineProperty(this, "resizeObserver", new ResizeObserver(function (entries) {
124
+ (0, _feature.requestAnimationFrame)(function () {
125
+ if (!Array.isArray(entries) || !entries.length) {
126
+ return;
127
+ }
128
+ _this.wtSettings.getSetting('onContainerElementResize');
129
+ });
130
+ }));
129
131
  this.wot = wotInstance;
130
132
  this.wtSettings = wtSettings;
131
133
  this.domBindings = domBindings;
132
134
  this.facadeGetter = facadeGetter;
133
135
  this.wtTable = wtTable;
134
136
  var _this$domBindings = this.domBindings,
135
- rootDocument = _this$domBindings.rootDocument,
136
- rootWindow = _this$domBindings.rootWindow; // legacy support
137
+ rootDocument = _this$domBindings.rootDocument,
138
+ rootWindow = _this$domBindings.rootWindow;
137
139
 
140
+ // legacy support
138
141
  this.instance = this.wot; // todo refactoring: move to facade
142
+ this.eventManager = eventManager;
139
143
 
140
- this.eventManager = eventManager; // TODO refactoring: probably invalid place to this logic
141
-
144
+ // TODO refactoring: probably invalid place to this logic
142
145
  this.scrollbarSize = (0, _element.getScrollbarWidth)(rootDocument);
143
146
  var isOverflowHidden = rootWindow.getComputedStyle(wtTable.wtRootElement.parentNode).getPropertyValue('overflow') === 'hidden';
144
147
  this.scrollableElement = isOverflowHidden ? wtTable.holder : (0, _element.getScrollableElement)(wtTable.TABLE);
@@ -158,94 +161,90 @@ var Overlays = /*#__PURE__*/function () {
158
161
  this.lastScrollX = rootWindow.scrollX;
159
162
  this.lastScrollY = rootWindow.scrollY;
160
163
  }
164
+
161
165
  /**
162
166
  * Retrieve browser line height and apply its value to `browserLineHeight`.
163
167
  *
164
168
  * @private
165
169
  */
166
-
167
-
168
170
  _createClass(Overlays, [{
169
171
  key: "initBrowserLineHeight",
170
172
  value: function initBrowserLineHeight() {
171
173
  var _this$domBindings2 = this.domBindings,
172
- rootWindow = _this$domBindings2.rootWindow,
173
- rootDocument = _this$domBindings2.rootDocument;
174
+ rootWindow = _this$domBindings2.rootWindow,
175
+ rootDocument = _this$domBindings2.rootDocument;
174
176
  var computedStyle = rootWindow.getComputedStyle(rootDocument.body);
175
177
  /**
176
178
  * Sometimes `line-height` might be set to 'normal'. In that case, a default `font-size` should be multiplied by roughly 1.2.
177
179
  * Https://developer.mozilla.org/pl/docs/Web/CSS/line-height#Values.
178
180
  */
179
-
180
181
  var lineHeight = parseInt(computedStyle.lineHeight, 10);
181
182
  var lineHeightFalback = parseInt(computedStyle.fontSize, 10) * 1.2;
182
183
  this.browserLineHeight = lineHeight || lineHeightFalback;
183
184
  }
185
+
184
186
  /**
185
187
  * Prepare overlays based on user settings.
186
188
  *
187
189
  * @private
188
190
  */
189
-
190
191
  }, {
191
192
  key: "initOverlays",
192
193
  value: function initOverlays() {
193
- var args = [this.wot, this.facadeGetter, this.wtSettings, this.domBindings]; // todo refactoring: IOC, collection or factories.
194
- // TODO refactoring, conceive about using generic collection of overlays.
194
+ var args = [this.wot, this.facadeGetter, this.wtSettings, this.domBindings];
195
195
 
196
+ // todo refactoring: IOC, collection or factories.
197
+ // TODO refactoring, conceive about using generic collection of overlays.
196
198
  this.topOverlay = _construct(_overlay.TopOverlay, args);
197
199
  this.bottomOverlay = _construct(_overlay.BottomOverlay, args);
198
- this.inlineStartOverlay = _construct(_overlay.InlineStartOverlay, args); // TODO discuss, the controversial here would be removing the lazy creation mechanism for corners.
199
- // TODO cond. Has no any visual impact. They're initially hidden in same way like left, top, and bottom overlays.
200
+ this.inlineStartOverlay = _construct(_overlay.InlineStartOverlay, args);
200
201
 
202
+ // TODO discuss, the controversial here would be removing the lazy creation mechanism for corners.
203
+ // TODO cond. Has no any visual impact. They're initially hidden in same way like left, top, and bottom overlays.
201
204
  this.topInlineStartCornerOverlay = _construct(_overlay.TopInlineStartCornerOverlay, args.concat([this.topOverlay, this.inlineStartOverlay]));
202
205
  this.bottomInlineStartCornerOverlay = _construct(_overlay.BottomInlineStartCornerOverlay, args.concat([this.bottomOverlay, this.inlineStartOverlay]));
203
206
  }
207
+
204
208
  /**
205
209
  * Update state of rendering, check if changed.
206
210
  *
207
211
  * @package
208
212
  * @returns {boolean} Returns `true` if changes applied to overlay needs scroll synchronization.
209
213
  */
210
-
211
214
  }, {
212
215
  key: "updateStateOfRendering",
213
216
  value: function updateStateOfRendering() {
214
217
  var syncScroll = this.topOverlay.updateStateOfRendering();
215
218
  syncScroll = this.bottomOverlay.updateStateOfRendering() || syncScroll;
216
- syncScroll = this.inlineStartOverlay.updateStateOfRendering() || syncScroll; // todo refactoring: move conditions into updateStateOfRendering(),
219
+ syncScroll = this.inlineStartOverlay.updateStateOfRendering() || syncScroll;
217
220
 
221
+ // todo refactoring: move conditions into updateStateOfRendering(),
218
222
  if (this.inlineStartOverlay.needFullRender) {
219
223
  if (this.topOverlay.needFullRender) {
220
224
  syncScroll = this.topInlineStartCornerOverlay.updateStateOfRendering() || syncScroll;
221
225
  }
222
-
223
226
  if (this.bottomOverlay.needFullRender) {
224
227
  syncScroll = this.bottomInlineStartCornerOverlay.updateStateOfRendering() || syncScroll;
225
228
  }
226
229
  }
227
-
228
230
  return syncScroll;
229
231
  }
232
+
230
233
  /**
231
234
  * Refresh and redraw table.
232
235
  */
233
-
234
236
  }, {
235
237
  key: "refreshAll",
236
238
  value: function refreshAll() {
237
239
  if (!this.wot.drawn) {
238
240
  return;
239
241
  }
240
-
241
242
  if (!this.wtTable.holder.parentNode) {
242
243
  // Walkontable was detached from DOM, but this handler was not removed
243
244
  this.destroy();
244
245
  return;
245
246
  }
246
-
247
247
  this.wot.draw(true);
248
-
249
248
  if (this.verticalScrolling) {
250
249
  this.inlineStartOverlay.onScroll(); // todo the inlineStartOverlay.onScroll() fires hook. Why is it needed there, not in any another place?
251
250
  }
@@ -253,67 +252,61 @@ var Overlays = /*#__PURE__*/function () {
253
252
  if (this.horizontalScrolling) {
254
253
  this.topOverlay.onScroll();
255
254
  }
256
-
257
255
  this.verticalScrolling = false;
258
256
  this.horizontalScrolling = false;
259
257
  }
258
+
260
259
  /**
261
260
  * Register all necessary event listeners.
262
261
  */
263
-
264
262
  }, {
265
263
  key: "registerListeners",
266
264
  value: function registerListeners() {
267
- var _this = this;
268
-
265
+ var _this2 = this;
269
266
  var _this$domBindings3 = this.domBindings,
270
- rootDocument = _this$domBindings3.rootDocument,
271
- rootWindow = _this$domBindings3.rootWindow;
267
+ rootDocument = _this$domBindings3.rootDocument,
268
+ rootWindow = _this$domBindings3.rootWindow;
272
269
  var topOverlayScrollableElement = this.topOverlay.mainTableScrollableElement;
273
270
  var inlineStartOverlayScrollableElement = this.inlineStartOverlay.mainTableScrollableElement;
274
271
  this.eventManager.addEventListener(rootDocument.documentElement, 'keydown', function (event) {
275
- return _this.onKeyDown(event);
272
+ return _this2.onKeyDown(event);
276
273
  });
277
274
  this.eventManager.addEventListener(rootDocument.documentElement, 'keyup', function () {
278
- return _this.onKeyUp();
275
+ return _this2.onKeyUp();
279
276
  });
280
277
  this.eventManager.addEventListener(rootDocument, 'visibilitychange', function () {
281
- return _this.onKeyUp();
278
+ return _this2.onKeyUp();
282
279
  });
283
280
  this.eventManager.addEventListener(topOverlayScrollableElement, 'scroll', function (event) {
284
- return _this.onTableScroll(event);
281
+ return _this2.onTableScroll(event);
285
282
  }, {
286
283
  passive: true
287
284
  });
288
-
289
285
  if (topOverlayScrollableElement !== inlineStartOverlayScrollableElement) {
290
286
  this.eventManager.addEventListener(inlineStartOverlayScrollableElement, 'scroll', function (event) {
291
- return _this.onTableScroll(event);
287
+ return _this2.onTableScroll(event);
292
288
  }, {
293
289
  passive: true
294
290
  });
295
291
  }
296
-
297
292
  var isHighPixelRatio = rootWindow.devicePixelRatio && rootWindow.devicePixelRatio > 1;
298
293
  var isScrollOnWindow = this.scrollableElement === rootWindow;
299
294
  var preventWheel = this.wtSettings.getSetting('preventWheel');
300
295
  var wheelEventOptions = {
301
296
  passive: isScrollOnWindow
302
297
  };
303
-
304
298
  if (preventWheel || isHighPixelRatio || !(0, _browser.isChrome)()) {
305
299
  this.eventManager.addEventListener(this.wtTable.wtRootElement, 'wheel', function (event) {
306
- return _this.onCloneWheel(event, preventWheel);
300
+ return _this2.onCloneWheel(event, preventWheel);
307
301
  }, wheelEventOptions);
308
302
  }
309
-
310
303
  var overlays = [this.topOverlay, this.bottomOverlay, this.inlineStartOverlay, this.topInlineStartCornerOverlay, this.bottomInlineStartCornerOverlay];
311
304
  overlays.forEach(function (overlay) {
312
305
  if (overlay && overlay.needFullRender) {
313
306
  var holder = overlay.clone.wtTable.holder; // todo rethink, maybe: overlay.getHolder()
314
307
 
315
- _this.eventManager.addEventListener(holder, 'wheel', function (event) {
316
- return _this.onCloneWheel(event, preventWheel);
308
+ _this2.eventManager.addEventListener(holder, 'wheel', function (event) {
309
+ return _this2.onCloneWheel(event, preventWheel);
317
310
  }, wheelEventOptions);
318
311
  }
319
312
  });
@@ -321,25 +314,28 @@ var Overlays = /*#__PURE__*/function () {
321
314
  this.eventManager.addEventListener(rootWindow, 'resize', function () {
322
315
  clearTimeout(resizeTimeout);
323
316
  resizeTimeout = setTimeout(function () {
324
- _this.wtSettings.getSetting('onWindowResize');
317
+ _this2.wtSettings.getSetting('onWindowResize');
325
318
  }, 200);
326
319
  });
320
+ if (!isScrollOnWindow) {
321
+ this.resizeObserver.observe(this.wtTable.wtRootElement.parentElement);
322
+ }
327
323
  }
324
+
328
325
  /**
329
326
  * Deregister all previously registered listeners.
330
327
  */
331
-
332
328
  }, {
333
329
  key: "deregisterListeners",
334
330
  value: function deregisterListeners() {
335
331
  this.eventManager.clearEvents(true);
336
332
  }
333
+
337
334
  /**
338
335
  * Scroll listener.
339
336
  *
340
337
  * @param {Event} event The mouse event object.
341
338
  */
342
-
343
339
  }, {
344
340
  key: "onTableScroll",
345
341
  value: function onTableScroll(event) {
@@ -348,68 +344,69 @@ var Overlays = /*#__PURE__*/function () {
348
344
  var rootWindow = this.domBindings.rootWindow;
349
345
  var masterHorizontal = this.inlineStartOverlay.mainTableScrollableElement;
350
346
  var masterVertical = this.topOverlay.mainTableScrollableElement;
351
- var target = event.target; // For key press, sync only master -> overlay position because while pressing Walkontable.render is triggered
352
- // by hot.refreshBorder
347
+ var target = event.target;
353
348
 
349
+ // For key press, sync only master -> overlay position because while pressing Walkontable.render is triggered
350
+ // by hot.refreshBorder
354
351
  if (this.keyPressed) {
355
352
  if (masterVertical !== rootWindow && target !== rootWindow && !event.target.contains(masterVertical) || masterHorizontal !== rootWindow && target !== rootWindow && !event.target.contains(masterHorizontal)) {
356
353
  return;
357
354
  }
358
355
  }
359
-
360
356
  this.syncScrollPositions(event);
361
357
  }
358
+
362
359
  /**
363
360
  * Wheel listener for cloned overlays.
364
361
  *
365
362
  * @param {Event} event The mouse event object.
366
363
  * @param {boolean} preventDefault If `true`, the `preventDefault` will be called on event object.
367
364
  */
368
-
369
365
  }, {
370
366
  key: "onCloneWheel",
371
367
  value: function onCloneWheel(event, preventDefault) {
372
- var rootWindow = this.domBindings.rootWindow; // There was if statement which controlled flow of this function. It avoided the execution of the next lines
368
+ var rootWindow = this.domBindings.rootWindow;
369
+
370
+ // There was if statement which controlled flow of this function. It avoided the execution of the next lines
373
371
  // on mobile devices. It was changed. Broader description of this case is included within issue #4856.
374
372
 
375
373
  var masterHorizontal = this.inlineStartOverlay.mainTableScrollableElement;
376
374
  var masterVertical = this.topOverlay.mainTableScrollableElement;
377
- var target = event.target; // For key press, sync only master -> overlay position because while pressing Walkontable.render is triggered
378
- // by hot.refreshBorder
375
+ var target = event.target;
379
376
 
377
+ // For key press, sync only master -> overlay position because while pressing Walkontable.render is triggered
378
+ // by hot.refreshBorder
380
379
  var shouldNotWheelVertically = masterVertical !== rootWindow && target !== rootWindow && !target.contains(masterVertical);
381
380
  var shouldNotWheelHorizontally = masterHorizontal !== rootWindow && target !== rootWindow && !target.contains(masterHorizontal);
382
-
383
381
  if (this.keyPressed && (shouldNotWheelVertically || shouldNotWheelHorizontally)) {
384
382
  return;
385
383
  }
386
-
387
384
  var isScrollPossible = this.translateMouseWheelToScroll(event);
388
-
389
385
  if (preventDefault || this.scrollableElement !== rootWindow && isScrollPossible) {
390
386
  event.preventDefault();
391
387
  }
392
388
  }
389
+
393
390
  /**
394
391
  * Key down listener.
395
392
  *
396
393
  * @param {Event} event The keyboard event object.
397
394
  */
398
-
399
395
  }, {
400
396
  key: "onKeyDown",
401
397
  value: function onKeyDown(event) {
402
398
  this.keyPressed = (0, _unicode.isKey)(event.keyCode, 'ARROW_UP|ARROW_RIGHT|ARROW_DOWN|ARROW_LEFT');
403
399
  }
400
+
404
401
  /**
405
402
  * Key up listener.
406
403
  */
407
-
408
404
  }, {
409
405
  key: "onKeyUp",
410
406
  value: function onKeyUp() {
411
407
  this.keyPressed = false;
412
408
  }
409
+
413
410
  /**
414
411
  * Translate wheel event into scroll event and sync scroll overlays position.
415
412
  *
@@ -417,29 +414,26 @@ var Overlays = /*#__PURE__*/function () {
417
414
  * @param {Event} event The mouse event object.
418
415
  * @returns {boolean}
419
416
  */
420
-
421
417
  }, {
422
418
  key: "translateMouseWheelToScroll",
423
419
  value: function translateMouseWheelToScroll(event) {
424
420
  var deltaY = isNaN(event.deltaY) ? -1 * event.wheelDeltaY : event.deltaY;
425
421
  var deltaX = isNaN(event.deltaX) ? -1 * event.wheelDeltaX : event.deltaX;
426
-
427
422
  if (event.deltaMode === 1) {
428
423
  deltaX += deltaX * this.browserLineHeight;
429
424
  deltaY += deltaY * this.browserLineHeight;
430
425
  }
431
-
432
426
  var isScrollVerticallyPossible = this.scrollVertically(deltaY);
433
427
  var isScrollHorizontallyPossible = this.scrollHorizontally(deltaX);
434
428
  return isScrollVerticallyPossible || isScrollHorizontallyPossible;
435
429
  }
430
+
436
431
  /**
437
432
  * Scrolls main scrollable element horizontally.
438
433
  *
439
434
  * @param {number} delta Relative value to scroll.
440
435
  * @returns {boolean}
441
436
  */
442
-
443
437
  }, {
444
438
  key: "scrollVertically",
445
439
  value: function scrollVertically(delta) {
@@ -447,13 +441,13 @@ var Overlays = /*#__PURE__*/function () {
447
441
  this.scrollableElement.scrollTop += delta;
448
442
  return previousScroll !== this.scrollableElement.scrollTop;
449
443
  }
444
+
450
445
  /**
451
446
  * Scrolls main scrollable element horizontally.
452
447
  *
453
448
  * @param {number} delta Relative value to scroll.
454
449
  * @returns {boolean}
455
450
  */
456
-
457
451
  }, {
458
452
  key: "scrollHorizontally",
459
453
  value: function scrollHorizontally(delta) {
@@ -461,32 +455,29 @@ var Overlays = /*#__PURE__*/function () {
461
455
  this.scrollableElement.scrollLeft += delta;
462
456
  return previousScroll !== this.scrollableElement.scrollLeft;
463
457
  }
458
+
464
459
  /**
465
460
  * Synchronize scroll position between master table and overlay table.
466
461
  *
467
462
  * @private
468
463
  */
469
-
470
464
  }, {
471
465
  key: "syncScrollPositions",
472
466
  value: function syncScrollPositions() {
473
467
  if (this.destroyed) {
474
468
  return;
475
469
  }
476
-
477
470
  var rootWindow = this.domBindings.rootWindow;
478
471
  var topHolder = this.topOverlay.clone.wtTable.holder; // todo rethink
479
-
480
472
  var leftHolder = this.inlineStartOverlay.clone.wtTable.holder; // todo rethink
481
473
 
482
474
  var _ref = [this.scrollableElement.scrollLeft, this.scrollableElement.scrollTop],
483
- scrollLeft = _ref[0],
484
- scrollTop = _ref[1];
475
+ scrollLeft = _ref[0],
476
+ scrollTop = _ref[1];
485
477
  this.horizontalScrolling = topHolder.scrollLeft !== scrollLeft || this.lastScrollX !== rootWindow.scrollX;
486
478
  this.verticalScrolling = leftHolder.scrollTop !== scrollTop || this.lastScrollY !== rootWindow.scrollY;
487
479
  this.lastScrollX = rootWindow.scrollX;
488
480
  this.lastScrollY = rootWindow.scrollY;
489
-
490
481
  if (this.horizontalScrolling) {
491
482
  topHolder.scrollLeft = scrollLeft;
492
483
  var bottomHolder = this.bottomOverlay.needFullRender ? this.bottomOverlay.clone.wtTable.holder : null; // todo rethink
@@ -495,24 +486,21 @@ var Overlays = /*#__PURE__*/function () {
495
486
  bottomHolder.scrollLeft = scrollLeft;
496
487
  }
497
488
  }
498
-
499
489
  if (this.verticalScrolling) {
500
490
  leftHolder.scrollTop = scrollTop;
501
491
  }
502
-
503
492
  this.refreshAll();
504
493
  }
494
+
505
495
  /**
506
496
  * Synchronize overlay scrollbars with the master scrollbar.
507
497
  */
508
-
509
498
  }, {
510
499
  key: "syncScrollWithMaster",
511
500
  value: function syncScrollWithMaster() {
512
501
  var master = this.topOverlay.mainTableScrollableElement;
513
502
  var scrollLeft = master.scrollLeft,
514
- scrollTop = master.scrollTop;
515
-
503
+ scrollTop = master.scrollTop;
516
504
  if (this.topOverlay.needFullRender) {
517
505
  this.topOverlay.clone.wtTable.holder.scrollLeft = scrollLeft; // todo rethink, *overlay.setScroll*()
518
506
  }
@@ -525,100 +513,102 @@ var Overlays = /*#__PURE__*/function () {
525
513
  this.inlineStartOverlay.clone.wtTable.holder.scrollTop = scrollTop; // todo rethink, *overlay.setScroll*()
526
514
  }
527
515
  }
516
+
528
517
  /**
529
518
  * Update the main scrollable elements for all the overlays.
530
519
  */
531
-
532
520
  }, {
533
521
  key: "updateMainScrollableElements",
534
522
  value: function updateMainScrollableElements() {
535
523
  this.deregisterListeners();
536
524
  this.inlineStartOverlay.updateMainScrollableElement();
537
525
  this.topOverlay.updateMainScrollableElement();
538
-
539
526
  if (this.bottomOverlay.needFullRender) {
540
527
  this.bottomOverlay.updateMainScrollableElement();
541
528
  }
542
-
543
529
  var wtTable = this.wtTable;
544
530
  var rootWindow = this.domBindings.rootWindow;
545
-
546
531
  if (rootWindow.getComputedStyle(wtTable.wtRootElement.parentNode).getPropertyValue('overflow') === 'hidden') {
547
532
  this.scrollableElement = wtTable.holder;
548
533
  } else {
549
534
  this.scrollableElement = (0, _element.getScrollableElement)(wtTable.TABLE);
550
535
  }
551
-
552
536
  this.registerListeners();
553
537
  }
538
+
554
539
  /**
555
540
  *
556
541
  */
557
-
558
542
  }, {
559
543
  key: "destroy",
560
544
  value: function destroy() {
561
- this.eventManager.destroy(); // todo, probably all below `destory` calls has no sense. To analyze
562
-
545
+ this.resizeObserver.disconnect();
546
+ this.eventManager.destroy();
547
+ // todo, probably all below `destory` calls has no sense. To analyze
563
548
  this.topOverlay.destroy();
564
-
565
549
  if (this.bottomOverlay.clone) {
566
550
  this.bottomOverlay.destroy();
567
551
  }
568
-
569
552
  this.inlineStartOverlay.destroy();
570
-
571
553
  if (this.topInlineStartCornerOverlay) {
572
554
  this.topInlineStartCornerOverlay.destroy();
573
555
  }
574
-
575
556
  if (this.bottomInlineStartCornerOverlay && this.bottomInlineStartCornerOverlay.clone) {
576
557
  this.bottomInlineStartCornerOverlay.destroy();
577
558
  }
578
-
579
559
  this.destroyed = true;
580
560
  }
561
+
581
562
  /**
582
563
  * @param {boolean} [fastDraw=false] When `true`, try to refresh only the positions of borders without rerendering
583
564
  * the data. It will only work if Table.draw() does not force
584
565
  * rendering anyway.
585
566
  */
586
-
587
567
  }, {
588
568
  key: "refresh",
589
569
  value: function refresh() {
590
570
  var fastDraw = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
591
- var spreader = this.wtTable.spreader;
592
- var width = spreader.clientWidth;
593
- var height = spreader.clientHeight;
594
-
595
- if (width !== this.spreaderLastSize.width || height !== this.spreaderLastSize.height) {
596
- this.spreaderLastSize.width = width;
597
- this.spreaderLastSize.height = height;
571
+ var wasSpreaderSizeUpdated = this.updateLastSpreaderSize();
572
+ if (wasSpreaderSizeUpdated) {
598
573
  this.adjustElementsSize();
599
574
  }
600
-
601
575
  if (this.bottomOverlay.clone) {
602
576
  this.bottomOverlay.refresh(fastDraw);
603
577
  }
604
-
605
578
  this.inlineStartOverlay.refresh(fastDraw);
606
579
  this.topOverlay.refresh(fastDraw);
607
-
608
580
  if (this.topInlineStartCornerOverlay) {
609
581
  this.topInlineStartCornerOverlay.refresh(fastDraw);
610
582
  }
611
-
612
583
  if (this.bottomInlineStartCornerOverlay && this.bottomInlineStartCornerOverlay.clone) {
613
584
  this.bottomInlineStartCornerOverlay.refresh(fastDraw);
614
585
  }
615
586
  }
587
+
588
+ /**
589
+ * Update the last cached spreader size with the current size.
590
+ *
591
+ * @returns {boolean} `true` if the lastSpreaderSize cache was updated, `false` otherwise.
592
+ */
593
+ }, {
594
+ key: "updateLastSpreaderSize",
595
+ value: function updateLastSpreaderSize() {
596
+ var spreader = this.wtTable.spreader;
597
+ var width = spreader.clientWidth;
598
+ var height = spreader.clientHeight;
599
+ var needsUpdating = width !== this.spreaderLastSize.width || height !== this.spreaderLastSize.height;
600
+ if (needsUpdating) {
601
+ this.spreaderLastSize.width = width;
602
+ this.spreaderLastSize.height = height;
603
+ }
604
+ return needsUpdating;
605
+ }
606
+
616
607
  /**
617
608
  * Adjust overlays elements size and master table size.
618
609
  *
619
610
  * @param {boolean} [force=false] When `true`, it adjust the DOM nodes sizes for all overlays.
620
611
  */
621
-
622
612
  }, {
623
613
  key: "adjustElementsSize",
624
614
  value: function adjustElementsSize() {
@@ -632,69 +622,61 @@ var Overlays = /*#__PURE__*/function () {
632
622
  var hiderStyle = wtTable.hider.style;
633
623
  hiderStyle.width = "".concat(headerRowSize + this.inlineStartOverlay.sumCellSizes(0, totalColumns), "px");
634
624
  hiderStyle.height = "".concat(headerColumnSize + this.topOverlay.sumCellSizes(0, totalRows) + 1, "px");
635
-
636
625
  if (this.scrollbarSize > 0) {
637
626
  // todo refactoring, looking as a part of logic which should be moved outside the class
638
627
  var _wtTable$wtRootElemen = wtTable.wtRootElement,
639
- rootElemScrollHeight = _wtTable$wtRootElemen.scrollHeight,
640
- rootElemScrollWidth = _wtTable$wtRootElemen.scrollWidth;
628
+ rootElemScrollHeight = _wtTable$wtRootElemen.scrollHeight,
629
+ rootElemScrollWidth = _wtTable$wtRootElemen.scrollWidth;
641
630
  var _wtTable$holder = wtTable.holder,
642
- holderScrollHeight = _wtTable$holder.scrollHeight,
643
- holderScrollWidth = _wtTable$holder.scrollWidth;
631
+ holderScrollHeight = _wtTable$holder.scrollHeight,
632
+ holderScrollWidth = _wtTable$holder.scrollWidth;
644
633
  this.hasScrollbarRight = rootElemScrollHeight < holderScrollHeight;
645
634
  this.hasScrollbarBottom = rootElemScrollWidth < holderScrollWidth;
646
-
647
635
  if (this.hasScrollbarRight && wtTable.hider.scrollWidth + this.scrollbarSize > rootElemScrollWidth) {
648
636
  this.hasScrollbarBottom = true;
649
637
  } else if (this.hasScrollbarBottom && wtTable.hider.scrollHeight + this.scrollbarSize > rootElemScrollHeight) {
650
638
  this.hasScrollbarRight = true;
651
639
  }
652
640
  }
653
-
654
641
  this.topOverlay.adjustElementsSize(force);
655
642
  this.inlineStartOverlay.adjustElementsSize(force);
656
643
  this.bottomOverlay.adjustElementsSize(force);
657
644
  }
645
+
658
646
  /**
659
647
  *
660
648
  */
661
-
662
649
  }, {
663
650
  key: "applyToDOM",
664
651
  value: function applyToDOM() {
665
652
  if (!this.wtTable.isVisible()) {
666
653
  return;
667
654
  }
668
-
669
655
  this.topOverlay.applyToDOM();
670
-
671
656
  if (this.bottomOverlay.clone) {
672
657
  this.bottomOverlay.applyToDOM();
673
658
  }
674
-
675
659
  this.inlineStartOverlay.applyToDOM();
676
660
  }
661
+
677
662
  /**
678
663
  * Get the parent overlay of the provided element.
679
664
  *
680
665
  * @param {HTMLElement} element An element to process.
681
666
  * @returns {object|null}
682
667
  */
683
-
684
668
  }, {
685
669
  key: "getParentOverlay",
686
670
  value: function getParentOverlay(element) {
687
671
  if (!element) {
688
672
  return null;
689
673
  }
690
-
691
674
  var overlays = [this.topOverlay, this.inlineStartOverlay, this.bottomOverlay, this.topInlineStartCornerOverlay, this.bottomInlineStartCornerOverlay];
692
675
  var result = null;
693
676
  (0, _array.arrayEach)(overlays, function (overlay) {
694
677
  if (!overlay) {
695
678
  return;
696
679
  }
697
-
698
680
  if (overlay.clone && overlay.clone.wtTable.TABLE.contains(element)) {
699
681
  // todo demeter
700
682
  result = overlay.clone;
@@ -702,11 +684,11 @@ var Overlays = /*#__PURE__*/function () {
702
684
  });
703
685
  return result;
704
686
  }
687
+
705
688
  /**
706
689
  * Synchronize the class names between the main overlay table and the tables on the other overlays.
707
690
  *
708
691
  */
709
-
710
692
  }, {
711
693
  key: "syncOverlayTableClassNames",
712
694
  value: function syncOverlayTableClassNames() {
@@ -716,14 +698,11 @@ var Overlays = /*#__PURE__*/function () {
716
698
  if (!elem) {
717
699
  return;
718
700
  }
719
-
720
701
  elem.clone.wtTable.TABLE.className = masterTable.className; // todo demeter
721
702
  });
722
703
  }
723
704
  }]);
724
-
725
705
  return Overlays;
726
706
  }();
727
-
728
707
  var _default = Overlays;
729
708
  exports.default = _default;