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
@@ -11,7 +11,7 @@ import "core-js/modules/es.array.iterator.js";
11
11
  import "core-js/modules/es.string.iterator.js";
12
12
  import "core-js/modules/web.dom-collections.iterator.js";
13
13
 
14
- 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); }
14
+ 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); }
15
15
 
16
16
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
17
17
 
@@ -21,7 +21,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
21
21
 
22
22
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
23
23
 
24
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
24
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
25
25
 
26
26
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
27
27
 
@@ -31,50 +31,49 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
31
31
 
32
32
  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; } }
33
33
 
34
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
34
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
35
35
 
36
- import { addClass, getScrollbarWidth, getScrollLeft, getWindowScrollTop, hasClass, outerWidth, removeClass, setOverlayPosition, resetCssTransform } from "./../../../../helpers/dom/element.mjs";
37
- import LeftOverlayTable from "./../table/left.mjs";
36
+ import { addClass, getScrollbarWidth, getScrollLeft, getWindowScrollTop, hasClass, outerWidth, removeClass, setOverlayPosition, resetCssTransform } from "../../../../helpers/dom/element.mjs";
37
+ import InlineStartOverlayTable from "../table/inlineStart.mjs";
38
38
  import { Overlay } from "./_base.mjs";
39
- import { CLONE_LEFT } from "./constants.mjs";
39
+ import { CLONE_INLINE_START } from "./constants.mjs";
40
40
  /**
41
- * @class LeftOverlay
41
+ * @class InlineStartOverlay
42
42
  */
43
43
 
