handsontable 11.1.0 → 12.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (461) hide show
  1. package/3rdparty/walkontable/src/border.js +120 -98
  2. package/3rdparty/walkontable/src/border.mjs +120 -94
  3. package/3rdparty/walkontable/src/cell/coords.js +59 -17
  4. package/3rdparty/walkontable/src/cell/coords.mjs +55 -17
  5. package/3rdparty/walkontable/src/cell/range.d.ts +10 -2
  6. package/3rdparty/walkontable/src/cell/range.js +278 -99
  7. package/3rdparty/walkontable/src/cell/range.mjs +273 -99
  8. package/3rdparty/walkontable/src/core/_base.js +452 -0
  9. package/3rdparty/walkontable/src/core/_base.mjs +440 -0
  10. package/3rdparty/walkontable/src/core/clone.js +97 -0
  11. package/3rdparty/walkontable/src/core/clone.mjs +80 -0
  12. package/3rdparty/walkontable/src/core/core.js +183 -0
  13. package/3rdparty/walkontable/src/core/core.mjs +160 -0
  14. package/3rdparty/walkontable/src/event.js +99 -66
  15. package/3rdparty/walkontable/src/event.mjs +99 -63
  16. package/3rdparty/walkontable/src/facade/core.js +251 -0
  17. package/3rdparty/walkontable/src/facade/core.mjs +243 -0
  18. package/3rdparty/walkontable/src/index.js +2 -46
  19. package/3rdparty/walkontable/src/index.mjs +3 -13
  20. package/3rdparty/walkontable/src/overlay/_base.js +124 -57
  21. package/3rdparty/walkontable/src/overlay/_base.mjs +124 -57
  22. package/3rdparty/walkontable/src/overlay/bottom.js +96 -80
  23. package/3rdparty/walkontable/src/overlay/bottom.mjs +96 -80
  24. package/3rdparty/walkontable/src/overlay/{bottomLeftCorner.js → bottomInlineStartCorner.js} +45 -62
  25. package/3rdparty/walkontable/src/overlay/{bottomLeftCorner.mjs → bottomInlineStartCorner.mjs} +44 -61
  26. package/3rdparty/walkontable/src/overlay/constants.js +25 -9
  27. package/3rdparty/walkontable/src/overlay/constants.mjs +14 -4
  28. package/3rdparty/walkontable/src/overlay/index.js +10 -19
  29. package/3rdparty/walkontable/src/overlay/index.mjs +4 -5
  30. package/3rdparty/walkontable/src/overlay/{left.js → inlineStart.js} +113 -82
  31. package/3rdparty/walkontable/src/overlay/{left.mjs → inlineStart.mjs} +112 -81
  32. package/3rdparty/walkontable/src/overlay/top.js +93 -68
  33. package/3rdparty/walkontable/src/overlay/top.mjs +93 -68
  34. package/3rdparty/walkontable/src/overlay/{topLeftCorner.js → topInlineStartCorner.js} +56 -57
  35. package/3rdparty/walkontable/src/overlay/{topLeftCorner.mjs → topInlineStartCorner.mjs} +51 -52
  36. package/3rdparty/walkontable/src/overlays.js +225 -156
  37. package/3rdparty/walkontable/src/overlays.mjs +224 -154
  38. package/3rdparty/walkontable/src/renderer/cells.js +4 -3
  39. package/3rdparty/walkontable/src/renderer/cells.mjs +4 -3
  40. package/3rdparty/walkontable/src/renderer/colGroup.js +2 -2
  41. package/3rdparty/walkontable/src/renderer/colGroup.mjs +2 -2
  42. package/3rdparty/walkontable/src/renderer/columnHeaders.js +2 -2
  43. package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +2 -2
  44. package/3rdparty/walkontable/src/renderer/rowHeaders.js +2 -2
  45. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +2 -2
  46. package/3rdparty/walkontable/src/renderer/rows.js +2 -2
  47. package/3rdparty/walkontable/src/renderer/rows.mjs +2 -2
  48. package/3rdparty/walkontable/src/scroll.js +125 -104
  49. package/3rdparty/walkontable/src/scroll.mjs +124 -104
  50. package/3rdparty/walkontable/src/selection.js +10 -14
  51. package/3rdparty/walkontable/src/selection.mjs +10 -12
  52. package/3rdparty/walkontable/src/settings.js +235 -126
  53. package/3rdparty/walkontable/src/settings.mjs +235 -125
  54. package/3rdparty/walkontable/src/table/bottom.js +16 -5
  55. package/3rdparty/walkontable/src/table/bottom.mjs +15 -5
  56. package/3rdparty/walkontable/src/table/{bottomLeftCorner.js → bottomInlineStartCorner.js} +27 -15
  57. package/3rdparty/walkontable/src/table/{bottomLeftCorner.mjs → bottomInlineStartCorner.mjs} +26 -15
  58. package/3rdparty/walkontable/src/table/{left.js → inlineStart.js} +23 -15
  59. package/3rdparty/walkontable/src/table/{left.mjs → inlineStart.mjs} +22 -15
  60. package/3rdparty/walkontable/src/table/master.js +22 -12
  61. package/3rdparty/walkontable/src/table/master.mjs +22 -12
  62. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +12 -6
  63. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +12 -6
  64. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +12 -6
  65. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +12 -6
  66. package/3rdparty/walkontable/src/table/mixin/{stickyColumnsLeft.js → stickyColumnsStart.js} +13 -7
  67. package/3rdparty/walkontable/src/table/mixin/{stickyColumnsLeft.mjs → stickyColumnsStart.mjs} +13 -7
  68. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +11 -5
  69. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +11 -5
  70. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +9 -3
  71. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +9 -3
  72. package/3rdparty/walkontable/src/table/top.js +16 -5
  73. package/3rdparty/walkontable/src/table/top.mjs +15 -5
  74. package/3rdparty/walkontable/src/table/{topLeftCorner.js → topInlineStartCorner.js} +27 -15
  75. package/3rdparty/walkontable/src/table/{topLeftCorner.mjs → topInlineStartCorner.mjs} +26 -15
  76. package/3rdparty/walkontable/src/table.js +235 -140
  77. package/3rdparty/walkontable/src/table.mjs +231 -134
  78. package/3rdparty/walkontable/src/types.js +103 -0
  79. package/3rdparty/walkontable/src/types.mjs +102 -0
  80. package/3rdparty/walkontable/src/utils/column.js +22 -33
  81. package/3rdparty/walkontable/src/utils/column.mjs +22 -30
  82. package/3rdparty/walkontable/src/utils/orderView/sharedView.js +2 -2
  83. package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +2 -2
  84. package/3rdparty/walkontable/src/utils/row.js +9 -4
  85. package/3rdparty/walkontable/src/utils/row.mjs +9 -4
  86. package/3rdparty/walkontable/src/viewport.js +89 -100
  87. package/3rdparty/walkontable/src/viewport.mjs +89 -97
  88. package/CHANGELOG.md +92 -0
  89. package/LICENSE.txt +1 -1
  90. package/README.md +0 -1
  91. package/base.js +2 -2
  92. package/base.mjs +2 -2
  93. package/cellTypes/timeType/timeType.d.ts +6 -6
  94. package/cellTypes/timeType/timeType.js +4 -5
  95. package/cellTypes/timeType/timeType.mjs +4 -5
  96. package/core.d.ts +6 -1
  97. package/core.js +508 -80
  98. package/core.mjs +517 -92
  99. package/dataMap/index.js +4 -0
  100. package/dataMap/index.mjs +2 -1
  101. package/dataMap/metaManager/index.js +2 -2
  102. package/dataMap/metaManager/index.mjs +2 -2
  103. package/dataMap/metaManager/metaLayers/globalMeta.js +4 -0
  104. package/dataMap/metaManager/metaLayers/globalMeta.mjs +4 -0
  105. package/dataMap/metaManager/metaLayers/tableMeta.js +2 -2
  106. package/dataMap/metaManager/metaLayers/tableMeta.mjs +2 -2
  107. package/dataMap/metaManager/metaSchema.js +282 -187
  108. package/dataMap/metaManager/metaSchema.mjs +282 -187
  109. package/dataMap/metaManager/mods/extendMetaProperties.js +126 -0
  110. package/dataMap/metaManager/mods/extendMetaProperties.mjs +113 -0
  111. package/dataMap/replaceData.js +3 -17
  112. package/dataMap/replaceData.mjs +3 -17
  113. package/dist/handsontable.css +268 -92
  114. package/dist/handsontable.full.css +269 -103
  115. package/dist/handsontable.full.js +41990 -35658
  116. package/dist/handsontable.full.min.css +9 -9
  117. package/dist/handsontable.full.min.js +144 -144
  118. package/dist/handsontable.js +29561 -25597
  119. package/dist/handsontable.min.css +8 -8
  120. package/dist/handsontable.min.js +4 -4
  121. package/dist/languages/all.js +131 -34
  122. package/dist/languages/all.min.js +1 -1
  123. package/dist/languages/ar-AR.js +167 -0
  124. package/dist/languages/ar-AR.min.js +1 -0
  125. package/dist/languages/cs-CZ.js +167 -0
  126. package/dist/languages/cs-CZ.min.js +1 -0
  127. package/dist/languages/de-CH.js +31 -29
  128. package/dist/languages/de-CH.min.js +1 -1
  129. package/dist/languages/de-DE.js +4 -2
  130. package/dist/languages/de-DE.min.js +1 -1
  131. package/dist/languages/en-US.js +4 -2
  132. package/dist/languages/en-US.min.js +1 -1
  133. package/dist/languages/es-MX.js +4 -2
  134. package/dist/languages/es-MX.min.js +1 -1
  135. package/dist/languages/fr-FR.js +4 -2
  136. package/dist/languages/fr-FR.min.js +1 -1
  137. package/dist/languages/it-IT.js +4 -2
  138. package/dist/languages/it-IT.min.js +1 -1
  139. package/dist/languages/ja-JP.js +36 -38
  140. package/dist/languages/ja-JP.min.js +1 -1
  141. package/dist/languages/ko-KR.js +36 -39
  142. package/dist/languages/ko-KR.min.js +1 -1
  143. package/dist/languages/lv-LV.js +2 -2
  144. package/dist/languages/lv-LV.min.js +1 -1
  145. package/dist/languages/nb-NO.js +2 -2
  146. package/dist/languages/nb-NO.min.js +1 -1
  147. package/dist/languages/nl-NL.js +2 -2
  148. package/dist/languages/nl-NL.min.js +1 -1
  149. package/dist/languages/pl-PL.js +2 -2
  150. package/dist/languages/pl-PL.min.js +1 -1
  151. package/dist/languages/pt-BR.js +2 -2
  152. package/dist/languages/pt-BR.min.js +1 -1
  153. package/dist/languages/ru-RU.js +2 -2
  154. package/dist/languages/ru-RU.min.js +1 -1
  155. package/dist/languages/sr-SP.js +171 -0
  156. package/dist/languages/sr-SP.min.js +1 -0
  157. package/dist/languages/zh-CN.js +24 -24
  158. package/dist/languages/zh-CN.min.js +1 -1
  159. package/dist/languages/zh-TW.js +24 -24
  160. package/dist/languages/zh-TW.min.js +1 -1
  161. package/editorManager.js +120 -267
  162. package/editorManager.mjs +128 -278
  163. package/editors/autocompleteEditor/autocompleteEditor.js +22 -25
  164. package/editors/autocompleteEditor/autocompleteEditor.mjs +22 -25
  165. package/editors/baseEditor/baseEditor.js +205 -34
  166. package/editors/baseEditor/baseEditor.mjs +200 -32
  167. package/editors/checkboxEditor/checkboxEditor.js +2 -2
  168. package/editors/checkboxEditor/checkboxEditor.mjs +2 -2
  169. package/editors/dateEditor/dateEditor.js +21 -8
  170. package/editors/dateEditor/dateEditor.mjs +22 -9
  171. package/editors/dropdownEditor/dropdownEditor.js +3 -3
  172. package/editors/dropdownEditor/dropdownEditor.mjs +3 -3
  173. package/editors/handsontableEditor/handsontableEditor.js +106 -55
  174. package/editors/handsontableEditor/handsontableEditor.mjs +106 -55
  175. package/editors/index.d.ts +3 -0
  176. package/editors/index.js +6 -0
  177. package/editors/index.mjs +3 -1
  178. package/editors/numericEditor/numericEditor.js +2 -2
  179. package/editors/numericEditor/numericEditor.mjs +2 -2
  180. package/editors/passwordEditor/passwordEditor.js +3 -3
  181. package/editors/passwordEditor/passwordEditor.mjs +3 -3
  182. package/editors/selectEditor/selectEditor.js +65 -110
  183. package/editors/selectEditor/selectEditor.mjs +66 -109
  184. package/editors/textEditor/caretPositioner.js +49 -0
  185. package/editors/textEditor/caretPositioner.mjs +42 -0
  186. package/editors/textEditor/textEditor.js +205 -181
  187. package/editors/textEditor/textEditor.mjs +199 -179
  188. package/editors/timeEditor/index.d.ts +1 -0
  189. package/editors/timeEditor/index.js +9 -0
  190. package/editors/timeEditor/index.mjs +1 -0
  191. package/editors/timeEditor/timeEditor.d.ts +7 -0
  192. package/editors/timeEditor/timeEditor.js +105 -0
  193. package/editors/timeEditor/timeEditor.mjs +84 -0
  194. package/eventManager.js +4 -2
  195. package/eventManager.mjs +4 -2
  196. package/helpers/mixed.js +2 -2
  197. package/helpers/mixed.mjs +2 -2
  198. package/i18n/languages/ar-AR.js +41 -0
  199. package/i18n/languages/ar-AR.mjs +17 -0
  200. package/i18n/languages/cs-CZ.js +40 -0
  201. package/i18n/languages/cs-CZ.mjs +16 -0
  202. package/i18n/languages/index.js +12 -0
  203. package/i18n/languages/index.mjs +4 -1
  204. package/i18n/languages/sr-SP.js +40 -0
  205. package/i18n/languages/sr-SP.mjs +16 -0
  206. package/index.d.ts +4 -0
  207. package/languages/all.js +131 -34
  208. package/languages/ar-AR.js +167 -0
  209. package/languages/ar-AR.mjs +19 -0
  210. package/languages/cs-CZ.js +167 -0
  211. package/languages/cs-CZ.mjs +18 -0
  212. package/languages/de-CH.js +31 -29
  213. package/languages/de-DE.js +4 -2
  214. package/languages/en-US.js +4 -2
  215. package/languages/es-MX.js +4 -2
  216. package/languages/fr-FR.js +4 -2
  217. package/languages/index.js +131 -34
  218. package/languages/index.mjs +4 -1
  219. package/languages/it-IT.js +4 -2
  220. package/languages/ja-JP.js +36 -38
  221. package/languages/ko-KR.js +36 -39
  222. package/languages/lv-LV.js +2 -2
  223. package/languages/nb-NO.js +2 -2
  224. package/languages/nl-NL.js +2 -2
  225. package/languages/pl-PL.js +2 -2
  226. package/languages/pt-BR.js +2 -2
  227. package/languages/ru-RU.js +2 -2
  228. package/languages/sr-SP.js +171 -0
  229. package/languages/sr-SP.mjs +18 -0
  230. package/languages/zh-CN.js +24 -24
  231. package/languages/zh-TW.js +24 -24
  232. package/package.json +44 -4
  233. package/pluginHooks.js +49 -13
  234. package/pluginHooks.mjs +49 -13
  235. package/plugins/autoColumnSize/autoColumnSize.js +15 -10
  236. package/plugins/autoColumnSize/autoColumnSize.mjs +15 -10
  237. package/plugins/autoRowSize/autoRowSize.js +14 -9
  238. package/plugins/autoRowSize/autoRowSize.mjs +14 -9
  239. package/plugins/autofill/autofill.js +49 -33
  240. package/plugins/autofill/autofill.mjs +49 -32
  241. package/plugins/autofill/utils.js +10 -11
  242. package/plugins/autofill/utils.mjs +10 -10
  243. package/plugins/base/base.d.ts +8 -2
  244. package/plugins/base/base.js +67 -4
  245. package/plugins/base/base.mjs +66 -4
  246. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +3 -3
  247. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +3 -3
  248. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +3 -3
  249. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +3 -3
  250. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +3 -3
  251. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +3 -3
  252. package/plugins/collapsibleColumns/collapsibleColumns.js +27 -9
  253. package/plugins/collapsibleColumns/collapsibleColumns.mjs +27 -9
  254. package/plugins/columnSorting/columnSorting.js +5 -7
  255. package/plugins/columnSorting/columnSorting.mjs +5 -6
  256. package/plugins/columnSummary/columnSummary.js +3 -3
  257. package/plugins/columnSummary/columnSummary.mjs +3 -3
  258. package/plugins/comments/commentEditor.js +18 -2
  259. package/plugins/comments/commentEditor.mjs +19 -3
  260. package/plugins/comments/comments.js +57 -46
  261. package/plugins/comments/comments.mjs +58 -46
  262. package/plugins/contextMenu/contextMenu.js +10 -6
  263. package/plugins/contextMenu/contextMenu.mjs +10 -6
  264. package/plugins/contextMenu/menu.js +222 -110
  265. package/plugins/contextMenu/menu.mjs +219 -111
  266. package/plugins/contextMenu/predefinedItems/columnLeft.js +12 -4
  267. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +11 -4
  268. package/plugins/contextMenu/predefinedItems/columnRight.js +9 -9
  269. package/plugins/contextMenu/predefinedItems/columnRight.mjs +9 -9
  270. package/plugins/contextMenu/utils.js +2 -2
  271. package/plugins/contextMenu/utils.mjs +2 -2
  272. package/plugins/copyPaste/copyPaste.js +31 -21
  273. package/plugins/copyPaste/copyPaste.mjs +30 -21
  274. package/plugins/customBorders/contextMenuItem/left.js +4 -3
  275. package/plugins/customBorders/contextMenuItem/left.mjs +4 -3
  276. package/plugins/customBorders/contextMenuItem/right.js +4 -3
  277. package/plugins/customBorders/contextMenuItem/right.mjs +4 -3
  278. package/plugins/customBorders/customBorders.js +144 -87
  279. package/plugins/customBorders/customBorders.mjs +143 -85
  280. package/plugins/customBorders/utils.js +131 -27
  281. package/plugins/customBorders/utils.mjs +115 -27
  282. package/plugins/dragToScroll/dragToScroll.js +10 -5
  283. package/plugins/dragToScroll/dragToScroll.mjs +10 -5
  284. package/plugins/dropdownMenu/dropdownMenu.js +9 -7
  285. package/plugins/dropdownMenu/dropdownMenu.mjs +9 -7
  286. package/plugins/exportFile/exportFile.js +2 -2
  287. package/plugins/exportFile/exportFile.mjs +2 -2
  288. package/plugins/exportFile/types/csv.js +2 -2
  289. package/plugins/exportFile/types/csv.mjs +2 -2
  290. package/plugins/filters/component/actionBar.js +2 -2
  291. package/plugins/filters/component/actionBar.mjs +2 -2
  292. package/plugins/filters/component/condition.js +3 -3
  293. package/plugins/filters/component/condition.mjs +3 -3
  294. package/plugins/filters/component/operators.js +2 -2
  295. package/plugins/filters/component/operators.mjs +2 -2
  296. package/plugins/filters/component/value.js +3 -3
  297. package/plugins/filters/component/value.mjs +3 -3
  298. package/plugins/filters/filters.js +11 -8
  299. package/plugins/filters/filters.mjs +11 -8
  300. package/plugins/filters/ui/input.js +3 -3
  301. package/plugins/filters/ui/input.mjs +3 -3
  302. package/plugins/filters/ui/link.js +3 -3
  303. package/plugins/filters/ui/link.mjs +3 -3
  304. package/plugins/filters/ui/multipleSelect.js +18 -31
  305. package/plugins/filters/ui/multipleSelect.mjs +18 -31
  306. package/plugins/filters/ui/radioInput.js +3 -3
  307. package/plugins/filters/ui/radioInput.mjs +3 -3
  308. package/plugins/filters/ui/select.js +4 -4
  309. package/plugins/filters/ui/select.mjs +4 -4
  310. package/plugins/formulas/formulas.js +14 -9
  311. package/plugins/formulas/formulas.mjs +14 -9
  312. package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +2 -4
  313. package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +2 -4
  314. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +5 -5
  315. package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +5 -5
  316. package/plugins/hiddenColumns/hiddenColumns.js +9 -4
  317. package/plugins/hiddenColumns/hiddenColumns.mjs +9 -4
  318. package/plugins/hiddenRows/contextMenuItem/hideRow.js +2 -4
  319. package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +2 -4
  320. package/plugins/hiddenRows/contextMenuItem/showRow.js +5 -5
  321. package/plugins/hiddenRows/contextMenuItem/showRow.mjs +5 -5
  322. package/plugins/hiddenRows/hiddenRows.js +9 -4
  323. package/plugins/hiddenRows/hiddenRows.mjs +9 -4
  324. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -1
  325. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +1 -1
  326. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -1
  327. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +1 -1
  328. package/plugins/manualColumnFreeze/manualColumnFreeze.js +54 -15
  329. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +49 -15
  330. package/plugins/manualColumnMove/manualColumnMove.js +70 -70
  331. package/plugins/manualColumnMove/manualColumnMove.mjs +71 -71
  332. package/plugins/manualColumnMove/ui/_base.js +25 -12
  333. package/plugins/manualColumnMove/ui/_base.mjs +24 -12
  334. package/plugins/manualColumnMove/ui/backlight.js +3 -3
  335. package/plugins/manualColumnMove/ui/backlight.mjs +3 -3
  336. package/plugins/manualColumnMove/ui/guideline.js +3 -3
  337. package/plugins/manualColumnMove/ui/guideline.mjs +3 -3
  338. package/plugins/manualColumnResize/manualColumnResize.js +37 -21
  339. package/plugins/manualColumnResize/manualColumnResize.mjs +37 -21
  340. package/plugins/manualRowMove/manualRowMove.js +26 -34
  341. package/plugins/manualRowMove/manualRowMove.mjs +26 -34
  342. package/plugins/manualRowMove/ui/backlight.js +3 -3
  343. package/plugins/manualRowMove/ui/backlight.mjs +3 -3
  344. package/plugins/manualRowMove/ui/guideline.js +3 -3
  345. package/plugins/manualRowMove/ui/guideline.mjs +3 -3
  346. package/plugins/manualRowResize/manualRowResize.js +34 -19
  347. package/plugins/manualRowResize/manualRowResize.mjs +34 -19
  348. package/plugins/mergeCells/calculations/autofill.js +6 -5
  349. package/plugins/mergeCells/calculations/autofill.mjs +6 -4
  350. package/plugins/mergeCells/calculations/selection.js +9 -4
  351. package/plugins/mergeCells/calculations/selection.mjs +9 -4
  352. package/plugins/mergeCells/cellCoords.js +16 -4
  353. package/plugins/mergeCells/cellCoords.mjs +16 -3
  354. package/plugins/mergeCells/cellsCollection.js +30 -23
  355. package/plugins/mergeCells/cellsCollection.mjs +30 -22
  356. package/plugins/mergeCells/mergeCells.js +94 -61
  357. package/plugins/mergeCells/mergeCells.mjs +94 -59
  358. package/plugins/multiColumnSorting/multiColumnSorting.js +4 -6
  359. package/plugins/multiColumnSorting/multiColumnSorting.mjs +4 -5
  360. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +51 -57
  361. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +52 -57
  362. package/plugins/nestedHeaders/nestedHeaders.js +31 -20
  363. package/plugins/nestedHeaders/nestedHeaders.mjs +31 -20
  364. package/plugins/nestedHeaders/stateManager/utils.js +3 -4
  365. package/plugins/nestedHeaders/stateManager/utils.mjs +3 -4
  366. package/plugins/nestedHeaders/utils/ghostTable.js +114 -75
  367. package/plugins/nestedHeaders/utils/ghostTable.mjs +114 -74
  368. package/plugins/nestedRows/nestedRows.js +9 -4
  369. package/plugins/nestedRows/nestedRows.mjs +9 -4
  370. package/plugins/nestedRows/ui/collapsing.js +2 -2
  371. package/plugins/nestedRows/ui/collapsing.mjs +2 -2
  372. package/plugins/nestedRows/ui/contextMenu.js +2 -2
  373. package/plugins/nestedRows/ui/contextMenu.mjs +2 -2
  374. package/plugins/nestedRows/ui/headers.js +2 -2
  375. package/plugins/nestedRows/ui/headers.mjs +2 -2
  376. package/plugins/nestedRows/utils/rowMoveController.js +2 -4
  377. package/plugins/nestedRows/utils/rowMoveController.mjs +2 -3
  378. package/plugins/persistentState/persistentState.js +9 -4
  379. package/plugins/persistentState/persistentState.mjs +9 -4
  380. package/plugins/search/search.js +9 -4
  381. package/plugins/search/search.mjs +9 -4
  382. package/plugins/touchScroll/touchScroll.js +27 -21
  383. package/plugins/touchScroll/touchScroll.mjs +27 -21
  384. package/plugins/trimRows/trimRows.js +9 -4
  385. package/plugins/trimRows/trimRows.mjs +9 -4
  386. package/plugins/undoRedo/undoRedo.js +53 -47
  387. package/plugins/undoRedo/undoRedo.mjs +53 -46
  388. package/renderers/autocompleteRenderer/autocompleteRenderer.js +1 -3
  389. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +1 -2
  390. package/renderers/checkboxRenderer/checkboxRenderer.js +48 -43
  391. package/renderers/checkboxRenderer/checkboxRenderer.mjs +48 -41
  392. package/renderers/index.d.ts +4 -1
  393. package/renderers/index.js +6 -0
  394. package/renderers/index.mjs +3 -1
  395. package/renderers/numericRenderer/numericRenderer.js +1 -0
  396. package/renderers/numericRenderer/numericRenderer.mjs +1 -0
  397. package/renderers/timeRenderer/index.d.ts +1 -0
  398. package/renderers/timeRenderer/index.js +9 -0
  399. package/renderers/timeRenderer/index.mjs +1 -0
  400. package/renderers/timeRenderer/timeRenderer.d.ts +5 -0
  401. package/renderers/timeRenderer/timeRenderer.js +31 -0
  402. package/renderers/timeRenderer/timeRenderer.mjs +20 -0
  403. package/selection/highlight/visualSelection.js +94 -220
  404. package/selection/highlight/visualSelection.mjs +91 -213
  405. package/selection/mouseEventHandler.js +15 -10
  406. package/selection/mouseEventHandler.mjs +15 -9
  407. package/selection/range.js +4 -5
  408. package/selection/range.mjs +4 -5
  409. package/selection/selection.js +35 -22
  410. package/selection/selection.mjs +35 -20
  411. package/selection/transformation.js +4 -6
  412. package/selection/transformation.mjs +4 -5
  413. package/settings.d.ts +3 -1
  414. package/shortcuts/context.d.ts +20 -0
  415. package/shortcuts/context.js +296 -0
  416. package/shortcuts/context.mjs +268 -0
  417. package/shortcuts/index.d.ts +1 -0
  418. package/shortcuts/index.js +8 -0
  419. package/shortcuts/index.mjs +1 -0
  420. package/shortcuts/keyObserver.js +67 -0
  421. package/shortcuts/keyObserver.mjs +58 -0
  422. package/shortcuts/manager.d.ts +10 -0
  423. package/shortcuts/manager.js +185 -0
  424. package/shortcuts/manager.mjs +176 -0
  425. package/shortcuts/recorder.js +192 -0
  426. package/shortcuts/recorder.mjs +180 -0
  427. package/shortcuts/utils.js +77 -0
  428. package/shortcuts/utils.mjs +54 -0
  429. package/tableView.js +164 -84
  430. package/tableView.mjs +164 -74
  431. package/translations/changesObservable/observer.js +0 -1
  432. package/translations/changesObservable/observer.mjs +0 -1
  433. package/translations/indexMapper.d.ts +3 -1
  434. package/translations/indexMapper.js +89 -11
  435. package/translations/indexMapper.mjs +91 -20
  436. package/translations/mapCollections/aggregatedCollection.js +2 -2
  437. package/translations/mapCollections/aggregatedCollection.mjs +2 -2
  438. package/translations/maps/hidingMap.js +4 -2
  439. package/translations/maps/hidingMap.mjs +4 -2
  440. package/translations/maps/indexMap.js +2 -0
  441. package/translations/maps/indexMap.mjs +2 -0
  442. package/translations/maps/indexesSequence.js +5 -3
  443. package/translations/maps/indexesSequence.mjs +5 -3
  444. package/translations/maps/linkedPhysicalIndexToValueMap.js +5 -3
  445. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +5 -3
  446. package/translations/maps/physicalIndexToValueMap.js +5 -3
  447. package/translations/maps/physicalIndexToValueMap.mjs +5 -3
  448. package/translations/maps/trimmingMap.js +4 -2
  449. package/translations/maps/trimmingMap.mjs +4 -2
  450. package/utils/dataStructures/uniqueMap.js +14 -1
  451. package/utils/dataStructures/uniqueMap.mjs +14 -1
  452. package/utils/dataStructures/uniqueSet.js +9 -0
  453. package/utils/dataStructures/uniqueSet.mjs +9 -0
  454. package/utils/ghostTable.js +1 -1
  455. package/utils/ghostTable.mjs +1 -1
  456. package/3rdparty/walkontable/src/core.js +0 -309
  457. package/3rdparty/walkontable/src/core.mjs +0 -293
  458. package/3rdparty/walkontable/src/overlay/registerer.js +0 -70
  459. package/3rdparty/walkontable/src/overlay/registerer.mjs +0 -57
  460. package/utils/keyStateObserver.js +0 -121
  461. package/utils/keyStateObserver.mjs +0 -103
