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
@@ -19,15 +19,15 @@ require("core-js/modules/es.string.iterator.js");
19
19
  require("core-js/modules/web.dom-collections.iterator.js");
20
20
 
21
21
  exports.__esModule = true;
22
- exports.LeftOverlay = void 0;
22
+ exports.InlineStartOverlay = void 0;
23
23
 
24
24
  require("core-js/modules/es.object.set-prototype-of.js");
25
25
 
26
26
  require("core-js/modules/es.object.get-prototype-of.js");
27
27
 
28
- var _element = require("./../../../../helpers/dom/element");
28
+ var _element = require("../../../../helpers/dom/element");
29
29
 
30
- var _left = _interopRequireDefault(require("./../table/left"));
30
+ var _inlineStart = _interopRequireDefault(require("../table/inlineStart"));
31
31
 
32
32
  var _base = require("./_base");
33
33
 
@@ -35,7 +35,7 @@ var _constants = require("./constants");
35
35
 
36
36
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
37
37
 
38
- 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); }
38
+ 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); }
39
39
 
40
40
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
41
41
 
@@ -45,7 +45,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
45
45
 
46
46
  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); }
47
47
 
48
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
48
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
49
49
 
50
50
  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); }; }
51
51
 
@@ -55,45 +55,44 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
55
55
 
56
56
  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; } }
57
57
 
58
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
58
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
59
59
 
60
60
  /**
61
- * @class LeftOverlay
61
+ * @class InlineStartOverlay
62
62
  */
