handsontable 12.1.3 → 12.3.0-next-bb1a7c2-20221208

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 (948) hide show
  1. package/3rdparty/SheetClip/SheetClip.js +3 -32
  2. package/3rdparty/SheetClip/SheetClip.mjs +3 -23
  3. package/3rdparty/SheetClip/index.js +0 -2
  4. package/3rdparty/autoResize/autoResize.js +119 -145
  5. package/3rdparty/autoResize/autoResize.mjs +119 -143
  6. package/3rdparty/autoResize/index.js +0 -2
  7. package/3rdparty/walkontable/src/border.js +44 -154
  8. package/3rdparty/walkontable/src/border.mjs +41 -136
  9. package/3rdparty/walkontable/src/calculator/constants.js +0 -3
  10. package/3rdparty/walkontable/src/calculator/constants.mjs +0 -2
  11. package/3rdparty/walkontable/src/calculator/index.js +0 -10
  12. package/3rdparty/walkontable/src/calculator/viewportColumns.js +36 -77
  13. package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +36 -70
  14. package/3rdparty/walkontable/src/calculator/viewportRows.js +30 -49
  15. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +30 -42
  16. package/3rdparty/walkontable/src/cell/coords.d.ts +1 -1
  17. package/3rdparty/walkontable/src/cell/coords.js +73 -65
  18. package/3rdparty/walkontable/src/cell/coords.mjs +73 -60
  19. package/3rdparty/walkontable/src/cell/range.d.ts +19 -16
  20. package/3rdparty/walkontable/src/cell/range.js +251 -231
  21. package/3rdparty/walkontable/src/cell/range.mjs +251 -222
  22. package/3rdparty/walkontable/src/core/_base.js +30 -74
  23. package/3rdparty/walkontable/src/core/_base.mjs +30 -67
  24. package/3rdparty/walkontable/src/core/clone.js +11 -44
  25. package/3rdparty/walkontable/src/core/clone.mjs +11 -32
  26. package/3rdparty/walkontable/src/core/core.js +8 -56
  27. package/3rdparty/walkontable/src/core/core.mjs +8 -38
  28. package/3rdparty/walkontable/src/event.js +41 -79
  29. package/3rdparty/walkontable/src/event.mjs +41 -66
  30. package/3rdparty/walkontable/src/facade/core.js +14 -16
  31. package/3rdparty/walkontable/src/facade/core.mjs +14 -13
  32. package/3rdparty/walkontable/src/filter/column.js +22 -17
  33. package/3rdparty/walkontable/src/filter/column.mjs +22 -16
  34. package/3rdparty/walkontable/src/filter/row.js +22 -17
  35. package/3rdparty/walkontable/src/filter/row.mjs +22 -16
  36. package/3rdparty/walkontable/src/index.js +0 -31
  37. package/3rdparty/walkontable/src/overlay/_base.js +38 -69
  38. package/3rdparty/walkontable/src/overlay/_base.mjs +38 -61
  39. package/3rdparty/walkontable/src/overlay/bottom.js +38 -103
  40. package/3rdparty/walkontable/src/overlay/bottom.mjs +38 -88
  41. package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.js +12 -52
  42. package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.mjs +12 -37
  43. package/3rdparty/walkontable/src/overlay/constants.js +0 -6
  44. package/3rdparty/walkontable/src/overlay/constants.mjs +0 -1
  45. package/3rdparty/walkontable/src/overlay/index.js +0 -17
  46. package/3rdparty/walkontable/src/overlay/inlineStart.js +26 -90
  47. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +26 -75
  48. package/3rdparty/walkontable/src/overlay/top.js +37 -104
  49. package/3rdparty/walkontable/src/overlay/top.mjs +37 -89
  50. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +14 -55
  51. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +14 -40
  52. package/3rdparty/walkontable/src/overlays.js +124 -145
  53. package/3rdparty/walkontable/src/overlays.mjs +124 -135
  54. package/3rdparty/walkontable/src/renderer/_base.js +17 -19
  55. package/3rdparty/walkontable/src/renderer/_base.mjs +17 -17
  56. package/3rdparty/walkontable/src/renderer/cells.js +15 -53
  57. package/3rdparty/walkontable/src/renderer/cells.mjs +15 -39
  58. package/3rdparty/walkontable/src/renderer/colGroup.js +15 -46
  59. package/3rdparty/walkontable/src/renderer/colGroup.mjs +15 -34
  60. package/3rdparty/walkontable/src/renderer/columnHeaders.js +13 -49
  61. package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +13 -37
  62. package/3rdparty/walkontable/src/renderer/index.js +26 -35
  63. package/3rdparty/walkontable/src/renderer/index.mjs +26 -22
  64. package/3rdparty/walkontable/src/renderer/rowHeaders.js +13 -49
  65. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +13 -36
  66. package/3rdparty/walkontable/src/renderer/rows.js +11 -49
  67. package/3rdparty/walkontable/src/renderer/rows.mjs +11 -32
  68. package/3rdparty/walkontable/src/renderer/table.js +35 -48
  69. package/3rdparty/walkontable/src/renderer/table.mjs +35 -47
  70. package/3rdparty/walkontable/src/scroll.js +69 -86
  71. package/3rdparty/walkontable/src/scroll.mjs +69 -84
  72. package/3rdparty/walkontable/src/selection.js +28 -103
  73. package/3rdparty/walkontable/src/selection.mjs +26 -83
  74. package/3rdparty/walkontable/src/settings.js +25 -31
  75. package/3rdparty/walkontable/src/settings.mjs +25 -29
  76. package/3rdparty/walkontable/src/table/bottom.js +6 -34
  77. package/3rdparty/walkontable/src/table/bottom.mjs +6 -19
  78. package/3rdparty/walkontable/src/table/bottomInlineStartCorner.js +6 -34
  79. package/3rdparty/walkontable/src/table/bottomInlineStartCorner.mjs +6 -19
  80. package/3rdparty/walkontable/src/table/inlineStart.js +6 -34
  81. package/3rdparty/walkontable/src/table/inlineStart.mjs +6 -19
  82. package/3rdparty/walkontable/src/table/master.js +15 -54
  83. package/3rdparty/walkontable/src/table/master.mjs +15 -38
  84. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +1 -16
  85. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +1 -14
  86. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +1 -16
  87. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +1 -14
  88. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +1 -10
  89. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +1 -8
  90. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +1 -11
  91. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +1 -9
  92. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +1 -10
  93. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +1 -8
  94. package/3rdparty/walkontable/src/table/top.js +6 -34
  95. package/3rdparty/walkontable/src/table/top.mjs +6 -19
  96. package/3rdparty/walkontable/src/table/topInlineStartCorner.js +6 -34
  97. package/3rdparty/walkontable/src/table/topInlineStartCorner.mjs +6 -19
  98. package/3rdparty/walkontable/src/table.js +73 -233
  99. package/3rdparty/walkontable/src/table.mjs +71 -210
  100. package/3rdparty/walkontable/src/types.js +0 -5
  101. package/3rdparty/walkontable/src/types.mjs +0 -5
  102. package/3rdparty/walkontable/src/utils/column.js +18 -30
  103. package/3rdparty/walkontable/src/utils/column.mjs +18 -25
  104. package/3rdparty/walkontable/src/utils/nodesPool.js +16 -11
  105. package/3rdparty/walkontable/src/utils/nodesPool.mjs +16 -10
  106. package/3rdparty/walkontable/src/utils/orderView/constants.js +0 -3
  107. package/3rdparty/walkontable/src/utils/orderView/constants.mjs +0 -2
  108. package/3rdparty/walkontable/src/utils/orderView/index.js +0 -5
  109. package/3rdparty/walkontable/src/utils/orderView/sharedView.js +7 -32
  110. package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +7 -21
  111. package/3rdparty/walkontable/src/utils/orderView/view.js +27 -45
  112. package/3rdparty/walkontable/src/utils/orderView/view.mjs +27 -42
  113. package/3rdparty/walkontable/src/utils/orderView/viewSize.js +16 -14
  114. package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +16 -13
  115. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +21 -21
  116. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +21 -18
  117. package/3rdparty/walkontable/src/utils/row.js +15 -12
  118. package/3rdparty/walkontable/src/utils/row.mjs +15 -11
  119. package/3rdparty/walkontable/src/viewport.js +51 -99
  120. package/3rdparty/walkontable/src/viewport.mjs +51 -96
  121. package/CHANGELOG.md +99 -1
  122. package/base.d.ts +1 -0
  123. package/base.js +11 -17
  124. package/base.mjs +10 -11
  125. package/cellTypes/autocompleteType/autocompleteType.js +0 -4
  126. package/cellTypes/autocompleteType/index.js +0 -2
  127. package/cellTypes/checkboxType/checkboxType.js +0 -3
  128. package/cellTypes/checkboxType/index.js +0 -2
  129. package/cellTypes/dateType/dateType.js +0 -4
  130. package/cellTypes/dateType/index.js +0 -2
  131. package/cellTypes/dropdownType/dropdownType.js +0 -4
  132. package/cellTypes/dropdownType/index.js +0 -2
  133. package/cellTypes/handsontableType/handsontableType.js +0 -3
  134. package/cellTypes/handsontableType/index.js +0 -2
  135. package/cellTypes/index.js +0 -21
  136. package/cellTypes/index.mjs +0 -1
  137. package/cellTypes/numericType/index.js +0 -2
  138. package/cellTypes/numericType/numericType.js +0 -4
  139. package/cellTypes/passwordType/index.js +0 -2
  140. package/cellTypes/passwordType/passwordType.js +0 -3
  141. package/cellTypes/registry.js +10 -25
  142. package/cellTypes/registry.mjs +10 -20
  143. package/cellTypes/textType/index.js +0 -2
  144. package/cellTypes/textType/textType.js +0 -3
  145. package/cellTypes/timeType/index.js +0 -2
  146. package/cellTypes/timeType/timeType.js +0 -4
  147. package/core.d.ts +6 -2
  148. package/core.js +714 -1070
  149. package/core.mjs +717 -1015
  150. package/dataMap/dataMap.js +202 -236
  151. package/dataMap/dataMap.mjs +201 -209
  152. package/{dataSource.js → dataMap/dataSource.js} +29 -65
  153. package/{dataSource.mjs → dataMap/dataSource.mjs} +29 -57
  154. package/dataMap/index.js +0 -13
  155. package/dataMap/metaManager/index.js +33 -45
  156. package/dataMap/metaManager/index.mjs +33 -37
  157. package/dataMap/metaManager/lazyFactoryMap.js +17 -62
  158. package/dataMap/metaManager/lazyFactoryMap.mjs +17 -46
  159. package/dataMap/metaManager/metaLayers/cellMeta.js +26 -57
  160. package/dataMap/metaManager/metaLayers/cellMeta.mjs +25 -41
  161. package/dataMap/metaManager/metaLayers/columnMeta.js +23 -24
  162. package/dataMap/metaManager/metaLayers/columnMeta.mjs +24 -21
  163. package/dataMap/metaManager/metaLayers/globalMeta.js +30 -21
  164. package/dataMap/metaManager/metaLayers/globalMeta.mjs +31 -18
  165. package/dataMap/metaManager/metaLayers/tableMeta.js +18 -15
  166. package/dataMap/metaManager/metaLayers/tableMeta.mjs +19 -14
  167. package/dataMap/metaManager/metaSchema.js +173 -213
  168. package/dataMap/metaManager/metaSchema.mjs +173 -204
  169. package/dataMap/metaManager/mods/dynamicCellMeta.js +15 -35
  170. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +15 -24
  171. package/dataMap/metaManager/mods/extendMetaProperties.js +14 -27
  172. package/dataMap/metaManager/mods/extendMetaProperties.mjs +14 -19
  173. package/dataMap/metaManager/utils.js +49 -28
  174. package/dataMap/metaManager/utils.mjs +50 -21
  175. package/dataMap/replaceData.js +15 -35
  176. package/dataMap/replaceData.mjs +15 -23
  177. package/dist/handsontable.css +9 -9
  178. package/dist/handsontable.full.css +9 -9
  179. package/dist/handsontable.full.js +13065 -28165
  180. package/dist/handsontable.full.min.css +2 -2
  181. package/dist/handsontable.full.min.js +108 -114
  182. package/dist/handsontable.js +11528 -21792
  183. package/dist/handsontable.min.css +2 -2
  184. package/dist/handsontable.min.js +3 -3
  185. package/dist/languages/all.js +111 -240
  186. package/dist/languages/all.min.js +1 -1
  187. package/dist/languages/ar-AR.js +50 -14
  188. package/dist/languages/ar-AR.min.js +1 -1
  189. package/dist/languages/cs-CZ.js +52 -16
  190. package/dist/languages/cs-CZ.min.js +1 -1
  191. package/dist/languages/de-CH.js +52 -16
  192. package/dist/languages/de-CH.min.js +1 -1
  193. package/dist/languages/de-DE.js +53 -17
  194. package/dist/languages/de-DE.min.js +1 -1
  195. package/dist/languages/en-US.js +56 -20
  196. package/dist/languages/en-US.min.js +1 -1
  197. package/dist/languages/es-MX.js +56 -20
  198. package/dist/languages/es-MX.min.js +1 -1
  199. package/dist/languages/fr-FR.js +55 -19
  200. package/dist/languages/fr-FR.min.js +1 -1
  201. package/dist/languages/it-IT.js +55 -19
  202. package/dist/languages/it-IT.min.js +1 -1
  203. package/dist/languages/ja-JP.js +83 -43
  204. package/dist/languages/ja-JP.min.js +1 -1
  205. package/dist/languages/ko-KR.js +84 -43
  206. package/dist/languages/ko-KR.min.js +1 -1
  207. package/dist/languages/lv-LV.js +85 -43
  208. package/dist/languages/lv-LV.min.js +1 -1
  209. package/dist/languages/nb-NO.js +86 -43
  210. package/dist/languages/nb-NO.min.js +1 -1
  211. package/dist/languages/nl-NL.js +87 -43
  212. package/dist/languages/nl-NL.min.js +1 -1
  213. package/dist/languages/pl-PL.js +88 -43
  214. package/dist/languages/pl-PL.min.js +1 -1
  215. package/dist/languages/pt-BR.js +67 -28
  216. package/dist/languages/pt-BR.min.js +1 -1
  217. package/dist/languages/ru-RU.js +67 -28
  218. package/dist/languages/ru-RU.min.js +1 -1
  219. package/dist/languages/sr-SP.js +55 -16
  220. package/dist/languages/sr-SP.min.js +1 -1
  221. package/dist/languages/zh-CN.js +55 -16
  222. package/dist/languages/zh-CN.min.js +1 -1
  223. package/dist/languages/zh-TW.js +55 -16
  224. package/dist/languages/zh-TW.min.js +1 -1
  225. package/editorManager.js +53 -113
  226. package/editorManager.mjs +50 -90
  227. package/editors/autocompleteEditor/autocompleteEditor.js +36 -138
  228. package/editors/autocompleteEditor/autocompleteEditor.mjs +35 -108
  229. package/editors/autocompleteEditor/index.js +0 -2
  230. package/editors/baseEditor/baseEditor.js +55 -160
  231. package/editors/baseEditor/baseEditor.mjs +54 -133
  232. package/editors/baseEditor/index.js +0 -2
  233. package/editors/checkboxEditor/checkboxEditor.js +8 -34
  234. package/editors/checkboxEditor/checkboxEditor.mjs +8 -20
  235. package/editors/checkboxEditor/index.js +0 -2
  236. package/editors/dateEditor/dateEditor.js +26 -97
  237. package/editors/dateEditor/dateEditor.mjs +26 -76
  238. package/editors/dateEditor/index.js +0 -2
  239. package/editors/dropdownEditor/dropdownEditor.js +7 -42
  240. package/editors/dropdownEditor/dropdownEditor.mjs +7 -23
  241. package/editors/dropdownEditor/index.js +0 -2
  242. package/editors/handsontableEditor/handsontableEditor.js +19 -86
  243. package/editors/handsontableEditor/handsontableEditor.mjs +19 -67
  244. package/editors/handsontableEditor/index.js +0 -2
  245. package/editors/index.js +0 -25
  246. package/editors/index.mjs +0 -1
  247. package/editors/numericEditor/index.js +0 -2
  248. package/editors/numericEditor/numericEditor.js +7 -32
  249. package/editors/numericEditor/numericEditor.mjs +7 -19
  250. package/editors/passwordEditor/index.js +0 -2
  251. package/editors/passwordEditor/passwordEditor.js +7 -39
  252. package/editors/passwordEditor/passwordEditor.mjs +7 -23
  253. package/editors/registry.js +13 -36
  254. package/editors/registry.mjs +12 -26
  255. package/editors/selectEditor/index.js +0 -2
  256. package/editors/selectEditor/selectEditor.js +27 -74
  257. package/editors/selectEditor/selectEditor.mjs +27 -57
  258. package/editors/textEditor/caretPositioner.js +0 -8
  259. package/editors/textEditor/caretPositioner.mjs +0 -7
  260. package/editors/textEditor/index.js +0 -2
  261. package/editors/textEditor/textEditor.js +45 -139
  262. package/editors/textEditor/textEditor.mjs +45 -108
  263. package/editors/timeEditor/index.js +0 -2
  264. package/editors/timeEditor/timeEditor.js +7 -37
  265. package/editors/timeEditor/timeEditor.mjs +7 -22
  266. package/eventManager.js +26 -47
  267. package/eventManager.mjs +27 -45
  268. package/helpers/array.js +22 -88
  269. package/helpers/array.mjs +22 -58
  270. package/helpers/browser.js +25 -51
  271. package/helpers/browser.mjs +25 -32
  272. package/helpers/console.js +3 -13
  273. package/helpers/console.mjs +3 -10
  274. package/helpers/data.d.ts +0 -2
  275. package/helpers/data.js +8 -102
  276. package/helpers/data.mjs +9 -80
  277. package/helpers/date.js +2 -3
  278. package/helpers/date.mjs +2 -2
  279. package/helpers/dom/element.js +89 -256
  280. package/helpers/dom/element.mjs +88 -184
  281. package/helpers/dom/event.js +3 -7
  282. package/helpers/dom/event.mjs +3 -3
  283. package/helpers/feature.js +21 -82
  284. package/helpers/feature.mjs +15 -60
  285. package/helpers/function.js +14 -59
  286. package/helpers/function.mjs +14 -45
  287. package/helpers/mixed.js +9 -64
  288. package/helpers/mixed.mjs +9 -43
  289. package/helpers/number.js +4 -46
  290. package/helpers/number.mjs +4 -23
  291. package/helpers/object.js +30 -77
  292. package/helpers/object.mjs +25 -47
  293. package/helpers/string.js +6 -28
  294. package/helpers/string.mjs +6 -14
  295. package/helpers/templateLiteralTag.js +0 -6
  296. package/helpers/templateLiteralTag.mjs +0 -2
  297. package/helpers/unicode.js +17 -22
  298. package/helpers/unicode.mjs +17 -13
  299. package/helpers/wrappers/jquery.js +4 -14
  300. package/helpers/wrappers/jquery.mjs +4 -13
  301. package/i18n/constants.js +50 -45
  302. package/i18n/constants.mjs +46 -42
  303. package/i18n/index.js +0 -7
  304. package/i18n/languages/ar-AR.js +12 -23
  305. package/i18n/languages/ar-AR.mjs +14 -3
  306. package/i18n/languages/cs-CZ.js +12 -23
  307. package/i18n/languages/cs-CZ.mjs +14 -3
  308. package/i18n/languages/de-CH.js +12 -23
  309. package/i18n/languages/de-CH.mjs +14 -3
  310. package/i18n/languages/de-DE.js +12 -23
  311. package/i18n/languages/de-DE.mjs +14 -3
  312. package/i18n/languages/en-US.js +13 -24
  313. package/i18n/languages/en-US.mjs +15 -4
  314. package/i18n/languages/es-MX.js +13 -24
  315. package/i18n/languages/es-MX.mjs +17 -5
  316. package/i18n/languages/fr-FR.js +12 -23
  317. package/i18n/languages/fr-FR.mjs +14 -3
  318. package/i18n/languages/index.js +0 -39
  319. package/i18n/languages/it-IT.js +12 -23
  320. package/i18n/languages/it-IT.mjs +14 -3
  321. package/i18n/languages/ja-JP.js +12 -23
  322. package/i18n/languages/ja-JP.mjs +14 -3
  323. package/i18n/languages/ko-KR.js +12 -23
  324. package/i18n/languages/ko-KR.mjs +14 -3
  325. package/i18n/languages/lv-LV.js +13 -24
  326. package/i18n/languages/lv-LV.mjs +17 -6
  327. package/i18n/languages/nb-NO.js +12 -23
  328. package/i18n/languages/nb-NO.mjs +14 -3
  329. package/i18n/languages/nl-NL.js +13 -24
  330. package/i18n/languages/nl-NL.mjs +17 -6
  331. package/i18n/languages/pl-PL.js +13 -24
  332. package/i18n/languages/pl-PL.mjs +16 -5
  333. package/i18n/languages/pt-BR.js +12 -23
  334. package/i18n/languages/pt-BR.mjs +14 -3
  335. package/i18n/languages/ru-RU.js +12 -23
  336. package/i18n/languages/ru-RU.mjs +14 -3
  337. package/i18n/languages/sr-SP.js +12 -23
  338. package/i18n/languages/sr-SP.mjs +14 -3
  339. package/i18n/languages/zh-CN.js +12 -23
  340. package/i18n/languages/zh-CN.mjs +14 -3
  341. package/i18n/languages/zh-TW.js +12 -23
  342. package/i18n/languages/zh-TW.mjs +14 -3
  343. package/i18n/phraseFormatters/index.js +4 -11
  344. package/i18n/phraseFormatters/index.mjs +4 -6
  345. package/i18n/phraseFormatters/pluralize.js +0 -5
  346. package/i18n/phraseFormatters/pluralize.mjs +0 -3
  347. package/i18n/phraseFormatters/substituteVariables.js +0 -4
  348. package/i18n/phraseFormatters/substituteVariables.mjs +0 -2
  349. package/i18n/registry.js +18 -59
  350. package/i18n/registry.mjs +18 -30
  351. package/i18n/utils.js +4 -22
  352. package/i18n/utils.mjs +4 -11
  353. package/index.d.ts +9 -0
  354. package/index.js +23 -58
  355. package/index.mjs +21 -16
  356. package/languages/all.js +111 -240
  357. package/languages/ar-AR.js +50 -14
  358. package/languages/ar-AR.mjs +14 -3
  359. package/languages/cs-CZ.js +52 -16
  360. package/languages/cs-CZ.mjs +14 -3
  361. package/languages/de-CH.js +52 -16
  362. package/languages/de-CH.mjs +14 -3
  363. package/languages/de-DE.js +53 -17
  364. package/languages/de-DE.mjs +14 -3
  365. package/languages/en-US.js +56 -20
  366. package/languages/en-US.mjs +15 -4
  367. package/languages/es-MX.js +56 -20
  368. package/languages/es-MX.mjs +17 -5
  369. package/languages/fr-FR.js +55 -19
  370. package/languages/fr-FR.mjs +14 -3
  371. package/languages/index.js +111 -240
  372. package/languages/it-IT.js +55 -19
  373. package/languages/it-IT.mjs +14 -3
  374. package/languages/ja-JP.js +83 -43
  375. package/languages/ja-JP.mjs +14 -3
  376. package/languages/ko-KR.js +84 -43
  377. package/languages/ko-KR.mjs +14 -3
  378. package/languages/lv-LV.js +85 -43
  379. package/languages/lv-LV.mjs +17 -6
  380. package/languages/nb-NO.js +86 -43
  381. package/languages/nb-NO.mjs +14 -3
  382. package/languages/nl-NL.js +87 -43
  383. package/languages/nl-NL.mjs +17 -6
  384. package/languages/pl-PL.js +88 -43
  385. package/languages/pl-PL.mjs +16 -5
  386. package/languages/pt-BR.js +67 -28
  387. package/languages/pt-BR.mjs +14 -3
  388. package/languages/ru-RU.js +67 -28
  389. package/languages/ru-RU.mjs +14 -3
  390. package/languages/sr-SP.js +55 -16
  391. package/languages/sr-SP.mjs +14 -3
  392. package/languages/zh-CN.js +55 -16
  393. package/languages/zh-CN.mjs +14 -3
  394. package/languages/zh-TW.js +55 -16
  395. package/languages/zh-TW.mjs +14 -3
  396. package/mixins/hooksRefRegisterer.js +1 -12
  397. package/mixins/hooksRefRegisterer.mjs +1 -9
  398. package/mixins/localHooks.js +4 -11
  399. package/mixins/localHooks.mjs +4 -8
  400. package/package.json +2 -2
  401. package/pluginHooks.d.ts +10 -5
  402. package/pluginHooks.js +376 -116
  403. package/pluginHooks.mjs +375 -103
  404. package/plugins/autoColumnSize/autoColumnSize.js +81 -174
  405. package/plugins/autoColumnSize/autoColumnSize.mjs +81 -139
  406. package/plugins/autoColumnSize/index.js +0 -2
  407. package/plugins/autoRowSize/autoRowSize.js +89 -160
  408. package/plugins/autoRowSize/autoRowSize.mjs +89 -131
  409. package/plugins/autoRowSize/index.js +0 -2
  410. package/plugins/autofill/autofill.js +53 -165
  411. package/plugins/autofill/autofill.mjs +53 -133
  412. package/plugins/autofill/index.js +0 -2
  413. package/plugins/autofill/utils.js +4 -26
  414. package/plugins/autofill/utils.mjs +4 -18
  415. package/plugins/base/base.js +28 -91
  416. package/plugins/base/base.mjs +28 -63
  417. package/plugins/base/index.js +0 -2
  418. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +25 -53
  419. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +25 -34
  420. package/plugins/bindRowsWithHeaders/index.js +0 -2
  421. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +11 -42
  422. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +11 -30
  423. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +12 -54
  424. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +12 -38
  425. package/plugins/collapsibleColumns/collapsibleColumns.js +106 -193
  426. package/plugins/collapsibleColumns/collapsibleColumns.mjs +106 -162
  427. package/plugins/collapsibleColumns/index.js +0 -2
  428. package/plugins/columnSorting/columnSorting.js +58 -192
  429. package/plugins/columnSorting/columnSorting.mjs +58 -147
  430. package/plugins/columnSorting/columnStatesManager.js +27 -77
  431. package/plugins/columnSorting/columnStatesManager.mjs +24 -51
  432. package/plugins/columnSorting/domHelpers.js +2 -18
  433. package/plugins/columnSorting/domHelpers.mjs +2 -7
  434. package/plugins/columnSorting/index.js +0 -2
  435. package/plugins/columnSorting/rootComparator.js +5 -24
  436. package/plugins/columnSorting/rootComparator.mjs +5 -13
  437. package/plugins/columnSorting/sortFunction/checkbox.js +8 -16
  438. package/plugins/columnSorting/sortFunction/checkbox.mjs +8 -12
  439. package/plugins/columnSorting/sortFunction/date.js +2 -19
  440. package/plugins/columnSorting/sortFunction/date.mjs +2 -14
  441. package/plugins/columnSorting/sortFunction/default.js +2 -17
  442. package/plugins/columnSorting/sortFunction/default.mjs +2 -14
  443. package/plugins/columnSorting/sortFunction/numeric.js +2 -11
  444. package/plugins/columnSorting/sortFunction/numeric.mjs +2 -8
  445. package/plugins/columnSorting/sortService/engine.js +1 -7
  446. package/plugins/columnSorting/sortService/engine.mjs +1 -3
  447. package/plugins/columnSorting/sortService/index.js +0 -5
  448. package/plugins/columnSorting/sortService/registry.js +6 -18
  449. package/plugins/columnSorting/sortService/registry.mjs +6 -10
  450. package/plugins/columnSorting/utils.js +9 -34
  451. package/plugins/columnSorting/utils.mjs +9 -15
  452. package/plugins/columnSummary/columnSummary.js +65 -126
  453. package/plugins/columnSummary/columnSummary.mjs +65 -101
  454. package/plugins/columnSummary/endpoints.js +33 -109
  455. package/plugins/columnSummary/endpoints.mjs +33 -105
  456. package/plugins/columnSummary/index.js +0 -2
  457. package/plugins/columnSummary/utils.js +0 -1
  458. package/plugins/comments/commentEditor.js +29 -27
  459. package/plugins/comments/commentEditor.mjs +29 -26
  460. package/plugins/comments/comments.js +106 -178
  461. package/plugins/comments/comments.mjs +106 -152
  462. package/plugins/comments/displaySwitch.js +20 -24
  463. package/plugins/comments/displaySwitch.mjs +20 -19
  464. package/plugins/comments/index.js +0 -2
  465. package/plugins/contextMenu/commandExecutor.js +17 -29
  466. package/plugins/contextMenu/commandExecutor.mjs +17 -27
  467. package/plugins/contextMenu/contextMenu.d.ts +4 -3
  468. package/plugins/contextMenu/contextMenu.js +28 -121
  469. package/plugins/contextMenu/contextMenu.mjs +28 -91
  470. package/plugins/contextMenu/cursor.js +19 -19
  471. package/plugins/contextMenu/cursor.mjs +19 -18
  472. package/plugins/contextMenu/index.js +0 -2
  473. package/plugins/contextMenu/itemsFactory.js +21 -35
  474. package/plugins/contextMenu/itemsFactory.mjs +21 -31
  475. package/plugins/contextMenu/menu.js +71 -180
  476. package/plugins/contextMenu/menu.mjs +70 -151
  477. package/plugins/contextMenu/predefinedItems/alignment.js +1 -55
  478. package/plugins/contextMenu/predefinedItems/alignment.mjs +1 -37
  479. package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -20
  480. package/plugins/contextMenu/predefinedItems/clearColumn.mjs +1 -4
  481. package/plugins/contextMenu/predefinedItems/columnLeft.js +6 -43
  482. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +6 -26
  483. package/plugins/contextMenu/predefinedItems/columnRight.js +4 -42
  484. package/plugins/contextMenu/predefinedItems/columnRight.mjs +4 -25
  485. package/plugins/contextMenu/predefinedItems/noItems.js +1 -4
  486. package/plugins/contextMenu/predefinedItems/noItems.mjs +1 -1
  487. package/plugins/contextMenu/predefinedItems/readOnly.js +1 -25
  488. package/plugins/contextMenu/predefinedItems/readOnly.mjs +1 -8
  489. package/plugins/contextMenu/predefinedItems/redo.js +1 -16
  490. package/plugins/contextMenu/predefinedItems/redo.mjs +1 -1
  491. package/plugins/contextMenu/predefinedItems/removeColumn.js +4 -39
  492. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +4 -19
  493. package/plugins/contextMenu/predefinedItems/removeRow.js +4 -38
  494. package/plugins/contextMenu/predefinedItems/removeRow.mjs +4 -18
  495. package/plugins/contextMenu/predefinedItems/rowAbove.js +6 -35
  496. package/plugins/contextMenu/predefinedItems/rowAbove.mjs +6 -19
  497. package/plugins/contextMenu/predefinedItems/rowBelow.js +4 -42
  498. package/plugins/contextMenu/predefinedItems/rowBelow.mjs +4 -25
  499. package/plugins/contextMenu/predefinedItems/separator.js +1 -2
  500. package/plugins/contextMenu/predefinedItems/separator.mjs +1 -1
  501. package/plugins/contextMenu/predefinedItems/undo.js +1 -16
  502. package/plugins/contextMenu/predefinedItems/undo.mjs +1 -1
  503. package/plugins/contextMenu/predefinedItems.js +14 -55
  504. package/plugins/contextMenu/predefinedItems.mjs +16 -8
  505. package/plugins/contextMenu/utils.js +17 -57
  506. package/plugins/contextMenu/utils.mjs +17 -34
  507. package/plugins/copyPaste/clipboardData.js +14 -9
  508. package/plugins/copyPaste/clipboardData.mjs +14 -8
  509. package/plugins/copyPaste/contextMenuItem/copy.js +5 -32
  510. package/plugins/copyPaste/contextMenuItem/copy.mjs +5 -7
  511. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +35 -0
  512. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +31 -0
  513. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +35 -0
  514. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +31 -0
  515. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +35 -0
  516. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +31 -0
  517. package/plugins/copyPaste/contextMenuItem/cut.js +2 -17
  518. package/plugins/copyPaste/contextMenuItem/cut.mjs +2 -4
  519. package/plugins/copyPaste/copyPaste.d.ts +10 -2
  520. package/plugins/copyPaste/copyPaste.js +339 -372
  521. package/plugins/copyPaste/copyPaste.mjs +339 -331
  522. package/plugins/copyPaste/copyableRanges.js +269 -0
  523. package/plugins/copyPaste/copyableRanges.mjs +264 -0
  524. package/plugins/copyPaste/focusableElement.js +21 -55
  525. package/plugins/copyPaste/focusableElement.mjs +21 -45
  526. package/plugins/copyPaste/index.js +0 -2
  527. package/plugins/copyPaste/pasteEvent.js +14 -9
  528. package/plugins/copyPaste/pasteEvent.mjs +14 -7
  529. package/plugins/customBorders/contextMenuItem/bottom.js +0 -17
  530. package/plugins/customBorders/contextMenuItem/bottom.mjs +0 -3
  531. package/plugins/customBorders/contextMenuItem/index.js +0 -11
  532. package/plugins/customBorders/contextMenuItem/left.js +0 -17
  533. package/plugins/customBorders/contextMenuItem/left.mjs +0 -3
  534. package/plugins/customBorders/contextMenuItem/noBorders.js +0 -15
  535. package/plugins/customBorders/contextMenuItem/noBorders.mjs +0 -1
  536. package/plugins/customBorders/contextMenuItem/right.js +0 -17
  537. package/plugins/customBorders/contextMenuItem/right.mjs +0 -3
  538. package/plugins/customBorders/contextMenuItem/top.js +0 -17
  539. package/plugins/customBorders/contextMenuItem/top.mjs +0 -3
  540. package/plugins/customBorders/customBorders.js +64 -188
  541. package/plugins/customBorders/customBorders.mjs +63 -153
  542. package/plugins/customBorders/index.js +0 -2
  543. package/plugins/customBorders/utils.js +13 -52
  544. package/plugins/customBorders/utils.mjs +13 -31
  545. package/plugins/dragToScroll/dragToScroll.js +23 -75
  546. package/plugins/dragToScroll/dragToScroll.mjs +23 -56
  547. package/plugins/dragToScroll/index.js +0 -2
  548. package/plugins/dropdownMenu/dropdownMenu.js +49 -127
  549. package/plugins/dropdownMenu/dropdownMenu.mjs +49 -96
  550. package/plugins/dropdownMenu/index.js +0 -2
  551. package/plugins/exportFile/dataProvider.js +34 -72
  552. package/plugins/exportFile/dataProvider.mjs +31 -58
  553. package/plugins/exportFile/exportFile.js +56 -61
  554. package/plugins/exportFile/exportFile.mjs +54 -37
  555. package/plugins/exportFile/index.js +0 -2
  556. package/plugins/exportFile/typeFactory.js +15 -12
  557. package/plugins/exportFile/typeFactory.mjs +15 -5
  558. package/plugins/exportFile/types/_base.js +15 -15
  559. package/plugins/exportFile/types/_base.mjs +15 -13
  560. package/plugins/exportFile/types/csv.js +8 -51
  561. package/plugins/exportFile/types/csv.mjs +8 -30
  562. package/plugins/filters/component/_base.js +25 -31
  563. package/plugins/filters/component/_base.mjs +25 -26
  564. package/plugins/filters/component/actionBar.js +13 -56
  565. package/plugins/filters/component/actionBar.mjs +11 -34
  566. package/plugins/filters/component/condition.js +22 -95
  567. package/plugins/filters/component/condition.mjs +20 -63
  568. package/plugins/filters/component/operators.js +18 -71
  569. package/plugins/filters/component/operators.mjs +18 -48
  570. package/plugins/filters/component/value.js +22 -97
  571. package/plugins/filters/component/value.mjs +22 -67
  572. package/plugins/filters/condition/beginsWith.js +3 -33
  573. package/plugins/filters/condition/beginsWith.mjs +3 -11
  574. package/plugins/filters/condition/between.js +4 -38
  575. package/plugins/filters/condition/between.mjs +4 -16
  576. package/plugins/filters/condition/byValue.js +4 -28
  577. package/plugins/filters/condition/byValue.mjs +4 -13
  578. package/plugins/filters/condition/contains.js +3 -33
  579. package/plugins/filters/condition/contains.mjs +3 -11
  580. package/plugins/filters/condition/date/after.js +3 -35
  581. package/plugins/filters/condition/date/after.mjs +3 -13
  582. package/plugins/filters/condition/date/before.js +3 -35
  583. package/plugins/filters/condition/date/before.mjs +3 -13
  584. package/plugins/filters/condition/date/today.js +1 -22
  585. package/plugins/filters/condition/date/today.mjs +1 -3
  586. package/plugins/filters/condition/date/tomorrow.js +1 -22
  587. package/plugins/filters/condition/date/tomorrow.mjs +1 -3
  588. package/plugins/filters/condition/date/yesterday.js +1 -22
  589. package/plugins/filters/condition/date/yesterday.mjs +1 -3
  590. package/plugins/filters/condition/empty.js +1 -19
  591. package/plugins/filters/condition/empty.mjs +1 -1
  592. package/plugins/filters/condition/endsWith.js +3 -33
  593. package/plugins/filters/condition/endsWith.mjs +3 -11
  594. package/plugins/filters/condition/equal.js +3 -32
  595. package/plugins/filters/condition/equal.mjs +3 -11
  596. package/plugins/filters/condition/false.js +1 -5
  597. package/plugins/filters/condition/false.mjs +1 -1
  598. package/plugins/filters/condition/greaterThan.js +3 -33
  599. package/plugins/filters/condition/greaterThan.mjs +3 -13
  600. package/plugins/filters/condition/greaterThanOrEqual.js +3 -33
  601. package/plugins/filters/condition/greaterThanOrEqual.mjs +3 -13
  602. package/plugins/filters/condition/lessThan.js +3 -33
  603. package/plugins/filters/condition/lessThan.mjs +3 -13
  604. package/plugins/filters/condition/lessThanOrEqual.js +3 -33
  605. package/plugins/filters/condition/lessThanOrEqual.mjs +3 -13
  606. package/plugins/filters/condition/none.js +1 -18
  607. package/plugins/filters/condition/none.mjs +1 -1
  608. package/plugins/filters/condition/notBetween.js +1 -19
  609. package/plugins/filters/condition/notBetween.mjs +1 -1
  610. package/plugins/filters/condition/notContains.js +1 -19
  611. package/plugins/filters/condition/notContains.mjs +1 -1
  612. package/plugins/filters/condition/notEmpty.js +1 -19
  613. package/plugins/filters/condition/notEmpty.mjs +1 -1
  614. package/plugins/filters/condition/notEqual.js +1 -19
  615. package/plugins/filters/condition/notEqual.mjs +1 -1
  616. package/plugins/filters/condition/true.js +1 -5
  617. package/plugins/filters/condition/true.mjs +1 -1
  618. package/plugins/filters/conditionCollection.js +31 -84
  619. package/plugins/filters/conditionCollection.mjs +39 -69
  620. package/plugins/filters/conditionRegisterer.js +5 -14
  621. package/plugins/filters/conditionRegisterer.mjs +5 -9
  622. package/plugins/filters/conditionUpdateObserver.js +29 -56
  623. package/plugins/filters/conditionUpdateObserver.mjs +29 -44
  624. package/plugins/filters/constants.js +15 -67
  625. package/plugins/filters/constants.mjs +15 -9
  626. package/plugins/filters/dataFilter.js +17 -20
  627. package/plugins/filters/dataFilter.mjs +17 -19
  628. package/plugins/filters/filters.js +110 -210
  629. package/plugins/filters/filters.mjs +110 -165
  630. package/plugins/filters/index.js +0 -2
  631. package/plugins/filters/logicalOperationRegisterer.js +3 -9
  632. package/plugins/filters/logicalOperationRegisterer.mjs +3 -4
  633. package/plugins/filters/logicalOperations/conjunction.js +2 -19
  634. package/plugins/filters/logicalOperations/conjunction.mjs +2 -2
  635. package/plugins/filters/logicalOperations/disjunction.js +2 -19
  636. package/plugins/filters/logicalOperations/disjunction.mjs +2 -2
  637. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +2 -21
  638. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +2 -3
  639. package/plugins/filters/ui/_base.js +24 -62
  640. package/plugins/filters/ui/_base.mjs +26 -36
  641. package/plugins/filters/ui/input.js +13 -53
  642. package/plugins/filters/ui/input.mjs +13 -35
  643. package/plugins/filters/ui/link.js +9 -44
  644. package/plugins/filters/ui/link.mjs +9 -26
  645. package/plugins/filters/ui/multipleSelect.js +25 -113
  646. package/plugins/filters/ui/multipleSelect.mjs +26 -77
  647. package/plugins/filters/ui/radioInput.js +12 -48
  648. package/plugins/filters/ui/radioInput.mjs +12 -31
  649. package/plugins/filters/ui/select.js +20 -77
  650. package/plugins/filters/ui/select.mjs +20 -53
  651. package/plugins/filters/utils.js +6 -39
  652. package/plugins/filters/utils.mjs +6 -23
  653. package/plugins/formulas/engine/register.js +24 -74
  654. package/plugins/formulas/engine/register.mjs +24 -45
  655. package/plugins/formulas/engine/settings.js +16 -25
  656. package/plugins/formulas/engine/settings.mjs +16 -13
  657. package/plugins/formulas/formulas.js +127 -306
  658. package/plugins/formulas/formulas.mjs +128 -259
  659. package/plugins/formulas/index.js +0 -2
  660. package/plugins/formulas/utils.js +1 -3
  661. package/plugins/formulas/utils.mjs +1 -1
  662. package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +5 -39
  663. package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +5 -21
  664. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +17 -45
  665. package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +17 -24
  666. package/plugins/hiddenColumns/hiddenColumns.js +77 -150
  667. package/plugins/hiddenColumns/hiddenColumns.mjs +77 -109
  668. package/plugins/hiddenColumns/index.js +0 -2
  669. package/plugins/hiddenRows/contextMenuItem/hideRow.js +5 -39
  670. package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +5 -21
  671. package/plugins/hiddenRows/contextMenuItem/showRow.js +17 -45
  672. package/plugins/hiddenRows/contextMenuItem/showRow.mjs +17 -24
  673. package/plugins/hiddenRows/hiddenRows.js +75 -149
  674. package/plugins/hiddenRows/hiddenRows.mjs +75 -108
  675. package/plugins/hiddenRows/index.js +0 -2
  676. package/plugins/index.js +0 -71
  677. package/plugins/index.mjs +0 -1
  678. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +2 -29
  679. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +2 -13
  680. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +2 -29
  681. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +2 -13
  682. package/plugins/manualColumnFreeze/index.js +0 -2
  683. package/plugins/manualColumnFreeze/manualColumnFreeze.js +27 -79
  684. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +27 -55
  685. package/plugins/manualColumnMove/index.js +0 -2
  686. package/plugins/manualColumnMove/manualColumnMove.js +51 -135
  687. package/plugins/manualColumnMove/manualColumnMove.mjs +51 -107
  688. package/plugins/manualColumnMove/ui/_base.js +26 -31
  689. package/plugins/manualColumnMove/ui/_base.mjs +26 -28
  690. package/plugins/manualColumnMove/ui/backlight.js +7 -38
  691. package/plugins/manualColumnMove/ui/backlight.mjs +7 -23
  692. package/plugins/manualColumnMove/ui/guideline.js +7 -38
  693. package/plugins/manualColumnMove/ui/guideline.mjs +7 -23
  694. package/plugins/manualColumnResize/index.js +0 -2
  695. package/plugins/manualColumnResize/manualColumnResize.js +50 -144
  696. package/plugins/manualColumnResize/manualColumnResize.mjs +49 -119
  697. package/plugins/manualRowMove/index.js +0 -2
  698. package/plugins/manualRowMove/manualRowMove.js +51 -138
  699. package/plugins/manualRowMove/manualRowMove.mjs +51 -110
  700. package/plugins/manualRowMove/ui/_base.js +26 -28
  701. package/plugins/manualRowMove/ui/_base.mjs +26 -27
  702. package/plugins/manualRowMove/ui/backlight.js +7 -38
  703. package/plugins/manualRowMove/ui/backlight.mjs +7 -23
  704. package/plugins/manualRowMove/ui/guideline.js +7 -38
  705. package/plugins/manualRowMove/ui/guideline.mjs +7 -23
  706. package/plugins/manualRowResize/index.js +0 -2
  707. package/plugins/manualRowResize/manualRowResize.js +48 -139
  708. package/plugins/manualRowResize/manualRowResize.mjs +47 -113
  709. package/plugins/mergeCells/calculations/autofill.js +49 -133
  710. package/plugins/mergeCells/calculations/autofill.mjs +46 -117
  711. package/plugins/mergeCells/calculations/selection.js +22 -39
  712. package/plugins/mergeCells/calculations/selection.mjs +22 -36
  713. package/plugins/mergeCells/cellCoords.js +43 -50
  714. package/plugins/mergeCells/cellCoords.mjs +43 -48
  715. package/plugins/mergeCells/cellsCollection.js +22 -86
  716. package/plugins/mergeCells/cellsCollection.mjs +19 -63
  717. package/plugins/mergeCells/contextMenuItem/toggleMerge.js +0 -22
  718. package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +0 -6
  719. package/plugins/mergeCells/index.js +0 -2
  720. package/plugins/mergeCells/mergeCells.js +136 -334
  721. package/plugins/mergeCells/mergeCells.mjs +136 -293
  722. package/plugins/mergeCells/utils.js +0 -3
  723. package/plugins/mergeCells/utils.mjs +0 -1
  724. package/plugins/multiColumnSorting/domHelpers.js +2 -12
  725. package/plugins/multiColumnSorting/domHelpers.mjs +2 -5
  726. package/plugins/multiColumnSorting/index.js +0 -2
  727. package/plugins/multiColumnSorting/multiColumnSorting.js +20 -67
  728. package/plugins/multiColumnSorting/multiColumnSorting.mjs +20 -45
  729. package/plugins/multiColumnSorting/rootComparator.js +2 -26
  730. package/plugins/multiColumnSorting/rootComparator.mjs +2 -15
  731. package/plugins/multiColumnSorting/utils.js +0 -7
  732. package/plugins/multiColumnSorting/utils.mjs +0 -4
  733. package/plugins/multipleSelectionHandles/index.js +0 -2
  734. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +12 -110
  735. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +12 -88
  736. package/plugins/nestedHeaders/index.js +0 -2
  737. package/plugins/nestedHeaders/nestedHeaders.js +198 -211
  738. package/plugins/nestedHeaders/nestedHeaders.mjs +206 -191
  739. package/plugins/nestedHeaders/stateManager/headersTree.js +26 -96
  740. package/plugins/nestedHeaders/stateManager/headersTree.mjs +26 -76
  741. package/plugins/nestedHeaders/stateManager/index.js +55 -118
  742. package/plugins/nestedHeaders/stateManager/index.mjs +61 -105
  743. package/plugins/nestedHeaders/stateManager/matrixGenerator.js +7 -25
  744. package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +7 -18
  745. package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.js +12 -27
  746. package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.mjs +12 -17
  747. package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.js +10 -25
  748. package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.mjs +10 -15
  749. package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.js +3 -19
  750. package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.mjs +3 -13
  751. package/plugins/nestedHeaders/stateManager/nodeModifiers/index.js +2 -12
  752. package/plugins/nestedHeaders/stateManager/nodeModifiers/index.mjs +1 -3
  753. package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.js +3 -22
  754. package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.mjs +3 -14
  755. package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.js +3 -10
  756. package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.mjs +3 -7
  757. package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +5 -36
  758. package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +5 -20
  759. package/plugins/nestedHeaders/stateManager/sourceSettings.js +27 -81
  760. package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +33 -71
  761. package/plugins/nestedHeaders/stateManager/utils.js +19 -22
  762. package/plugins/nestedHeaders/stateManager/utils.mjs +19 -20
  763. package/plugins/nestedHeaders/utils/ghostTable.js +23 -37
  764. package/plugins/nestedHeaders/utils/ghostTable.mjs +23 -36
  765. package/plugins/nestedRows/data/dataManager.js +47 -162
  766. package/plugins/nestedRows/data/dataManager.mjs +45 -143
  767. package/plugins/nestedRows/index.js +0 -2
  768. package/plugins/nestedRows/nestedRows.js +46 -119
  769. package/plugins/nestedRows/nestedRows.mjs +46 -86
  770. package/plugins/nestedRows/ui/_base.js +14 -8
  771. package/plugins/nestedRows/ui/_base.mjs +14 -7
  772. package/plugins/nestedRows/ui/collapsing.js +33 -133
  773. package/plugins/nestedRows/ui/collapsing.mjs +33 -111
  774. package/plugins/nestedRows/ui/contextMenu.js +9 -55
  775. package/plugins/nestedRows/ui/contextMenu.mjs +8 -33
  776. package/plugins/nestedRows/ui/headers.js +10 -49
  777. package/plugins/nestedRows/ui/headers.mjs +10 -34
  778. package/plugins/nestedRows/utils/rowMoveController.js +36 -79
  779. package/plugins/nestedRows/utils/rowMoveController.mjs +45 -71
  780. package/plugins/persistentState/index.js +0 -2
  781. package/plugins/persistentState/persistentState.js +16 -59
  782. package/plugins/persistentState/persistentState.mjs +16 -38
  783. package/plugins/persistentState/storage.js +22 -24
  784. package/plugins/persistentState/storage.mjs +22 -22
  785. package/plugins/registry.js +8 -52
  786. package/plugins/registry.mjs +8 -33
  787. package/plugins/search/index.js +0 -2
  788. package/plugins/search/search.js +22 -97
  789. package/plugins/search/search.mjs +22 -68
  790. package/plugins/touchScroll/index.js +0 -2
  791. package/plugins/touchScroll/touchScroll.js +21 -77
  792. package/plugins/touchScroll/touchScroll.mjs +21 -59
  793. package/plugins/trimRows/index.js +0 -2
  794. package/plugins/trimRows/trimRows.js +64 -86
  795. package/plugins/trimRows/trimRows.mjs +64 -63
  796. package/plugins/undoRedo/index.js +0 -14
  797. package/plugins/undoRedo/undoRedo.js +98 -250
  798. package/plugins/undoRedo/undoRedo.mjs +98 -220
  799. package/registry.js +0 -11
  800. package/registry.mjs +1 -2
  801. package/renderers/autocompleteRenderer/autocompleteRenderer.js +5 -14
  802. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +5 -6
  803. package/renderers/autocompleteRenderer/index.js +0 -2
  804. package/renderers/baseRenderer/baseRenderer.js +2 -11
  805. package/renderers/baseRenderer/baseRenderer.mjs +1 -7
  806. package/renderers/baseRenderer/index.js +0 -2
  807. package/renderers/checkboxRenderer/checkboxRenderer.js +22 -103
  808. package/renderers/checkboxRenderer/checkboxRenderer.mjs +22 -81
  809. package/renderers/checkboxRenderer/index.js +0 -2
  810. package/renderers/htmlRenderer/htmlRenderer.js +1 -7
  811. package/renderers/htmlRenderer/htmlRenderer.mjs +1 -1
  812. package/renderers/htmlRenderer/index.js +0 -2
  813. package/renderers/index.js +0 -19
  814. package/renderers/index.mjs +0 -1
  815. package/renderers/numericRenderer/index.js +0 -2
  816. package/renderers/numericRenderer/numericRenderer.js +1 -21
  817. package/renderers/numericRenderer/numericRenderer.mjs +1 -9
  818. package/renderers/passwordRenderer/index.js +0 -2
  819. package/renderers/passwordRenderer/passwordRenderer.js +1 -8
  820. package/renderers/passwordRenderer/passwordRenderer.mjs +1 -1
  821. package/renderers/registry.js +7 -16
  822. package/renderers/registry.mjs +7 -14
  823. package/renderers/textRenderer/index.js +0 -2
  824. package/renderers/textRenderer/textRenderer.js +1 -13
  825. package/renderers/textRenderer/textRenderer.mjs +1 -5
  826. package/renderers/timeRenderer/index.js +0 -2
  827. package/renderers/timeRenderer/timeRenderer.js +1 -6
  828. package/renderers/timeRenderer/timeRenderer.mjs +1 -1
  829. package/selection/highlight/highlight.js +24 -73
  830. package/selection/highlight/highlight.mjs +24 -50
  831. package/selection/highlight/types/activeHeader.js +14 -23
  832. package/selection/highlight/types/activeHeader.mjs +14 -12
  833. package/selection/highlight/types/area.js +15 -24
  834. package/selection/highlight/types/area.mjs +15 -13
  835. package/selection/highlight/types/cell.js +14 -23
  836. package/selection/highlight/types/cell.mjs +14 -12
  837. package/selection/highlight/types/customSelection.js +15 -24
  838. package/selection/highlight/types/customSelection.mjs +15 -13
  839. package/selection/highlight/types/fill.js +16 -20
  840. package/selection/highlight/types/fill.mjs +16 -9
  841. package/selection/highlight/types/header.js +16 -25
  842. package/selection/highlight/types/header.mjs +16 -14
  843. package/selection/highlight/types/index.js +17 -27
  844. package/selection/highlight/types/index.mjs +17 -13
  845. package/selection/highlight/visualSelection.js +35 -80
  846. package/selection/highlight/visualSelection.mjs +35 -68
  847. package/selection/index.js +0 -14
  848. package/selection/mouseEventHandler.js +19 -30
  849. package/selection/mouseEventHandler.mjs +19 -22
  850. package/selection/range.js +17 -30
  851. package/selection/range.mjs +17 -21
  852. package/selection/selection.js +72 -160
  853. package/selection/selection.mjs +77 -137
  854. package/selection/transformation.js +23 -39
  855. package/selection/transformation.mjs +23 -36
  856. package/selection/utils.js +23 -71
  857. package/selection/utils.mjs +23 -48
  858. package/shortcuts/context.js +24 -79
  859. package/shortcuts/context.mjs +24 -56
  860. package/shortcuts/index.js +0 -2
  861. package/shortcuts/keyObserver.js +0 -9
  862. package/shortcuts/keyObserver.mjs +0 -4
  863. package/shortcuts/manager.js +17 -37
  864. package/shortcuts/manager.mjs +17 -34
  865. package/shortcuts/recorder.js +9 -40
  866. package/shortcuts/recorder.mjs +9 -31
  867. package/shortcuts/utils.js +5 -20
  868. package/shortcuts/utils.mjs +5 -6
  869. package/tableView.js +239 -330
  870. package/tableView.mjs +239 -308
  871. package/translations/changesObservable/observable.js +14 -53
  872. package/translations/changesObservable/observable.mjs +14 -43
  873. package/translations/changesObservable/observer.js +13 -31
  874. package/translations/changesObservable/observer.mjs +13 -23
  875. package/translations/changesObservable/utils.js +1 -5
  876. package/translations/changesObservable/utils.mjs +1 -4
  877. package/translations/index.js +0 -11
  878. package/translations/indexMapper.js +80 -162
  879. package/translations/indexMapper.mjs +85 -134
  880. package/translations/mapCollections/aggregatedCollection.js +14 -50
  881. package/translations/mapCollections/aggregatedCollection.mjs +14 -37
  882. package/translations/mapCollections/index.js +0 -7
  883. package/translations/mapCollections/mapCollection.js +20 -34
  884. package/translations/mapCollections/mapCollection.mjs +20 -23
  885. package/translations/maps/hidingMap.js +7 -34
  886. package/translations/maps/hidingMap.mjs +7 -22
  887. package/translations/maps/index.js +1 -24
  888. package/translations/maps/index.mjs +1 -3
  889. package/translations/maps/indexMap.js +25 -33
  890. package/translations/maps/indexMap.mjs +25 -27
  891. package/translations/maps/indexesSequence.js +8 -40
  892. package/translations/maps/indexesSequence.mjs +8 -25
  893. package/translations/maps/linkedPhysicalIndexToValueMap.js +18 -81
  894. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +17 -54
  895. package/translations/maps/physicalIndexToValueMap.js +7 -38
  896. package/translations/maps/physicalIndexToValueMap.mjs +7 -24
  897. package/translations/maps/trimmingMap.js +7 -34
  898. package/translations/maps/trimmingMap.mjs +7 -22
  899. package/translations/maps/utils/actionsOnIndexes.js +1 -7
  900. package/translations/maps/utils/actionsOnIndexes.mjs +1 -3
  901. package/translations/maps/utils/index.js +0 -13
  902. package/translations/maps/utils/index.mjs +0 -3
  903. package/translations/maps/utils/indexesSequence.js +1 -24
  904. package/translations/maps/utils/indexesSequence.mjs +1 -9
  905. package/translations/maps/utils/physicallyIndexed.js +1 -27
  906. package/translations/maps/utils/physicallyIndexed.mjs +1 -10
  907. package/utils/dataStructures/linkedList.js +23 -50
  908. package/utils/dataStructures/linkedList.mjs +23 -48
  909. package/utils/dataStructures/priorityMap.js +9 -47
  910. package/utils/dataStructures/priorityMap.mjs +9 -30
  911. package/utils/dataStructures/queue.js +19 -16
  912. package/utils/dataStructures/queue.mjs +19 -15
  913. package/utils/dataStructures/stack.js +19 -16
  914. package/utils/dataStructures/stack.mjs +19 -15
  915. package/utils/dataStructures/tree.js +19 -77
  916. package/utils/dataStructures/tree.mjs +19 -56
  917. package/utils/dataStructures/uniqueMap.js +18 -57
  918. package/utils/dataStructures/uniqueMap.mjs +18 -43
  919. package/utils/dataStructures/uniqueSet.js +5 -32
  920. package/utils/dataStructures/uniqueSet.mjs +5 -19
  921. package/utils/ghostTable.js +42 -106
  922. package/utils/ghostTable.mjs +40 -90
  923. package/utils/interval.js +17 -29
  924. package/utils/interval.mjs +18 -26
  925. package/utils/parseTable.js +11 -92
  926. package/utils/parseTable.mjs +11 -62
  927. package/utils/rootInstance.js +3 -14
  928. package/utils/rootInstance.mjs +3 -3
  929. package/utils/samplesGenerator.js +25 -51
  930. package/utils/samplesGenerator.mjs +25 -42
  931. package/utils/staticRegister.js +6 -33
  932. package/utils/staticRegister.mjs +6 -19
  933. package/validators/autocompleteValidator/autocompleteValidator.js +2 -10
  934. package/validators/autocompleteValidator/autocompleteValidator.mjs +2 -8
  935. package/validators/autocompleteValidator/index.js +0 -2
  936. package/validators/dateValidator/dateValidator.js +2 -21
  937. package/validators/dateValidator/dateValidator.mjs +2 -11
  938. package/validators/dateValidator/index.js +0 -2
  939. package/validators/index.js +0 -11
  940. package/validators/index.mjs +0 -1
  941. package/validators/numericValidator/index.js +0 -2
  942. package/validators/numericValidator/numericValidator.js +1 -7
  943. package/validators/numericValidator/numericValidator.mjs +1 -3
  944. package/validators/registry.js +7 -16
  945. package/validators/registry.mjs +7 -14
  946. package/validators/timeValidator/index.js +0 -2
  947. package/validators/timeValidator/timeValidator.js +6 -18
  948. package/validators/timeValidator/timeValidator.mjs +8 -13