@@ -1,134 +1,118 @@
1
+ import "core-js/modules/es.object.freeze.js";
2
+
1
3
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
2
4
 
3
5
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
4
6
 
5
7
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
6
8
 
7
- import { fastInnerText } from "./../../../helpers/dom/element.mjs";
8
- import { objectEach } from "./../../../helpers/object.mjs";
9
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
10
+
11
+ import { fastInnerText } from "../../../helpers/dom/element.mjs";
12
+ import { objectEach } from "../../../helpers/object.mjs";
13
+ /**
14
+ * @todo Describe options.
15
+ * @typedef SettingsPure
16
+ *
17
+ * @property {Option} facade @todo desc.
18
+ * @property {Option} cellRenderer Option `cellRenderer`.
19
+ * @property {Option} columnHeaders Option `columnHeaders`.
20
+ * @property {Option} columnWidth Option `columnWidth`.
21
+ * @property {Option} currentRowClassName Option `currentRowClassName`.
22
+ * @property {Option} data Option `data`.
23
+ * @property {Option} defaultColumnWidth Option `defaultColumnWidth`.
24
+ * @property {Option} defaultRowHeight Option `defaultRowHeight`.
25
+ * @property {Option} externalRowCalculator Option `externalRowCalculator`.
26
+ * @property {Option} fixedColumnsStart Option `fixedColumnsStart`.
27
+ * @property {Option} fixedRowsBottom Option `fixedRowsBottom`.
28
+ * @property {Option} fixedRowsTop Option `fixedRowsTop`.
29
+ * @property {Option} freezeOverlays Option `freezeOverlays`.
30
+ * @property {Option} groups Option `groups`.
31
+ * @property {Option} hideBorderOnMouseDownOver Option `hideBorderOnMouseDownOver`.
32
+ * @property {Option} isRtl Option `isRtl`.
33
+ * @property {Option} isDataViewInstance Option `isDataViewInstance`.
34
+ * @property {Option} minSpareRows Option `minSpareRows`.
35
+ * @property {Option} onBeforeHighlightingColumnHeader Option `onBeforeHighlightingColumnHeader`.
36
+ * @property {Option} onBeforeHighlightingRowHeader Option `onBeforeHighlightingRowHeader`.
37
+ * @property {Option} onBeforeRemoveCellClassNames Option `onBeforeRemoveCellClassNames`.
38
+ * @property {Option} onBeforeStretchingColumnWidth Option `onBeforeStretchingColumnWidth`.
39
+ * @property {Option} preventOverflow Option `preventOverflow`.
40
+ * @property {Option} preventWheel Option `preventWheel`.
41
+ * @property {Option} renderAllRows Option `renderAllRows`.
42
+ * @property {Option} rowHeaders Option `rowHeaders`.
43
+ * @property {Option} rowHeight Option `,`.
44
+ * @property {Option} shouldRenderBottomOverlay Option `shouldRenderBottomOverlay`.
45
+ * @property {Option} shouldRenderInlineStartOverlay Option `shouldRenderInlineStartOverlay`.
46
+ * @property {Option} shouldRenderTopOverlay Option `shouldRenderTopOverlay`.
47
+ * @property {Option} stretchH Option `stretchH`.
48
+ * @property {Option} table Option `table`.
49
+ * @property {Option} totalColumns Option `totalColumns`.
50
+ * @property {Option} totalRows Option `totalRows`.
51
+ * @property {?Option} beforeDraw Option `beforeDraw`.
52
+ * @property {?Option} columnHeaderHeight Option `columnHeaderHeight`.
53
+ * @property {?Option} currentColumnClassName Option `currentColumnClassName`.
54
+ * @property {?Option} headerClassName Option `headerClassName`.
55
+ * @property {?Option} onAfterDrawSelection Option `onAfterDrawSelection`.
56
+ * @property {?Option} onAfterMomentumScroll Option `onAfterMomentumScroll`.
57
+ * @property {?Option} onBeforeDrawBorders Option `onBeforeDrawBorders`.
58
+ * @property {?Option} onBeforeTouchScroll Option `onBeforeTouchScroll`.
59
+ * @property {?Option} onCellContextMenu Option `onCellContextMenu`.
60
+ * @property {?Option} onCellCornerDblClick Option `onCellCornerDblClick`.
61
+ * @property {?Option} onCellCornerMouseDown Option `onCellCornerMouseDown`.
62
+ * @property {?Option} onCellDblClick Option `onCellDblClick`.
63
+ * @property {?Option} onCellMouseDown Option `onCellMouseDown`.
64
+ * @property {?Option} onCellMouseOut Option `onCellMouseOut`.
65
+ * @property {?Option} onCellMouseOver Option `onCellMouseOver`.
66
+ * @property {?Option} onCellMouseUp Option `onCellMouseUp`.
67
+ * @property {?Option} onDraw Option `onDraw`.
68
+ * @property {?Option} onModifyGetCellCoords Option `onModifyGetCellCoords`.
69
+ * @property {?Option} onModifyRowHeaderWidth Option `onModifyRowHeaderWidth`.
70
+ * @property {?Option} onScrollHorizontally Option `onScrollHorizontally`.
71
+ * @property {?Option} onScrollVertically Option `onScrollVertically`.
72
+ * @property {?Option} onWindowResize Option `onWindowResize`.
73
+ * @property {?Option} rowHeaderWidth Option `rowHeaderWidth`.
74
+ * @property {?Option} selections Option `selections`.
75
+ * @property {?Option} viewportColumnCalculatorOverride Option `viewportColumnCalculatorOverride`.
76
+ * @property {?Option} viewportRowCalculatorOverride Option `viewportRowCalculatorOverride`.
77
+ */
78
+
79
+ /**
80
+ * @template TValue.
81
+ * @typedef { TValue | Array.<TValue> | (function(...*): TValue) } Option
82
+ */
83
+
9
84
  /**
10
85
  * @class Settings
11
86
  */