44
- export var LeftOverlay = /*#__PURE__*/function (_Overlay) {
45
- _inherits(LeftOverlay, _Overlay);
44
+ export var InlineStartOverlay = /*#__PURE__*/function (_Overlay) {
45
+ _inherits(InlineStartOverlay, _Overlay);
46
46
 
47
- var _super = _createSuper(LeftOverlay);
47
+ var _super = _createSuper(InlineStartOverlay);
48
48
 
49
49
  /**
50
- * @param {Walkontable} wotInstance The Walkontable instance.
50
+ * @param {Walkontable} wotInstance The Walkontable instance. @TODO refactoring: check if can be deleted.
51
+ * @param {FacadeGetter} facadeGetter Function which return proper facade.
52
+ * @param {Settings} wtSettings The Walkontable settings.
53
+ * @param {DomBindings} domBindings Dom elements bound to the current instance.
51
54
  */
52
- function LeftOverlay(wotInstance) {
53
- var _this;
55
+ function InlineStartOverlay(wotInstance, facadeGetter, wtSettings, domBindings) {
56
+ _classCallCheck(this, InlineStartOverlay);
54
57
 
55
- _classCallCheck(this, LeftOverlay);
56
-
57
- _this = _super.call(this, wotInstance);
58
- _this.clone = _this.makeClone(CLONE_LEFT);
59
- return _this;
58
+ return _super.call(this, wotInstance, facadeGetter, CLONE_INLINE_START, wtSettings, domBindings);
60
59
  }
61
60
  /**
62
61
  * Factory method to create a subclass of `Table` that is relevant to this overlay.
63
62
  *
64
63
  * @see Table#constructor
65
64
  * @param {...*} args Parameters that will be forwarded to the `Table` constructor.
66
- * @returns {Table}
65
+ * @returns {InlineStartOverlayTable}
67
66
  */
68
67
 
69
68
 
70
- _createClass(LeftOverlay, [{
69
+ _createClass(InlineStartOverlay, [{
71
70
  key: "createTable",
72
71
  value: function createTable() {
73
72
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
74
73
  args[_key] = arguments[_key];
75
74
  }
76
75
 
77
- return _construct(LeftOverlayTable, args);
76
+ return _construct(InlineStartOverlayTable, args);
78
77
  }
79
78
  /**
80
79
  * Checks if overlay should be fully rendered.
@@ -85,7 +84,7 @@ export var LeftOverlay = /*#__PURE__*/function (_Overlay) {
85
84
  }, {
86
85
  key: "shouldBeRendered",
87
86
  value: function shouldBeRendered() {
88
- return this.wot.getSetting('shouldRenderLeftOverlay');
87
+ return this.wtSettings.getSetting('shouldRenderInlineStartOverlay');
89
88
  }
90
89
  /**
91
90
  * Updates the left overlay position.
@@ -100,37 +99,23 @@ export var LeftOverlay = /*#__PURE__*/function (_Overlay) {
100
99
 
101
100
  if (!this.needFullRender || !wtTable.holder.parentNode) {
102
101
  // removed from DOM
103
- return;
102
+ return false;
104
103
  }
105
104
 
105
+ var rootWindow = this.domBindings.rootWindow;
106
106
  var overlayRoot = this.clone.wtTable.holder.parentNode;
107
- var headerPosition = 0;
108
- var preventOverflow = this.wot.getSetting('preventOverflow');
109
-
110
- if (this.trimmingContainer === this.wot.rootWindow && (!preventOverflow || preventOverflow !== 'horizontal')) {
111
- var hiderRect = wtTable.hider.getBoundingClientRect();
112
- var left = Math.ceil(hiderRect.left);
113
- var right = Math.ceil(hiderRect.right);
114
- var finalLeft;
115
- var finalTop;
116
- finalTop = wtTable.hider.style.top;
117
- finalTop = finalTop === '' ? 0 : finalTop;
118
-
119
- if (left < 0 && right - overlayRoot.offsetWidth > 0) {
120
- finalLeft = -left;
121
- } else {
122
- finalLeft = 0;
123
- }
107
+ var preventOverflow = this.wtSettings.getSetting('preventOverflow');
108
+ var overlayPosition = 0;
124
109
 
125
- headerPosition = finalLeft;
126
- finalLeft += 'px';
127
- setOverlayPosition(overlayRoot, finalLeft, finalTop);
110
+ if (this.trimmingContainer === rootWindow && (!preventOverflow || preventOverflow !== 'horizontal')) {
111
+ overlayPosition = this.getOverlayOffset() * (this.isRtl() ? -1 : 1);
112
+ setOverlayPosition(overlayRoot, "".concat(overlayPosition, "px"), '0px');
128
113
  } else {
129
- headerPosition = this.getScrollPosition();
114
+ overlayPosition = this.getScrollPosition();
130
115
  resetCssTransform(overlayRoot);
131
116
  }
132
117
 
133
- var positionChanged = this.adjustHeaderBordersPosition(headerPosition);
118
+ var positionChanged = this.adjustHeaderBordersPosition(overlayPosition);
134
119
  this.adjustElementsSize();
135
120
  return positionChanged;
136
121
  }
@@ -144,9 +129,13 @@ export var LeftOverlay = /*#__PURE__*/function (_Overlay) {
144
129
  }, {
145
130
  key: "setScrollPosition",
146
131
  value: function setScrollPosition(pos) {
147
- var rootWindow = this.wot.rootWindow;
132
+ var rootWindow = this.domBindings.rootWindow;
148
133
  var result = false;
149
134
 
135
+ if (this.isRtl()) {
136
+ pos = -pos;
137
+ }
138
+
150
139
  if (this.mainTableScrollableElement === rootWindow && rootWindow.scrollX !== pos) {
151
140
  rootWindow.scrollTo(pos, getWindowScrollTop(rootWindow));
152
141
  result = true;
@@ -164,7 +153,7 @@ export var LeftOverlay = /*#__PURE__*/function (_Overlay) {
164
153
  }, {
165
154
  key: "onScroll",
166
155
  value: function onScroll() {
167
- this.wot.getSetting('onScrollVertically');
156
+ this.wtSettings.getSetting('onScrollVertically');
168
157
  }
169
158
  /**
170
159
  * Calculates total sum cells width.
@@ -177,7 +166,7 @@ export var LeftOverlay = /*#__PURE__*/function (_Overlay) {
177
166
  }, {
178
167
  key: "sumCellSizes",
179
168
  value: function sumCellSizes(from, to) {
180
- var defaultColumnWidth = this.wot.wtSettings.defaultColumnWidth;
169
+ var defaultColumnWidth = this.wtSettings.getSetting('defaultColumnWidth');
181
170
  var column = from;
182
171
  var sum = 0;
183
172
 
@@ -212,14 +201,14 @@ export var LeftOverlay = /*#__PURE__*/function (_Overlay) {
212
201
  }, {
213
202
  key: "adjustRootElementSize",
214
203
  value: function adjustRootElementSize() {
215
- var _this$wot = this.wot,
216
- wtTable = _this$wot.wtTable,
217
- rootDocument = _this$wot.rootDocument,
218
- rootWindow = _this$wot.rootWindow;
204
+ var wtTable = this.wot.wtTable;
205
+ var _this$domBindings = this.domBindings,
206
+ rootDocument = _this$domBindings.rootDocument,
207
+ rootWindow = _this$domBindings.rootWindow;
219
208
  var scrollbarHeight = getScrollbarWidth(rootDocument);
220
209
  var overlayRoot = this.clone.wtTable.holder.parentNode;
221
210
  var overlayRootStyle = overlayRoot.style;
222
- var preventOverflow = this.wot.getSetting('preventOverflow');
211
+ var preventOverflow = this.wtSettings.getSetting('preventOverflow');
223
212
 
224
213
  if (this.trimmingContainer !== rootWindow || preventOverflow === 'vertical') {
225
214
  var height = this.wot.wtViewport.getWorkspaceHeight();
@@ -249,7 +238,8 @@ export var LeftOverlay = /*#__PURE__*/function (_Overlay) {
249
238
 
250
239
  var holder = this.clone.wtTable.holder;
251
240
  var selections = this.wot.selections;
252
- var selectionCornerOffset = Math.abs((_selections$getCell$g = selections === null || selections === void 0 ? void 0 : selections.getCell().getBorder(this.wot).cornerCenterPointOffset) !== null && _selections$getCell$g !== void 0 ? _selections$getCell$g : 0);
241
+ var facade = this.facadeGetter();
242
+ var selectionCornerOffset = Math.abs((_selections$getCell$g = selections === null || selections === void 0 ? void 0 : selections.getCell().getBorder(facade).cornerCenterPointOffset) !== null && _selections$getCell$g !== void 0 ? _selections$getCell$g : 0);
253
243
  this.clone.wtTable.hider.style.height = this.hider.style.height;
254
244
  holder.style.height = holder.parentNode.style.height; // Add selection corner protruding part to the holder total width to make sure that
255
245
  // borders' corner won't be cut after horizontal scroll (#6937).
@@ -263,17 +253,22 @@ export var LeftOverlay = /*#__PURE__*/function (_Overlay) {
263
253
  }, {
264
254
  key: "applyToDOM",
265
255
  value: function applyToDOM() {
266
- var total = this.wot.getSetting('totalColumns');
256
+ var total = this.wtSettings.getSetting('totalColumns');
257
+ var styleProperty = this.isRtl() ? 'right' : 'left';
267
258
 
268
259
  if (typeof this.wot.wtViewport.columnsRenderCalculator.startPosition === 'number') {
269
- this.spreader.style.left = "".concat(this.wot.wtViewport.columnsRenderCalculator.startPosition, "px");
260
+ this.spreader.style[styleProperty] = "".concat(this.wot.wtViewport.columnsRenderCalculator.startPosition, "px");
270
261
  } else if (total === 0) {
271
- this.spreader.style.left = '0';
262
+ this.spreader.style[styleProperty] = '0';
272
263
  } else {
273
264
  throw new Error('Incorrect value of the columnsRenderCalculator');
274
265
  }
275
266
 
276
- this.spreader.style.right = '';
267
+ if (this.isRtl()) {
268
+ this.spreader.style.left = '';
269
+ } else {
270
+ this.spreader.style.right = '';
271
+ }
277
272
 
278
273
  if (this.needFullRender) {
279
274
  this.syncOverlayOffset();
@@ -296,8 +291,8 @@ export var LeftOverlay = /*#__PURE__*/function (_Overlay) {
296
291
  * Scrolls horizontally to a column at the left edge of the viewport.
297
292
  *
298
293
  * @param {number} sourceCol Column index which you want to scroll to.
299
- * @param {boolean} [beyondRendered] If `true`, scrolls according to the bottom
300
- * edge (top edge is by default).
294
+ * @param {boolean} [beyondRendered] If `true`, scrolls according to the right
295
+ * edge (left edge is by default).
301
296
  * @returns {boolean}
302
297
  */
303
298
 
@@ -309,15 +304,24 @@ export var LeftOverlay = /*#__PURE__*/function (_Overlay) {
309
304
  var mainHolder = sourceInstance.wtTable.holder;
310
305
  var scrollbarCompensation = 0;
311
306
 
307
+ if (beyondRendered) {
308
+ var columnWidth = this.wot.wtTable.getColumnWidth(sourceCol);
309
+ var viewportWidth = this.wot.wtViewport.getViewportWidth();
310
+
311
+ if (columnWidth > viewportWidth) {
312
+ beyondRendered = false;
313
+ }
314
+ }
315
+
312
316
  if (beyondRendered && mainHolder.offsetWidth !== mainHolder.clientWidth) {
313
- scrollbarCompensation = getScrollbarWidth(this.wot.rootDocument);
317
+ scrollbarCompensation = getScrollbarWidth(this.domBindings.rootDocument);
314
318
  }
315
319
 
316
320
  if (beyondRendered) {
317
321
  newX += this.sumCellSizes(0, sourceCol + 1);
318
322
  newX -= this.wot.wtViewport.getViewportWidth();
319
323
  } else {
320
- newX += this.sumCellSizes(this.wot.getSetting('fixedColumnsLeft'), sourceCol);
324
+ newX += this.sumCellSizes(this.wtSettings.getSetting('fixedColumnsStart'), sourceCol);
321
325
  }
322
326
 
323
327
  newX += scrollbarCompensation;
@@ -332,10 +336,10 @@ export var LeftOverlay = /*#__PURE__*/function (_Overlay) {
332
336
  }, {
333
337
  key: "getTableParentOffset",
334
338
  value: function getTableParentOffset() {
335
- var preventOverflow = this.wot.getSetting('preventOverflow');
339
+ var preventOverflow = this.wtSettings.getSetting('preventOverflow');
336
340
  var offset = 0;
337
341
 
338
- if (!preventOverflow && this.trimmingContainer === this.wot.rootWindow) {
342
+ if (!preventOverflow && this.trimmingContainer === this.domBindings.rootWindow) {
339
343
  offset = this.wot.wtTable.holderOffset.left;
340
344
  }
341
345
 
@@ -344,13 +348,44 @@ export var LeftOverlay = /*#__PURE__*/function (_Overlay) {
344
348
  /**
345
349
  * Gets the main overlay's horizontal scroll position.
346
350
  *
347
- * @returns {number} Main table's vertical scroll position.
351
+ * @returns {number} Main table's horizontal scroll position.
348
352
  */
349
353
 
350
354
  }, {
351
355
  key: "getScrollPosition",
352
356
  value: function getScrollPosition() {
353
- return getScrollLeft(this.mainTableScrollableElement, this.wot.rootWindow);
357
+ return Math.abs(getScrollLeft(this.mainTableScrollableElement, this.domBindings.rootWindow));
358
+ }
359
+ /**
360
+ * Gets the main overlay's horizontal overlay offset.
361
+ *
362
+ * @returns {number} Main table's horizontal overlay offset.
363
+ */
364
+
365
+ }, {
366
+ key: "getOverlayOffset",
367
+ value: function getOverlayOffset() {
368
+ var rootWindow = this.domBindings.rootWindow;
369
+ var preventOverflow = this.wtSettings.getSetting('preventOverflow');
370
+ var overlayOffset = 0;
371
+
372
+ if (this.trimmingContainer === rootWindow && (!preventOverflow || preventOverflow !== 'horizontal')) {
373
+ if (this.isRtl()) {
374
+ overlayOffset = Math.abs(Math.min(this.getTableParentOffset() - this.getScrollPosition(), 0));
375
+ } else {
376
+ overlayOffset = Math.max(this.getScrollPosition() - this.getTableParentOffset(), 0);
377
+ }
378
+
379
+ var rootWidth = this.wot.wtTable.getTotalWidth();
380
+ var overlayRootWidth = this.clone.wtTable.getTotalWidth();
381
+ var maxOffset = rootWidth - overlayRootWidth;
382
+
383
+ if (overlayOffset > maxOffset) {
384
+ overlayOffset = 0;
385
+ }
386
+ }
387
+
388
+ return overlayOffset;
354
389
  }
355
390
  /**
356
391
  * Adds css classes to hide the header border's header (cell-selection border hiding issue).
@@ -363,9 +398,9 @@ export var LeftOverlay = /*#__PURE__*/function (_Overlay) {
363
398
  key: "adjustHeaderBordersPosition",
364
399
  value: function adjustHeaderBordersPosition(position) {
365
400
  var masterParent = this.wot.wtTable.holder.parentNode;
366
- var rowHeaders = this.wot.getSetting('rowHeaders');
367
- var fixedColumnsLeft = this.wot.getSetting('fixedColumnsLeft');
368
- var totalRows = this.wot.getSetting('totalRows');
401
+ var rowHeaders = this.wtSettings.getSetting('rowHeaders');
402
+ var fixedColumnsStart = this.wtSettings.getSetting('fixedColumnsStart');
403
+ var totalRows = this.wtSettings.getSetting('totalRows');
369
404
 
370
405
  if (totalRows) {
371
406
  removeClass(masterParent, 'emptyRows');
@@ -375,28 +410,24 @@ export var LeftOverlay = /*#__PURE__*/function (_Overlay) {
375
410
 
376
411
  var positionChanged = false;
377
412
 
378
- if (fixedColumnsLeft && !rowHeaders.length) {
379
- addClass(masterParent, 'innerBorderLeft');
380
- } else if (!fixedColumnsLeft && rowHeaders.length) {
381
- var previousState = hasClass(masterParent, 'innerBorderLeft');
413
+ if (fixedColumnsStart && !rowHeaders.length) {
414
+ // "innerBorderLeft" is for backward compatibility
415
+ addClass(masterParent, 'innerBorderLeft innerBorderInlineStart');
416
+ } else if (!fixedColumnsStart && rowHeaders.length) {
417
+ var previousState = hasClass(masterParent, 'innerBorderInlineStart');
382
418
 
383
419
  if (position) {
384
- addClass(masterParent, 'innerBorderLeft');
420
+ addClass(masterParent, 'innerBorderLeft innerBorderInlineStart');
385
421
  positionChanged = !previousState;
386
422
  } else {
387
- removeClass(masterParent, 'innerBorderLeft');
423
+ removeClass(masterParent, 'innerBorderLeft innerBorderInlineStart');
388
424
  positionChanged = previousState;
389
425
  }
390
426
  }
391
427
 
392
428
  return positionChanged;
393
429
  }
394
- }], [{
395
- key: "OVERLAY_NAME",
396
- get: function get() {
397
- return CLONE_LEFT;
398
- }
399
430
  }]);
400
431
 
401
- return LeftOverlay;
432
+ return InlineStartOverlay;
402
433
  }(Overlay);