handsontable 14.6.1 → 15.0.0-next-4472a60-20241203

Sign up to get free protection for your applications and to get access to all the features.
Files changed (392) hide show
  1. package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.js +23 -0
  2. package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.mjs +23 -0
  3. package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.js +23 -0
  4. package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.mjs +23 -0
  5. package/3rdparty/walkontable/src/calculator/index.js +1 -2
  6. package/3rdparty/walkontable/src/calculator/index.mjs +2 -2
  7. package/3rdparty/walkontable/src/calculator/viewportBase.js +2 -0
  8. package/3rdparty/walkontable/src/calculator/viewportBase.mjs +2 -0
  9. package/3rdparty/walkontable/src/calculator/viewportRows.js +3 -3
  10. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +3 -3
  11. package/3rdparty/walkontable/src/core/_base.js +29 -23
  12. package/3rdparty/walkontable/src/core/_base.mjs +29 -23
  13. package/3rdparty/walkontable/src/core/clone.js +1 -0
  14. package/3rdparty/walkontable/src/core/clone.mjs +1 -0
  15. package/3rdparty/walkontable/src/core/core.js +2 -0
  16. package/3rdparty/walkontable/src/core/core.mjs +2 -0
  17. package/3rdparty/walkontable/src/facade/core.js +12 -6
  18. package/3rdparty/walkontable/src/facade/core.mjs +12 -6
  19. package/3rdparty/walkontable/src/index.js +0 -1
  20. package/3rdparty/walkontable/src/index.mjs +2 -2
  21. package/3rdparty/walkontable/src/overlay/_base.js +8 -1
  22. package/3rdparty/walkontable/src/overlay/_base.mjs +8 -1
  23. package/3rdparty/walkontable/src/overlay/bottom.js +5 -6
  24. package/3rdparty/walkontable/src/overlay/bottom.mjs +5 -6
  25. package/3rdparty/walkontable/src/overlay/index.js +2 -0
  26. package/3rdparty/walkontable/src/overlay/inlineStart.js +8 -7
  27. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +9 -8
  28. package/3rdparty/walkontable/src/overlay/top.js +9 -8
  29. package/3rdparty/walkontable/src/overlay/top.mjs +10 -9
  30. package/3rdparty/walkontable/src/overlays.js +10 -26
  31. package/3rdparty/walkontable/src/overlays.mjs +10 -26
  32. package/3rdparty/walkontable/src/renderer/colGroup.js +1 -1
  33. package/3rdparty/walkontable/src/renderer/colGroup.mjs +1 -1
  34. package/3rdparty/walkontable/src/renderer/index.js +4 -2
  35. package/3rdparty/walkontable/src/renderer/index.mjs +4 -2
  36. package/3rdparty/walkontable/src/renderer/table.js +13 -4
  37. package/3rdparty/walkontable/src/renderer/table.mjs +13 -4
  38. package/3rdparty/walkontable/src/scroll.js +46 -37
  39. package/3rdparty/walkontable/src/scroll.mjs +46 -37
  40. package/3rdparty/walkontable/src/selection/border/border.js +52 -58
  41. package/3rdparty/walkontable/src/selection/border/border.mjs +53 -59
  42. package/3rdparty/walkontable/src/selection/border/utils.js +26 -0
  43. package/3rdparty/walkontable/src/selection/border/utils.mjs +22 -0
  44. package/3rdparty/walkontable/src/selection/index.js +6 -4
  45. package/3rdparty/walkontable/src/selection/index.mjs +1 -1
  46. package/3rdparty/walkontable/src/selection/manager.js +3 -0
  47. package/3rdparty/walkontable/src/selection/manager.mjs +3 -0
  48. package/3rdparty/walkontable/src/selection/scanner.js +46 -11
  49. package/3rdparty/walkontable/src/selection/scanner.mjs +46 -11
  50. package/3rdparty/walkontable/src/settings.js +8 -9
  51. package/3rdparty/walkontable/src/settings.mjs +8 -9
  52. package/3rdparty/walkontable/src/table/master.js +1 -1
  53. package/3rdparty/walkontable/src/table/master.mjs +2 -2
  54. package/3rdparty/walkontable/src/table.js +25 -36
  55. package/3rdparty/walkontable/src/table.mjs +25 -36
  56. package/3rdparty/walkontable/src/types.js +1 -0
  57. package/3rdparty/walkontable/src/types.mjs +1 -0
  58. package/3rdparty/walkontable/src/utils/column.js +1 -43
  59. package/3rdparty/walkontable/src/utils/column.mjs +1 -43
  60. package/3rdparty/walkontable/src/utils/stylesHandler.js +295 -0
  61. package/3rdparty/walkontable/src/utils/stylesHandler.mjs +291 -0
  62. package/3rdparty/walkontable/src/viewport.js +94 -91
  63. package/3rdparty/walkontable/src/viewport.mjs +95 -92
  64. package/CHANGELOG.md +36 -0
  65. package/README.md +1 -1
  66. package/base.js +4 -4
  67. package/base.mjs +3 -3
  68. package/core/focusCatcher/focusDetector.js +1 -0
  69. package/core/focusCatcher/focusDetector.mjs +1 -0
  70. package/core/hooks/bucket.js +184 -0
  71. package/core/hooks/bucket.mjs +180 -0
  72. package/{pluginHooks.mjs → core/hooks/constants.js} +38 -486
  73. package/{pluginHooks.js → core/hooks/constants.mjs} +34 -489
  74. package/{pluginHooks.d.ts → core/hooks/index.d.ts} +22 -25
  75. package/core/hooks/index.js +385 -0
  76. package/core/hooks/index.mjs +381 -0
  77. package/core/index.js +2 -0
  78. package/core.d.ts +5 -3
  79. package/core.js +77 -35
  80. package/core.mjs +69 -27
  81. package/dataMap/dataMap.js +3 -0
  82. package/dataMap/dataMap.mjs +3 -0
  83. package/dataMap/dataSource.js +2 -0
  84. package/dataMap/dataSource.mjs +2 -0
  85. package/dataMap/metaManager/index.js +2 -0
  86. package/dataMap/metaManager/index.mjs +2 -0
  87. package/dataMap/metaManager/metaSchema.js +91 -5
  88. package/dataMap/metaManager/metaSchema.mjs +91 -5
  89. package/dataMap/metaManager/mods/dynamicCellMeta.js +2 -3
  90. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +1 -1
  91. package/dataMap/metaManager/mods/extendMetaProperties.js +2 -0
  92. package/dataMap/metaManager/mods/extendMetaProperties.mjs +2 -0
  93. package/dist/handsontable.css +84 -72
  94. package/dist/handsontable.full.css +317 -304
  95. package/dist/handsontable.full.js +14826 -7294
  96. package/dist/handsontable.full.min.css +15 -10
  97. package/dist/handsontable.full.min.js +262 -69
  98. package/dist/handsontable.js +7826 -5552
  99. package/dist/handsontable.min.css +10 -6
  100. package/dist/handsontable.min.js +33 -33
  101. package/dist/languages/all.js +1 -1
  102. package/dist/languages/ar-AR.js +1 -1
  103. package/dist/languages/cs-CZ.js +1 -1
  104. package/dist/languages/de-CH.js +1 -1
  105. package/dist/languages/de-DE.js +1 -1
  106. package/dist/languages/en-US.js +1 -1
  107. package/dist/languages/es-MX.js +1 -1
  108. package/dist/languages/fr-FR.js +1 -1
  109. package/dist/languages/hr-HR.js +1 -1
  110. package/dist/languages/it-IT.js +1 -1
  111. package/dist/languages/ja-JP.js +1 -1
  112. package/dist/languages/ko-KR.js +1 -1
  113. package/dist/languages/lv-LV.js +1 -1
  114. package/dist/languages/nb-NO.js +1 -1
  115. package/dist/languages/nl-NL.js +1 -1
  116. package/dist/languages/pl-PL.js +1 -1
  117. package/dist/languages/pt-BR.js +1 -1
  118. package/dist/languages/ru-RU.js +1 -1
  119. package/dist/languages/sr-SP.js +1 -1
  120. package/dist/languages/zh-CN.js +1 -1
  121. package/dist/languages/zh-TW.js +1 -1
  122. package/editorManager.js +2 -2
  123. package/editorManager.mjs +2 -2
  124. package/editors/autocompleteEditor/autocompleteEditor.js +34 -16
  125. package/editors/autocompleteEditor/autocompleteEditor.mjs +34 -16
  126. package/editors/baseEditor/baseEditor.js +25 -18
  127. package/editors/baseEditor/baseEditor.mjs +26 -19
  128. package/editors/dateEditor/dateEditor.js +9 -0
  129. package/editors/dateEditor/dateEditor.mjs +10 -1
  130. package/editors/dropdownEditor/dropdownEditor.js +4 -3
  131. package/editors/dropdownEditor/dropdownEditor.mjs +3 -1
  132. package/editors/handsontableEditor/handsontableEditor.js +36 -2
  133. package/editors/handsontableEditor/handsontableEditor.mjs +36 -2
  134. package/editors/passwordEditor/passwordEditor.js +18 -0
  135. package/editors/passwordEditor/passwordEditor.mjs +18 -0
  136. package/editors/registry.js +2 -2
  137. package/editors/registry.mjs +1 -1
  138. package/editors/selectEditor/selectEditor.js +20 -9
  139. package/editors/selectEditor/selectEditor.mjs +20 -9
  140. package/editors/textEditor/textEditor.js +5 -12
  141. package/editors/textEditor/textEditor.mjs +6 -13
  142. package/focusManager.js +5 -7
  143. package/focusManager.mjs +5 -7
  144. package/helpers/array.js +2 -0
  145. package/helpers/array.mjs +2 -0
  146. package/helpers/data.js +3 -0
  147. package/helpers/data.mjs +3 -0
  148. package/helpers/dom/element.js +39 -18
  149. package/helpers/dom/element.mjs +38 -17
  150. package/helpers/mixed.js +3 -3
  151. package/helpers/mixed.mjs +3 -3
  152. package/helpers/moves.js +3 -0
  153. package/helpers/moves.mjs +3 -0
  154. package/helpers/number.js +1 -0
  155. package/helpers/number.mjs +1 -0
  156. package/helpers/object.js +2 -0
  157. package/helpers/object.mjs +2 -0
  158. package/helpers/themes.js +17 -0
  159. package/helpers/themes.mjs +13 -0
  160. package/i18n/index.js +2 -0
  161. package/i18n/languages/index.d.ts +8 -0
  162. package/i18n/languages/ja-JP.d.ts +1 -1
  163. package/i18n/phraseFormatters/substituteVariables.js +1 -0
  164. package/i18n/phraseFormatters/substituteVariables.mjs +1 -0
  165. package/index.d.ts +9 -1
  166. package/languages/all.js +1 -1
  167. package/languages/ar-AR.js +1 -1
  168. package/languages/cs-CZ.js +1 -1
  169. package/languages/de-CH.js +1 -1
  170. package/languages/de-DE.js +1 -1
  171. package/languages/en-US.js +1 -1
  172. package/languages/es-MX.js +1 -1
  173. package/languages/fr-FR.js +1 -1
  174. package/languages/hr-HR.js +1 -1
  175. package/languages/index.js +1 -1
  176. package/languages/it-IT.js +1 -1
  177. package/languages/ja-JP.js +1 -1
  178. package/languages/ko-KR.js +1 -1
  179. package/languages/lv-LV.js +1 -1
  180. package/languages/nb-NO.js +1 -1
  181. package/languages/nl-NL.js +1 -1
  182. package/languages/pl-PL.js +1 -1
  183. package/languages/pt-BR.js +1 -1
  184. package/languages/ru-RU.js +1 -1
  185. package/languages/sr-SP.js +1 -1
  186. package/languages/zh-CN.js +1 -1
  187. package/languages/zh-TW.js +1 -1
  188. package/package.json +22 -7
  189. package/plugins/autoColumnSize/autoColumnSize.js +22 -27
  190. package/plugins/autoColumnSize/autoColumnSize.mjs +22 -27
  191. package/plugins/autoRowSize/autoRowSize.js +20 -22
  192. package/plugins/autoRowSize/autoRowSize.mjs +21 -23
  193. package/plugins/autofill/autofill.js +4 -5
  194. package/plugins/autofill/autofill.mjs +1 -1
  195. package/plugins/base/base.d.ts +1 -1
  196. package/plugins/base/base.js +41 -0
  197. package/plugins/base/base.mjs +42 -1
  198. package/plugins/base/index.js +2 -1
  199. package/plugins/base/index.mjs +1 -1
  200. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +2 -5
  201. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +2 -5
  202. package/plugins/columnSorting/columnSorting.js +5 -4
  203. package/plugins/columnSorting/columnSorting.mjs +3 -1
  204. package/plugins/columnSorting/columnStatesManager.js +1 -0
  205. package/plugins/columnSorting/columnStatesManager.mjs +1 -0
  206. package/plugins/columnSorting/utils.js +3 -0
  207. package/plugins/columnSorting/utils.mjs +3 -0
  208. package/plugins/columnSummary/endpoints.js +3 -0
  209. package/plugins/columnSummary/endpoints.mjs +3 -0
  210. package/plugins/comments/commentEditor.js +9 -0
  211. package/plugins/comments/commentEditor.mjs +9 -0
  212. package/plugins/comments/comments.js +24 -18
  213. package/plugins/comments/comments.mjs +26 -20
  214. package/plugins/comments/editorResizeObserver.js +2 -0
  215. package/plugins/comments/editorResizeObserver.mjs +2 -0
  216. package/plugins/contextMenu/contextMenu.d.ts +2 -1
  217. package/plugins/contextMenu/contextMenu.js +6 -7
  218. package/plugins/contextMenu/contextMenu.mjs +1 -1
  219. package/plugins/contextMenu/menu/index.js +2 -0
  220. package/plugins/contextMenu/menu/menu.js +10 -5
  221. package/plugins/contextMenu/menu/menu.mjs +11 -6
  222. package/plugins/contextMenu/menu/positioner.js +4 -2
  223. package/plugins/contextMenu/menu/positioner.mjs +4 -2
  224. package/plugins/contextMenu/menu/shortcuts.js +3 -1
  225. package/plugins/contextMenu/menu/shortcuts.mjs +3 -1
  226. package/plugins/contextMenu/predefinedItems/alignment.js +7 -84
  227. package/plugins/contextMenu/predefinedItems/alignment.mjs +8 -85
  228. package/plugins/contextMenu/utils.js +0 -10
  229. package/plugins/contextMenu/utils.mjs +0 -9
  230. package/plugins/copyPaste/copyPaste.d.ts +1 -0
  231. package/plugins/copyPaste/copyPaste.js +32 -23
  232. package/plugins/copyPaste/copyPaste.mjs +24 -15
  233. package/plugins/customBorders/utils.js +2 -0
  234. package/plugins/customBorders/utils.mjs +2 -0
  235. package/plugins/dropdownMenu/dropdownMenu.d.ts +2 -1
  236. package/plugins/dropdownMenu/dropdownMenu.js +6 -7
  237. package/plugins/dropdownMenu/dropdownMenu.mjs +1 -1
  238. package/plugins/exportFile/types/csv.js +1 -0
  239. package/plugins/exportFile/types/csv.mjs +1 -0
  240. package/plugins/filters/component/condition.js +2 -0
  241. package/plugins/filters/component/condition.mjs +2 -0
  242. package/plugins/filters/component/operators.js +2 -0
  243. package/plugins/filters/component/operators.mjs +2 -0
  244. package/plugins/filters/component/value.js +3 -0
  245. package/plugins/filters/component/value.mjs +3 -0
  246. package/plugins/filters/conditionCollection.js +3 -0
  247. package/plugins/filters/conditionCollection.mjs +3 -0
  248. package/plugins/filters/conditionUpdateObserver.js +2 -0
  249. package/plugins/filters/conditionUpdateObserver.mjs +2 -0
  250. package/plugins/filters/filters.js +43 -13
  251. package/plugins/filters/filters.mjs +43 -13
  252. package/plugins/filters/logicalOperations/conjunction.js +2 -0
  253. package/plugins/filters/logicalOperations/conjunction.mjs +2 -0
  254. package/plugins/filters/logicalOperations/disjunction.js +2 -0
  255. package/plugins/filters/logicalOperations/disjunction.mjs +2 -0
  256. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +2 -0
  257. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +2 -0
  258. package/plugins/filters/menu/focusController.js +38 -14
  259. package/plugins/filters/menu/focusController.mjs +38 -14
  260. package/plugins/filters/ui/multipleSelect.js +10 -0
  261. package/plugins/filters/ui/multipleSelect.mjs +10 -0
  262. package/plugins/formulas/engine/register.js +3 -0
  263. package/plugins/formulas/engine/register.mjs +3 -0
  264. package/plugins/formulas/engine/settings.js +3 -0
  265. package/plugins/formulas/engine/settings.mjs +3 -0
  266. package/plugins/formulas/formulas.js +12 -7
  267. package/plugins/formulas/formulas.mjs +6 -1
  268. package/plugins/formulas/indexSyncer/axisSyncer.js +3 -0
  269. package/plugins/formulas/indexSyncer/axisSyncer.mjs +3 -0
  270. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +2 -0
  271. package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +2 -0
  272. package/plugins/hiddenColumns/hiddenColumns.js +22 -30
  273. package/plugins/hiddenColumns/hiddenColumns.mjs +18 -26
  274. package/plugins/hiddenRows/contextMenuItem/showRow.js +2 -0
  275. package/plugins/hiddenRows/contextMenuItem/showRow.mjs +2 -0
  276. package/plugins/hiddenRows/hiddenRows.js +21 -29
  277. package/plugins/hiddenRows/hiddenRows.mjs +17 -25
  278. package/plugins/index.d.ts +3 -0
  279. package/plugins/index.js +3 -0
  280. package/plugins/index.mjs +3 -1
  281. package/plugins/manualColumnFreeze/manualColumnFreeze.js +7 -5
  282. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +3 -1
  283. package/plugins/manualColumnMove/manualColumnMove.js +6 -6
  284. package/plugins/manualColumnMove/manualColumnMove.mjs +4 -4
  285. package/plugins/manualColumnResize/manualColumnResize.js +26 -12
  286. package/plugins/manualColumnResize/manualColumnResize.mjs +26 -12
  287. package/plugins/manualRowMove/manualRowMove.js +8 -6
  288. package/plugins/manualRowMove/manualRowMove.mjs +6 -4
  289. package/plugins/manualRowResize/manualRowResize.js +3 -2
  290. package/plugins/manualRowResize/manualRowResize.mjs +4 -3
  291. package/plugins/mergeCells/cellsCollection.js +19 -3
  292. package/plugins/mergeCells/cellsCollection.mjs +20 -4
  293. package/plugins/mergeCells/mergeCells.d.ts +6 -2
  294. package/plugins/mergeCells/mergeCells.js +84 -56
  295. package/plugins/mergeCells/mergeCells.mjs +82 -54
  296. package/plugins/mergeCells/renderer.js +13 -3
  297. package/plugins/mergeCells/renderer.mjs +13 -3
  298. package/plugins/multiColumnSorting/domHelpers.js +2 -0
  299. package/plugins/multiColumnSorting/domHelpers.mjs +2 -0
  300. package/plugins/nestedHeaders/nestedHeaders.js +63 -16
  301. package/plugins/nestedHeaders/nestedHeaders.mjs +63 -16
  302. package/plugins/nestedHeaders/stateManager/index.js +1 -0
  303. package/plugins/nestedHeaders/stateManager/index.mjs +1 -0
  304. package/plugins/nestedRows/nestedRows.js +3 -0
  305. package/plugins/nestedRows/nestedRows.mjs +3 -0
  306. package/plugins/nestedRows/ui/headers.js +7 -1
  307. package/plugins/nestedRows/ui/headers.mjs +7 -1
  308. package/plugins/nestedRows/utils/rowMoveController.js +4 -0
  309. package/plugins/nestedRows/utils/rowMoveController.mjs +4 -0
  310. package/plugins/persistentState/persistentState.js +4 -4
  311. package/plugins/persistentState/persistentState.mjs +1 -1
  312. package/plugins/stretchColumns/calculator.js +162 -0
  313. package/plugins/stretchColumns/calculator.mjs +158 -0
  314. package/plugins/stretchColumns/index.d.ts +1 -0
  315. package/plugins/stretchColumns/index.js +7 -0
  316. package/plugins/stretchColumns/index.mjs +1 -0
  317. package/plugins/stretchColumns/strategies/_base.js +85 -0
  318. package/plugins/stretchColumns/strategies/_base.mjs +81 -0
  319. package/plugins/stretchColumns/strategies/all.js +71 -0
  320. package/plugins/stretchColumns/strategies/all.mjs +67 -0
  321. package/plugins/stretchColumns/strategies/last.js +79 -0
  322. package/plugins/stretchColumns/strategies/last.mjs +75 -0
  323. package/plugins/stretchColumns/stretchColumns.d.ts +11 -0
  324. package/plugins/stretchColumns/stretchColumns.js +222 -0
  325. package/plugins/stretchColumns/stretchColumns.mjs +218 -0
  326. package/plugins/trimRows/trimRows.js +2 -0
  327. package/plugins/trimRows/trimRows.mjs +2 -0
  328. package/plugins/undoRedo/undoRedo.js +9 -5
  329. package/plugins/undoRedo/undoRedo.mjs +8 -3
  330. package/renderers/checkboxRenderer/checkboxRenderer.js +19 -8
  331. package/renderers/checkboxRenderer/checkboxRenderer.mjs +18 -7
  332. package/selection/index.js +2 -0
  333. package/selection/range.js +2 -0
  334. package/selection/range.mjs +2 -0
  335. package/selection/selection.js +7 -2
  336. package/selection/selection.mjs +7 -2
  337. package/selection/utils.js +2 -0
  338. package/selection/utils.mjs +2 -0
  339. package/settings.d.ts +4 -1
  340. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +1 -1
  341. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +1 -1
  342. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +1 -1
  343. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +1 -1
  344. package/shortcutContexts/commands/index.js +2 -0
  345. package/shortcutContexts/commands/index.mjs +2 -0
  346. package/shortcutContexts/commands/scrollToFocusedCell.js +4 -4
  347. package/shortcutContexts/commands/scrollToFocusedCell.mjs +4 -4
  348. package/shortcutContexts/index.js +2 -0
  349. package/shortcutContexts/index.mjs +2 -0
  350. package/shortcuts/context.js +3 -0
  351. package/shortcuts/context.mjs +3 -0
  352. package/shortcuts/recorder.js +3 -3
  353. package/shortcuts/recorder.mjs +3 -3
  354. package/shortcuts/utils.js +1 -0
  355. package/shortcuts/utils.mjs +1 -0
  356. package/styles/handsontable.css +2307 -0
  357. package/styles/handsontable.min.css +30 -0
  358. package/styles/ht-theme-horizon.css +607 -0
  359. package/styles/ht-theme-horizon.min.css +30 -0
  360. package/styles/ht-theme-main.css +613 -0
  361. package/styles/ht-theme-main.min.css +30 -0
  362. package/tableView.js +205 -33
  363. package/tableView.mjs +206 -34
  364. package/translations/changesObservable/observable.js +2 -0
  365. package/translations/changesObservable/observable.mjs +2 -0
  366. package/translations/index.js +2 -0
  367. package/translations/indexMapper.js +4 -0
  368. package/translations/indexMapper.mjs +4 -0
  369. package/translations/mapCollections/index.js +2 -0
  370. package/translations/mapCollections/mapCollection.js +2 -0
  371. package/translations/mapCollections/mapCollection.mjs +2 -0
  372. package/translations/maps/index.js +2 -0
  373. package/translations/maps/linkedPhysicalIndexToValueMap.js +1 -0
  374. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +1 -0
  375. package/translations/maps/utils/actionsOnIndexes.js +2 -0
  376. package/translations/maps/utils/actionsOnIndexes.mjs +2 -0
  377. package/translations/maps/utils/physicallyIndexed.js +1 -0
  378. package/translations/maps/utils/physicallyIndexed.mjs +1 -0
  379. package/utils/autoResize.js +11 -3
  380. package/utils/autoResize.mjs +11 -3
  381. package/utils/dataStructures/priorityMap.js +1 -0
  382. package/utils/dataStructures/priorityMap.mjs +1 -0
  383. package/utils/dataStructures/uniqueMap.js +2 -0
  384. package/utils/dataStructures/uniqueMap.mjs +2 -0
  385. package/utils/ghostTable.js +7 -3
  386. package/utils/ghostTable.mjs +7 -3
  387. package/utils/parseTable.js +4 -0
  388. package/utils/parseTable.mjs +4 -0
  389. package/3rdparty/walkontable/src/selection/border/constants.js +0 -15
  390. package/3rdparty/walkontable/src/selection/border/constants.mjs +0 -12
  391. package/3rdparty/walkontable/src/utils/columnStretching.js +0 -197
  392. package/3rdparty/walkontable/src/utils/columnStretching.mjs +0 -193