12
87
 
13
88
  var Settings = /*#__PURE__*/function () {
14
89
  /**
15
- * @param {Walkontable} wotInstance The Walkontable instance.
16
- * @param {object} settings The user defined settings.
90
+ * Reference to settings.
91
+ *
92
+ * @protected
93
+ * @type {SettingsPure}
17
94
  */
18
- function Settings(wotInstance, settings) {
95
+
96
+ /**
97
+ * The defaults values of settings.
98
+ * Void 0 means it is required, null means it can be empty.
99
+ *
100
+ * @public
101
+ * @type {Readonly<SettingsPure>}
102
+ */
103
+
104
+ /**
105
+ * @param {SettingsPure} settings The user defined settings.
106
+ */
107
+ function Settings(settings) {
19
108
  var _this = this;
20
109
 
21
110
  _classCallCheck(this, Settings);
22
111
 
23
- this.wot = wotInstance; // legacy support
24
-
25
- this.instance = wotInstance; // default settings. void 0 means it is required, null means it can be empty
26
-
27
- this.defaults = {
28
- table: void 0,
29
- // Determines whether the Walkontable instance is used as dataset viewer. When its instance is used as
30
- // a context menu, autocomplete list, etc, the returned value is `false`.
31
- isDataViewInstance: true,
32
- // presentation mode
33
- externalRowCalculator: false,
34
- stretchH: 'none',
35
- // values: all, last, none
36
- currentRowClassName: null,
37
- currentColumnClassName: null,
38
- preventOverflow: function preventOverflow() {
39
- return false;
40
- },
41
- preventWheel: false,
42
- // data source
43
- data: void 0,
44
- freezeOverlays: false,
45
- // Number of renderable columns for the left overlay.
46
- fixedColumnsLeft: 0,
47
- // Number of renderable rows for the top overlay.
48
- fixedRowsTop: 0,
49
- // Number of renderable rows for the bottom overlay.
50
- fixedRowsBottom: 0,
51
- // Enable the left overlay when conditions are met.
52
- shouldRenderLeftOverlay: function shouldRenderLeftOverlay() {
53
- return _this.getSetting('fixedColumnsLeft') > 0 || _this.getSetting('rowHeaders').length > 0;
54
- },
55
- // Enable the top overlay when conditions are met.
56
- shouldRenderTopOverlay: function shouldRenderTopOverlay() {
57
- return _this.getSetting('fixedRowsTop') > 0 || _this.getSetting('columnHeaders').length > 0;
58
- },
59
- // Enable the bottom overlay when conditions are met.
60
- shouldRenderBottomOverlay: function shouldRenderBottomOverlay() {
61
- return _this.getSetting('fixedRowsBottom') > 0;
62
- },
63
- minSpareRows: 0,
64
- // this must be array of functions: [function (row, TH) {}]
65
- rowHeaders: function rowHeaders() {
66
- return [];
67
- },
68
- // this must be array of functions: [function (column, TH) {}]
69
- columnHeaders: function columnHeaders() {
70
- return [];
71
- },
72
- totalRows: void 0,
73
- totalColumns: void 0,
74
- cellRenderer: function cellRenderer(row, column, TD) {
75
- var cellData = _this.getSetting('data', row, column);
76
-
77
- fastInnerText(TD, cellData === void 0 || cellData === null ? '' : cellData);
78
- },
79
- // columnWidth: 50,
80
- columnWidth: function columnWidth() {// return undefined means use default size for the rendered cell content
81
- },
82
- rowHeight: function rowHeight() {// return undefined means use default size for the rendered cell content
83
- },
84
- defaultRowHeight: 23,
85
- defaultColumnWidth: 50,
86
- selections: null,
87
- hideBorderOnMouseDownOver: false,
88
- viewportRowCalculatorOverride: null,
89
- viewportColumnCalculatorOverride: null,
90
- // callbacks
91
- onCellMouseDown: null,
92
- onCellContextMenu: null,
93
- onCellMouseOver: null,
94
- onCellMouseOut: null,
95
- onCellMouseUp: null,
96
- // onCellMouseOut: null,
97
- onCellDblClick: null,
98
- onCellCornerMouseDown: null,
99
- onCellCornerDblClick: null,
100
- beforeDraw: null,
101
- onDraw: null,
102
- onBeforeRemoveCellClassNames: null,
103
- onAfterDrawSelection: null,
104
- onBeforeDrawBorders: null,
105
- onScrollVertically: null,
106
- onScrollHorizontally: null,
107
- onBeforeTouchScroll: null,
108
- onAfterMomentumScroll: null,
109
- onBeforeStretchingColumnWidth: function onBeforeStretchingColumnWidth(width) {
110
- return width;
111
- },
112
- onModifyRowHeaderWidth: null,
113
- onModifyGetCellCoords: null,
114
- onBeforeHighlightingRowHeader: function onBeforeHighlightingRowHeader(sourceRow) {
115
- return sourceRow;
116
- },
117
- onBeforeHighlightingColumnHeader: function onBeforeHighlightingColumnHeader(sourceCol) {
118
- return sourceCol;
119
- },
120
- onWindowResize: null,
121
- // constants
122
- scrollbarWidth: 10,
123
- scrollbarHeight: 10,
124
- renderAllRows: false,
125
- groups: false,
126
- rowHeaderWidth: null,
127
- columnHeaderHeight: null,
128
- headerClassName: null
129
- }; // reference to settings
130
-
131
- this.settings = {};
112
+ _defineProperty(this, "settings", {});
113
+
114
+ _defineProperty(this, "defaults", Object.freeze(this.getDefaults()));
115
+
132
116
  objectEach(this.defaults, function (value, key) {
133
117
  if (settings[key] !== void 0) {
134
118
  _this.settings[key] = settings[key];
@@ -140,35 +124,151 @@ var Settings = /*#__PURE__*/function () {
140
124
  });
141
125
  }
142
126
  /**
143
- * Update settings.
127
+ * Generate defaults for a settings.
128
+ * Void 0 means it is required, null means it can be empty.
144
129
  *
145
- * @param {object} settings The singular settings to update or if passed as object to merge with.
146
- * @param {*} value The value to set if the first argument is passed as string.
147
- * @returns {Walkontable}
130
+ * @private
131
+ * @returns {SettingsPure}
148
132
  */
149
133
 
150
134
 
151
135
  _createClass(Settings, [{
136
+ key: "getDefaults",
137
+ value: function getDefaults() {
138
+ var _this2 = this;
139
+
140
+ return {
141
+ facade: void 0,
142
+ table: void 0,
143
+ // Determines whether the Walkontable instance is used as dataset viewer. When its instance is used as
144
+ // a context menu, autocomplete list, etc, the returned value is `false`.
145
+ isDataViewInstance: true,
146
+ // presentation mode
147
+ externalRowCalculator: false,
148
+ stretchH: 'none',
149
+ // values: all, last, none
150
+ currentRowClassName: null,
151
+ currentColumnClassName: null,
152
+ preventOverflow: function preventOverflow() {
153
+ return false;
154
+ },
155
+ preventWheel: false,
156
+ // data source
157
+ data: void 0,
158
+ freezeOverlays: false,
159
+ // Number of renderable columns for the left overlay.
160
+ fixedColumnsStart: 0,
161
+ // Number of renderable rows for the top overlay.
162
+ fixedRowsTop: 0,
163
+ // Number of renderable rows for the bottom overlay.
164
+ fixedRowsBottom: 0,
165
+ // Enable the inline start overlay when conditions are met (left for LTR and right for RTL document mode).
166
+ shouldRenderInlineStartOverlay: function shouldRenderInlineStartOverlay() {
167
+ return _this2.getSetting('fixedColumnsStart') > 0 || _this2.getSetting('rowHeaders').length > 0;
168
+ },
169
+ // Enable the top overlay when conditions are met.
170
+ shouldRenderTopOverlay: function shouldRenderTopOverlay() {
171
+ return _this2.getSetting('fixedRowsTop') > 0 || _this2.getSetting('columnHeaders').length > 0;
172
+ },
173
+ // Enable the bottom overlay when conditions are met.
174
+ shouldRenderBottomOverlay: function shouldRenderBottomOverlay() {
175
+ return _this2.getSetting('fixedRowsBottom') > 0;
176
+ },
177
+ minSpareRows: 0,
178
+ // this must be array of functions: [function (row, TH) {}]
179
+ rowHeaders: function rowHeaders() {
180
+ return [];
181
+ },
182
+ // this must be array of functions: [function (column, TH) {}]
183
+ columnHeaders: function columnHeaders() {
184
+ return [];
185
+ },
186
+ totalRows: void 0,
187
+ totalColumns: void 0,
188
+ cellRenderer: function cellRenderer(row, column, TD) {
189
+ var cellData = _this2.getSetting('data', row, column);
190
+
191
+ fastInnerText(TD, cellData === void 0 || cellData === null ? '' : cellData);
192
+ },
193
+ // columnWidth: 50,
194
+ columnWidth: function columnWidth() {// return undefined means use default size for the rendered cell content
195
+ },
196
+ rowHeight: function rowHeight() {// return undefined means use default size for the rendered cell content
197
+ },
198
+ defaultRowHeight: 23,
199
+ defaultColumnWidth: 50,
200
+ selections: null,
201
+ hideBorderOnMouseDownOver: false,
202
+ viewportRowCalculatorOverride: null,
203
+ viewportColumnCalculatorOverride: null,
204
+ // callbacks
205
+ onCellMouseDown: null,
206
+ onCellContextMenu: null,
207
+ onCellMouseOver: null,
208
+ onCellMouseOut: null,
209
+ onCellMouseUp: null,
210
+ // onCellMouseOut: null,
211
+ onCellDblClick: null,
212
+ onCellCornerMouseDown: null,
213
+ onCellCornerDblClick: null,
214
+ beforeDraw: null,
215
+ onDraw: null,
216
+ onBeforeRemoveCellClassNames: null,
217
+ onAfterDrawSelection: null,
218
+ onBeforeDrawBorders: null,
219
+ onScrollVertically: null,
220
+ onScrollHorizontally: null,
221
+ onBeforeTouchScroll: null,
222
+ onAfterMomentumScroll: null,
223
+ onBeforeStretchingColumnWidth: function onBeforeStretchingColumnWidth(width) {
224
+ return width;
225
+ },
226
+ onModifyRowHeaderWidth: null,
227
+ onModifyGetCellCoords: null,
228
+ onBeforeHighlightingRowHeader: function onBeforeHighlightingRowHeader(sourceRow) {
229
+ return sourceRow;
230
+ },
231
+ onBeforeHighlightingColumnHeader: function onBeforeHighlightingColumnHeader(sourceCol) {
232
+ return sourceCol;
233
+ },
234
+ onWindowResize: null,
235
+ renderAllRows: false,
236
+ groups: false,
237
+ rowHeaderWidth: null,
238
+ columnHeaderHeight: null,
239
+ headerClassName: null,
240
+ rtlMode: false
241
+ };
242
+ }
243
+ /**
244
+ * Update settings.
245
+ *
246
+ * @param {object} settings The singular settings to update or if passed as object to merge with.
247
+ * @param {*} value The value to set if the first argument is passed as string.
248
+ * @returns {Settings}
249
+ */
250
+
251
+ }, {
152
252
  key: "update",
153
253
  value: function update(settings, value) {
154
- var _this2 = this;
254
+ var _this3 = this;
155
255
 
156
256
  if (value === void 0) {
157
257
  // settings is object
158
258
  objectEach(settings, function (settingValue, key) {
159
- _this2.settings[key] = settingValue;
259
+ _this3.settings[key] = settingValue;
160
260
  });
161
261
  } else {
162
262
  // if value is defined then settings is the key
163
263
  this.settings[settings] = value;
164
264
  }
165
265
 
166
- return this.wot;
266
+ return this;
167
267
  }
168
268
  /**
169
269
  * Get setting by name.
170
270
  *
171
- * @param {string} key The settings key to retrieve.
271
+ * @param {$Keys<SettingsPure>} key The settings key to retrieve.
172
272
  * @param {*} [param1] Additional parameter passed to the options defined as function.
173
273
  * @param {*} [param2] Additional parameter passed to the options defined as function.
174
274
  * @param {*} [param3] Additional parameter passed to the options defined as function.
@@ -180,15 +280,25 @@ var Settings = /*#__PURE__*/function () {
180
280
  key: "getSetting",
181
281
  value: function getSetting(key, param1, param2, param3, param4) {
182
282
  if (typeof this.settings[key] === 'function') {
183
- // this is faster than .apply - https://github.com/handsontable/handsontable/wiki/JavaScript-&-DOM-performance-tips
184
283
  return this.settings[key](param1, param2, param3, param4);
185
284
  } else if (param1 !== void 0 && Array.isArray(this.settings[key])) {
186
- // perhaps this can be removed, it is only used in tests
187
285
  return this.settings[key][param1];
188
286
  }
189
287
 
190
288
  return this.settings[key];
191
289
  }
290
+ /**
291
+ * Get a setting value without any evaluation.
292
+ *
293
+ * @param {string} key The settings key to retrieve.
294
+ * @returns {*}
295
+ */
296
+
297
+ }, {
298
+ key: "getSettingPure",
299
+ value: function getSettingPure(key) {
300
+ return this.settings[key];
301
+ }
192
302
  /**
193
303
  * Checks if setting exists.
194
304
  *
@@ -206,4 +316,4 @@ var Settings = /*#__PURE__*/function () {
206
316
  return Settings;
207
317
  }();
208
318
 
209
- export default Settings;
319
+ export { Settings as default };
@@ -31,7 +31,9 @@ var _stickyRowsBottom = _interopRequireDefault(require("./mixin/stickyRowsBottom
31
31
 
32
32
  var _calculatedColumns = _interopRequireDefault(require("./mixin/calculatedColumns"));
33
33
 
34
- var _object = require("./../../../../helpers/object");
34
+ var _object = require("../../../../helpers/object");
35
+
36
+ var _overlay = require("../overlay");
35
37
 
36
38
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
37
39
 
@@ -43,7 +45,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
43
45
 
44
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); }
45
47
 
46
- 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); }
47
49
 
48
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); }; }
49
51
 
@@ -53,20 +55,29 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
53
55
 
54
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; } }
55
57
 
56
- 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); }
57
59
 