63
- var LeftOverlay = /*#__PURE__*/function (_Overlay) {
64
- _inherits(LeftOverlay, _Overlay);
63
+ var InlineStartOverlay = /*#__PURE__*/function (_Overlay) {
64
+ _inherits(InlineStartOverlay, _Overlay);
65
65
 
66
- var _super = _createSuper(LeftOverlay);
66
+ var _super = _createSuper(InlineStartOverlay);
67
67
 
68
68
  /**
69
- * @param {Walkontable} wotInstance The Walkontable instance.
69
+ * @param {Walkontable} wotInstance The Walkontable instance. @TODO refactoring: check if can be deleted.
70
+ * @param {FacadeGetter} facadeGetter Function which return proper facade.
71
+ * @param {Settings} wtSettings The Walkontable settings.
72
+ * @param {DomBindings} domBindings Dom elements bound to the current instance.
70
73
  */
71
- function LeftOverlay(wotInstance) {
72
- var _this;
74
+ function InlineStartOverlay(wotInstance, facadeGetter, wtSettings, domBindings) {
75
+ _classCallCheck(this, InlineStartOverlay);
73
76
 
74
- _classCallCheck(this, LeftOverlay);
75
-
76
- _this = _super.call(this, wotInstance);
77
- _this.clone = _this.makeClone(_constants.CLONE_LEFT);
78
- return _this;
77
+ return _super.call(this, wotInstance, facadeGetter, _constants.CLONE_INLINE_START, wtSettings, domBindings);
79
78
  }
80
79
  /**
81
80
  * Factory method to create a subclass of `Table` that is relevant to this overlay.
82
81
  *
83
82
  * @see Table#constructor
84
83
  * @param {...*} args Parameters that will be forwarded to the `Table` constructor.
85
- * @returns {Table}
84
+ * @returns {InlineStartOverlayTable}
86
85
  */
87
86
 
88
87
 
89
- _createClass(LeftOverlay, [{
88
+ _createClass(InlineStartOverlay, [{
90
89
  key: "createTable",
91
90
  value: function createTable() {
92
91
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
93
92
  args[_key] = arguments[_key];
94
93
  }
95
94
 
96
- return _construct(_left.default, args);
95
+ return _construct(_inlineStart.default, args);
97
96
  }
98
97
  /**
99
98
  * Checks if overlay should be fully rendered.
@@ -104,7 +103,7 @@ var LeftOverlay = /*#__PURE__*/function (_Overlay) {
104
103
  }, {
105
104
  key: "shouldBeRendered",
106
105
  value: function shouldBeRendered() {
107
- return this.wot.getSetting('shouldRenderLeftOverlay');
106
+ return this.wtSettings.getSetting('shouldRenderInlineStartOverlay');
108
107
  }
109
108
  /**
110
109
  * Updates the left overlay position.
@@ -119,37 +118,23 @@ var LeftOverlay = /*#__PURE__*/function (_Overlay) {
119
118
 
120
119
  if (!this.needFullRender || !wtTable.holder.parentNode) {
121
120
  // removed from DOM
122
- return;
121
+ return false;
123
122
  }
124
123
 
124
+ var rootWindow = this.domBindings.rootWindow;
125
125
  var overlayRoot = this.clone.wtTable.holder.parentNode;
126
- var headerPosition = 0;
127
- var preventOverflow = this.wot.getSetting('preventOverflow');
128
-
129
- if (this.trimmingContainer === this.wot.rootWindow && (!preventOverflow || preventOverflow !== 'horizontal')) {
130
- var hiderRect = wtTable.hider.getBoundingClientRect();
131
- var left = Math.ceil(hiderRect.left);
132
- var right = Math.ceil(hiderRect.right);
133
- var finalLeft;
134
- var finalTop;
135
- finalTop = wtTable.hider.style.top;
136
- finalTop = finalTop === '' ? 0 : finalTop;
137
-
138
- if (left < 0 && right - overlayRoot.offsetWidth > 0) {
139
- finalLeft = -left;
140
- } else {
141
- finalLeft = 0;
142
- }
126
+ var preventOverflow = this.wtSettings.getSetting('preventOverflow');
127
+ var overlayPosition = 0;
143
128
 
144
- headerPosition = finalLeft;
145
- finalLeft += 'px';
146
- (0, _element.setOverlayPosition)(overlayRoot, finalLeft, finalTop);
129
+ if (this.trimmingContainer === rootWindow && (!preventOverflow || preventOverflow !== 'horizontal')) {
130
+ overlayPosition = this.getOverlayOffset() * (this.isRtl() ? -1 : 1);
131
+ (0, _element.setOverlayPosition)(overlayRoot, "".concat(overlayPosition, "px"), '0px');
147
132
  } else {
148
- headerPosition = this.getScrollPosition();
133
+ overlayPosition = this.getScrollPosition();
149
134
  (0, _element.resetCssTransform)(overlayRoot);
150
135
  }
151
136
 
152
- var positionChanged = this.adjustHeaderBordersPosition(headerPosition);
137
+ var positionChanged = this.adjustHeaderBordersPosition(overlayPosition);
153
138
  this.adjustElementsSize();
154
139
  return positionChanged;
155
140
  }
@@ -163,9 +148,13 @@ var LeftOverlay = /*#__PURE__*/function (_Overlay) {
163
148
  }, {
164
149
  key: "setScrollPosition",
165
150
  value: function setScrollPosition(pos) {
166
- var rootWindow = this.wot.rootWindow;
151
+ var rootWindow = this.domBindings.rootWindow;
167
152
  var result = false;
168
153
 
154
+ if (this.isRtl()) {
155
+ pos = -pos;
156
+ }
157
+
169
158
  if (this.mainTableScrollableElement === rootWindow && rootWindow.scrollX !== pos) {
170
159
  rootWindow.scrollTo(pos, (0, _element.getWindowScrollTop)(rootWindow));
171
160
  result = true;
@@ -183,7 +172,7 @@ var LeftOverlay = /*#__PURE__*/function (_Overlay) {
183
172
  }, {
184
173
  key: "onScroll",
185
174
  value: function onScroll() {
186
- this.wot.getSetting('onScrollVertically');
175
+ this.wtSettings.getSetting('onScrollVertically');
187
176
  }
188
177
  /**
189
178
  * Calculates total sum cells width.
@@ -196,7 +185,7 @@ var LeftOverlay = /*#__PURE__*/function (_Overlay) {
196
185
  }, {
197
186
  key: "sumCellSizes",
198
187
  value: function sumCellSizes(from, to) {
199
- var defaultColumnWidth = this.wot.wtSettings.defaultColumnWidth;
188
+ var defaultColumnWidth = this.wtSettings.getSetting('defaultColumnWidth');
200
189
  var column = from;
201
190
  var sum = 0;
202
191
 
@@ -231,14 +220,14 @@ var LeftOverlay = /*#__PURE__*/function (_Overlay) {
231
220
  }, {
232
221
  key: "adjustRootElementSize",
233
222
  value: function adjustRootElementSize() {
234
- var _this$wot = this.wot,
235
- wtTable = _this$wot.wtTable,
236
- rootDocument = _this$wot.rootDocument,
237
- rootWindow = _this$wot.rootWindow;
223
+ var wtTable = this.wot.wtTable;
224
+ var _this$domBindings = this.domBindings,
225
+ rootDocument = _this$domBindings.rootDocument,
226
+ rootWindow = _this$domBindings.rootWindow;
238
227
  var scrollbarHeight = (0, _element.getScrollbarWidth)(rootDocument);
239
228
  var overlayRoot = this.clone.wtTable.holder.parentNode;
240
229
  var overlayRootStyle = overlayRoot.style;
241
- var preventOverflow = this.wot.getSetting('preventOverflow');
230
+ var preventOverflow = this.wtSettings.getSetting('preventOverflow');
242
231
 
243
232
  if (this.trimmingContainer !== rootWindow || preventOverflow === 'vertical') {
244
233
  var height = this.wot.wtViewport.getWorkspaceHeight();
@@ -268,7 +257,8 @@ var LeftOverlay = /*#__PURE__*/function (_Overlay) {
268
257
 
269
258
  var holder = this.clone.wtTable.holder;
270
259
  var selections = this.wot.selections;
271
- 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);
260
+ var facade = this.facadeGetter();
261
+ 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);
272
262
  this.clone.wtTable.hider.style.height = this.hider.style.height;
273
263
  holder.style.height = holder.parentNode.style.height; // Add selection corner protruding part to the holder total width to make sure that
274
264
  // borders' corner won't be cut after horizontal scroll (#6937).
@@ -282,17 +272,22 @@ var LeftOverlay = /*#__PURE__*/function (_Overlay) {
282
272
  }, {
283
273
  key: "applyToDOM",
284
274
  value: function applyToDOM() {
285
- var total = this.wot.getSetting('totalColumns');
275
+ var total = this.wtSettings.getSetting('totalColumns');
276
+ var styleProperty = this.isRtl() ? 'right' : 'left';
286
277
 
287
278
  if (typeof this.wot.wtViewport.columnsRenderCalculator.startPosition === 'number') {
288
- this.spreader.style.left = "".concat(this.wot.wtViewport.columnsRenderCalculator.startPosition, "px");
279
+ this.spreader.style[styleProperty] = "".concat(this.wot.wtViewport.columnsRenderCalculator.startPosition, "px");
289
280
  } else if (total === 0) {
290
- this.spreader.style.left = '0';
281
+ this.spreader.style[styleProperty] = '0';
291
282
  } else {
292
283
  throw new Error('Incorrect value of the columnsRenderCalculator');
293
284
  }
294
285
 
295
- this.spreader.style.right = '';
286
+ if (this.isRtl()) {
287
+ this.spreader.style.left = '';
288
+ } else {
289
+ this.spreader.style.right = '';
290
+ }
296
291
 
297
292
  if (this.needFullRender) {
298
293
  this.syncOverlayOffset();
@@ -315,8 +310,8 @@ var LeftOverlay = /*#__PURE__*/function (_Overlay) {
315
310
  * Scrolls horizontally to a column at the left edge of the viewport.
316
311
  *
317
312
  * @param {number} sourceCol Column index which you want to scroll to.
318
- * @param {boolean} [beyondRendered] If `true`, scrolls according to the bottom
319
- * edge (top edge is by default).
313
+ * @param {boolean} [beyondRendered] If `true`, scrolls according to the right
314
+ * edge (left edge is by default).
320
315
  * @returns {boolean}
321
316
  */
322
317
 
@@ -328,15 +323,24 @@ var LeftOverlay = /*#__PURE__*/function (_Overlay) {
328
323
  var mainHolder = sourceInstance.wtTable.holder;
329
324
  var scrollbarCompensation = 0;
330
325
 
326
+ if (beyondRendered) {
327
+ var columnWidth = this.wot.wtTable.getColumnWidth(sourceCol);
328
+ var viewportWidth = this.wot.wtViewport.getViewportWidth();
329
+
330
+ if (columnWidth > viewportWidth) {
331
+ beyondRendered = false;
332
+ }
333
+ }
334
+
331
335
  if (beyondRendered && mainHolder.offsetWidth !== mainHolder.clientWidth) {
332
- scrollbarCompensation = (0, _element.getScrollbarWidth)(this.wot.rootDocument);
336
+ scrollbarCompensation = (0, _element.getScrollbarWidth)(this.domBindings.rootDocument);
333
337
  }
334
338
 
335
339
  if (beyondRendered) {
336
340
  newX += this.sumCellSizes(0, sourceCol + 1);
337
341
  newX -= this.wot.wtViewport.getViewportWidth();
338
342
  } else {
339
- newX += this.sumCellSizes(this.wot.getSetting('fixedColumnsLeft'), sourceCol);
343
+ newX += this.sumCellSizes(this.wtSettings.getSetting('fixedColumnsStart'), sourceCol);
340
344
  }
341
345
 
342
346
  newX += scrollbarCompensation;
@@ -351,10 +355,10 @@ var LeftOverlay = /*#__PURE__*/function (_Overlay) {
351
355
  }, {
352
356
  key: "getTableParentOffset",
353
357
  value: function getTableParentOffset() {
354
- var preventOverflow = this.wot.getSetting('preventOverflow');
358
+ var preventOverflow = this.wtSettings.getSetting('preventOverflow');
355
359
  var offset = 0;
356
360
 
357
- if (!preventOverflow && this.trimmingContainer === this.wot.rootWindow) {
361
+ if (!preventOverflow && this.trimmingContainer === this.domBindings.rootWindow) {
358
362
  offset = this.wot.wtTable.holderOffset.left;
359
363
  }
360
364
 
@@ -363,13 +367,44 @@ var LeftOverlay = /*#__PURE__*/function (_Overlay) {
363
367
  /**
364
368
  * Gets the main overlay's horizontal scroll position.
365
369
  *
366
- * @returns {number} Main table's vertical scroll position.
370
+ * @returns {number} Main table's horizontal scroll position.
367
371
  */
368
372
 
369
373
  }, {
370
374
  key: "getScrollPosition",
371
375
  value: function getScrollPosition() {
372
- return (0, _element.getScrollLeft)(this.mainTableScrollableElement, this.wot.rootWindow);
376
+ return Math.abs((0, _element.getScrollLeft)(this.mainTableScrollableElement, this.domBindings.rootWindow));
377
+ }
378
+ /**
379
+ * Gets the main overlay's horizontal overlay offset.
380
+ *
381
+ * @returns {number} Main table's horizontal overlay offset.
382
+ */
383
+
384
+ }, {
385
+ key: "getOverlayOffset",
386
+ value: function getOverlayOffset() {
387
+ var rootWindow = this.domBindings.rootWindow;
388
+ var preventOverflow = this.wtSettings.getSetting('preventOverflow');
389
+ var overlayOffset = 0;
390
+
391
+ if (this.trimmingContainer === rootWindow && (!preventOverflow || preventOverflow !== 'horizontal')) {
392
+ if (this.isRtl()) {
393
+ overlayOffset = Math.abs(Math.min(this.getTableParentOffset() - this.getScrollPosition(), 0));
394
+ } else {
395
+ overlayOffset = Math.max(this.getScrollPosition() - this.getTableParentOffset(), 0);
396
+ }
397
+
398
+ var rootWidth = this.wot.wtTable.getTotalWidth();
399
+ var overlayRootWidth = this.clone.wtTable.getTotalWidth();
400
+ var maxOffset = rootWidth - overlayRootWidth;
401
+
402
+ if (overlayOffset > maxOffset) {
403
+ overlayOffset = 0;
404
+ }
405
+ }
406
+
407
+ return overlayOffset;
373
408
  }
374
409
  /**
375
410
  * Adds css classes to hide the header border's header (cell-selection border hiding issue).
@@ -382,9 +417,9 @@ var LeftOverlay = /*#__PURE__*/function (_Overlay) {
382
417
  key: "adjustHeaderBordersPosition",
383
418
  value: function adjustHeaderBordersPosition(position) {
384
419
  var masterParent = this.wot.wtTable.holder.parentNode;
385
- var rowHeaders = this.wot.getSetting('rowHeaders');
386
- var fixedColumnsLeft = this.wot.getSetting('fixedColumnsLeft');
387
- var totalRows = this.wot.getSetting('totalRows');
420
+ var rowHeaders = this.wtSettings.getSetting('rowHeaders');
421
+ var fixedColumnsStart = this.wtSettings.getSetting('fixedColumnsStart');
422
+ var totalRows = this.wtSettings.getSetting('totalRows');
388
423
 
389
424
  if (totalRows) {
390
425
  (0, _element.removeClass)(masterParent, 'emptyRows');
@@ -394,30 +429,26 @@ var LeftOverlay = /*#__PURE__*/function (_Overlay) {
394
429
 
395
430
  var positionChanged = false;
396
431
 
397
- if (fixedColumnsLeft && !rowHeaders.length) {
398
- (0, _element.addClass)(masterParent, 'innerBorderLeft');
399
- } else if (!fixedColumnsLeft && rowHeaders.length) {
400
- var previousState = (0, _element.hasClass)(masterParent, 'innerBorderLeft');
432
+ if (fixedColumnsStart && !rowHeaders.length) {
433
+ // "innerBorderLeft" is for backward compatibility
434
+ (0, _element.addClass)(masterParent, 'innerBorderLeft innerBorderInlineStart');
435
+ } else if (!fixedColumnsStart && rowHeaders.length) {
436
+ var previousState = (0, _element.hasClass)(masterParent, 'innerBorderInlineStart');
401
437
 
402
438
  if (position) {
403
- (0, _element.addClass)(masterParent, 'innerBorderLeft');
439
+ (0, _element.addClass)(masterParent, 'innerBorderLeft innerBorderInlineStart');
404
440
  positionChanged = !previousState;
405
441
  } else {
406
- (0, _element.removeClass)(masterParent, 'innerBorderLeft');
442
+ (0, _element.removeClass)(masterParent, 'innerBorderLeft innerBorderInlineStart');
407
443
  positionChanged = previousState;
408
444
  }
409
445
  }
410
446
 
411
447
  return positionChanged;
412
448
  }
413
- }], [{
414
- key: "OVERLAY_NAME",
415
- get: function get() {
416
- return _constants.CLONE_LEFT;
417
- }
418
449
  }]);
419
450
 
420
- return LeftOverlay;
451
+ return InlineStartOverlay;
421
452
  }(_base.Overlay);
422
453
 
423
- exports.LeftOverlay = LeftOverlay;
454
+ exports.InlineStartOverlay = InlineStartOverlay;