@@ -1,11 +1,30 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
+ require("core-js/modules/es.error.cause.js");
4
5
  var _partiallyVisibleColumns = require("./partiallyVisibleColumns");
6
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
7
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
8
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
5
9
  /**
6
10
  * @class RenderedColumnsCalculationType
7
11
  */
8
12
  class RenderedColumnsCalculationType extends _partiallyVisibleColumns.PartiallyVisibleColumnsCalculationType {
13
+ constructor() {
14
+ super(...arguments);
15
+ /**
16
+ * The property holds the offset applied in the `overrideFn` function to the `startColumn` value.
17
+ *
18
+ * @type {number}
19
+ */
20
+ _defineProperty(this, "columnStartOffset", 0);
21
+ /**
22
+ * The property holds the offset applied in the `overrideFn` function to the `endColumn` value.
23
+ *
24
+ * @type {number}
25
+ */
26
+ _defineProperty(this, "columnEndOffset", 0);
27
+ }
9
28
  /**
10
29
  * Finalizes the calculation.
11
30
  *
@@ -20,7 +39,11 @@ class RenderedColumnsCalculationType extends _partiallyVisibleColumns.PartiallyV
20
39
  startPositions
21
40
  } = viewportCalculator;
22
41
  if (this.startColumn !== null && typeof overrideFn === 'function') {
42
+ const startColumn = this.startColumn;
43
+ const endColumn = this.endColumn;
23
44
  overrideFn(this);
45
+ this.columnStartOffset = startColumn - this.startColumn;
46
+ this.columnEndOffset = this.endColumn - endColumn;
24
47
  }
25
48
  if (this.startColumn < 0) {
26
49
  this.startColumn = 0;
@@ -1,8 +1,27 @@
1
+ import "core-js/modules/es.error.cause.js";
2
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
3
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
4
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
1
5
  import { PartiallyVisibleColumnsCalculationType } from "./partiallyVisibleColumns.mjs";
2
6
  /**
3
7
  * @class RenderedColumnsCalculationType
4
8
  */
5
9
  export class RenderedColumnsCalculationType extends PartiallyVisibleColumnsCalculationType {
10
+ constructor() {
11
+ super(...arguments);
12
+ /**
13
+ * The property holds the offset applied in the `overrideFn` function to the `startColumn` value.
14
+ *
15
+ * @type {number}
16
+ */
17
+ _defineProperty(this, "columnStartOffset", 0);
18
+ /**
19
+ * The property holds the offset applied in the `overrideFn` function to the `endColumn` value.
20
+ *
21
+ * @type {number}
22
+ */
23
+ _defineProperty(this, "columnEndOffset", 0);
24
+ }
6
25
  /**
7
26
  * Finalizes the calculation.
8
27
  *
@@ -17,7 +36,11 @@ export class RenderedColumnsCalculationType extends PartiallyVisibleColumnsCalcu
17
36
  startPositions
18
37
  } = viewportCalculator;
19
38
  if (this.startColumn !== null && typeof overrideFn === 'function') {
39
+ const startColumn = this.startColumn;
40
+ const endColumn = this.endColumn;
20
41
  overrideFn(this);
42
+ this.columnStartOffset = startColumn - this.startColumn;
43
+ this.columnEndOffset = this.endColumn - endColumn;
21
44
  }
22
45
  if (this.startColumn < 0) {
23
46
  this.startColumn = 0;
@@ -1,11 +1,30 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
+ require("core-js/modules/es.error.cause.js");
4
5
  var _partiallyVisibleRows = require("./partiallyVisibleRows");
6
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
7
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
8
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
5
9
  /**
6
10
  * @class RenderedRowsCalculationType
7
11
  */
8
12
  class RenderedRowsCalculationType extends _partiallyVisibleRows.PartiallyVisibleRowsCalculationType {
13
+ constructor() {
14
+ super(...arguments);
15
+ /**
16
+ * The property holds the offset applied in the `overrideFn` function to the `startColumn` value.
17
+ *
18
+ * @type {number}
19
+ */
20
+ _defineProperty(this, "rowStartOffset", 0);
21
+ /**
22
+ * The property holds the offset applied in the `overrideFn` function to the `endColumn` value.
23
+ *
24
+ * @type {number}
25
+ */
26
+ _defineProperty(this, "rowEndOffset", 0);
27
+ }
9
28
  /**
10
29
  * Finalizes the calculation.
11
30
  *
@@ -20,7 +39,11 @@ class RenderedRowsCalculationType extends _partiallyVisibleRows.PartiallyVisible
20
39
  startPositions
21
40
  } = viewportCalculator;
22
41
  if (this.startRow !== null && typeof overrideFn === 'function') {
42
+ const startRow = this.startRow;
43
+ const endRow = this.endRow;
23
44
  overrideFn(this);
45
+ this.rowStartOffset = startRow - this.startRow;
46
+ this.rowEndOffset = this.endRow - endRow;
24
47
  }
25
48
  if (this.startRow < 0) {
26
49
  this.startRow = 0;
@@ -1,8 +1,27 @@
1
+ import "core-js/modules/es.error.cause.js";
2
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
3
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
4
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
1
5
  import { PartiallyVisibleRowsCalculationType } from "./partiallyVisibleRows.mjs";
2
6
  /**
3
7
  * @class RenderedRowsCalculationType
4
8
  */
5
9
  export class RenderedRowsCalculationType extends PartiallyVisibleRowsCalculationType {
10
+ constructor() {
11
+ super(...arguments);
12
+ /**
13
+ * The property holds the offset applied in the `overrideFn` function to the `startColumn` value.
14
+ *
15
+ * @type {number}
16
+ */
17
+ _defineProperty(this, "rowStartOffset", 0);
18
+ /**
19
+ * The property holds the offset applied in the `overrideFn` function to the `endColumn` value.
20
+ *
21
+ * @type {number}
22
+ */
23
+ _defineProperty(this, "rowEndOffset", 0);
24
+ }
6
25
  /**
7
26
  * Finalizes the calculation.
8
27
  *
@@ -17,7 +36,11 @@ export class RenderedRowsCalculationType extends PartiallyVisibleRowsCalculation
17
36
  startPositions
18
37
  } = viewportCalculator;
19
38
  if (this.startRow !== null && typeof overrideFn === 'function') {
39
+ const startRow = this.startRow;
40
+ const endRow = this.endRow;
20
41
  overrideFn(this);
42
+ this.rowStartOffset = startRow - this.startRow;
43
+ this.rowEndOffset = this.endRow - endRow;
21
44
  }
22
45
  if (this.startRow < 0) {
23
46
  this.startRow = 0;
@@ -21,5 +21,4 @@ var _viewportColumns = require("./viewportColumns");
21
21
  exports.ViewportColumnsCalculator = _viewportColumns.ViewportColumnsCalculator;
22
22
  exports.DEFAULT_COLUMN_WIDTH = _viewportColumns.DEFAULT_WIDTH;
23
23
  var _viewportRows = require("./viewportRows");
24
- exports.ViewportRowsCalculator = _viewportRows.ViewportRowsCalculator;
25
- exports.DEFAULT_ROW_HEIGHT = _viewportRows.DEFAULT_HEIGHT;
24
+ exports.ViewportRowsCalculator = _viewportRows.ViewportRowsCalculator;
@@ -7,5 +7,5 @@ import { RenderedAllRowsCalculationType } from "./calculationType/renderedAllRow
7
7
  import { RenderedColumnsCalculationType } from "./calculationType/renderedColumns.mjs";
8
8
  import { RenderedRowsCalculationType } from "./calculationType/renderedRows.mjs";
9
9
  import { ViewportColumnsCalculator, DEFAULT_WIDTH } from "./viewportColumns.mjs";
10
- import { ViewportRowsCalculator, DEFAULT_HEIGHT } from "./viewportRows.mjs";
11
- export { DEFAULT_HEIGHT as DEFAULT_ROW_HEIGHT, DEFAULT_WIDTH as DEFAULT_COLUMN_WIDTH, FullyVisibleColumnsCalculationType, FullyVisibleRowsCalculationType, PartiallyVisibleColumnsCalculationType, PartiallyVisibleRowsCalculationType, RenderedAllColumnsCalculationType, RenderedAllRowsCalculationType, RenderedColumnsCalculationType, RenderedRowsCalculationType, ViewportColumnsCalculator, ViewportRowsCalculator };
10
+ import { ViewportRowsCalculator } from "./viewportRows.mjs";
11
+ export { DEFAULT_WIDTH as DEFAULT_COLUMN_WIDTH, FullyVisibleColumnsCalculationType, FullyVisibleRowsCalculationType, PartiallyVisibleColumnsCalculationType, PartiallyVisibleRowsCalculationType, RenderedAllColumnsCalculationType, RenderedAllRowsCalculationType, RenderedColumnsCalculationType, RenderedRowsCalculationType, ViewportColumnsCalculator, ViewportRowsCalculator };
@@ -2,6 +2,8 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  require("core-js/modules/es.error.cause.js");
5
+ require("core-js/modules/esnext.iterator.constructor.js");
6
+ require("core-js/modules/esnext.iterator.for-each.js");
5
7
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
6
8
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
7
9
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
@@ -1,4 +1,6 @@
1
1
  import "core-js/modules/es.error.cause.js";
2
+ import "core-js/modules/esnext.iterator.constructor.js";
3
+ import "core-js/modules/esnext.iterator.for-each.js";
2
4
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
3
5
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
4
6
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
@@ -7,8 +7,6 @@ var _viewportBase = require("./viewportBase");
7
7
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
8
8
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
9
9
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
10
- const DEFAULT_HEIGHT = exports.DEFAULT_HEIGHT = 23;
11
-
12
10
  /**
13
11
  * @typedef {object} ViewportRowsCalculatorOptions
14
12
  * @property {Map<string, ViewportBaseCalculator>} calculationTypes The calculation types to be performed.
@@ -34,6 +32,7 @@ class ViewportRowsCalculator extends _viewportBase.ViewportBaseCalculator {
34
32
  viewportHeight,
35
33
  scrollOffset,
36
34
  totalRows,
35
+ defaultRowHeight,
37
36
  rowHeightFn,
38
37
  overrideFn,
39
38
  horizontalScrollbarHeight
@@ -51,6 +50,7 @@ class ViewportRowsCalculator extends _viewportBase.ViewportBaseCalculator {
51
50
  _defineProperty(this, "totalCalculatedHeight", 0);
52
51
  _defineProperty(this, "startPositions", []);
53
52
  _defineProperty(this, "needReverse", true);
53
+ this.defaultHeight = defaultRowHeight;
54
54
  this.viewportHeight = viewportHeight;
55
55
  this.scrollOffset = scrollOffset;
56
56
  this.zeroBasedScrollOffset = Math.max(scrollOffset, 0);
@@ -89,7 +89,7 @@ class ViewportRowsCalculator extends _viewportBase.ViewportBaseCalculator {
89
89
  getRowHeight(row) {
90
90
  const rowHeight = this.rowHeightFn(row);
91
91
  if (isNaN(rowHeight)) {
92
- return DEFAULT_HEIGHT;
92
+ return this.defaultHeight;
93
93
  }
94
94
  return rowHeight;
95
95
  }
@@ -4,8 +4,6 @@ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object
4
4
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
5
5
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
6
6
  import { ViewportBaseCalculator } from "./viewportBase.mjs";
7
- export const DEFAULT_HEIGHT = 23;
8
-
9
7
  /**
10
8
  * @typedef {object} ViewportRowsCalculatorOptions
11
9
  * @property {Map<string, ViewportBaseCalculator>} calculationTypes The calculation types to be performed.
@@ -31,6 +29,7 @@ export class ViewportRowsCalculator extends ViewportBaseCalculator {
31
29
  viewportHeight,
32
30
  scrollOffset,
33
31
  totalRows,
32
+ defaultRowHeight,
34
33
  rowHeightFn,
35
34
  overrideFn,
36
35
  horizontalScrollbarHeight
@@ -48,6 +47,7 @@ export class ViewportRowsCalculator extends ViewportBaseCalculator {
48
47
  _defineProperty(this, "totalCalculatedHeight", 0);
49
48
  _defineProperty(this, "startPositions", []);
50
49
  _defineProperty(this, "needReverse", true);
50
+ this.defaultHeight = defaultRowHeight;
51
51
  this.viewportHeight = viewportHeight;
52
52
  this.scrollOffset = scrollOffset;
53
53
  this.zeroBasedScrollOffset = Math.max(scrollOffset, 0);
@@ -86,7 +86,7 @@ export class ViewportRowsCalculator extends ViewportBaseCalculator {
86
86
  getRowHeight(row) {
87
87
  const rowHeight = this.rowHeightFn(row);
88
88
  if (isNaN(rowHeight)) {
89
- return DEFAULT_HEIGHT;
89
+ return this.defaultHeight;
90
90
  }
91
91
  return rowHeight;
92
92
  }
@@ -42,6 +42,13 @@ class CoreAbstract {
42
42
  _defineProperty(this, "guid", `wt_${(0, _string.randomString)()}`);
43
43
  _defineProperty(this, "drawInterrupted", false);
44
44
  _defineProperty(this, "drawn", false);
45
+ /**
46
+ * The name of the overlay that currently renders the table.
47
+ *
48
+ * @public
49
+ * @type {string}
50
+ */
51
+ _defineProperty(this, "activeOverlayName", 'master');
45
52
  /**
46
53
  * The DOM bindings.
47
54
  *
@@ -164,47 +171,43 @@ class CoreAbstract {
164
171
  * Scrolls the viewport to a cell (rerenders if needed).
165
172
  *
166
173
  * @param {CellCoords} coords The cell coordinates to scroll to.
167
- * @param {boolean} [snapToTop] If `true`, viewport is scrolled to show the cell on the top of the table.
168
- * @param {boolean} [snapToRight] If `true`, viewport is scrolled to show the cell on the right of the table.
169
- * @param {boolean} [snapToBottom] If `true`, viewport is scrolled to show the cell on the bottom of the table.
170
- * @param {boolean} [snapToLeft] If `true`, viewport is scrolled to show the cell on the left of the table.
174
+ * @param {'auto' | 'start' | 'end'} [horizontalSnap='auto'] If `'start'`, viewport is scrolled to show
175
+ * the cell on the left of the table. If `'end'`, viewport is scrolled to show the cell on the right of
176
+ * the table. When `'auto'`, the viewport is scrolled only when the column is outside of the viewport.
177
+ * @param {'auto' | 'top' | 'bottom'} [verticalSnap='auto'] If `'top'`, viewport is scrolled to show
178
+ * the cell on the top of the table. If `'bottom'`, viewport is scrolled to show the cell on the bottom of
179
+ * the table. When `'auto'`, the viewport is scrolled only when the row is outside of the viewport.
171
180
  * @returns {boolean}
172
181
  */
173
- scrollViewport(coords, snapToTop, snapToRight, snapToBottom, snapToLeft) {
174
- if (coords.col < 0 || coords.row < 0) {
175
- return false;
176
- }
177
- return this.wtScroll.scrollViewport(coords, snapToTop, snapToRight, snapToBottom, snapToLeft);
182
+ scrollViewport(coords, horizontalSnap, verticalSnap) {
183
+ return this.wtScroll.scrollViewport(coords, horizontalSnap, verticalSnap);
178
184
  }
179
185
 
180
186
  /**
181
187
  * Scrolls the viewport to a column (rerenders if needed).
182
188
  *
183
189
  * @param {number} column Visual column index.
184
- * @param {boolean} [snapToRight] If `true`, viewport is scrolled to show the cell on the right of the table.
185
- * @param {boolean} [snapToLeft] If `true`, viewport is scrolled to show the cell on the left of the table.
190
+ * @param {'auto' | 'start' | 'end'} [snapping='auto'] If `'start'`, viewport is scrolled to show
191
+ * the cell on the left of the table. If `'end'`, viewport is scrolled to show the cell on the right of
192
+ * the table. When `'auto'`, the viewport is scrolled only when the column is outside of the viewport.
186
193
  * @returns {boolean}
187
194
  */
188
- scrollViewportHorizontally(column, snapToRight, snapToLeft) {
189
- if (column < 0) {
190
- return false;
191
- }
192
- return this.wtScroll.scrollViewportHorizontally(column, snapToRight, snapToLeft);
195
+ scrollViewportHorizontally(column, snapping) {
196
+ return this.wtScroll.scrollViewportHorizontally(column, snapping);
193
197
  }
194
198
 
195
199
  /**
196
200
  * Scrolls the viewport to a row (rerenders if needed).
197
201
  *
198
202
  * @param {number} row Visual row index.
199
- * @param {boolean} [snapToTop] If `true`, viewport is scrolled to show the cell on the top of the table.
200
- * @param {boolean} [snapToBottom] If `true`, viewport is scrolled to show the cell on the bottom of the table.
203
+ * @param {'auto' | 'top' | 'bottom'} [snapping='auto'] If `'top'`, viewport is scrolled to show
204
+ * the cell on the top of the table. If `'bottom'`, viewport is scrolled to show the cell on
205
+ * the bottom of the table. When `'auto'`, the viewport is scrolled only when the row is outside of
206
+ * the viewport.
201
207
  * @returns {boolean}
202
208
  */
203
- scrollViewportVertically(row, snapToTop, snapToBottom) {
204
- if (row < 0) {
205
- return false;
206
- }
207
- return this.wtScroll.scrollViewportVertically(row, snapToTop, snapToBottom);
209
+ scrollViewportVertically(row, snapping) {
210
+ return this.wtScroll.scrollViewportVertically(row, snapping);
208
211
  }
209
212
 
210
213
  /**
@@ -302,6 +305,9 @@ class CoreAbstract {
302
305
  get selectionManager() {
303
306
  return wot.selectionManager; // TODO refactoring: move outside dao, use IOC
304
307
  },
308
+ get stylesHandler() {
309
+ return wot.stylesHandler;
310
+ },
305
311
  get drawn() {
306
312
  return wot.drawn;
307
313
  },
@@ -38,6 +38,13 @@ export default class CoreAbstract {
38
38
  _defineProperty(this, "guid", `wt_${randomString()}`);
39
39
  _defineProperty(this, "drawInterrupted", false);
40
40
  _defineProperty(this, "drawn", false);
41
+ /**
42
+ * The name of the overlay that currently renders the table.
43
+ *
44
+ * @public
45
+ * @type {string}
46
+ */
47
+ _defineProperty(this, "activeOverlayName", 'master');
41
48
  /**
42
49
  * The DOM bindings.
43
50
  *
@@ -160,47 +167,43 @@ export default class CoreAbstract {
160
167
  * Scrolls the viewport to a cell (rerenders if needed).
161
168
  *
162
169
  * @param {CellCoords} coords The cell coordinates to scroll to.
163
- * @param {boolean} [snapToTop] If `true`, viewport is scrolled to show the cell on the top of the table.
164
- * @param {boolean} [snapToRight] If `true`, viewport is scrolled to show the cell on the right of the table.
165
- * @param {boolean} [snapToBottom] If `true`, viewport is scrolled to show the cell on the bottom of the table.
166
- * @param {boolean} [snapToLeft] If `true`, viewport is scrolled to show the cell on the left of the table.
170
+ * @param {'auto' | 'start' | 'end'} [horizontalSnap='auto'] If `'start'`, viewport is scrolled to show
171
+ * the cell on the left of the table. If `'end'`, viewport is scrolled to show the cell on the right of
172
+ * the table. When `'auto'`, the viewport is scrolled only when the column is outside of the viewport.
173
+ * @param {'auto' | 'top' | 'bottom'} [verticalSnap='auto'] If `'top'`, viewport is scrolled to show
174
+ * the cell on the top of the table. If `'bottom'`, viewport is scrolled to show the cell on the bottom of
175
+ * the table. When `'auto'`, the viewport is scrolled only when the row is outside of the viewport.
167
176
  * @returns {boolean}
168
177
  */
169
- scrollViewport(coords, snapToTop, snapToRight, snapToBottom, snapToLeft) {
170
- if (coords.col < 0 || coords.row < 0) {
171
- return false;
172
- }
173
- return this.wtScroll.scrollViewport(coords, snapToTop, snapToRight, snapToBottom, snapToLeft);
178
+ scrollViewport(coords, horizontalSnap, verticalSnap) {
179
+ return this.wtScroll.scrollViewport(coords, horizontalSnap, verticalSnap);
174
180
  }
175
181
 
176
182
  /**
177
183
  * Scrolls the viewport to a column (rerenders if needed).
178
184
  *
179
185
  * @param {number} column Visual column index.
180
- * @param {boolean} [snapToRight] If `true`, viewport is scrolled to show the cell on the right of the table.
181
- * @param {boolean} [snapToLeft] If `true`, viewport is scrolled to show the cell on the left of the table.
186
+ * @param {'auto' | 'start' | 'end'} [snapping='auto'] If `'start'`, viewport is scrolled to show
187
+ * the cell on the left of the table. If `'end'`, viewport is scrolled to show the cell on the right of
188
+ * the table. When `'auto'`, the viewport is scrolled only when the column is outside of the viewport.
182
189
  * @returns {boolean}
183
190
  */
184
- scrollViewportHorizontally(column, snapToRight, snapToLeft) {
185
- if (column < 0) {
186
- return false;
187
- }
188
- return this.wtScroll.scrollViewportHorizontally(column, snapToRight, snapToLeft);
191
+ scrollViewportHorizontally(column, snapping) {
192
+ return this.wtScroll.scrollViewportHorizontally(column, snapping);
189
193
  }
190
194
 
191
195
  /**
192
196
  * Scrolls the viewport to a row (rerenders if needed).
193
197
  *
194
198
  * @param {number} row Visual row index.
195
- * @param {boolean} [snapToTop] If `true`, viewport is scrolled to show the cell on the top of the table.
196
- * @param {boolean} [snapToBottom] If `true`, viewport is scrolled to show the cell on the bottom of the table.
199
+ * @param {'auto' | 'top' | 'bottom'} [snapping='auto'] If `'top'`, viewport is scrolled to show
200
+ * the cell on the top of the table. If `'bottom'`, viewport is scrolled to show the cell on
201
+ * the bottom of the table. When `'auto'`, the viewport is scrolled only when the row is outside of
202
+ * the viewport.
197
203
  * @returns {boolean}
198
204
  */
199
- scrollViewportVertically(row, snapToTop, snapToBottom) {
200
- if (row < 0) {
201
- return false;
202
- }
203
- return this.wtScroll.scrollViewportVertically(row, snapToTop, snapToBottom);
205
+ scrollViewportVertically(row, snapping) {
206
+ return this.wtScroll.scrollViewportVertically(row, snapping);
204
207
  }
205
208
 
206
209
  /**
@@ -298,6 +301,9 @@ export default class CoreAbstract {
298
301
  get selectionManager() {
299
302
  return wot.selectionManager; // TODO refactoring: move outside dao, use IOC
300
303
  },
304
+ get stylesHandler() {
305
+ return wot.stylesHandler;
306
+ },
301
307
  get drawn() {
302
308
  return wot.drawn;
303
309
  },
@@ -30,6 +30,7 @@ class Clone extends _base.default {
30
30
  const facadeGetter = this.wtSettings.getSetting('facade', this);
31
31
  this.cloneSource = clone.source;
32
32
  this.cloneOverlay = clone.overlay;
33
+ this.stylesHandler = clone.stylesHandler;
33
34
  this.wtTable = this.cloneOverlay.createTable(this.getTableDao(), facadeGetter, this.domBindings, this.wtSettings);
34
35
  this.wtViewport = clone.viewport;
35
36
  this.selectionManager = clone.selectionManager;
@@ -26,6 +26,7 @@ export default class Clone extends CoreAbstract {
26
26
  const facadeGetter = this.wtSettings.getSetting('facade', this);
27
27
  this.cloneSource = clone.source;
28
28
  this.cloneOverlay = clone.overlay;
29
+ this.stylesHandler = clone.stylesHandler;
29
30
  this.wtTable = this.cloneOverlay.createTable(this.getTableDao(), facadeGetter, this.domBindings, this.wtSettings);
30
31
  this.wtViewport = clone.viewport;
31
32
  this.selectionManager = clone.selectionManager;
@@ -12,6 +12,7 @@ var _base = _interopRequireDefault(require("./_base"));
12
12
  var _manager = require("../selection/manager");
13
13
  var _object = require("../../../../helpers/object");
14
14
  var _element = require("../../../../helpers/dom/element");
15
+ var _stylesHandler = require("../utils/stylesHandler");
15
16
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
17
  /**
17
18
  * @class Walkontable
@@ -23,6 +24,7 @@ class Walkontable extends _base.default {
23
24
  */
24
25
  constructor(table, settings) {
25
26
  super(table, new _settings.default(settings));
27
+ this.stylesHandler = new _stylesHandler.StylesHandler(this.domBindings);
26
28
  const facadeGetter = this.wtSettings.getSetting('facade', this); // todo rethink. I would like to have no access to facade from the internal scope.
27
29
 
28
30
  this.wtTable = new _master.default(this.getTableDao(), facadeGetter, this.domBindings, this.wtSettings);
@@ -9,6 +9,7 @@ import CoreAbstract from "./_base.mjs";
9
9
  import { SelectionManager } from "../selection/manager.mjs";
10
10
  import { objectEach } from "../../../../helpers/object.mjs";
11
11
  import { addClass, removeClass } from "../../../../helpers/dom/element.mjs";
12
+ import { StylesHandler } from "../utils/stylesHandler.mjs";
12
13
  /**
13
14
  * @class Walkontable
14
15
  */
@@ -19,6 +20,7 @@ export default class Walkontable extends CoreAbstract {
19
20
  */
20
21
  constructor(table, settings) {
21
22
  super(table, new Settings(settings));
23
+ this.stylesHandler = new StylesHandler(this.domBindings);
22
24
  const facadeGetter = this.wtSettings.getSetting('facade', this); // todo rethink. I would like to have no access to facade from the internal scope.
23
25
 
24
26
  this.wtTable = new MasterTable(this.getTableDao(), facadeGetter, this.domBindings, this.wtSettings);
@@ -71,6 +71,9 @@ class WalkontableFacade {
71
71
  set drawn(value) {
72
72
  this._wot.drawn = value;
73
73
  }
74
+ get activeOverlayName() {
75
+ return this._wot.activeOverlayName;
76
+ }
74
77
  get drawInterrupted() {
75
78
  return this._wot.drawInterrupted;
76
79
  }
@@ -107,6 +110,9 @@ class WalkontableFacade {
107
110
  get eventManager() {
108
111
  return this._wot.eventManager;
109
112
  }
113
+ get stylesHandler() {
114
+ return this._wot.stylesHandler;
115
+ }
110
116
  createCellCoords(row, column) {
111
117
  return this._wot.createCellCoords(row, column);
112
118
  }
@@ -122,14 +128,14 @@ class WalkontableFacade {
122
128
  let topmost = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
123
129
  return this._wot.getCell(coords, topmost);
124
130
  }
125
- scrollViewport(coords, snapToTop, snapToRight, snapToBottom, snapToLeft) {
126
- return this._wot.scrollViewport(coords, snapToTop, snapToRight, snapToBottom, snapToLeft);
131
+ scrollViewport(coords, horizontalSnap, verticalSnap) {
132
+ return this._wot.scrollViewport(coords, horizontalSnap, verticalSnap);
127
133
  }
128
- scrollViewportHorizontally(column, snapToRight, snapToLeft) {
129
- return this._wot.scrollViewportHorizontally(column, snapToRight, snapToLeft);
134
+ scrollViewportHorizontally(column, snapping) {
135
+ return this._wot.scrollViewportHorizontally(column, snapping);
130
136
  }
131
- scrollViewportVertically(row, snapToTop, snapToBottom) {
132
- return this._wot.scrollViewportVertically(row, snapToTop, snapToBottom);
137
+ scrollViewportVertically(row, snapping) {
138
+ return this._wot.scrollViewportVertically(row, snapping);
133
139
  }
134
140
  getViewport() {
135
141
  return this._wot.getViewport();
@@ -67,6 +67,9 @@ export default class WalkontableFacade {
67
67
  set drawn(value) {
68
68
  this._wot.drawn = value;
69
69
  }
70
+ get activeOverlayName() {
71
+ return this._wot.activeOverlayName;
72
+ }
70
73
  get drawInterrupted() {
71
74
  return this._wot.drawInterrupted;
72
75
  }
@@ -103,6 +106,9 @@ export default class WalkontableFacade {
103
106
  get eventManager() {
104
107
  return this._wot.eventManager;
105
108
  }
109
+ get stylesHandler() {
110
+ return this._wot.stylesHandler;
111
+ }
106
112
  createCellCoords(row, column) {
107
113
  return this._wot.createCellCoords(row, column);
108
114
  }
@@ -118,14 +124,14 @@ export default class WalkontableFacade {
118
124
  let topmost = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
119
125
  return this._wot.getCell(coords, topmost);
120
126
  }
121
- scrollViewport(coords, snapToTop, snapToRight, snapToBottom, snapToLeft) {
122
- return this._wot.scrollViewport(coords, snapToTop, snapToRight, snapToBottom, snapToLeft);
127
+ scrollViewport(coords, horizontalSnap, verticalSnap) {
128
+ return this._wot.scrollViewport(coords, horizontalSnap, verticalSnap);
123
129
  }
124
- scrollViewportHorizontally(column, snapToRight, snapToLeft) {
125
- return this._wot.scrollViewportHorizontally(column, snapToRight, snapToLeft);
130
+ scrollViewportHorizontally(column, snapping) {
131
+ return this._wot.scrollViewportHorizontally(column, snapping);
126
132
  }
127
- scrollViewportVertically(row, snapToTop, snapToBottom) {
128
- return this._wot.scrollViewportVertically(row, snapToTop, snapToBottom);
133
+ scrollViewportVertically(row, snapping) {
134
+ return this._wot.scrollViewportVertically(row, snapping);
129
135
  }
130
136
  getViewport() {
131
137
  return this._wot.getViewport();
@@ -4,7 +4,6 @@ exports.__esModule = true;
4
4
  var _calculator = require("./calculator");
5
5
  exports.ViewportColumnsCalculator = _calculator.ViewportColumnsCalculator;
6
6
  exports.ViewportRowsCalculator = _calculator.ViewportRowsCalculator;
7
- exports.DEFAULT_ROW_HEIGHT = _calculator.DEFAULT_ROW_HEIGHT;
8
7
  exports.DEFAULT_COLUMN_WIDTH = _calculator.DEFAULT_COLUMN_WIDTH;
9
8
  var _coords = _interopRequireDefault(require("./cell/coords"));
10
9
  exports.CellCoords = _coords.default;
@@ -1,4 +1,4 @@
1
- import { ViewportColumnsCalculator, ViewportRowsCalculator, DEFAULT_ROW_HEIGHT, DEFAULT_COLUMN_WIDTH } from "./calculator/index.mjs";
1
+ import { ViewportColumnsCalculator, ViewportRowsCalculator, DEFAULT_COLUMN_WIDTH } from "./calculator/index.mjs";
2
2
  import CellCoords from "./cell/coords.mjs";
3
3
  import CellRange from "./cell/range.mjs";
4
4
  import Walkontable from "./facade/core.mjs";
@@ -6,4 +6,4 @@ import { Selection, ACTIVE_HEADER_TYPE, AREA_TYPE, FOCUS_TYPE, FILL_TYPE, HEADER
6
6
  import * as Renderer from "./renderer/index.mjs";
7
7
  import { OrderView, SharedOrderView } from "./utils/orderView/index.mjs";
8
8
  import { getListenersCounter } from "../../../eventManager.mjs";
9
- export { DEFAULT_ROW_HEIGHT, DEFAULT_COLUMN_WIDTH, ViewportColumnsCalculator, ViewportRowsCalculator, CellCoords, CellRange, Walkontable as default, Walkontable as Core, Selection, ACTIVE_HEADER_TYPE as HIGHLIGHT_ACTIVE_HEADER_TYPE, AREA_TYPE as HIGHLIGHT_AREA_TYPE, FOCUS_TYPE as HIGHLIGHT_FOCUS_TYPE, FILL_TYPE as HIGHLIGHT_FILL_TYPE, HEADER_TYPE as HIGHLIGHT_HEADER_TYPE, ROW_TYPE as HIGHLIGHT_ROW_TYPE, COLUMN_TYPE as HIGHLIGHT_COLUMN_TYPE, CUSTOM_SELECTION_TYPE as HIGHLIGHT_CUSTOM_SELECTION_TYPE, Renderer, OrderView, SharedOrderView, getListenersCounter };
9
+ export { DEFAULT_COLUMN_WIDTH, ViewportColumnsCalculator, ViewportRowsCalculator, CellCoords, CellRange, Walkontable as default, Walkontable as Core, Selection, ACTIVE_HEADER_TYPE as HIGHLIGHT_ACTIVE_HEADER_TYPE, AREA_TYPE as HIGHLIGHT_AREA_TYPE, FOCUS_TYPE as HIGHLIGHT_FOCUS_TYPE, FILL_TYPE as HIGHLIGHT_FILL_TYPE, HEADER_TYPE as HIGHLIGHT_HEADER_TYPE, ROW_TYPE as HIGHLIGHT_ROW_TYPE, COLUMN_TYPE as HIGHLIGHT_COLUMN_TYPE, CUSTOM_SELECTION_TYPE as HIGHLIGHT_CUSTOM_SELECTION_TYPE, Renderer, OrderView, SharedOrderView, getListenersCounter };
@@ -2,6 +2,8 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  require("core-js/modules/es.error.cause.js");
5
+ require("core-js/modules/esnext.iterator.constructor.js");
6
+ require("core-js/modules/esnext.iterator.for-each.js");
5
7
  var _element = require("../../../../helpers/dom/element");
6
8
  var _object = require("../../../../helpers/object");
7
9
  var _console = require("../../../../helpers/console");
@@ -302,7 +304,9 @@ class Overlay {
302
304
  // todo ioc , or factor func if used only here
303
305
  event: this.wot.wtEvent,
304
306
  // todo ioc , or factory func if used only here
305
- selectionManager: this.wot.selectionManager // todo ioc , or factory func if used only here
307
+ selectionManager: this.wot.selectionManager,
308
+ // todo ioc , or factory func if used only here
309
+ stylesHandler: this.wot.stylesHandler
306
310
  });
307
311
  }
308
312
 
@@ -316,7 +320,10 @@ class Overlay {
316
320
  refresh() {
317
321
  let fastDraw = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
318
322
  if (this.needFullRender) {
323
+ const cloneSource = this.clone.cloneSource;
324
+ cloneSource.activeOverlayName = this.clone.wtTable.name;
319
325
  this.clone.draw(fastDraw);
326
+ cloneSource.activeOverlayName = 'master';
320
327
  }
321
328
  }
322
329