58
60
  /**
59
61
  * Subclass of `Table` that provides the helper methods relevant to BottomOverlay, implemented through mixins.
62
+ *
63
+ * @mixes stickyRowsBottom
64
+ * @mixes calculatedColumns
60
65
  */
61
66
  var BottomOverlayTable = /*#__PURE__*/function (_Table) {
62
67
  _inherits(BottomOverlayTable, _Table);
63
68
 
64
69
  var _super = _createSuper(BottomOverlayTable);
65
70
 
66
- function BottomOverlayTable() {
71
+ /**
72
+ * @param {TableDao} dataAccessObject The data access object.
73
+ * @param {FacadeGetter} facadeGetter Function which return proper facade.
74
+ * @param {DomBindings} domBindings Bindings into DOM.
75
+ * @param {Settings} wtSettings The Walkontable settings.
76
+ */
77
+ function BottomOverlayTable(dataAccessObject, facadeGetter, domBindings, wtSettings) {
67
78
  _classCallCheck(this, BottomOverlayTable);
68
79
 
69
- return _super.apply(this, arguments);
80
+ return _super.call(this, dataAccessObject, facadeGetter, domBindings, wtSettings, _overlay.CLONE_BOTTOM);
70
81
  }
71
82
 
72
83
  return _createClass(BottomOverlayTable);
@@ -19,7 +19,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
19
19
 
20
20
  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); }
