handsontable 11.0.0 → 12.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (633) hide show
  1. package/3rdparty/walkontable/src/border.js +121 -99
  2. package/3rdparty/walkontable/src/border.mjs +122 -96
  3. package/3rdparty/walkontable/src/calculator/viewportColumns.js +1 -1
  4. package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +1 -1
  5. package/3rdparty/walkontable/src/calculator/viewportRows.js +1 -1
  6. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +1 -1
  7. package/3rdparty/walkontable/src/cell/coords.js +60 -18
  8. package/3rdparty/walkontable/src/cell/coords.mjs +56 -18
  9. package/3rdparty/walkontable/src/cell/range.d.ts +10 -2
  10. package/3rdparty/walkontable/src/cell/range.js +279 -100
  11. package/3rdparty/walkontable/src/cell/range.mjs +274 -100
  12. package/3rdparty/walkontable/src/core/_base.js +452 -0
  13. package/3rdparty/walkontable/src/core/_base.mjs +440 -0
  14. package/3rdparty/walkontable/src/core/clone.js +97 -0
  15. package/3rdparty/walkontable/src/core/clone.mjs +80 -0
  16. package/3rdparty/walkontable/src/core/core.js +183 -0
  17. package/3rdparty/walkontable/src/core/core.mjs +160 -0
  18. package/3rdparty/walkontable/src/event.js +100 -67
  19. package/3rdparty/walkontable/src/event.mjs +100 -64
  20. package/3rdparty/walkontable/src/facade/core.js +251 -0
  21. package/3rdparty/walkontable/src/facade/core.mjs +243 -0
  22. package/3rdparty/walkontable/src/filter/column.js +1 -1
  23. package/3rdparty/walkontable/src/filter/column.mjs +1 -1
  24. package/3rdparty/walkontable/src/filter/row.js +1 -1
  25. package/3rdparty/walkontable/src/filter/row.mjs +1 -1
  26. package/3rdparty/walkontable/src/index.js +3 -47
  27. package/3rdparty/walkontable/src/index.mjs +3 -13
  28. package/3rdparty/walkontable/src/overlay/_base.js +125 -58
  29. package/3rdparty/walkontable/src/overlay/_base.mjs +126 -59
  30. package/3rdparty/walkontable/src/overlay/bottom.js +86 -76
  31. package/3rdparty/walkontable/src/overlay/bottom.mjs +86 -76
  32. package/3rdparty/walkontable/src/overlay/{bottomLeftCorner.js → bottomInlineStartCorner.js} +35 -58
  33. package/3rdparty/walkontable/src/overlay/{bottomLeftCorner.mjs → bottomInlineStartCorner.mjs} +34 -57
  34. package/3rdparty/walkontable/src/overlay/constants.js +25 -9
  35. package/3rdparty/walkontable/src/overlay/constants.mjs +14 -4
  36. package/3rdparty/walkontable/src/overlay/index.js +10 -19
  37. package/3rdparty/walkontable/src/overlay/index.mjs +4 -5
  38. package/3rdparty/walkontable/src/overlay/{left.js → inlineStart.js} +102 -80
  39. package/3rdparty/walkontable/src/overlay/{left.mjs → inlineStart.mjs} +101 -79
  40. package/3rdparty/walkontable/src/overlay/top.js +84 -79
  41. package/3rdparty/walkontable/src/overlay/top.mjs +84 -79
  42. package/3rdparty/walkontable/src/overlay/{topLeftCorner.js → topInlineStartCorner.js} +56 -57
  43. package/3rdparty/walkontable/src/overlay/{topLeftCorner.mjs → topInlineStartCorner.mjs} +51 -52
  44. package/3rdparty/walkontable/src/overlays.js +226 -157
  45. package/3rdparty/walkontable/src/overlays.mjs +226 -156
  46. package/3rdparty/walkontable/src/renderer/_base.js +1 -1
  47. package/3rdparty/walkontable/src/renderer/_base.mjs +1 -1
  48. package/3rdparty/walkontable/src/renderer/cells.js +5 -4
  49. package/3rdparty/walkontable/src/renderer/cells.mjs +5 -4
  50. package/3rdparty/walkontable/src/renderer/colGroup.js +3 -3
  51. package/3rdparty/walkontable/src/renderer/colGroup.mjs +3 -3
  52. package/3rdparty/walkontable/src/renderer/columnHeaders.js +3 -3
  53. package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +3 -3
  54. package/3rdparty/walkontable/src/renderer/index.js +1 -1
  55. package/3rdparty/walkontable/src/renderer/index.mjs +1 -1
  56. package/3rdparty/walkontable/src/renderer/rowHeaders.js +3 -3
  57. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +3 -3
  58. package/3rdparty/walkontable/src/renderer/rows.js +3 -3
  59. package/3rdparty/walkontable/src/renderer/rows.mjs +3 -3
  60. package/3rdparty/walkontable/src/renderer/table.js +1 -1
  61. package/3rdparty/walkontable/src/renderer/table.mjs +1 -1
  62. package/3rdparty/walkontable/src/scroll.js +61 -88
  63. package/3rdparty/walkontable/src/scroll.mjs +61 -88
  64. package/3rdparty/walkontable/src/selection.js +12 -16
  65. package/3rdparty/walkontable/src/selection.mjs +12 -14
  66. package/3rdparty/walkontable/src/settings.js +236 -127
  67. package/3rdparty/walkontable/src/settings.mjs +236 -126
  68. package/3rdparty/walkontable/src/table/bottom.js +21 -6
  69. package/3rdparty/walkontable/src/table/bottom.mjs +20 -6
  70. package/3rdparty/walkontable/src/table/{bottomLeftCorner.js → bottomInlineStartCorner.js} +31 -15
  71. package/3rdparty/walkontable/src/table/{bottomLeftCorner.mjs → bottomInlineStartCorner.mjs} +30 -15
  72. package/3rdparty/walkontable/src/table/{left.js → inlineStart.js} +27 -15
  73. package/3rdparty/walkontable/src/table/{left.mjs → inlineStart.mjs} +26 -15
  74. package/3rdparty/walkontable/src/table/master.js +23 -13
  75. package/3rdparty/walkontable/src/table/master.mjs +23 -13
  76. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +12 -6
  77. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +12 -6
  78. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +12 -6
  79. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +12 -6
  80. package/3rdparty/walkontable/src/table/mixin/{stickyColumnsLeft.js → stickyColumnsStart.js} +13 -7
  81. package/3rdparty/walkontable/src/table/mixin/{stickyColumnsLeft.mjs → stickyColumnsStart.mjs} +13 -7
  82. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +11 -5
  83. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +11 -5
  84. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +9 -3
  85. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +9 -3
  86. package/3rdparty/walkontable/src/table/top.js +21 -6
  87. package/3rdparty/walkontable/src/table/top.mjs +20 -6
  88. package/3rdparty/walkontable/src/table/{topLeftCorner.js → topInlineStartCorner.js} +31 -15
  89. package/3rdparty/walkontable/src/table/{topLeftCorner.mjs → topInlineStartCorner.mjs} +30 -15
  90. package/3rdparty/walkontable/src/table.js +236 -141
  91. package/3rdparty/walkontable/src/table.mjs +232 -135
  92. package/3rdparty/walkontable/src/types.js +103 -0
  93. package/3rdparty/walkontable/src/types.mjs +102 -0
  94. package/3rdparty/walkontable/src/utils/column.js +23 -34
  95. package/3rdparty/walkontable/src/utils/column.mjs +23 -31
  96. package/3rdparty/walkontable/src/utils/nodesPool.js +1 -1
  97. package/3rdparty/walkontable/src/utils/nodesPool.mjs +1 -1
  98. package/3rdparty/walkontable/src/utils/orderView/sharedView.js +3 -3
  99. package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +3 -3
  100. package/3rdparty/walkontable/src/utils/orderView/view.js +1 -1
  101. package/3rdparty/walkontable/src/utils/orderView/view.mjs +1 -1
  102. package/3rdparty/walkontable/src/utils/orderView/viewSize.js +1 -1
  103. package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +1 -1
  104. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +1 -1
  105. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +1 -1
  106. package/3rdparty/walkontable/src/utils/row.js +10 -5
  107. package/3rdparty/walkontable/src/utils/row.mjs +10 -5
  108. package/3rdparty/walkontable/src/viewport.js +78 -81
  109. package/3rdparty/walkontable/src/viewport.mjs +78 -78
  110. package/CHANGELOG.md +94 -17
  111. package/README.md +10 -7
  112. package/base.js +2 -2
  113. package/base.mjs +2 -2
  114. package/cellTypes/timeType/timeType.d.ts +6 -6
  115. package/cellTypes/timeType/timeType.js +4 -5
  116. package/cellTypes/timeType/timeType.mjs +4 -5
  117. package/core.d.ts +9 -3
  118. package/core.js +590 -157
  119. package/core.mjs +599 -169
  120. package/dataMap/dataMap.js +2 -2
  121. package/dataMap/dataMap.mjs +2 -2
  122. package/dataMap/index.js +8 -0
  123. package/dataMap/index.mjs +3 -1
  124. package/dataMap/metaManager/index.js +3 -3
  125. package/dataMap/metaManager/index.mjs +3 -3
  126. package/dataMap/metaManager/lazyFactoryMap.js +1 -1
  127. package/dataMap/metaManager/lazyFactoryMap.mjs +1 -1
  128. package/dataMap/metaManager/metaLayers/cellMeta.js +1 -1
  129. package/dataMap/metaManager/metaLayers/cellMeta.mjs +1 -1
  130. package/dataMap/metaManager/metaLayers/columnMeta.js +1 -1
  131. package/dataMap/metaManager/metaLayers/columnMeta.mjs +1 -1
  132. package/dataMap/metaManager/metaLayers/globalMeta.js +7 -3
  133. package/dataMap/metaManager/metaLayers/globalMeta.mjs +7 -3
  134. package/dataMap/metaManager/metaLayers/tableMeta.js +3 -3
  135. package/dataMap/metaManager/metaLayers/tableMeta.mjs +3 -3
  136. package/dataMap/metaManager/metaSchema.js +2931 -2676
  137. package/dataMap/metaManager/metaSchema.mjs +2931 -2676
  138. package/dataMap/metaManager/mods/dynamicCellMeta.js +1 -1
  139. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +1 -1
  140. package/dataMap/metaManager/mods/extendMetaProperties.js +126 -0
  141. package/dataMap/metaManager/mods/extendMetaProperties.mjs +113 -0
  142. package/dataMap/replaceData.js +140 -0
  143. package/dataMap/replaceData.mjs +124 -0
  144. package/dataSource.js +1 -1
  145. package/dataSource.mjs +1 -1
  146. package/dist/README.md +2 -2
  147. package/dist/handsontable.css +424 -166
  148. package/dist/handsontable.full.css +559 -298
  149. package/dist/handsontable.full.js +47163 -41289
  150. package/dist/handsontable.full.min.css +8 -13
  151. package/dist/handsontable.full.min.js +143 -142
  152. package/dist/handsontable.js +28270 -24105
  153. package/dist/handsontable.min.css +8 -11
  154. package/dist/handsontable.min.js +3 -3
  155. package/dist/languages/all.js +69 -38
  156. package/dist/languages/all.min.js +1 -1
  157. package/dist/languages/ar-AR.js +167 -0
  158. package/dist/languages/ar-AR.min.js +1 -0
  159. package/dist/languages/de-CH.js +32 -33
  160. package/dist/languages/de-CH.min.js +1 -1
  161. package/dist/languages/de-DE.js +5 -6
  162. package/dist/languages/de-DE.min.js +1 -1
  163. package/dist/languages/en-US.js +5 -6
  164. package/dist/languages/en-US.min.js +1 -1
  165. package/dist/languages/es-MX.js +5 -6
  166. package/dist/languages/es-MX.min.js +1 -1
  167. package/dist/languages/fr-FR.js +5 -6
  168. package/dist/languages/fr-FR.min.js +1 -1
  169. package/dist/languages/it-IT.js +5 -6
  170. package/dist/languages/it-IT.min.js +1 -1
  171. package/dist/languages/ja-JP.js +5 -6
  172. package/dist/languages/ja-JP.min.js +1 -1
  173. package/dist/languages/ko-KR.js +37 -42
  174. package/dist/languages/ko-KR.min.js +1 -1
  175. package/dist/languages/lv-LV.js +4 -6
  176. package/dist/languages/lv-LV.min.js +1 -1
  177. package/dist/languages/nb-NO.js +4 -6
  178. package/dist/languages/nb-NO.min.js +1 -1
  179. package/dist/languages/nl-NL.js +4 -6
  180. package/dist/languages/nl-NL.min.js +1 -1
  181. package/dist/languages/pl-PL.js +4 -6
  182. package/dist/languages/pl-PL.min.js +1 -1
  183. package/dist/languages/pt-BR.js +4 -6
  184. package/dist/languages/pt-BR.min.js +1 -1
  185. package/dist/languages/ru-RU.js +4 -6
  186. package/dist/languages/ru-RU.min.js +1 -1
  187. package/dist/languages/zh-CN.js +4 -6
  188. package/dist/languages/zh-CN.min.js +1 -1
  189. package/dist/languages/zh-TW.js +25 -27
  190. package/dist/languages/zh-TW.min.js +1 -1
  191. package/editorManager.js +121 -268
  192. package/editorManager.mjs +129 -279
  193. package/editors/autocompleteEditor/autocompleteEditor.js +19 -17
  194. package/editors/autocompleteEditor/autocompleteEditor.mjs +19 -17
  195. package/editors/baseEditor/baseEditor.js +207 -36
  196. package/editors/baseEditor/baseEditor.mjs +202 -34
  197. package/editors/checkboxEditor/checkboxEditor.js +3 -3
  198. package/editors/checkboxEditor/checkboxEditor.mjs +3 -3
  199. package/editors/dateEditor/dateEditor.js +22 -9
  200. package/editors/dateEditor/dateEditor.mjs +23 -10
  201. package/editors/dropdownEditor/dropdownEditor.js +4 -4
  202. package/editors/dropdownEditor/dropdownEditor.mjs +4 -4
  203. package/editors/handsontableEditor/handsontableEditor.js +107 -56
  204. package/editors/handsontableEditor/handsontableEditor.mjs +107 -56
  205. package/editors/index.d.ts +3 -0
  206. package/editors/index.js +6 -0
  207. package/editors/index.mjs +3 -1
  208. package/editors/numericEditor/numericEditor.js +3 -3
  209. package/editors/numericEditor/numericEditor.mjs +3 -3
  210. package/editors/passwordEditor/passwordEditor.js +4 -4
  211. package/editors/passwordEditor/passwordEditor.mjs +4 -4
  212. package/editors/selectEditor/selectEditor.js +66 -111
  213. package/editors/selectEditor/selectEditor.mjs +67 -110
  214. package/editors/textEditor/caretPositioner.js +49 -0
  215. package/editors/textEditor/caretPositioner.mjs +42 -0
  216. package/editors/textEditor/textEditor.js +206 -182
  217. package/editors/textEditor/textEditor.mjs +200 -180
  218. package/editors/timeEditor/index.d.ts +1 -0
  219. package/editors/timeEditor/index.js +9 -0
  220. package/editors/timeEditor/index.mjs +1 -0
  221. package/editors/timeEditor/timeEditor.d.ts +7 -0
  222. package/editors/timeEditor/timeEditor.js +105 -0
  223. package/editors/timeEditor/timeEditor.mjs +84 -0
  224. package/eventManager.js +11 -5
  225. package/eventManager.mjs +11 -5
  226. package/helpers/data.js +1 -1
  227. package/helpers/data.mjs +1 -1
  228. package/helpers/dom/element.js +1 -1
  229. package/helpers/dom/element.mjs +1 -1
  230. package/helpers/feature.js +1 -1
  231. package/helpers/feature.mjs +1 -1
  232. package/helpers/mixed.js +3 -3
  233. package/helpers/mixed.mjs +3 -3
  234. package/helpers/number.js +4 -4
  235. package/helpers/number.mjs +4 -4
  236. package/helpers/object.js +1 -1
  237. package/helpers/object.mjs +1 -1
  238. package/i18n/languages/ar-AR.js +41 -0
  239. package/i18n/languages/ar-AR.mjs +17 -0
  240. package/i18n/languages/de-CH.js +1 -1
  241. package/i18n/languages/de-DE.js +1 -1
  242. package/i18n/languages/en-US.js +1 -1
  243. package/i18n/languages/es-MX.js +1 -1
  244. package/i18n/languages/fr-FR.js +1 -1
  245. package/i18n/languages/index.js +4 -0
  246. package/i18n/languages/index.mjs +2 -1
  247. package/i18n/languages/it-IT.js +1 -1
  248. package/i18n/languages/ja-JP.js +1 -1
  249. package/i18n/languages/ko-KR.js +1 -1
  250. package/i18n/languages/lv-LV.js +1 -1
  251. package/i18n/languages/nb-NO.js +1 -1
  252. package/i18n/languages/nl-NL.js +1 -1
  253. package/i18n/languages/pl-PL.js +1 -1
  254. package/i18n/languages/pt-BR.js +1 -1
  255. package/i18n/languages/ru-RU.js +1 -1
  256. package/i18n/languages/zh-CN.js +1 -1
  257. package/i18n/languages/zh-TW.js +1 -1
  258. package/i18n/registry.js +1 -1
  259. package/index.d.ts +4 -0
  260. package/index.js +1 -1
  261. package/languages/all.js +69 -38
  262. package/languages/ar-AR.js +167 -0
  263. package/languages/ar-AR.mjs +19 -0
  264. package/languages/de-CH.js +32 -33
  265. package/languages/de-DE.js +5 -6
  266. package/languages/en-US.js +5 -6
  267. package/languages/es-MX.js +5 -6
  268. package/languages/fr-FR.js +5 -6
  269. package/languages/index.js +69 -38
  270. package/languages/index.mjs +2 -1
  271. package/languages/it-IT.js +5 -6
  272. package/languages/ja-JP.js +5 -6
  273. package/languages/ko-KR.js +37 -42
  274. package/languages/lv-LV.js +4 -6
  275. package/languages/nb-NO.js +4 -6
  276. package/languages/nl-NL.js +4 -6
  277. package/languages/pl-PL.js +4 -6
  278. package/languages/pt-BR.js +4 -6
  279. package/languages/ru-RU.js +4 -6
  280. package/languages/zh-CN.js +4 -6
  281. package/languages/zh-TW.js +25 -27
  282. package/package.json +26 -8
  283. package/pluginHooks.d.ts +2 -0
  284. package/pluginHooks.js +58 -27
  285. package/pluginHooks.mjs +58 -27
  286. package/plugins/autoColumnSize/autoColumnSize.js +14 -9
  287. package/plugins/autoColumnSize/autoColumnSize.mjs +14 -9
  288. package/plugins/autoRowSize/autoRowSize.js +15 -10
  289. package/plugins/autoRowSize/autoRowSize.mjs +15 -10
  290. package/plugins/autofill/autofill.js +50 -34
  291. package/plugins/autofill/autofill.mjs +50 -33
  292. package/plugins/autofill/utils.js +10 -11
  293. package/plugins/autofill/utils.mjs +10 -10
  294. package/plugins/base/base.d.ts +8 -2
  295. package/plugins/base/base.js +68 -5
  296. package/plugins/base/base.mjs +67 -5
  297. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +4 -4
  298. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +4 -4
  299. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +4 -4
  300. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +4 -4
  301. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +4 -4
  302. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +4 -4
  303. package/plugins/collapsibleColumns/collapsibleColumns.js +49 -30
  304. package/plugins/collapsibleColumns/collapsibleColumns.mjs +49 -30
  305. package/plugins/columnSorting/columnSorting.d.ts +1 -1
  306. package/plugins/columnSorting/columnSorting.js +10 -12
  307. package/plugins/columnSorting/columnSorting.mjs +10 -11
  308. package/plugins/columnSorting/columnStatesManager.js +3 -3
  309. package/plugins/columnSorting/columnStatesManager.mjs +3 -3
  310. package/plugins/columnSummary/columnSummary.js +4 -4
  311. package/plugins/columnSummary/columnSummary.mjs +4 -4
  312. package/plugins/columnSummary/endpoints.js +1 -1
  313. package/plugins/columnSummary/endpoints.mjs +1 -1
  314. package/plugins/comments/commentEditor.js +24 -4
  315. package/plugins/comments/commentEditor.mjs +25 -5
  316. package/plugins/comments/comments.js +63 -104
  317. package/plugins/comments/comments.mjs +63 -102
  318. package/plugins/comments/displaySwitch.js +1 -1
  319. package/plugins/comments/displaySwitch.mjs +1 -1
  320. package/plugins/contextMenu/commandExecutor.js +1 -1
  321. package/plugins/contextMenu/commandExecutor.mjs +1 -1
  322. package/plugins/contextMenu/contextMenu.js +11 -7
  323. package/plugins/contextMenu/contextMenu.mjs +11 -7
  324. package/plugins/contextMenu/cursor.js +1 -1
  325. package/plugins/contextMenu/cursor.mjs +1 -1
  326. package/plugins/contextMenu/itemsFactory.js +1 -1
  327. package/plugins/contextMenu/itemsFactory.mjs +1 -1
  328. package/plugins/contextMenu/menu.js +223 -111
  329. package/plugins/contextMenu/menu.mjs +220 -112
  330. package/plugins/contextMenu/predefinedItems/alignment.js +1 -1
  331. package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -1
  332. package/plugins/contextMenu/predefinedItems/columnLeft.js +13 -5
  333. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +11 -4
  334. package/plugins/contextMenu/predefinedItems/columnRight.js +10 -10
  335. package/plugins/contextMenu/predefinedItems/columnRight.mjs +9 -9
  336. package/plugins/contextMenu/predefinedItems/readOnly.js +1 -1
  337. package/plugins/contextMenu/predefinedItems/redo.js +1 -1
  338. package/plugins/contextMenu/predefinedItems/removeColumn.js +1 -1
  339. package/plugins/contextMenu/predefinedItems/removeRow.js +1 -1
  340. package/plugins/contextMenu/predefinedItems/rowAbove.js +1 -1
  341. package/plugins/contextMenu/predefinedItems/rowBelow.js +1 -1
  342. package/plugins/contextMenu/predefinedItems/undo.js +1 -1
  343. package/plugins/contextMenu/predefinedItems.js +1 -1
  344. package/plugins/contextMenu/utils.js +2 -2
  345. package/plugins/contextMenu/utils.mjs +2 -2
  346. package/plugins/copyPaste/clipboardData.js +1 -1
  347. package/plugins/copyPaste/clipboardData.mjs +1 -1
  348. package/plugins/copyPaste/contextMenuItem/copy.js +1 -1
  349. package/plugins/copyPaste/contextMenuItem/cut.js +1 -1
  350. package/plugins/copyPaste/copyPaste.js +29 -19
  351. package/plugins/copyPaste/copyPaste.mjs +28 -19
  352. package/plugins/copyPaste/focusableElement.js +1 -1
  353. package/plugins/copyPaste/focusableElement.mjs +1 -1
  354. package/plugins/copyPaste/pasteEvent.js +6 -2
  355. package/plugins/copyPaste/pasteEvent.mjs +6 -2
  356. package/plugins/customBorders/contextMenuItem/bottom.js +1 -1
  357. package/plugins/customBorders/contextMenuItem/left.js +5 -4
  358. package/plugins/customBorders/contextMenuItem/left.mjs +4 -3
  359. package/plugins/customBorders/contextMenuItem/noBorders.js +1 -1
  360. package/plugins/customBorders/contextMenuItem/right.js +5 -4
  361. package/plugins/customBorders/contextMenuItem/right.mjs +4 -3
  362. package/plugins/customBorders/contextMenuItem/top.js +1 -1
  363. package/plugins/customBorders/customBorders.js +141 -85
  364. package/plugins/customBorders/customBorders.mjs +139 -82
  365. package/plugins/customBorders/utils.js +131 -27
  366. package/plugins/customBorders/utils.mjs +115 -27
  367. package/plugins/dragToScroll/dragToScroll.js +11 -6
  368. package/plugins/dragToScroll/dragToScroll.mjs +11 -6
  369. package/plugins/dropdownMenu/dropdownMenu.js +8 -7
  370. package/plugins/dropdownMenu/dropdownMenu.mjs +8 -7
  371. package/plugins/exportFile/dataProvider.js +1 -1
  372. package/plugins/exportFile/dataProvider.mjs +1 -1
  373. package/plugins/exportFile/exportFile.js +3 -3
  374. package/plugins/exportFile/exportFile.mjs +3 -3
  375. package/plugins/exportFile/types/_base.js +1 -1
  376. package/plugins/exportFile/types/_base.mjs +1 -1
  377. package/plugins/exportFile/types/csv.js +3 -3
  378. package/plugins/exportFile/types/csv.mjs +3 -3
  379. package/plugins/filters/component/_base.js +1 -1
  380. package/plugins/filters/component/_base.mjs +1 -1
  381. package/plugins/filters/component/actionBar.js +3 -3
  382. package/plugins/filters/component/actionBar.mjs +3 -3
  383. package/plugins/filters/component/condition.js +4 -4
  384. package/plugins/filters/component/condition.mjs +4 -4
  385. package/plugins/filters/component/operators.js +3 -3
  386. package/plugins/filters/component/operators.mjs +3 -3
  387. package/plugins/filters/component/value.js +4 -4
  388. package/plugins/filters/component/value.mjs +4 -4
  389. package/plugins/filters/condition/beginsWith.js +1 -1
  390. package/plugins/filters/condition/between.js +1 -1
  391. package/plugins/filters/condition/contains.js +1 -1
  392. package/plugins/filters/condition/date/after.js +1 -1
  393. package/plugins/filters/condition/date/before.js +1 -1
  394. package/plugins/filters/condition/date/today.js +1 -1
  395. package/plugins/filters/condition/date/tomorrow.js +1 -1
  396. package/plugins/filters/condition/date/yesterday.js +1 -1
  397. package/plugins/filters/condition/empty.js +1 -1
  398. package/plugins/filters/condition/endsWith.js +1 -1
  399. package/plugins/filters/condition/equal.js +1 -1
  400. package/plugins/filters/condition/greaterThan.js +1 -1
  401. package/plugins/filters/condition/greaterThanOrEqual.js +1 -1
  402. package/plugins/filters/condition/lessThan.js +1 -1
  403. package/plugins/filters/condition/lessThanOrEqual.js +1 -1
  404. package/plugins/filters/condition/none.js +1 -1
  405. package/plugins/filters/condition/notBetween.js +1 -1
  406. package/plugins/filters/condition/notContains.js +1 -1
  407. package/plugins/filters/condition/notEmpty.js +1 -1
  408. package/plugins/filters/condition/notEqual.js +1 -1
  409. package/plugins/filters/conditionCollection.js +1 -1
  410. package/plugins/filters/conditionCollection.mjs +1 -1
  411. package/plugins/filters/conditionUpdateObserver.js +1 -1
  412. package/plugins/filters/conditionUpdateObserver.mjs +1 -1
  413. package/plugins/filters/dataFilter.js +1 -1
  414. package/plugins/filters/dataFilter.mjs +1 -1
  415. package/plugins/filters/filters.js +12 -9
  416. package/plugins/filters/filters.mjs +12 -9
  417. package/plugins/filters/logicalOperations/conjunction.js +1 -1
  418. package/plugins/filters/logicalOperations/disjunction.js +1 -1
  419. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +1 -1
  420. package/plugins/filters/ui/_base.js +2 -2
  421. package/plugins/filters/ui/_base.mjs +1 -1
  422. package/plugins/filters/ui/input.js +4 -4
  423. package/plugins/filters/ui/input.mjs +4 -4
  424. package/plugins/filters/ui/link.js +4 -4
  425. package/plugins/filters/ui/link.mjs +4 -4
  426. package/plugins/filters/ui/multipleSelect.js +19 -32
  427. package/plugins/filters/ui/multipleSelect.mjs +19 -32
  428. package/plugins/filters/ui/radioInput.js +4 -4
  429. package/plugins/filters/ui/radioInput.mjs +4 -4
  430. package/plugins/filters/ui/select.js +5 -5
  431. package/plugins/filters/ui/select.mjs +5 -5
  432. package/plugins/formulas/engine/register.js +1 -1
  433. package/plugins/formulas/engine/register.mjs +1 -1
  434. package/plugins/formulas/engine/settings.js +2 -2
  435. package/plugins/formulas/engine/settings.mjs +2 -2
  436. package/plugins/formulas/formulas.js +10 -10
  437. package/plugins/formulas/formulas.mjs +10 -10
  438. package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +1 -1
  439. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +3 -3
  440. package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +2 -2
  441. package/plugins/hiddenColumns/hiddenColumns.js +10 -5
  442. package/plugins/hiddenColumns/hiddenColumns.mjs +10 -5
  443. package/plugins/hiddenRows/contextMenuItem/hideRow.js +1 -1
  444. package/plugins/hiddenRows/contextMenuItem/showRow.js +3 -3
  445. package/plugins/hiddenRows/contextMenuItem/showRow.mjs +2 -2
  446. package/plugins/hiddenRows/hiddenRows.js +10 -5
  447. package/plugins/hiddenRows/hiddenRows.mjs +10 -5
  448. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +2 -2
  449. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +1 -1
  450. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +2 -2
  451. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +1 -1
  452. package/plugins/manualColumnFreeze/manualColumnFreeze.js +26 -13
  453. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +26 -13
  454. package/plugins/manualColumnMove/manualColumnMove.js +73 -62
  455. package/plugins/manualColumnMove/manualColumnMove.mjs +74 -63
  456. package/plugins/manualColumnMove/ui/_base.js +26 -13
  457. package/plugins/manualColumnMove/ui/_base.mjs +25 -13
  458. package/plugins/manualColumnMove/ui/backlight.js +4 -4
  459. package/plugins/manualColumnMove/ui/backlight.mjs +4 -4
  460. package/plugins/manualColumnMove/ui/guideline.js +4 -4
  461. package/plugins/manualColumnMove/ui/guideline.mjs +4 -4
  462. package/plugins/manualColumnResize/manualColumnResize.js +38 -22
  463. package/plugins/manualColumnResize/manualColumnResize.mjs +38 -22
  464. package/plugins/manualRowMove/manualRowMove.js +27 -17
  465. package/plugins/manualRowMove/manualRowMove.mjs +27 -17
  466. package/plugins/manualRowMove/ui/_base.js +1 -1
  467. package/plugins/manualRowMove/ui/_base.mjs +1 -1
  468. package/plugins/manualRowMove/ui/backlight.js +4 -4
  469. package/plugins/manualRowMove/ui/backlight.mjs +4 -4
  470. package/plugins/manualRowMove/ui/guideline.js +4 -4
  471. package/plugins/manualRowMove/ui/guideline.mjs +4 -4
  472. package/plugins/manualRowResize/manualRowResize.js +35 -20
  473. package/plugins/manualRowResize/manualRowResize.mjs +35 -20
  474. package/plugins/mergeCells/calculations/autofill.js +7 -6
  475. package/plugins/mergeCells/calculations/autofill.mjs +7 -5
  476. package/plugins/mergeCells/calculations/selection.js +10 -5
  477. package/plugins/mergeCells/calculations/selection.mjs +10 -5
  478. package/plugins/mergeCells/cellCoords.js +17 -5
  479. package/plugins/mergeCells/cellCoords.mjs +17 -4
  480. package/plugins/mergeCells/cellsCollection.js +28 -21
  481. package/plugins/mergeCells/cellsCollection.mjs +28 -20
  482. package/plugins/mergeCells/contextMenuItem/toggleMerge.js +1 -1
  483. package/plugins/mergeCells/mergeCells.js +83 -50
  484. package/plugins/mergeCells/mergeCells.mjs +83 -48
  485. package/plugins/multiColumnSorting/multiColumnSorting.js +5 -7
  486. package/plugins/multiColumnSorting/multiColumnSorting.mjs +5 -6
  487. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +52 -58
  488. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +53 -58
  489. package/plugins/nestedHeaders/nestedHeaders.js +26 -19
  490. package/plugins/nestedHeaders/nestedHeaders.mjs +26 -19
  491. package/plugins/nestedHeaders/stateManager/headersTree.js +3 -3
  492. package/plugins/nestedHeaders/stateManager/headersTree.mjs +3 -3
  493. package/plugins/nestedHeaders/stateManager/index.js +3 -3
  494. package/plugins/nestedHeaders/stateManager/index.mjs +3 -3
  495. package/plugins/nestedHeaders/stateManager/sourceSettings.js +3 -3
  496. package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +3 -3
  497. package/plugins/nestedHeaders/utils/ghostTable.js +1 -1
  498. package/plugins/nestedHeaders/utils/ghostTable.mjs +1 -1
  499. package/plugins/nestedRows/data/dataManager.js +2 -2
  500. package/plugins/nestedRows/data/dataManager.mjs +2 -2
  501. package/plugins/nestedRows/nestedRows.js +11 -5
  502. package/plugins/nestedRows/nestedRows.mjs +11 -5
  503. package/plugins/nestedRows/ui/_base.js +6 -2
  504. package/plugins/nestedRows/ui/_base.mjs +6 -2
  505. package/plugins/nestedRows/ui/collapsing.js +3 -3
  506. package/plugins/nestedRows/ui/collapsing.mjs +3 -3
  507. package/plugins/nestedRows/ui/contextMenu.js +3 -3
  508. package/plugins/nestedRows/ui/contextMenu.mjs +3 -3
  509. package/plugins/nestedRows/ui/headers.js +3 -3
  510. package/plugins/nestedRows/ui/headers.mjs +3 -3
  511. package/plugins/nestedRows/utils/rowMoveController.js +3 -5
  512. package/plugins/nestedRows/utils/rowMoveController.mjs +3 -4
  513. package/plugins/persistentState/persistentState.js +10 -5
  514. package/plugins/persistentState/persistentState.mjs +10 -5
  515. package/plugins/persistentState/storage.js +1 -1
  516. package/plugins/persistentState/storage.mjs +1 -1
  517. package/plugins/search/search.js +10 -5
  518. package/plugins/search/search.mjs +10 -5
  519. package/plugins/touchScroll/touchScroll.js +32 -26
  520. package/plugins/touchScroll/touchScroll.mjs +32 -25
  521. package/plugins/trimRows/trimRows.js +10 -5
  522. package/plugins/trimRows/trimRows.mjs +10 -5
  523. package/plugins/undoRedo/index.js +1 -1
  524. package/plugins/undoRedo/undoRedo.js +54 -48
  525. package/plugins/undoRedo/undoRedo.mjs +54 -47
  526. package/renderers/autocompleteRenderer/autocompleteRenderer.js +1 -3
  527. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +1 -2
  528. package/renderers/checkboxRenderer/checkboxRenderer.js +48 -43
  529. package/renderers/checkboxRenderer/checkboxRenderer.mjs +48 -41
  530. package/renderers/index.d.ts +4 -1
  531. package/renderers/index.js +6 -0
  532. package/renderers/index.mjs +3 -1
  533. package/renderers/numericRenderer/numericRenderer.js +1 -0
  534. package/renderers/numericRenderer/numericRenderer.mjs +1 -0
  535. package/renderers/timeRenderer/index.d.ts +1 -0
  536. package/renderers/timeRenderer/index.js +9 -0
  537. package/renderers/timeRenderer/index.mjs +1 -0
  538. package/renderers/timeRenderer/timeRenderer.d.ts +5 -0
  539. package/renderers/timeRenderer/timeRenderer.js +31 -0
  540. package/renderers/timeRenderer/timeRenderer.mjs +20 -0
  541. package/selection/highlight/highlight.js +3 -3
  542. package/selection/highlight/highlight.mjs +3 -3
  543. package/selection/highlight/types/activeHeader.js +2 -2
  544. package/selection/highlight/types/activeHeader.mjs +2 -2
  545. package/selection/highlight/types/area.js +2 -2
  546. package/selection/highlight/types/area.mjs +2 -2
  547. package/selection/highlight/types/cell.js +2 -2
  548. package/selection/highlight/types/cell.mjs +2 -2
  549. package/selection/highlight/types/customSelection.js +2 -2
  550. package/selection/highlight/types/customSelection.mjs +2 -2
  551. package/selection/highlight/types/fill.js +2 -2
  552. package/selection/highlight/types/fill.mjs +2 -2
  553. package/selection/highlight/types/header.js +2 -2
  554. package/selection/highlight/types/header.mjs +2 -2
  555. package/selection/highlight/types/index.js +2 -2
  556. package/selection/highlight/types/index.mjs +2 -2
  557. package/selection/highlight/visualSelection.js +17 -16
  558. package/selection/highlight/visualSelection.mjs +18 -17
  559. package/selection/mouseEventHandler.js +15 -10
  560. package/selection/mouseEventHandler.mjs +15 -9
  561. package/selection/range.js +5 -6
  562. package/selection/range.mjs +5 -6
  563. package/selection/selection.js +27 -20
  564. package/selection/selection.mjs +27 -18
  565. package/selection/transformation.js +5 -7
  566. package/selection/transformation.mjs +5 -6
  567. package/selection/utils.js +1 -1
  568. package/selection/utils.mjs +1 -1
  569. package/settings.d.ts +3 -1
  570. package/shortcuts/context.d.ts +20 -0
  571. package/shortcuts/context.js +296 -0
  572. package/shortcuts/context.mjs +268 -0
  573. package/shortcuts/index.d.ts +1 -0
  574. package/shortcuts/index.js +8 -0
  575. package/shortcuts/index.mjs +1 -0
  576. package/shortcuts/keyObserver.js +67 -0
  577. package/shortcuts/keyObserver.mjs +58 -0
  578. package/shortcuts/manager.d.ts +10 -0
  579. package/shortcuts/manager.js +183 -0
  580. package/shortcuts/manager.mjs +174 -0
  581. package/shortcuts/recorder.js +183 -0
  582. package/shortcuts/recorder.mjs +171 -0
  583. package/shortcuts/utils.js +77 -0
  584. package/shortcuts/utils.mjs +54 -0
  585. package/tableView.js +138 -80
  586. package/tableView.mjs +138 -70
  587. package/translations/changesObservable/observable.js +1 -1
  588. package/translations/changesObservable/observable.mjs +1 -1
  589. package/translations/changesObservable/observer.js +1 -2
  590. package/translations/changesObservable/observer.mjs +1 -2
  591. package/translations/indexMapper.d.ts +1 -0
  592. package/translations/indexMapper.js +25 -2
  593. package/translations/indexMapper.mjs +24 -2
  594. package/translations/mapCollections/aggregatedCollection.js +3 -3
  595. package/translations/mapCollections/aggregatedCollection.mjs +3 -3
  596. package/translations/mapCollections/mapCollection.js +1 -1
  597. package/translations/mapCollections/mapCollection.mjs +1 -1
  598. package/translations/maps/hidingMap.js +5 -3
  599. package/translations/maps/hidingMap.mjs +5 -3
  600. package/translations/maps/indexMap.js +3 -1
  601. package/translations/maps/indexMap.mjs +3 -1
  602. package/translations/maps/indexesSequence.js +6 -4
  603. package/translations/maps/indexesSequence.mjs +6 -4
  604. package/translations/maps/linkedPhysicalIndexToValueMap.js +6 -4
  605. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +6 -4
  606. package/translations/maps/physicalIndexToValueMap.js +6 -4
  607. package/translations/maps/physicalIndexToValueMap.mjs +6 -4
  608. package/translations/maps/trimmingMap.js +5 -3
  609. package/translations/maps/trimmingMap.mjs +5 -3
  610. package/utils/dataStructures/linkedList.js +3 -3
  611. package/utils/dataStructures/linkedList.mjs +3 -3
  612. package/utils/dataStructures/queue.js +1 -1
  613. package/utils/dataStructures/queue.mjs +1 -1
  614. package/utils/dataStructures/stack.js +1 -1
  615. package/utils/dataStructures/stack.mjs +1 -1
  616. package/utils/dataStructures/tree.js +3 -3
  617. package/utils/dataStructures/tree.mjs +3 -3
  618. package/utils/dataStructures/uniqueMap.js +14 -1
  619. package/utils/dataStructures/uniqueMap.mjs +14 -1
  620. package/utils/dataStructures/uniqueSet.js +9 -0
  621. package/utils/dataStructures/uniqueSet.mjs +9 -0
  622. package/utils/ghostTable.js +14 -3
  623. package/utils/ghostTable.mjs +15 -4
  624. package/utils/interval.js +1 -1
  625. package/utils/interval.mjs +1 -1
  626. package/utils/samplesGenerator.js +1 -1
  627. package/utils/samplesGenerator.mjs +1 -1
  628. package/3rdparty/walkontable/src/core.js +0 -309
  629. package/3rdparty/walkontable/src/core.mjs +0 -293
  630. package/3rdparty/walkontable/src/overlay/registerer.js +0 -70
  631. package/3rdparty/walkontable/src/overlay/registerer.mjs +0 -57
  632. package/utils/keyStateObserver.js +0 -121
  633. package/utils/keyStateObserver.mjs +0 -103