@@ -1,50 +1,33 @@
1
1
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
-
3
2
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
4
-
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); } }
6
-
3
+ 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, _toPropertyKey(descriptor.key), descriptor); } }
7
4
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
8
-
5
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
9
7
  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); }
10
-
11
8
  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
12
-
13
9
  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); }; }
14
-
15
10
  function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
16
-
17
11
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
18
-
19
12
  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; } }
20
-
21
13
  function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
22
-
23
14
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
24
-
25
15
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
26
-
27
16
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
28
-
29
17
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
30
-
31
18
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
32
-
33
19
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
34
-
35
20
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
36
-
37
21
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
38
-
39
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
40
-
22
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
41
23
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
42
-
43
24
  import "core-js/modules/es.array.find.js";
44
25
  import "core-js/modules/es.object.to-string.js";
45
26
  import "core-js/modules/es.array.reduce.js";
46
27
  import "core-js/modules/es.array.slice.js";
47
28
  import "core-js/modules/es.array.splice.js";
29
+ import "core-js/modules/web.dom-collections.for-each.js";
30
+ import "core-js/modules/es.object.keys.js";
48
31
  import "core-js/modules/es.array.sort.js";
49
32
  import "core-js/modules/es.array.index-of.js";
50
33
  import "core-js/modules/es.array.filter.js";