21
21
 
22
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
22
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
23
23
 
24
24
  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); }; }
25
25
 
@@ -29,14 +29,18 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
29
29
 
30
30
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
31
31
 
32
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
32
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
33
33
 
34
34
  import Table from "../table.mjs";
35
35
  import stickyRowsBottom from "./mixin/stickyRowsBottom.mjs";
36
36
  import calculatedColumns from "./mixin/calculatedColumns.mjs";
37
- import { mixin } from "./../../../../helpers/object.mjs";
37
+ import { mixin } from "../../../../helpers/object.mjs";
38
+ import { CLONE_BOTTOM } from "../overlay/index.mjs";
38
39
  /**
39
40
  * Subclass of `Table` that provides the helper methods relevant to BottomOverlay, implemented through mixins.
41
+ *
42
+ * @mixes stickyRowsBottom
43
+ * @mixes calculatedColumns
40
44
  */
41
45
 
42
46
  var BottomOverlayTable = /*#__PURE__*/function (_Table) {
@@ -44,10 +48,16 @@ var BottomOverlayTable = /*#__PURE__*/function (_Table) {
44
48
 
45
49
  var _super = _createSuper(BottomOverlayTable);
46
50
 
47
- function BottomOverlayTable() {
51
+ /**
52
+ * @param {TableDao} dataAccessObject The data access object.
53
+ * @param {FacadeGetter} facadeGetter Function which return proper facade.
54
+ * @param {DomBindings} domBindings Bindings into DOM.
55
+ * @param {Settings} wtSettings The Walkontable settings.
56
+ */
57
+ function BottomOverlayTable(dataAccessObject, facadeGetter, domBindings, wtSettings) {
48
58
  _classCallCheck(this, BottomOverlayTable);
49
59
 
50
- return _super.apply(this, arguments);
60
+ return _super.call(this, dataAccessObject, facadeGetter, domBindings, wtSettings, CLONE_BOTTOM);
51
61
  }
52
62
 
53
63
  return _createClass(BottomOverlayTable);
@@ -29,9 +29,11 @@ var _table = _interopRequireDefault(require("../table"));
29
29
 
30
30
  var _stickyRowsBottom = _interopRequireDefault(require("./mixin/stickyRowsBottom"));
31
31
 
32
- var _stickyColumnsLeft = _interopRequireDefault(require("./mixin/stickyColumnsLeft"));
32
+ var _stickyColumnsStart = _interopRequireDefault(require("./mixin/stickyColumnsStart"));
33
33
 
34
- var _object = require("./../../../../helpers/object");
34
+ var _object = require("../../../../helpers/object");
35
+
36
+ var _overlay = require("../overlay");
35
37
 
36
38
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
37
39
 
@@ -43,7 +45,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
43
45
 
44
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); }
45
47
 
46
- 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); }
47
49
 