@@ -1,67 +1,134 @@
1
+ import "core-js/modules/es.array.concat.js";
1
2
  import "core-js/modules/es.object.to-string.js";
2
3
  import "core-js/modules/web.dom-collections.for-each.js";
3
4
  import "core-js/modules/web.timers.js";
5
+ import "core-js/modules/es.object.set-prototype-of.js";
6
+ import "core-js/modules/es.reflect.construct.js";
7
+
8
+ function _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } 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); }
9
+
10
+ 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; } }
11
+
12
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
4
13
 
5
14
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
6
15
 
7
16
  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); } }
8
17
 
9
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
10
-
11
- import { getScrollableElement, getScrollbarWidth } from "./../../../helpers/dom/element.mjs";
12
- import { arrayEach } from "./../../../helpers/array.mjs";
13
- import { isKey } from "./../../../helpers/unicode.mjs";
14
- import { isChrome } from "./../../../helpers/browser.mjs";
15
- import EventManager from "./../../../eventManager.mjs";
16
- import { CLONE_BOTTOM_LEFT_CORNER, CLONE_BOTTOM, CLONE_LEFT, CLONE_TOP_LEFT_CORNER, CLONE_TOP, LeftOverlay, TopOverlay, TopLeftCornerOverlay, BottomOverlay, BottomLeftCornerOverlay, registerOverlayOnce, createOverlay, hasOverlay } from "./overlay/index.mjs";
17
- registerOverlayOnce(BottomLeftCornerOverlay);
18
- registerOverlayOnce(BottomOverlay);
19
- registerOverlayOnce(LeftOverlay);
20
- registerOverlayOnce(TopLeftCornerOverlay);
21
- registerOverlayOnce(TopOverlay);
18
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
19
+
20
+ 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; }
21
+
22
+ import { getScrollableElement, getScrollbarWidth } from "../../../helpers/dom/element.mjs";
23
+ import { arrayEach } from "../../../helpers/array.mjs";
24
+ import { isKey } from "../../../helpers/unicode.mjs";
25
+ import { isChrome } from "../../../helpers/browser.mjs";
26
+ import { InlineStartOverlay, TopOverlay, TopInlineStartCornerOverlay, BottomOverlay, BottomInlineStartCornerOverlay } from "./overlay/index.mjs";
22
27
  /**
23
28
  * @class Overlays
24
29
  */