@@ -61,6 +44,9 @@ import "core-js/modules/es.regexp.exec.js";
61
44
  import "core-js/modules/es.object.set-prototype-of.js";
62
45
  import "core-js/modules/es.object.get-prototype-of.js";
63
46
  import "core-js/modules/es.reflect.construct.js";
47
+ import "core-js/modules/es.symbol.to-primitive.js";
48
+ import "core-js/modules/es.date.to-primitive.js";
49
+ import "core-js/modules/es.number.constructor.js";
64
50
  import Hooks from "../../pluginHooks.mjs";
65
51
  import { arrayMap, arrayEach } from "../../helpers/array.mjs";
66
52
  import { rangeEach } from "../../helpers/number.mjs";
@@ -68,6 +54,7 @@ import { inherit, deepClone } from "../../helpers/object.mjs";
68
54
  import { align } from "../contextMenu/utils.mjs";
69
55
  var SHORTCUTS_GROUP = 'undoRedo';
70
56
  export var PLUGIN_KEY = 'undoRedo';
57
+
71
58
  /**
72
59
  * @description
73
60
  * Handsontable UndoRedo plugin allows to undo and redo certain actions done in the table.
@@ -81,7 +68,6 @@ export var PLUGIN_KEY = 'undoRedo';
81
68
  * @plugin UndoRedo
82
69
  * @param {Core} instance The Handsontable instance.
83
70
  */
