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