48
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); }; }
49
51
 
@@ -53,26 +55,36 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
53
55
 
54
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; } }
55
57
 
56
- 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); }
57
59
 
58
60
  /**
59
- * Subclass of `Table` that provides the helper methods relevant to BottomLeftCornerOverlay, implemented through mixins.
61
+ * Subclass of `Table` that provides the helper methods relevant to bottomInlineStartCornerOverlay
62
+ * (in RTL mode the overlay sits on the right of the screen), implemented through mixins.
63
+ *
64
+ * @mixes stickyRowsBottom
65
+ * @mixes stickyColumnsStart
60
66
  */
61
- var BottomLeftCornerOverlayTable = /*#__PURE__*/function (_Table) {
62
- _inherits(BottomLeftCornerOverlayTable, _Table);
67
+ var BottomInlineStartCornerOverlayTable = /*#__PURE__*/function (_Table) {
68
+ _inherits(BottomInlineStartCornerOverlayTable, _Table);
63
69
 
64
- var _super = _createSuper(BottomLeftCornerOverlayTable);
70
+ var _super = _createSuper(BottomInlineStartCornerOverlayTable);
65
71
 
66
- function BottomLeftCornerOverlayTable() {
67
- _classCallCheck(this, BottomLeftCornerOverlayTable);
72
+ /**
73
+ * @param {TableDao} dataAccessObject The data access object.
74
+ * @param {FacadeGetter} facadeGetter Function which return proper facade.
75
+ * @param {DomBindings} domBindings Bindings into DOM.
76
+ * @param {Settings} wtSettings The Walkontable settings.
77
+ */
78
+ function BottomInlineStartCornerOverlayTable(dataAccessObject, facadeGetter, domBindings, wtSettings) {
79
+ _classCallCheck(this, BottomInlineStartCornerOverlayTable);
68
80
 
69
- return _super.apply(this, arguments);
81
+ return _super.call(this, dataAccessObject, facadeGetter, domBindings, wtSettings, _overlay.CLONE_BOTTOM_INLINE_START_CORNER);
70
82
  }
71
83
 
72
- return _createClass(BottomLeftCornerOverlayTable);
84
+ return _createClass(BottomInlineStartCornerOverlayTable);
73
85
  }(_table.default);
74
86
 
75
- (0, _object.mixin)(BottomLeftCornerOverlayTable, _stickyRowsBottom.default);
76
- (0, _object.mixin)(BottomLeftCornerOverlayTable, _stickyColumnsLeft.default);
77
- var _default = BottomLeftCornerOverlayTable;
87
+ (0, _object.mixin)(BottomInlineStartCornerOverlayTable, _stickyRowsBottom.default);
88
+ (0, _object.mixin)(BottomInlineStartCornerOverlayTable, _stickyColumnsStart.default);
89
+ var _default = BottomInlineStartCornerOverlayTable;
78
90
  exports.default = _default;
@@ -19,7 +19,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
19
19
 
20
20
  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); }