84
-
85
71
  function UndoRedo(instance) {
86
72
  var plugin = this;
87
73
  this.instance = instance;
@@ -91,25 +77,19 @@ function UndoRedo(instance) {
91
77
  this.enabled = false;
92
78
  instance.addHook('afterChange', function (changes, source) {
93
79
  var _this = this;
94
-
95
80
  var changesLen = changes && changes.length;
96
-
97
81
  if (!changesLen) {
98
82
  return;
99
83
  }
100
-
101
84
  var hasDifferences = changes.find(function (change) {
102
85
  var _change = _slicedToArray(change, 4),
103
- oldValue = _change[2],
104
- newValue = _change[3];
105
-
86
+ oldValue = _change[2],
87
+ newValue = _change[3];
106
88
  return oldValue !== newValue;
107
89
  });
108
-
109
90
  if (!hasDifferences) {
110
91
  return;
111
92
  }
112
-
113
93
  var wrappedAction = function wrappedAction() {
114
94
  var clonedChanges = changes.reduce(function (arr, change) {
115
95
  arr.push(_toConsumableArray(change));
@@ -121,7 +101,6 @@ function UndoRedo(instance) {
121
101
  var selected = changesLen > 1 ? _this.getSelected() : [[clonedChanges[0][0], clonedChanges[0][1]]];
122
102
  return new UndoRedo.ChangeAction(clonedChanges, selected);
123
103
  };
124
-
125
104
  plugin.done(wrappedAction, source);
126
105
  });
127
106
  instance.addHook('afterCreateRow', function (index, amount, source) {
@@ -131,13 +110,10 @@ function UndoRedo(instance) {
131
110
  });
132
111
  instance.addHook('beforeRemoveRow', function (index, amount, logicRows, source) {
133
112
  var wrappedAction = function wrappedAction() {
134
- var originalData = plugin.instance.getSourceDataArray();
135
- var rowIndex = (originalData.length + index) % originalData.length;
136
- var physicalRowIndex = instance.toPhysicalRow(rowIndex);
137
- var removedData = deepClone(originalData.slice(physicalRowIndex, physicalRowIndex + amount));
138
- return new UndoRedo.RemoveRowAction(rowIndex, removedData, instance.getSettings().fixedRowsBottom, instance.getSettings().fixedRowsTop);
113
+ var physicalRowIndex = instance.toPhysicalRow(index);
114
+ var removedData = deepClone(plugin.instance.getSourceData(physicalRowIndex, 0, physicalRowIndex + amount - 1, plugin.instance.countSourceCols() - 1));
115
+ return new UndoRedo.RemoveRowAction(physicalRowIndex, removedData, instance.getSettings().fixedRowsBottom, instance.getSettings().fixedRowsTop, instance.rowIndexMapper.getIndexesSequence());
139
116
  };
140
-
141
117
  plugin.done(wrappedAction, source);
142
118
  });
143
119
  instance.addHook('afterCreateCol', function (index, amount, source) {
@@ -163,18 +139,15 @@ function UndoRedo(instance) {
163
139
  rangeEach(amount - 1, function (i) {
164
140
  indexes.push(instance.toPhysicalColumn(columnIndex + i));
165
141
  });
166
-
167
142
  if (Array.isArray(instance.getSettings().colHeaders)) {
168
143
  rangeEach(amount - 1, function (i) {
169
144
  headers.push(instance.getSettings().colHeaders[instance.toPhysicalColumn(columnIndex + i)] || null);
170
145
  });
171
146
  }
172
-
173
147
  var columnsMap = instance.columnIndexMapper.getIndexesSequence();
174
148
  var rowsMap = instance.rowIndexMapper.getIndexesSequence();
175
149
  return new UndoRedo.RemoveColumnAction(columnIndex, indexes, removedData, headers, columnsMap, rowsMap, instance.getSettings().fixedColumnsStart);
176
150
  };
177
-
178
151
  plugin.done(wrappedAction, source);
179
152
  });
180
153
  instance.addHook('beforeCellAlignment', function (stateBefore, range, type, alignment) {
@@ -191,7 +164,6 @@ function UndoRedo(instance) {
191
164
  if (rows === false) {
192
165
  return;
193
166
  }
194
-
195
167
  plugin.done(function () {
196
168
  return new UndoRedo.RowMoveAction(rows, finalIndex);
197
169
  });
@@ -200,7 +172,6 @@ function UndoRedo(instance) {
200
172
  if (auto) {
201
173
  return;
202
174
  }
203
-
204
175
  plugin.done(function () {
205
176
  return new UndoRedo.MergeCellsAction(instance, cellRange);
206
177
  });
@@ -209,16 +180,17 @@ function UndoRedo(instance) {
209
180
  if (auto) {
210
181
  return;
211
182
  }
212
-
213
183
  plugin.done(function () {
214
184
  return new UndoRedo.UnmergeCellsAction(instance, cellRange);
215
185
  });
216
- }); // TODO: Why this callback is needed? One test doesn't pass after calling method right after plugin creation (outside the callback).
186
+ });
217
187
 
188
+ // TODO: Why this callback is needed? One test doesn't pass after calling method right after plugin creation (outside the callback).
218
189
  instance.addHook('afterInit', function () {
219
190
  plugin.init();
220
191
  });
221
192
  }
193
+
222
194
  /**
223
195
  * Stash information about performed actions.
224
196
  *
@@ -231,26 +203,19 @@ function UndoRedo(instance) {
231
203
  * @param {Function} wrappedAction The action descriptor wrapped in a closure.
232
204
  * @param {string} [source] Source of the action. It is defined just for more general actions (not related to plugins).
233
205
  */
234
-
235
-
236
206
  UndoRedo.prototype.done = function (wrappedAction, source) {
237
207
  if (this.ignoreNewActions) {
238
208
  return;
239
209
  }
240
-
241
210
  var isBlockedByDefault = source === 'UndoRedo.undo' || source === 'UndoRedo.redo' || source === 'auto';
242
-
243
211
  if (isBlockedByDefault) {
244
212
  return;
245
213
  }
246
-
247
214
  var doneActionsCopy = this.doneActions.slice();
248
215
  var continueAction = this.instance.runHooks('beforeUndoStackChange', doneActionsCopy, source);
249
-
250
216
  if (continueAction === false) {
251
217
  return;
252
218
  }
253
-
254
219
  var newAction = wrappedAction();
255
220
  var undoneActionsCopy = this.undoneActions.slice();
256
221
  this.doneActions.push(newAction);
@@ -259,6 +224,7 @@ UndoRedo.prototype.done = function (wrappedAction, source) {
259
224
  this.undoneActions.length = 0;
260
225
  this.instance.runHooks('afterRedoStackChange', undoneActionsCopy, this.undoneActions.slice());
261
226
  };
227
+
262
228
  /**
263
229
  * Undo the last action performed to the table.
264
230
  *
@@ -271,8 +237,6 @@ UndoRedo.prototype.done = function (wrappedAction, source) {
271
237
  * @fires Hooks#beforeUndo
272
238
  * @fires Hooks#afterUndo
273
239
  */
274
-
275
-
276
240
  UndoRedo.prototype.undo = function () {
277
241
  if (this.isUndoAvailable()) {
278
242
  var doneActionsCopy = this.doneActions.slice();
@@ -281,11 +245,9 @@ UndoRedo.prototype.undo = function () {
281
245
  this.instance.runHooks('afterUndoStackChange', doneActionsCopy, this.doneActions.slice());
282
246
  var actionClone = deepClone(action);
283
247
  var continueAction = this.instance.runHooks('beforeUndo', actionClone);
284
-
285
248
  if (continueAction === false) {
286
249
  return;
287
250
  }
288
-
289
251
  this.ignoreNewActions = true;
290
252
  var that = this;
291
253
  var undoneActionsCopy = this.undoneActions.slice();
@@ -298,6 +260,7 @@ UndoRedo.prototype.undo = function () {
298
260
  this.instance.runHooks('afterUndo', actionClone);
299
261
  }
300
262
  };
263
+
301
264
  /**
302
265
  * Redo the previous action performed to the table (used to reverse an undo).
303
266
  *
@@ -310,8 +273,6 @@ UndoRedo.prototype.undo = function () {
310
273
  * @fires Hooks#beforeRedo
311
274
  * @fires Hooks#afterRedo
312
275
  */
313
-
314
-
315
276
  UndoRedo.prototype.redo = function () {
316
277
  if (this.isRedoAvailable()) {
317
278
  var undoneActionsCopy = this.undoneActions.slice();
@@ -320,11 +281,9 @@ UndoRedo.prototype.redo = function () {
320
281
  this.instance.runHooks('afterRedoStackChange', undoneActionsCopy, this.undoneActions.slice());
321
282
  var actionClone = deepClone(action);
322
283
  var continueAction = this.instance.runHooks('beforeRedo', actionClone);
323
-
324
284
  if (continueAction === false) {
325
285
  return;
326
286
  }
327
-
328
287
  this.ignoreNewActions = true;
329
288
  var that = this;
330
289
  var doneActionsCopy = this.doneActions.slice();
@@ -337,6 +296,7 @@ UndoRedo.prototype.redo = function () {
337
296
  this.instance.runHooks('afterRedo', actionClone);
338
297
  }
339
298
  };
299
+
340
300
  /**
341
301
  * Checks if undo action is available.
342
302
  *
@@ -344,11 +304,10 @@ UndoRedo.prototype.redo = function () {
344
304
  * @memberof UndoRedo#
345
305
  * @returns {boolean} Return `true` if undo can be performed, `false` otherwise.
346
306
  */
347
-
348
-
349
307
  UndoRedo.prototype.isUndoAvailable = function () {
350
308
  return this.doneActions.length > 0;
351
309
  };
310
+
352
311
  /**
353
312
  * Checks if redo action is available.
354
313
  *
@@ -356,23 +315,21 @@ UndoRedo.prototype.isUndoAvailable = function () {
356
315
  * @memberof UndoRedo#
357
316
  * @returns {boolean} Return `true` if redo can be performed, `false` otherwise.
358
317
  */
359
-
360
-
361
318
  UndoRedo.prototype.isRedoAvailable = function () {
362
319
  return this.undoneActions.length > 0;
363
320
  };
321
+
364
322
  /**
365
323
  * Clears undo history.
366
324
  *
367
325
  * @function clear
368
326
  * @memberof UndoRedo#
369
327
  */
370
-
371
-
372
328
  UndoRedo.prototype.clear = function () {
373
329
  this.doneActions.length = 0;
374
330
  this.undoneActions.length = 0;
375
331
  };
332
+
376
333
  /**
377
334
  * Checks if the plugin is enabled.
378
335
  *
@@ -380,69 +337,60 @@ UndoRedo.prototype.clear = function () {
380
337
  * @memberof UndoRedo#
381
338
  * @returns {boolean}
382
339
  */
383
-
384
-
385
340
  UndoRedo.prototype.isEnabled = function () {
386
341
  return this.enabled;
387
342
  };
343
+
388
344
  /**
389
345
  * Enables the plugin.
390
346
  *
391
347
  * @function enable
392
348
  * @memberof UndoRedo#
393
349
  */
394
-
395
-
396
350
  UndoRedo.prototype.enable = function () {
397
351
  if (this.isEnabled()) {
398
352
  return;
399
353
  }
400
-
401
354
  var hot = this.instance;
402
355
  this.enabled = true;
403
356
  exposeUndoRedoMethods(hot);
404
357
  this.registerShortcuts();
405
358
  hot.addHook('afterChange', onAfterChange);
406
359
  };
360
+
407
361
  /**
408
362
  * Disables the plugin.
409
363
  *
410
364
  * @function disable
411
365
  * @memberof UndoRedo#
412
366
  */
413
-
414
-
415
367
  UndoRedo.prototype.disable = function () {
416
368
  if (!this.isEnabled()) {
417
369
  return;
418
370
  }
419
-
420
371
  var hot = this.instance;
421
372
  this.enabled = false;
422
373
  removeExposedUndoRedoMethods(hot);
423
374
  this.unregisterShortcuts();
424
375
  hot.removeHook('afterChange', onAfterChange);
425
376
  };
377
+
426
378
  /**
427
379
  * Destroys the instance.
428
380
  *
429
381
  * @function destroy
430
382
  * @memberof UndoRedo#
431
383
  */
432
-
433
-
434
384
  UndoRedo.prototype.destroy = function () {
435
385
  this.clear();
436
386
  this.instance = null;
437
387
  this.doneActions = null;
438
388
  this.undoneActions = null;
439
389
  };
440
-
441
390
  UndoRedo.Action = function () {};
442
-
443
391
  UndoRedo.Action.prototype.undo = function () {};
444
-
445
392
  UndoRedo.Action.prototype.redo = function () {};
393
+
446
394
  /**
447
395
  * Change action.
448
396
  *
@@ -450,61 +398,48 @@ UndoRedo.Action.prototype.redo = function () {};
450
398
  * @param {Array} changes 2D array containing information about each of the edited cells.
451
399
  * @param {number[]} selected The cell selection.
452
400
  */
453
-
454
-
455
401
  UndoRedo.ChangeAction = function (changes, selected) {
456
402
  this.changes = changes;
457
403
  this.selected = selected;
458
404
  this.actionType = 'change';
459
405
  };
460
-
461
406
  inherit(UndoRedo.ChangeAction, UndoRedo.Action);
462
-
463
407
  UndoRedo.ChangeAction.prototype.undo = function (instance, undoneCallback) {
464
408
  var data = deepClone(this.changes);
465
409
  var emptyRowsAtTheEnd = instance.countEmptyRows(true);
466
410
  var emptyColsAtTheEnd = instance.countEmptyCols(true);
467
-
468
411
  for (var i = 0, len = data.length; i < len; i++) {
469
412
  data[i].splice(3, 1);
470
413
  }
471
-
472
414
  instance.addHookOnce('afterChange', undoneCallback);
473
415
  instance.setDataAtCell(data, null, null, 'UndoRedo.undo');
474
-
475
416
  for (var _i2 = 0, _len = data.length; _i2 < _len; _i2++) {
476
417
  var _data$_i = _slicedToArray(data[_i2], 2),
477
- row = _data$_i[0],
478
- column = _data$_i[1];
479
-
418
+ row = _data$_i[0],
419
+ column = _data$_i[1];
480
420
  if (instance.getSettings().minSpareRows && row + 1 + instance.getSettings().minSpareRows === instance.countRows() && emptyRowsAtTheEnd === instance.getSettings().minSpareRows) {
481
421
  instance.alter('remove_row', parseInt(row + 1, 10), instance.getSettings().minSpareRows);
482
422
  instance.undoRedo.doneActions.pop();
483
423
  }
484
-
485
424
  if (instance.getSettings().minSpareCols && column + 1 + instance.getSettings().minSpareCols === instance.countCols() && emptyColsAtTheEnd === instance.getSettings().minSpareCols) {
486
425
  instance.alter('remove_col', parseInt(column + 1, 10), instance.getSettings().minSpareCols);
487
426
  instance.undoRedo.doneActions.pop();
488
427
  }
489
428
  }
490
-
491
429
  instance.selectCells(this.selected, false, false);
492
430
  };
493
-
494
431
  UndoRedo.ChangeAction.prototype.redo = function (instance, onFinishCallback) {
495
432
  var data = deepClone(this.changes);
496
-
497
433
  for (var i = 0, len = data.length; i < len; i++) {
498
434
  data[i].splice(2, 1);
499
435
  }
500
-
501
436
  instance.addHookOnce('afterChange', onFinishCallback);
502
437
  instance.setDataAtCell(data, null, null, 'UndoRedo.redo');
503
-
504
438
  if (this.selected) {
505
439
  instance.selectCells(this.selected, false, false);
506
440
  }
507
441
  };
442
+
508
443
  /**
509
444
  * Create row action.
510
445
  *
@@ -512,20 +447,15 @@ UndoRedo.ChangeAction.prototype.redo = function (instance, onFinishCallback) {
512
447
  * @param {number} index The visual row index.
513
448
  * @param {number} amount The number of created rows.
514
449
  */
515
-
516
-
517
450
  UndoRedo.CreateRowAction = function (index, amount) {
518
451
  this.index = index;
519
452
  this.amount = amount;
520
453
  this.actionType = 'insert_row';
521
454
  };
522
-
523
455
  inherit(UndoRedo.CreateRowAction, UndoRedo.Action);
524
-
525
456
  UndoRedo.CreateRowAction.prototype.undo = function (instance, undoneCallback) {
526
457
  var rowCount = instance.countRows();
527
458
  var minSpareRows = instance.getSettings().minSpareRows;
528
-
529
459
  if (this.index >= rowCount && this.index - minSpareRows < rowCount) {
530
460
  this.index -= minSpareRows; // work around the situation where the needed row was removed due to an 'undo' of a made change
531
461
  }
@@ -533,11 +463,11 @@ UndoRedo.CreateRowAction.prototype.undo = function (instance, undoneCallback) {
533
463
  instance.addHookOnce('afterRemoveRow', undoneCallback);
534
464
  instance.alter('remove_row', this.index, this.amount, 'UndoRedo.undo');
535
465
  };
536
-
537
466
  UndoRedo.CreateRowAction.prototype.redo = function (instance, redoneCallback) {
538
467
  instance.addHookOnce('afterCreateRow', redoneCallback);
539
- instance.alter('insert_row', this.index, this.amount, 'UndoRedo.redo');
468
+ instance.alter('insert_row_above', this.index, this.amount, 'UndoRedo.redo');
540
469
  };
470
+
541
471
  /**
542
472
  * Remove row action.
543
473
  *
@@ -546,33 +476,43 @@ UndoRedo.CreateRowAction.prototype.redo = function (instance, redoneCallback) {
546
476
  * @param {Array} data The removed data.
547
477
  * @param {number} fixedRowsBottom Number of fixed rows on the bottom. Remove row action change it sometimes.
548
478
  * @param {number} fixedRowsTop Number of fixed rows on the top. Remove row action change it sometimes.
479
+ * @param {Array} rowIndexesSequence Row index sequence taken from the row index mapper.
549
480
  */
550
-
551
-
552
- UndoRedo.RemoveRowAction = function (index, data, fixedRowsBottom, fixedRowsTop) {
481
+ UndoRedo.RemoveRowAction = function (index, data, fixedRowsBottom, fixedRowsTop, rowIndexesSequence) {
553
482
  this.index = index;
554
483
  this.data = data;
555
484
  this.actionType = 'remove_row';
556
485
  this.fixedRowsBottom = fixedRowsBottom;
557
486
  this.fixedRowsTop = fixedRowsTop;
487
+ this.rowIndexesSequence = rowIndexesSequence;
558
488
  };
559
-
560
489
  inherit(UndoRedo.RemoveRowAction, UndoRedo.Action);
561
-
562
490
  UndoRedo.RemoveRowAction.prototype.undo = function (instance, undoneCallback) {
563
- var settings = instance.getSettings(); // Changing by the reference as `updateSettings` doesn't work the best.
491
+ var _this2 = this;
492
+ var settings = instance.getSettings();
493
+ var changes = [];
564
494
 
495
+ // Changing by the reference as `updateSettings` doesn't work the best.
565
496
  settings.fixedRowsBottom = this.fixedRowsBottom;
566
497
  settings.fixedRowsTop = this.fixedRowsTop;
567
- instance.alter('insert_row', this.index, this.data.length, 'UndoRedo.undo');
498
+
499
+ // Prepare the change list to fill the source data.
500
+ this.data.forEach(function (dataRow, rowIndexDelta) {
501
+ Object.keys(dataRow).forEach(function (columnProp) {
502
+ var columnIndex = parseInt(columnProp, 10);
503
+ changes.push([_this2.index + rowIndexDelta, isNaN(columnIndex) ? columnProp : columnIndex, dataRow[columnProp]]);
504
+ });
505
+ });
506
+ instance.alter('insert_row_above', this.index, this.data.length, 'UndoRedo.undo');
568
507
  instance.addHookOnce('afterViewRender', undoneCallback);
569
- instance.populateFromArray(this.index, 0, this.data, void 0, void 0, 'UndoRedo.undo');
508
+ instance.setSourceDataAtCell(changes, null, null, 'UndoRedo.undo');
509
+ instance.rowIndexMapper.setIndexesSequence(this.rowIndexesSequence);
570
510
  };
571
-
572
511
  UndoRedo.RemoveRowAction.prototype.redo = function (instance, redoneCallback) {
573
512
  instance.addHookOnce('afterRemoveRow', redoneCallback);
574
513
  instance.alter('remove_row', this.index, this.data.length, 'UndoRedo.redo');
575
514
  };
515
+
576
516
  /**
577
517
  * Create column action.
578
518
  *
@@ -580,25 +520,21 @@ UndoRedo.RemoveRowAction.prototype.redo = function (instance, redoneCallback) {
580
520
  * @param {number} index The visual column index.
581
521
  * @param {number} amount The number of created columns.
582
522
  */
583
-
584
-
585
523
  UndoRedo.CreateColumnAction = function (index, amount) {
586
524
  this.index = index;
587
525
  this.amount = amount;
588
526
  this.actionType = 'insert_col';
589
527
  };
590
-
591
528
  inherit(UndoRedo.CreateColumnAction, UndoRedo.Action);
592
-
593
529
  UndoRedo.CreateColumnAction.prototype.undo = function (instance, undoneCallback) {
594
530
  instance.addHookOnce('afterRemoveCol', undoneCallback);
595
531
  instance.alter('remove_col', this.index, this.amount, 'UndoRedo.undo');
596
532
  };
597
-
598
533
  UndoRedo.CreateColumnAction.prototype.redo = function (instance, redoneCallback) {
599
534
  instance.addHookOnce('afterCreateCol', redoneCallback);
600
- instance.alter('insert_col', this.index, this.amount, 'UndoRedo.redo');
535
+ instance.alter('insert_col_start', this.index, this.amount, 'UndoRedo.redo');
601
536
  };
537
+
602
538
  /**
603
539
  * Remove column action.
604
540
  *
@@ -611,8 +547,6 @@ UndoRedo.CreateColumnAction.prototype.redo = function (instance, redoneCallback)
611
547
  * @param {number[]} rowPositions The row position.
612
548
  * @param {number} fixedColumnsStart Number of fixed columns on the left. Remove column action change it sometimes.
613
549
  */
614
-
615
-
616
550
  UndoRedo.RemoveColumnAction = function (index, indexes, data, headers, columnPositions, rowPositions, fixedColumnsStart) {
617
551
  // eslint-disable-line max-len
618
552
  this.index = index;
@@ -625,31 +559,25 @@ UndoRedo.RemoveColumnAction = function (index, indexes, data, headers, columnPos
625
559
  this.actionType = 'remove_col';
626
560
  this.fixedColumnsStart = fixedColumnsStart;
627
561
  };
628
-
629
562
  inherit(UndoRedo.RemoveColumnAction, UndoRedo.Action);
630
-
631
563
  UndoRedo.RemoveColumnAction.prototype.undo = function (instance, undoneCallback) {
632
- var _this2 = this;
633
-
634
- var settings = instance.getSettings(); // Changing by the reference as `updateSettings` doesn't work the best.
564
+ var _this3 = this;
565
+ var settings = instance.getSettings();
635
566
 
567
+ // Changing by the reference as `updateSettings` doesn't work the best.
636
568
  settings.fixedColumnsStart = this.fixedColumnsStart;
637
569
  var ascendingIndexes = this.indexes.slice(0).sort();
638
-
639
570
  var sortByIndexes = function sortByIndexes(elem, j, arr) {
640
- return arr[_this2.indexes.indexOf(ascendingIndexes[j])];
571
+ return arr[_this3.indexes.indexOf(ascendingIndexes[j])];
641
572
  };
642
-
643
573
  var removedDataLength = this.data.length;
644
574
  var sortedData = [];
645
-
646
575
  for (var rowIndex = 0; rowIndex < removedDataLength; rowIndex++) {
647
576
  sortedData.push(arrayMap(this.data[rowIndex], sortByIndexes));
648
577
  }
649
-
650
578
  var sortedHeaders = arrayMap(this.headers, sortByIndexes);
651
579
  var changes = [];
652
- instance.alter('insert_col', this.indexes[0], this.indexes.length, 'UndoRedo.undo');
580
+ instance.alter('insert_col_start', this.indexes[0], this.indexes.length, 'UndoRedo.undo');
653
581
  arrayEach(instance.getSourceDataArray(), function (rowData, rowIndex) {
654
582
  arrayEach(ascendingIndexes, function (changedIndex, contiquesIndex) {
655
583
  rowData[changedIndex] = sortedData[rowIndex][contiquesIndex];
@@ -658,27 +586,25 @@ UndoRedo.RemoveColumnAction.prototype.undo = function (instance, undoneCallback)
658
586
  });
659
587
  instance.setSourceDataAtCell(changes, void 0, void 0, 'UndoRedo.undo');
660
588
  instance.columnIndexMapper.insertIndexes(ascendingIndexes[0], ascendingIndexes.length);
661
-
662
589
  if (typeof this.headers !== 'undefined') {
663
590
  arrayEach(sortedHeaders, function (headerData, columnIndex) {
664
591
  instance.getSettings().colHeaders[ascendingIndexes[columnIndex]] = headerData;
665
592
  });
666
593
  }
667
-
668
594
  instance.batchExecution(function () {
669
595
  // Restore row sequence in a case when all columns are removed. the original
670
596
  // row sequence is lost in that case.
671
- instance.rowIndexMapper.setIndexesSequence(_this2.rowPositions);
672
- instance.columnIndexMapper.setIndexesSequence(_this2.columnPositions);
597
+ instance.rowIndexMapper.setIndexesSequence(_this3.rowPositions);
598
+ instance.columnIndexMapper.setIndexesSequence(_this3.columnPositions);
673
599
  }, true);
674
600
  instance.addHookOnce('afterViewRender', undoneCallback);
675
601
  instance.render();
676
602
  };
677
-
678
603
  UndoRedo.RemoveColumnAction.prototype.redo = function (instance, redoneCallback) {
679
604
  instance.addHookOnce('afterRemoveCol', redoneCallback);
680
605
  instance.alter('remove_col', this.index, this.amount, 'UndoRedo.redo');
681
606
  };
607
+
682
608
  /**
683
609
  * Cell alignment action.
684
610
  *
@@ -688,30 +614,25 @@ UndoRedo.RemoveColumnAction.prototype.redo = function (instance, redoneCallback)
688
614
  * @param {string} type The type of the alignment ("top", "left", "bottom" or "right").
689
615
  * @param {string} alignment The alignment CSS class.
690
616
  */
691
-
692
-
693
617
  UndoRedo.CellAlignmentAction = function (stateBefore, range, type, alignment) {
694
618
  this.stateBefore = stateBefore;
695
619
  this.range = range;
696
620
  this.type = type;
697
621
  this.alignment = alignment;
698
622
  };
699
-
700
623
  UndoRedo.CellAlignmentAction.prototype.undo = function (instance, undoneCallback) {
701
- var _this3 = this;
702
-
624
+ var _this4 = this;
703
625
  arrayEach(this.range, function (range) {
704
626
  range.forAll(function (row, col) {
705
627
  // Alignment classes should only collected within cell ranges. We skip header coordinates.
706
628
  if (row >= 0 && col >= 0) {
707
- instance.setCellMeta(row, col, 'className', _this3.stateBefore[row][col] || ' htLeft');
629
+ instance.setCellMeta(row, col, 'className', _this4.stateBefore[row][col] || ' htLeft');
708
630
  }
709
631
  });
710
632
  });
711
633
  instance.addHookOnce('afterViewRender', undoneCallback);
712
634
  instance.render();
713
635
  };
714
-
715
636
  UndoRedo.CellAlignmentAction.prototype.redo = function (instance, undoneCallback) {
716
637
  align(this.range, this.type, this.alignment, function (row, col) {
717
638
  return instance.getCellMeta(row, col);
@@ -721,62 +642,49 @@ UndoRedo.CellAlignmentAction.prototype.redo = function (instance, undoneCallback
721
642
  instance.addHookOnce('afterViewRender', undoneCallback);
722
643
  instance.render();
723
644
  };
645
+
724
646
  /**
725
647
  * Filters action.
726
648
  *
727
649
  * @private
728
650
  * @param {Array} conditionsStack An array of the filter condition.
729
651
  */
730
-
731
-
732
652
  UndoRedo.FiltersAction = function (conditionsStack) {
733
653
  this.conditionsStack = conditionsStack;
734
654
  this.actionType = 'filter';
735
655
  };
736
-
737
656
  inherit(UndoRedo.FiltersAction, UndoRedo.Action);
738
-
739
657
  UndoRedo.FiltersAction.prototype.undo = function (instance, undoneCallback) {
740
658
  var filters = instance.getPlugin('filters');
741
659
  instance.addHookOnce('afterViewRender', undoneCallback);
742
660
  filters.conditionCollection.importAllConditions(this.conditionsStack.slice(0, this.conditionsStack.length - 1));
743
661
  filters.filter();
744
662
  };
745
-
746
663
  UndoRedo.FiltersAction.prototype.redo = function (instance, redoneCallback) {
747
664
  var filters = instance.getPlugin('filters');
748
665
  instance.addHookOnce('afterViewRender', redoneCallback);
749
666
  filters.conditionCollection.importAllConditions(this.conditionsStack);
750
667
  filters.filter();
751
668
  };
669
+
752
670
  /**
753
671
  * Merge Cells action.
754
672
  *
755
673
  * @util
756
674
  */
757
-
758
-
759
675
  var MergeCellsAction = /*#__PURE__*/function (_UndoRedo$Action) {
760
676
  _inherits(MergeCellsAction, _UndoRedo$Action);
761
-
762
677
  var _super = _createSuper(MergeCellsAction);
763
-
764
678
  function MergeCellsAction(instance, cellRange) {
765
- var _this4;
766
-
679
+ var _this5;
767
680
  _classCallCheck(this, MergeCellsAction);
768
-
769
- _this4 = _super.call(this);
770
- _this4.cellRange = cellRange;
771
-
772
- var topStartCorner = _this4.cellRange.getTopStartCorner();
773
-
774
- var bottomEndCorner = _this4.cellRange.getBottomEndCorner();
775
-
776
- _this4.rangeData = instance.getData(topStartCorner.row, topStartCorner.col, bottomEndCorner.row, bottomEndCorner.col);
777
- return _this4;
681
+ _this5 = _super.call(this);
682
+ _this5.cellRange = cellRange;
683
+ var topStartCorner = _this5.cellRange.getTopStartCorner();
684
+ var bottomEndCorner = _this5.cellRange.getBottomEndCorner();
685
+ _this5.rangeData = instance.getData(topStartCorner.row, topStartCorner.col, bottomEndCorner.row, bottomEndCorner.col);
686
+ return _this5;
778
687
  }
779
-
780
688
  _createClass(MergeCellsAction, [{
781
689
  key: "undo",
782
690
  value: function undo(instance, undoneCallback) {
@@ -794,32 +702,25 @@ var MergeCellsAction = /*#__PURE__*/function (_UndoRedo$Action) {
794
702
  mergeCellsPlugin.mergeRange(this.cellRange);
795
703
  }
796
704
  }]);
797
-
798
705
  return MergeCellsAction;
799
706
  }(UndoRedo.Action);
800
-
801
707
  UndoRedo.MergeCellsAction = MergeCellsAction;
708
+
802
709
  /**
803
710
  * Unmerge Cells action.
804
711
  *
805
712
  * @util
806
713
  */
807
-
808
714
  var UnmergeCellsAction = /*#__PURE__*/function (_UndoRedo$Action2) {
809
715
  _inherits(UnmergeCellsAction, _UndoRedo$Action2);
810
-
811
716
  var _super2 = _createSuper(UnmergeCellsAction);
812
-
813
717
  function UnmergeCellsAction(instance, cellRange) {
814
- var _this5;
815
-
718
+ var _this6;
816
719
  _classCallCheck(this, UnmergeCellsAction);
817
-
818
- _this5 = _super2.call(this);
819
- _this5.cellRange = cellRange;
820
- return _this5;
720
+ _this6 = _super2.call(this);
721
+ _this6.cellRange = cellRange;
722
+ return _this6;
821
723
  }
822
-
823
724
  _createClass(UnmergeCellsAction, [{
824
725
  key: "undo",
825
726
  value: function undo(instance, undoneCallback) {
@@ -836,11 +737,10 @@ var UnmergeCellsAction = /*#__PURE__*/function (_UndoRedo$Action2) {
836
737
  instance.render();
837
738
  }
838
739
  }]);
839
-
840
740
  return UnmergeCellsAction;
841
741
  }(UndoRedo.Action);
842
-
843
742
  UndoRedo.UnmergeCellsAction = UnmergeCellsAction;
743
+
844
744
  /**
845
745
  * ManualRowMove action.
846
746
  *
@@ -849,44 +749,39 @@ UndoRedo.UnmergeCellsAction = UnmergeCellsAction;
849
749
  * @param {number[]} rows An array with moved rows.
850
750
  * @param {number} finalIndex The destination index.
851
751
  */
852
-
853
752
  UndoRedo.RowMoveAction = function (rows, finalIndex) {
854
753
  this.rows = rows.slice();
855
754
  this.finalIndex = finalIndex;
856
755
  this.actionType = 'row_move';
857
756
  };
858
-
859
757
  inherit(UndoRedo.RowMoveAction, UndoRedo.Action);
860
-
861
758
  UndoRedo.RowMoveAction.prototype.undo = function (instance, undoneCallback) {
862
- var _this6 = this;
863
-
759
+ var _this7 = this;
864
760
  var manualRowMove = instance.getPlugin('manualRowMove');
865
761
  var copyOfRows = [].concat(this.rows);
866
762
  var rowsMovedUp = copyOfRows.filter(function (a) {
867
- return a > _this6.finalIndex;
763
+ return a > _this7.finalIndex;
868
764
  });
869
765
  var rowsMovedDown = copyOfRows.filter(function (a) {
870
- return a <= _this6.finalIndex;
766
+ return a <= _this7.finalIndex;
871
767
  });
872
768
  var allMovedRows = rowsMovedUp.sort(function (a, b) {
873
769
  return b - a;
874
770
  }).concat(rowsMovedDown.sort(function (a, b) {
875
771
  return a - b;
876
772
  }));
877
- instance.addHookOnce('afterViewRender', undoneCallback); // Moving rows from those with higher indexes to those with lower indexes when action was performed from bottom to top
878
- // Moving rows from those with lower indexes to those with higher indexes when action was performed from top to bottom
773
+ instance.addHookOnce('afterViewRender', undoneCallback);
879
774
 
775
+ // Moving rows from those with higher indexes to those with lower indexes when action was performed from bottom to top
776
+ // Moving rows from those with lower indexes to those with higher indexes when action was performed from top to bottom
880
777
  for (var i = 0; i < allMovedRows.length; i += 1) {
881
778
  var newPhysicalRow = instance.toVisualRow(allMovedRows[i]);
882
779
  manualRowMove.moveRow(newPhysicalRow, allMovedRows[i]);
883
780
  }
884
-
885
781
  instance.render();
886
782
  instance.deselectCell();
887
783
  instance.selectRows(this.rows[0], this.rows[0] + this.rows.length - 1);
888
784
  };
889
-
890
785
  UndoRedo.RowMoveAction.prototype.redo = function (instance, redoneCallback) {
891
786
  var manualRowMove = instance.getPlugin('manualRowMove');
892
787
  instance.addHookOnce('afterViewRender', redoneCallback);
@@ -895,40 +790,34 @@ UndoRedo.RowMoveAction.prototype.redo = function (instance, redoneCallback) {
895
790
  instance.deselectCell();
896
791
  instance.selectRows(this.finalIndex, this.finalIndex + this.rows.length - 1);
897
792
  };
793
+
898
794
  /**
899
795
  * Enabling and disabling plugin and attaching its to an instance.
900
796
  *
901
797
  * @private
902
798
  */
903
-
904
-
905
799
  UndoRedo.prototype.init = function () {
906
800
  var settings = this.instance.getSettings().undo;
907
801
  var pluginEnabled = typeof settings === 'undefined' || settings;
908
-
909
802
  if (!this.instance.undoRedo) {
910
803
  this.instance.undoRedo = this;
911
804
  }
912
-
913
805
  if (pluginEnabled) {
914
806
  this.instance.undoRedo.enable();
915
807
  } else {
916
808
  this.instance.undoRedo.disable();
917
809
  }
918
810
  };
811
+
919
812
  /**
920
813
  * Registers shortcuts responsible for performing undo/redo.
921
814
  *
922
815
  * @private
923
816
  */
924
-
925
-
926
817
  UndoRedo.prototype.registerShortcuts = function () {
927
- var _this7 = this;
928
-
818
+ var _this8 = this;
929
819
  var shortcutManager = this.instance.getShortcutManager();
930
820
  var gridContext = shortcutManager.getContext('grid');
931
-
932
821
  var runOnlyIf = function runOnlyIf(event) {
933
822
  return !event.altKey; // right ALT in some systems triggers ALT+CTR
934
823
  };
@@ -940,46 +829,42 @@ UndoRedo.prototype.registerShortcuts = function () {
940
829
  gridContext.addShortcuts([{
941
830
  keys: [['Control/Meta', 'z']],
942
831
  callback: function callback() {
943
- _this7.undo();
832
+ _this8.undo();
944
833
  }
945
834
  }, {
946
835
  keys: [['Control/Meta', 'y'], ['Control/Meta', 'Shift', 'z']],
947
836
  callback: function callback() {
948
- _this7.redo();
837
+ _this8.redo();
949
838
  }
950
839
  }], config);
951
840
  };
841
+
952
842
  /**
953
843
  * Unregister shortcuts responsible for performing undo/redo.
954
844
  *
955
845
  * @private
956
846
  */
957
-
958
-
959
847
  UndoRedo.prototype.unregisterShortcuts = function () {
960
848
  var shortcutManager = this.instance.getShortcutManager();
961
849
  var gridContext = shortcutManager.getContext('grid');
962
850
  gridContext.removeShortcutsByGroup(SHORTCUTS_GROUP);
963
851
  };
852
+
964
853
  /**
965
854
  * @param {Array} changes 2D array containing information about each of the edited cells.
966
855
  * @param {string} source String that identifies source of hook call.
967
856
  * @returns {boolean}
968
857
  */
969
-
970
-
971
858
  function onAfterChange(changes, source) {
972
859
  var instance = this;
973
-
974
860
  if (source === 'loadData') {
975
861
  return instance.undoRedo.clear();
976
862
  }
977
863
  }
864
+
978
865
  /**
979
866
  * @param {Core} instance The Handsontable instance.
980
867
  */
981
-
982
-
983
868
  function exposeUndoRedoMethods(instance) {
984
869
  /**
985
870
  * {@link UndoRedo#undo}.
@@ -991,6 +876,7 @@ function exposeUndoRedoMethods(instance) {
991
876
  instance.undo = function () {
992
877
  return instance.undoRedo.undo();
993
878
  };
879
+
994
880
  /**
995
881
  * {@link UndoRedo#redo}.
996
882
  *
@@ -998,11 +884,10 @@ function exposeUndoRedoMethods(instance) {
998
884
  * @memberof! Core#
999
885
  * @returns {boolean}
1000
886
  */
1001
-
1002
-
1003
887
  instance.redo = function () {
1004
888
  return instance.undoRedo.redo();
1005
889
  };
890
+
1006
891
  /**
1007
892
  * {@link UndoRedo#isUndoAvailable}.
1008
893
  *
@@ -1010,11 +895,10 @@ function exposeUndoRedoMethods(instance) {
1010
895
  * @memberof! Core#
1011
896
  * @returns {boolean}
1012
897
  */
1013
-
1014
-
1015
898
  instance.isUndoAvailable = function () {
1016
899
  return instance.undoRedo.isUndoAvailable();
1017
900
  };
901
+
1018
902
  /**
1019
903
  * {@link UndoRedo#isRedoAvailable}.
1020
904
  *
@@ -1022,11 +906,10 @@ function exposeUndoRedoMethods(instance) {
1022
906
  * @memberof! Core#
1023
907
  * @returns {boolean}
1024
908
  */
1025
-
1026
-
1027
909
  instance.isRedoAvailable = function () {
1028
910
  return instance.undoRedo.isRedoAvailable();
1029
911
  };
912
+
1030
913
  /**
1031
914
  * {@link UndoRedo#clear}.
1032
915
  *
@@ -1034,17 +917,14 @@ function exposeUndoRedoMethods(instance) {
1034
917
  * @memberof! Core#
1035
918
  * @returns {boolean}
1036
919
  */
1037
-
1038
-
1039
920
  instance.clearUndo = function () {
1040
921
  return instance.undoRedo.clear();
1041
922
  };
1042
923
  }
924
+
1043
925
  /**
1044
926
  * @param {Core} instance The Handsontable instance.
1045
927
  */
1046
-
1047
-
1048
928
  function removeExposedUndoRedoMethods(instance) {
1049
929
  delete instance.undo;
1050
930
  delete instance.redo;
@@ -1052,11 +932,9 @@ function removeExposedUndoRedoMethods(instance) {
1052
932
  delete instance.isRedoAvailable;
1053
933
  delete instance.clearUndo;
1054
934
  }
1055
-
1056
935
  var hook = Hooks.getSingleton();
1057
936
  hook.add('afterUpdateSettings', function () {
1058
937
  var _this$getPlugin;
1059
-
1060
938
  (_this$getPlugin = this.getPlugin('undoRedo')) === null || _this$getPlugin === void 0 ? void 0 : _this$getPlugin.init();
1061
939
  });
1062
940
  hook.register('beforeUndo');