25
30
 
26
31
  var Overlays = /*#__PURE__*/function () {
27
32
  /**
28
- * @param {Walkontable} wotInstance The Walkontable instance.
33
+ * Walkontable instance's reference.
34
+ *
35
+ * @protected
36
+ * @type {Walkontable}
29
37
  */
30
- function Overlays(wotInstance) {
38
+
39
+ /**
40
+ * Refer to the TopOverlay instance.
41
+ *
42
+ * @protected
43
+ * @type {TopOverlay}
44
+ */
45
+
46
+ /**
47
+ * Refer to the BottomOverlay instance.
48
+ *
49
+ * @protected
50
+ * @type {BottomOverlay}
51
+ */
52
+
53
+ /**
54
+ * Refer to the InlineStartOverlay or instance.
55
+ *
56
+ * @protected
57
+ * @type {InlineStartOverlay}
58
+ */
59
+
60
+ /**
61
+ * Refer to the TopInlineStartCornerOverlay instance.
62
+ *
63
+ * @protected
64
+ * @type {TopInlineStartCornerOverlay}
65
+ */
66
+
67
+ /**
68
+ * Refer to the BottomInlineStartCornerOverlay instance.
69
+ *
70
+ * @protected
71
+ * @type {BottomInlineStartCornerOverlay}
72
+ */
73
+
74
+ /**
75
+ * Browser line height for purposes of translating mouse wheel.
76
+ *
77
+ * @private
78
+ * @type {number}
79
+ */
80
+
81
+ /**
82
+ * The walkontable settings.
83
+ *
84
+ * @protected
85
+ * @type {Settings}
86
+ */
87
+
88
+ /**
89
+ * @param {Walkontable} wotInstance The Walkontable instance. @todo refactoring remove.
90
+ * @param {FacadeGetter} facadeGetter Function which return proper facade.
91
+ * @param {DomBindings} domBindings Bindings into DOM.
92
+ * @param {Settings} wtSettings The Walkontable settings.
93
+ * @param {EventManager} eventManager The walkontable event manager.
94
+ * @param {MasterTable} wtTable The master table.
95
+ */
96
+ function Overlays(wotInstance, facadeGetter, domBindings, wtSettings, eventManager, wtTable) {
31
97
  _classCallCheck(this, Overlays);
32
98
 
33
- /**
34
- * Walkontable instance's reference.
35
- *
36
- * @private
37
- * @type {Walkontable}
38
- */
99
+ _defineProperty(this, "wot", null);
100
+
101
+ _defineProperty(this, "topOverlay", null);
102
+
103
+ _defineProperty(this, "bottomOverlay", null);
104
+
105
+ _defineProperty(this, "inlineStartOverlay", null);
106
+
107
+ _defineProperty(this, "topInlineStartCornerOverlay", null);
108
+
109
+ _defineProperty(this, "bottomInlineStartCornerOverlay", null);
110
+
111
+ _defineProperty(this, "browserLineHeight", undefined);
112
+
113
+ _defineProperty(this, "wtSettings", null);
114
+
39
115
  this.wot = wotInstance;
40
- var _this$wot = this.wot,
41
- rootDocument = _this$wot.rootDocument,
42
- rootWindow = _this$wot.rootWindow,
43
- wtTable = _this$wot.wtTable;
44
- /**
45
- * Sometimes `line-height` might be set to 'normal'. In that case, a default `font-size` should be multiplied by roughly 1.2.
46
- * Https://developer.mozilla.org/pl/docs/Web/CSS/line-height#Values.
47
- */
116
+ this.wtSettings = wtSettings;
117
+ this.domBindings = domBindings;
118
+ this.facadeGetter = facadeGetter;
119
+ this.wtTable = wtTable;
120
+ var _this$domBindings = this.domBindings,
121
+ rootDocument = _this$domBindings.rootDocument,
122
+ rootWindow = _this$domBindings.rootWindow; // legacy support
123
+
124
+ this.instance = this.wot; // todo refactoring: move to facade
48
125
 
49
- var BODY_LINE_HEIGHT = parseInt(rootWindow.getComputedStyle(rootDocument.body).lineHeight, 10);
50
- var FALLBACK_BODY_LINE_HEIGHT = parseInt(rootWindow.getComputedStyle(rootDocument.body).fontSize, 10) * 1.2; // legacy support
126
+ this.eventManager = eventManager; // TODO refactoring: probably invalid place to this logic
51
127
 
52
- this.instance = this.wot;
53
- this.eventManager = new EventManager(this.wot);
54
128
  this.scrollbarSize = getScrollbarWidth(rootDocument);
55
- this.wot.update('scrollbarWidth', this.scrollbarSize);
56
- this.wot.update('scrollbarHeight', this.scrollbarSize);
57
129
  var isOverflowHidden = rootWindow.getComputedStyle(wtTable.wtRootElement.parentNode).getPropertyValue('overflow') === 'hidden';
58
130
  this.scrollableElement = isOverflowHidden ? wtTable.holder : getScrollableElement(wtTable.TABLE);
59
- this.topOverlay = void 0;
60
- this.bottomOverlay = void 0;
61
- this.leftOverlay = void 0;
62
- this.topLeftCornerOverlay = void 0;
63
- this.bottomLeftCornerOverlay = void 0;
64
- this.prepareOverlays();
131
+ this.initOverlays();
65
132
  this.hasScrollbarBottom = false;
66
133
  this.hasScrollbarRight = false;
67
134
  this.destroyed = false;
@@ -72,72 +139,75 @@ var Overlays = /*#__PURE__*/function () {
72
139
  };
73
140
  this.verticalScrolling = false;
74
141
  this.horizontalScrolling = false;
75
- this.browserLineHeight = BODY_LINE_HEIGHT || FALLBACK_BODY_LINE_HEIGHT;
142
+ this.initBrowserLineHeight();
76
143
  this.registerListeners();
77
144
  this.lastScrollX = rootWindow.scrollX;
78
145
  this.lastScrollY = rootWindow.scrollY;
79
146
  }
80
147
  /**
81
- * Prepare overlays based on user settings.
148
+ * Retrieve browser line height and apply its value to `browserLineHeight`.
82
149
  *
83
- * @returns {boolean} Returns `true` if changes applied to overlay needs scroll synchronization.
150
+ * @private
84
151
  */
85
152
 
86
153
 
87
154
  _createClass(Overlays, [{
88
- key: "prepareOverlays",
89
- value: function prepareOverlays() {
90
- var syncScroll = false;
91
-
92
- if (this.topOverlay) {
93
- syncScroll = this.topOverlay.updateStateOfRendering() || syncScroll;
94
- } else {
95
- this.topOverlay = createOverlay(CLONE_TOP, this.wot);
96
- }
97
-
98
- if (!hasOverlay(CLONE_BOTTOM)) {
99
- this.bottomOverlay = {
100
- needFullRender: false,
101
- updateStateOfRendering: function updateStateOfRendering() {
102
- return false;
103
- }
104
- };
105
- }
106
-
107
- if (!hasOverlay(CLONE_BOTTOM_LEFT_CORNER)) {
108
- this.bottomLeftCornerOverlay = {
109
- needFullRender: false,
110
- updateStateOfRendering: function updateStateOfRendering() {
111
- return false;
112
- }
113
- };
114
- }
115
-
116
- if (this.bottomOverlay) {
117
- syncScroll = this.bottomOverlay.updateStateOfRendering() || syncScroll;
118
- } else {
119
- this.bottomOverlay = createOverlay(CLONE_BOTTOM, this.wot);
120
- }
155
+ key: "initBrowserLineHeight",
156
+ value: function initBrowserLineHeight() {
157
+ var _this$domBindings2 = this.domBindings,
158
+ rootWindow = _this$domBindings2.rootWindow,
159
+ rootDocument = _this$domBindings2.rootDocument;
160
+ var computedStyle = rootWindow.getComputedStyle(rootDocument.body);
161
+ /**
162
+ * Sometimes `line-height` might be set to 'normal'. In that case, a default `font-size` should be multiplied by roughly 1.2.
163
+ * Https://developer.mozilla.org/pl/docs/Web/CSS/line-height#Values.
164
+ */
165
+
166
+ var lineHeight = parseInt(computedStyle.lineHeight, 10);
167
+ var lineHeightFalback = parseInt(computedStyle.fontSize, 10) * 1.2;
168
+ this.browserLineHeight = lineHeight || lineHeightFalback;
169
+ }
170
+ /**
171
+ * Prepare overlays based on user settings.
172
+ *
173
+ * @private
174
+ */
121
175
 
122
- if (this.leftOverlay) {
123
- syncScroll = this.leftOverlay.updateStateOfRendering() || syncScroll;
124
- } else {
125
- this.leftOverlay = createOverlay(CLONE_LEFT, this.wot);
126
- }
176
+ }, {
177
+ key: "initOverlays",
178
+ value: function initOverlays() {
179
+ var args = [this.wot, this.facadeGetter, this.wtSettings, this.domBindings]; // todo refactoring: IOC, collection or factories.
180
+ // TODO refactoring, conceive about using generic collection of overlays.
181
+
182
+ this.topOverlay = _construct(TopOverlay, args);
183
+ this.bottomOverlay = _construct(BottomOverlay, args);
184
+ this.inlineStartOverlay = _construct(InlineStartOverlay, args); // TODO discuss, the controversial here would be removing the lazy creation mechanism for corners.
185
+ // TODO cond. Has no any visual impact. They're initially hidden in same way like left, top, and bottom overlays.
186
+
187
+ this.topInlineStartCornerOverlay = _construct(TopInlineStartCornerOverlay, args.concat([this.topOverlay, this.inlineStartOverlay]));
188
+ this.bottomInlineStartCornerOverlay = _construct(BottomInlineStartCornerOverlay, args.concat([this.bottomOverlay, this.inlineStartOverlay]));
189
+ }
190
+ /**
191
+ * Update state of rendering, check if changed.
192
+ *
193
+ * @package
194
+ * @returns {boolean} Returns `true` if changes applied to overlay needs scroll synchronization.
195
+ */
127
196
 
128
- if (this.topOverlay.needFullRender && this.leftOverlay.needFullRender) {
129
- if (this.topLeftCornerOverlay) {
130
- syncScroll = this.topLeftCornerOverlay.updateStateOfRendering() || syncScroll;
131
- } else {
132
- this.topLeftCornerOverlay = createOverlay(CLONE_TOP_LEFT_CORNER, this.wot);
197
+ }, {
198
+ key: "updateStateOfRendering",
199
+ value: function updateStateOfRendering() {
200
+ var syncScroll = this.topOverlay.updateStateOfRendering();
201
+ syncScroll = this.bottomOverlay.updateStateOfRendering() || syncScroll;
202
+ syncScroll = this.inlineStartOverlay.updateStateOfRendering() || syncScroll; // todo refactoring: move conditions into updateStateOfRendering(),
203
+
204
+ if (this.inlineStartOverlay.needFullRender) {
205
+ if (this.topOverlay.needFullRender) {
206
+ syncScroll = this.topInlineStartCornerOverlay.updateStateOfRendering() || syncScroll;
133
207
  }
134
- }
135
208
 
136
- if (this.bottomOverlay.needFullRender && this.leftOverlay.needFullRender) {
137
- if (this.bottomLeftCornerOverlay) {
138
- syncScroll = this.bottomLeftCornerOverlay.updateStateOfRendering() || syncScroll;
139
- } else {
140
- this.bottomLeftCornerOverlay = createOverlay(CLONE_BOTTOM_LEFT_CORNER, this.wot);
209
+ if (this.bottomOverlay.needFullRender) {
210
+ syncScroll = this.bottomInlineStartCornerOverlay.updateStateOfRendering() || syncScroll;
141
211
  }
142
212
  }
143
213
 
@@ -154,7 +224,7 @@ var Overlays = /*#__PURE__*/function () {
154
224
  return;
155
225
  }
156
226
 
157
- if (!this.wot.wtTable.holder.parentNode) {
227
+ if (!this.wtTable.holder.parentNode) {
158
228
  // Walkontable was detached from DOM, but this handler was not removed
159
229
  this.destroy();
160
230
  return;
@@ -163,7 +233,7 @@ var Overlays = /*#__PURE__*/function () {
163
233
  this.wot.draw(true);
164
234
 
165
235
  if (this.verticalScrolling) {
166
- this.leftOverlay.onScroll();
236
+ this.inlineStartOverlay.onScroll(); // todo the inlineStartOverlay.onScroll() fires hook. Why is it needed there, not in any another place?
167
237
  }
168
238
 
169
239
  if (this.horizontalScrolling) {
@@ -182,11 +252,11 @@ var Overlays = /*#__PURE__*/function () {
182
252
  value: function registerListeners() {
183
253
  var _this = this;
184
254
 
185
- var _this$wot2 = this.wot,
186
- rootDocument = _this$wot2.rootDocument,
187
- rootWindow = _this$wot2.rootWindow;
255
+ var _this$domBindings3 = this.domBindings,
256
+ rootDocument = _this$domBindings3.rootDocument,
257
+ rootWindow = _this$domBindings3.rootWindow;
188
258
  var topOverlayScrollableElement = this.topOverlay.mainTableScrollableElement;
189
- var leftOverlayScrollableElement = this.leftOverlay.mainTableScrollableElement;
259
+ var inlineStartOverlayScrollableElement = this.inlineStartOverlay.mainTableScrollableElement;
190
260
  this.eventManager.addEventListener(rootDocument.documentElement, 'keydown', function (event) {
191
261
  return _this.onKeyDown(event);
192
262
  });
@@ -202,8 +272,8 @@ var Overlays = /*#__PURE__*/function () {
202
272
  passive: true
203
273
  });
204
274
 
205
- if (topOverlayScrollableElement !== leftOverlayScrollableElement) {
206
- this.eventManager.addEventListener(leftOverlayScrollableElement, 'scroll', function (event) {
275
+ if (topOverlayScrollableElement !== inlineStartOverlayScrollableElement) {
276
+ this.eventManager.addEventListener(inlineStartOverlayScrollableElement, 'scroll', function (event) {
207
277
  return _this.onTableScroll(event);
208
278
  }, {
209
279
  passive: true
@@ -212,21 +282,21 @@ var Overlays = /*#__PURE__*/function () {
212
282
 
213
283
  var isHighPixelRatio = rootWindow.devicePixelRatio && rootWindow.devicePixelRatio > 1;
214
284
  var isScrollOnWindow = this.scrollableElement === rootWindow;
215
- var preventWheel = this.wot.wtSettings.getSetting('preventWheel');
285
+ var preventWheel = this.wtSettings.getSetting('preventWheel');
216
286
  var wheelEventOptions = {
217
287
  passive: isScrollOnWindow
218
288
  };
219
289
 
220
290
  if (preventWheel || isHighPixelRatio || !isChrome()) {
221
- this.eventManager.addEventListener(this.wot.wtTable.wtRootElement, 'wheel', function (event) {
291
+ this.eventManager.addEventListener(this.wtTable.wtRootElement, 'wheel', function (event) {
222
292
  return _this.onCloneWheel(event, preventWheel);
223
293
  }, wheelEventOptions);
224
294
  }
225
295
 
226
- var overlays = [this.topOverlay, this.bottomOverlay, this.leftOverlay, this.topLeftCornerOverlay, this.bottomLeftCornerOverlay];
296
+ var overlays = [this.topOverlay, this.bottomOverlay, this.inlineStartOverlay, this.topInlineStartCornerOverlay, this.bottomInlineStartCornerOverlay];
227
297
  overlays.forEach(function (overlay) {
228
298
  if (overlay && overlay.needFullRender) {
229
- var holder = overlay.clone.wtTable.holder;
299
+ var holder = overlay.clone.wtTable.holder; // todo rethink, maybe: overlay.getHolder()
230
300
 
231
301
  _this.eventManager.addEventListener(holder, 'wheel', function (event) {
232
302
  return _this.onCloneWheel(event, preventWheel);
@@ -237,7 +307,7 @@ var Overlays = /*#__PURE__*/function () {
237
307
  this.eventManager.addEventListener(rootWindow, 'resize', function () {
238
308
  clearTimeout(resizeTimeout);
239
309
  resizeTimeout = setTimeout(function () {
240
- _this.wot.getSetting('onWindowResize');
310
+ _this.wtSettings.getSetting('onWindowResize');
241
311
  }, 200);
242
312
  });
243
313
  }
@@ -261,8 +331,8 @@ var Overlays = /*#__PURE__*/function () {
261
331
  value: function onTableScroll(event) {
262
332
  // There was if statement which controlled flow of this function. It avoided the execution of the next lines
263
333
  // on mobile devices. It was changed. Broader description of this case is included within issue #4856.
264
- var rootWindow = this.wot.rootWindow;
265
- var masterHorizontal = this.leftOverlay.mainTableScrollableElement;
334
+ var rootWindow = this.domBindings.rootWindow;
335
+ var masterHorizontal = this.inlineStartOverlay.mainTableScrollableElement;
266
336
  var masterVertical = this.topOverlay.mainTableScrollableElement;
267
337
  var target = event.target; // For key press, sync only master -> overlay position because while pressing Walkontable.render is triggered
268
338
  // by hot.refreshBorder
@@ -285,10 +355,10 @@ var Overlays = /*#__PURE__*/function () {
285
355
  }, {
286
356
  key: "onCloneWheel",
287
357
  value: function onCloneWheel(event, preventDefault) {
288
- var rootWindow = this.wot.rootWindow; // There was if statement which controlled flow of this function. It avoided the execution of the next lines
358
+ var rootWindow = this.domBindings.rootWindow; // There was if statement which controlled flow of this function. It avoided the execution of the next lines
289
359
  // on mobile devices. It was changed. Broader description of this case is included within issue #4856.
290
360
 
291
- var masterHorizontal = this.leftOverlay.mainTableScrollableElement;
361
+ var masterHorizontal = this.inlineStartOverlay.mainTableScrollableElement;
292
362
  var masterVertical = this.topOverlay.mainTableScrollableElement;
293
363
  var target = event.target; // For key press, sync only master -> overlay position because while pressing Walkontable.render is triggered
294
364
  // by hot.refreshBorder
@@ -337,13 +407,12 @@ var Overlays = /*#__PURE__*/function () {
337
407
  }, {
338
408
  key: "translateMouseWheelToScroll",
339
409
  value: function translateMouseWheelToScroll(event) {
340
- var browserLineHeight = this.browserLineHeight;
341
410
  var deltaY = isNaN(event.deltaY) ? -1 * event.wheelDeltaY : event.deltaY;
342
411
  var deltaX = isNaN(event.deltaX) ? -1 * event.wheelDeltaX : event.deltaX;
343
412
 
344
413
  if (event.deltaMode === 1) {
345
- deltaX += deltaX * browserLineHeight;
346
- deltaY += deltaY * browserLineHeight;
414
+ deltaX += deltaX * this.browserLineHeight;
415
+ deltaY += deltaY * this.browserLineHeight;
347
416
  }
348
417
 
349
418
  var isScrollVerticallyPossible = this.scrollVertically(deltaY);
@@ -391,9 +460,11 @@ var Overlays = /*#__PURE__*/function () {
391
460
  return;
392
461
  }
393
462
 
394
- var rootWindow = this.wot.rootWindow;
395
- var topHolder = this.topOverlay.clone.wtTable.holder;
396
- var leftHolder = this.leftOverlay.clone.wtTable.holder;
463
+ var rootWindow = this.domBindings.rootWindow;
464
+ var topHolder = this.topOverlay.clone.wtTable.holder; // todo rethink
465
+
466
+ var leftHolder = this.inlineStartOverlay.clone.wtTable.holder; // todo rethink
467
+
397
468
  var _ref = [this.scrollableElement.scrollLeft, this.scrollableElement.scrollTop],
398
469
  scrollLeft = _ref[0],
399
470
  scrollTop = _ref[1];
@@ -404,7 +475,7 @@ var Overlays = /*#__PURE__*/function () {
404
475
 
405
476
  if (this.horizontalScrolling) {
406
477
  topHolder.scrollLeft = scrollLeft;
407
- var bottomHolder = this.bottomOverlay.needFullRender ? this.bottomOverlay.clone.wtTable.holder : null;
478
+ var bottomHolder = this.bottomOverlay.needFullRender ? this.bottomOverlay.clone.wtTable.holder : null; // todo rethink
408
479
 
409
480
  if (bottomHolder) {
410
481
  bottomHolder.scrollLeft = scrollLeft;
@@ -429,15 +500,15 @@ var Overlays = /*#__PURE__*/function () {
429
500
  scrollTop = master.scrollTop;
430
501
 
431
502
  if (this.topOverlay.needFullRender) {
432
- this.topOverlay.clone.wtTable.holder.scrollLeft = scrollLeft;
503
+ this.topOverlay.clone.wtTable.holder.scrollLeft = scrollLeft; // todo rethink, *overlay.setScroll*()
433
504
  }
434
505
 
435
506
  if (this.bottomOverlay.needFullRender) {
436
- this.bottomOverlay.clone.wtTable.holder.scrollLeft = scrollLeft;
507
+ this.bottomOverlay.clone.wtTable.holder.scrollLeft = scrollLeft; // todo rethink, *overlay.setScroll*()
437
508
  }
438
509
 
439
- if (this.leftOverlay.needFullRender) {
440
- this.leftOverlay.clone.wtTable.holder.scrollTop = scrollTop;
510
+ if (this.inlineStartOverlay.needFullRender) {
511
+ this.inlineStartOverlay.clone.wtTable.holder.scrollTop = scrollTop; // todo rethink, *overlay.setScroll*()
441
512
  }
442
513
  }
443
514
  /**
@@ -448,16 +519,15 @@ var Overlays = /*#__PURE__*/function () {
448
519
  key: "updateMainScrollableElements",
449
520
  value: function updateMainScrollableElements() {
450
521
  this.deregisterListeners();
451
- this.leftOverlay.updateMainScrollableElement();
522
+ this.inlineStartOverlay.updateMainScrollableElement();
452
523
  this.topOverlay.updateMainScrollableElement();
453
524
 
454
525
  if (this.bottomOverlay.needFullRender) {
455
526
  this.bottomOverlay.updateMainScrollableElement();
456
527
  }
457
528
 
458
- var _this$wot3 = this.wot,
459
- rootWindow = _this$wot3.rootWindow,
460
- wtTable = _this$wot3.wtTable;
529
+ var wtTable = this.wtTable;
530
+ var rootWindow = this.domBindings.rootWindow;
461
531
 
462
532
  if (rootWindow.getComputedStyle(wtTable.wtRootElement.parentNode).getPropertyValue('overflow') === 'hidden') {
463
533
  this.scrollableElement = wtTable.holder;
@@ -474,21 +544,22 @@ var Overlays = /*#__PURE__*/function () {
474
544
  }, {
475
545
  key: "destroy",
476
546
  value: function destroy() {
477
- this.eventManager.destroy();
547
+ this.eventManager.destroy(); // todo, probably all below `destory` calls has no sense. To analyze
548
+
478
549
  this.topOverlay.destroy();
479
550
 
480
551
  if (this.bottomOverlay.clone) {
481
552
  this.bottomOverlay.destroy();
482
553
  }
483
554
 
484
- this.leftOverlay.destroy();
555
+ this.inlineStartOverlay.destroy();
485
556
 
486
- if (this.topLeftCornerOverlay) {
487
- this.topLeftCornerOverlay.destroy();
557
+ if (this.topInlineStartCornerOverlay) {
558
+ this.topInlineStartCornerOverlay.destroy();
488
559
  }
489
560
 
490
- if (this.bottomLeftCornerOverlay && this.bottomLeftCornerOverlay.clone) {
491
- this.bottomLeftCornerOverlay.destroy();
561
+ if (this.bottomInlineStartCornerOverlay && this.bottomInlineStartCornerOverlay.clone) {
562
+ this.bottomInlineStartCornerOverlay.destroy();
492
563
  }
493
564
 
494
565
  this.destroyed = true;
@@ -503,7 +574,7 @@ var Overlays = /*#__PURE__*/function () {
503
574
  key: "refresh",
504
575
  value: function refresh() {
505
576
  var fastDraw = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
506
- var spreader = this.wot.wtTable.spreader;
577
+ var spreader = this.wtTable.spreader;
507
578
  var width = spreader.clientWidth;
508
579
  var height = spreader.clientHeight;
509
580
 
@@ -517,15 +588,15 @@ var Overlays = /*#__PURE__*/function () {
517
588
  this.bottomOverlay.refresh(fastDraw);
518
589
  }
519
590
 
520
- this.leftOverlay.refresh(fastDraw);
591
+ this.inlineStartOverlay.refresh(fastDraw);
521
592
  this.topOverlay.refresh(fastDraw);
522
593
 
523
- if (this.topLeftCornerOverlay) {
524
- this.topLeftCornerOverlay.refresh(fastDraw);
594
+ if (this.topInlineStartCornerOverlay) {
595
+ this.topInlineStartCornerOverlay.refresh(fastDraw);
525
596
  }
526
597
 
527
- if (this.bottomLeftCornerOverlay && this.bottomLeftCornerOverlay.clone) {
528
- this.bottomLeftCornerOverlay.refresh(fastDraw);
598
+ if (this.bottomInlineStartCornerOverlay && this.bottomInlineStartCornerOverlay.clone) {
599
+ this.bottomInlineStartCornerOverlay.refresh(fastDraw);
529
600
  }
530
601
  }
531
602
  /**
@@ -538,18 +609,18 @@ var Overlays = /*#__PURE__*/function () {
538
609
  key: "adjustElementsSize",
539
610
  value: function adjustElementsSize() {
540
611
  var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
541
- var _this$wot4 = this.wot,
542
- wtViewport = _this$wot4.wtViewport,
543
- wtTable = _this$wot4.wtTable;
544
- var totalColumns = this.wot.getSetting('totalColumns');
545
- var totalRows = this.wot.getSetting('totalRows');
612
+ var wtViewport = this.wot.wtViewport;
613
+ var wtTable = this.wtTable;
614
+ var totalColumns = this.wtSettings.getSetting('totalColumns');
615
+ var totalRows = this.wtSettings.getSetting('totalRows');
546
616
  var headerRowSize = wtViewport.getRowHeaderWidth();
547
617
  var headerColumnSize = wtViewport.getColumnHeaderHeight();
548
618
  var hiderStyle = wtTable.hider.style;
549
- hiderStyle.width = "".concat(headerRowSize + this.leftOverlay.sumCellSizes(0, totalColumns), "px");
619
+ hiderStyle.width = "".concat(headerRowSize + this.inlineStartOverlay.sumCellSizes(0, totalColumns), "px");
550
620
  hiderStyle.height = "".concat(headerColumnSize + this.topOverlay.sumCellSizes(0, totalRows) + 1, "px");
551
621
 
552
622
  if (this.scrollbarSize > 0) {
623
+ // todo refactoring, looking as a part of logic which should be moved outside the class
553
624
  var _wtTable$wtRootElemen = wtTable.wtRootElement,
554
625
  rootElemScrollHeight = _wtTable$wtRootElemen.scrollHeight,
555
626
  rootElemScrollWidth = _wtTable$wtRootElemen.scrollWidth;
@@ -567,7 +638,7 @@ var Overlays = /*#__PURE__*/function () {
567
638
  }
568
639
 
569
640
  this.topOverlay.adjustElementsSize(force);
570
- this.leftOverlay.adjustElementsSize(force);
641
+ this.inlineStartOverlay.adjustElementsSize(force);
571
642
  this.bottomOverlay.adjustElementsSize(force);
572
643
  }
573
644
  /**
@@ -577,9 +648,7 @@ var Overlays = /*#__PURE__*/function () {
577
648
  }, {
578
649
  key: "applyToDOM",
579
650
  value: function applyToDOM() {
580
- var wtTable = this.wot.wtTable;
581
-
582
- if (!wtTable.isVisible()) {
651
+ if (!this.wtTable.isVisible()) {
583
652
  return;
584
653
  }
585
654
 
@@ -589,7 +658,7 @@ var Overlays = /*#__PURE__*/function () {
589
658
  this.bottomOverlay.applyToDOM();
590
659
  }
591
660
 
592
- this.leftOverlay.applyToDOM();
661
+ this.inlineStartOverlay.applyToDOM();
593
662
  }
594
663
  /**
595
664
  * Get the parent overlay of the provided element.
@@ -605,15 +674,16 @@ var Overlays = /*#__PURE__*/function () {
605
674
  return null;
606
675
  }
607
676
 
608
- var overlays = [this.topOverlay, this.leftOverlay, this.bottomOverlay, this.topLeftCornerOverlay, this.bottomLeftCornerOverlay];
677
+ var overlays = [this.topOverlay, this.inlineStartOverlay, this.bottomOverlay, this.topInlineStartCornerOverlay, this.bottomInlineStartCornerOverlay];
609
678
  var result = null;
610
- arrayEach(overlays, function (elem) {
611
- if (!elem) {
679
+ arrayEach(overlays, function (overlay) {
680
+ if (!overlay) {
612
681
  return;
613
682
  }
614
683
 
615
- if (elem.clone && elem.clone.wtTable.TABLE.contains(element)) {
616
- result = elem.clone;
684
+ if (overlay.clone && overlay.clone.wtTable.TABLE.contains(element)) {
685
+ // todo demeter
686
+ result = overlay.clone;
617
687
  }
618
688
  });
619
689
  return result;
@@ -626,14 +696,14 @@ var Overlays = /*#__PURE__*/function () {
626
696
  }, {
627
697
  key: "syncOverlayTableClassNames",
628
698
  value: function syncOverlayTableClassNames() {
629
- var masterTable = this.instance.wtTable.TABLE;
630
- var overlays = [this.topOverlay, this.leftOverlay, this.bottomOverlay, this.topLeftCornerOverlay, this.bottomLeftCornerOverlay];
699
+ var masterTable = this.wtTable.TABLE;
700
+ var overlays = [this.topOverlay, this.inlineStartOverlay, this.bottomOverlay, this.topInlineStartCornerOverlay, this.bottomInlineStartCornerOverlay];
631
701
  arrayEach(overlays, function (elem) {
632
702
  if (!elem) {
633
703
  return;
634
704
  }
635
705
 
636
- elem.clone.wtTable.TABLE.className = masterTable.className;
706
+ elem.clone.wtTable.TABLE.className = masterTable.className; // todo demeter
637
707
  });
638
708
  }
639
709
  }]);
@@ -11,7 +11,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
11
11
 
12
12
  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); } }
13
13
 
14
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
14
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
15
15
 
16
16
  /**
17
17
  * Base renderer class, abstract logic for specialized renderers.
@@ -2,7 +2,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
2
2
 
3
3
  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); } }
4
4
 
5
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
5
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
6
6
 
7
7
  import NodesPool from "./../utils/nodesPool.mjs";
8
8
  /**