21
21
 
22
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
22
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
23
23
 
24
24
  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); }; }
25
25
 
@@ -29,30 +29,41 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
29
29
 
30
30
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
31
31
 
32
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
32
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
33
33
 
34
34
  import Table from "../table.mjs";
35
35
  import stickyRowsBottom from "./mixin/stickyRowsBottom.mjs";
36
- import stickyColumnsLeft from "./mixin/stickyColumnsLeft.mjs";
37
- import { mixin } from "./../../../../helpers/object.mjs";
36
+ import stickyColumnsStart from "./mixin/stickyColumnsStart.mjs";
37
+ import { mixin } from "../../../../helpers/object.mjs";
38
+ import { CLONE_BOTTOM_INLINE_START_CORNER } from "../overlay/index.mjs";
38
39
  /**
39
- * Subclass of `Table` that provides the helper methods relevant to BottomLeftCornerOverlay, implemented through mixins.
40
+ * Subclass of `Table` that provides the helper methods relevant to bottomInlineStartCornerOverlay
41
+ * (in RTL mode the overlay sits on the right of the screen), implemented through mixins.
42
+ *
43
+ * @mixes stickyRowsBottom
44
+ * @mixes stickyColumnsStart
40
45
  */
41
46
 
42
- var BottomLeftCornerOverlayTable = /*#__PURE__*/function (_Table) {
43
- _inherits(BottomLeftCornerOverlayTable, _Table);
47
+ var BottomInlineStartCornerOverlayTable = /*#__PURE__*/function (_Table) {
48
+ _inherits(BottomInlineStartCornerOverlayTable, _Table);
44
49
 
45
- var _super = _createSuper(BottomLeftCornerOverlayTable);
50
+ var _super = _createSuper(BottomInlineStartCornerOverlayTable);
46
51
 
47
- function BottomLeftCornerOverlayTable() {
48
- _classCallCheck(this, BottomLeftCornerOverlayTable);
52
+ /**
53
+ * @param {TableDao} dataAccessObject The data access object.
54
+ * @param {FacadeGetter} facadeGetter Function which return proper facade.
55
+ * @param {DomBindings} domBindings Bindings into DOM.
56
+ * @param {Settings} wtSettings The Walkontable settings.
57
+ */
58
+ function BottomInlineStartCornerOverlayTable(dataAccessObject, facadeGetter, domBindings, wtSettings) {
59
+ _classCallCheck(this, BottomInlineStartCornerOverlayTable);
49
60
 
50
- return _super.apply(this, arguments);
61
+ return _super.call(this, dataAccessObject, facadeGetter, domBindings, wtSettings, CLONE_BOTTOM_INLINE_START_CORNER);
51
62
  }
52
63
 
53
- return _createClass(BottomLeftCornerOverlayTable);
64
+ return _createClass(BottomInlineStartCornerOverlayTable);
54
65
  }(Table);
55
66
 
56
- mixin(BottomLeftCornerOverlayTable, stickyRowsBottom);
57
- mixin(BottomLeftCornerOverlayTable, stickyColumnsLeft);
58
- export default BottomLeftCornerOverlayTable;
67
+ mixin(BottomInlineStartCornerOverlayTable, stickyRowsBottom);
68
+ mixin(BottomInlineStartCornerOverlayTable, stickyColumnsStart);
69
+ export default BottomInlineStartCornerOverlayTable;