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,111 +1,66 @@
1
1
  "use strict";
2
2
 
3
- 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); }
4
-
3
+ require("core-js/modules/es.symbol.to-primitive.js");
4
+ require("core-js/modules/es.date.to-primitive.js");
5
+ require("core-js/modules/es.symbol.js");
6
+ require("core-js/modules/es.symbol.description.js");
7
+ require("core-js/modules/es.number.constructor.js");
5
8
  require("core-js/modules/es.object.set-prototype-of.js");
6
-
7
9
  require("core-js/modules/es.object.get-prototype-of.js");
8
-
9
10
  require("core-js/modules/es.reflect.construct.js");
10
-
11
11
  require("core-js/modules/es.reflect.get.js");
12
-
13
12
  require("core-js/modules/es.object.get-own-property-descriptor.js");
14
-
15
13
  require("core-js/modules/es.array.slice.js");
16
-
17
14
  require("core-js/modules/es.object.freeze.js");
18
-
19
- require("core-js/modules/es.symbol.js");
20
-
21
- require("core-js/modules/es.symbol.description.js");
22
-
23
15
  require("core-js/modules/es.symbol.iterator.js");
24
-
16
+ 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); }
25
17
  exports.__esModule = true;
26
18
  exports.PLUGIN_PRIORITY = exports.PLUGIN_KEY = exports.NestedHeaders = void 0;
27
-
28
19
  require("core-js/modules/es.array.concat.js");
29
-
30
20
  require("core-js/modules/es.object.to-string.js");
31
-
32
21
  require("core-js/modules/web.dom-collections.for-each.js");
33
-
34
22
  require("core-js/modules/es.array.iterator.js");
35
-
36
23
  require("core-js/modules/es.string.iterator.js");
37
-
38
24
  require("core-js/modules/es.weak-map.js");
39
-
40
25
  require("core-js/modules/web.dom-collections.iterator.js");
41
-
42
26
  var _element = require("../../helpers/dom/element");
43
-
44
27
  var _number = require("../../helpers/number");
45
-
46
28
  var _event = require("../../helpers/dom/event");
47
-
48
29
  var _templateLiteralTag = require("../../helpers/templateLiteralTag");
49
-
50
30
  var _console = require("../../helpers/console");
51
-
52
31
  var _selection = require("../../selection");
53
-
54
32
  var _base = require("../base");
55
-
56
33
  var _stateManager2 = _interopRequireDefault(require("./stateManager"));
57
-
58
34
  var _ghostTable = _interopRequireDefault(require("./utils/ghostTable"));
59
-
60
35
  var _templateObject, _templateObject2;
61
-
62
36
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
63
-
64
37
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
65
-
66
38
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
67
-
68
- 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); } }
69
-
39
+ 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); } }
70
40
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
71
-
72
41
  function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }
73
-
74
42
  function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
75
-
76
43
  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); }
77
-
78
44
  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
79
-
80
45
  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); }; }
81
-
82
46
  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); }
83
-
84
47
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
85
-
86
48
  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; } }
87
-
88
49
  function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
89
-
90
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
91
-
50
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
51
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
52
+ 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); }
92
53
  function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
93
-
94
54
  function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
95
-
96
55
  function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
97
-
98
56
  function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
99
-
100
57
  function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
101
-
102
58
  function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
103
-
104
59
  function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
105
-
106
60
  var PLUGIN_KEY = 'nestedHeaders';
107
61
  exports.PLUGIN_KEY = PLUGIN_KEY;
108
62
  var PLUGIN_PRIORITY = 280;
63
+
109
64
  /* eslint-disable jsdoc/require-description-complete-sentence */
110
65
 
111
66
  /**
@@ -123,6 +78,7 @@ var PLUGIN_PRIORITY = 280;
123
78
  * other words, headers cannot overlap each other.
124
79
  * @example
125
80
  *
81
+ * ::: only-for javascript
126
82
  * ```js
127
83
  * const container = document.getElementById('example');
128
84
  * const hot = new Handsontable(container, {
@@ -134,49 +90,49 @@ var PLUGIN_PRIORITY = 280;
134
90
  * ['N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W']
135
91
  * ],
136
92
  * ```
93
+ * :::
94
+ *
95
+ * ::: only-for react
96
+ * ```jsx
97
+ * <HotTable
98
+ * data={getData()}
99
+ * nestedHeaders={[
100
+ * ['A', {label: 'B', colspan: 8}, 'C'],
101
+ * ['D', {label: 'E', colspan: 4}, {label: 'F', colspan: 4}, 'G'],
102
+ * ['H', {label: 'I', colspan: 2}, {label: 'J', colspan: 2}, {label: 'K', colspan: 2}, {label: 'L', colspan: 2}, 'M'],
103
+ * ['N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W']
104
+ * ]}
105
+ * />
106
+ * ```
107
+ * :::
137
108
  */
138
-
139
109
  exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
140
-
141
110
  var _stateManager = /*#__PURE__*/new WeakMap();
142
-
143
111
  var _hidingIndexMapObserver = /*#__PURE__*/new WeakMap();
144
-
145
112
  var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
146
113
  _inherits(NestedHeaders, _BasePlugin);
147
-
148
114
  var _super = _createSuper(NestedHeaders);
149
-
150
115
  function NestedHeaders() {
151
116
  var _this;
152
-
153
117
  _classCallCheck(this, NestedHeaders);
154
-
155
118
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
156
119
  args[_key] = arguments[_key];
157
120
  }
158
-
159
121
  _this = _super.call.apply(_super, [this].concat(args));
160
-
161
122
  _classPrivateFieldInitSpec(_assertThisInitialized(_this), _stateManager, {
162
123
  writable: true,
163
124
  value: new _stateManager2.default()
164
125
  });
165
-
166
126
  _classPrivateFieldInitSpec(_assertThisInitialized(_this), _hidingIndexMapObserver, {
167
127
  writable: true,
168
128
  value: null
169
129
  });
170
-
171
130
  _defineProperty(_assertThisInitialized(_this), "ghostTable", new _ghostTable.default(_this.hot, function (row, column) {
172
131
  return _this.getHeaderSettings(row, column);
173
132
  }));
174
-
175
133
  _defineProperty(_assertThisInitialized(_this), "detectedOverlappedHeaders", false);
176
-
177
134
  return _this;
178
135
  }
179
-
180
136
  _createClass(NestedHeaders, [{
181
137
  key: "isEnabled",
182
138
  value:
@@ -188,26 +144,22 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
188
144
  function isEnabled() {
189
145
  return !!this.hot.getSettings()[PLUGIN_KEY];
190
146
  }
147
+
191
148
  /**
192
149
  * Enables the plugin functionality for this Handsontable instance.
193
150
  */
194
-
195
151
  }, {
196
152
  key: "enablePlugin",
197
153
  value: function enablePlugin() {
198
154
  var _this2 = this;
199
-
200
155
  if (this.enabled) {
201
156
  return;
202
157
  }
203
-
204
158
  var _this$hot$getSettings = this.hot.getSettings(),
205
- nestedHeaders = _this$hot$getSettings.nestedHeaders;
206
-
159
+ nestedHeaders = _this$hot$getSettings.nestedHeaders;
207
160
  if (!Array.isArray(nestedHeaders) || !Array.isArray(nestedHeaders[0])) {
208
161
  (0, _console.warn)((0, _templateLiteralTag.toSingleLine)(_templateObject || (_templateObject = _taggedTemplateLiteral(["Your Nested Headers plugin configuration is invalid. The settings has to be \n passed as an array of arrays e.q. [['A1', { label: 'A2', colspan: 2 }]]"], ["Your Nested Headers plugin configuration is invalid. The settings has to be\\x20\n passed as an array of arrays e.q. [['A1', { label: 'A2', colspan: 2 }]]"]))));
209
162
  }
210
-
211
163
  this.addHook('init', function () {
212
164
  return _this2.onInit();
213
165
  });
@@ -229,123 +181,110 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
229
181
  this.addHook('modifyColWidth', function () {
230
182
  return _this2.onModifyColWidth.apply(_this2, arguments);
231
183
  });
184
+ this.addHook('modifyColumnHeaderValue', function () {
185
+ return _this2.onModifyColumnHeaderValue.apply(_this2, arguments);
186
+ });
232
187
  this.addHook('beforeHighlightingColumnHeader', function () {
233
188
  return _this2.onBeforeHighlightingColumnHeader.apply(_this2, arguments);
234
189
  });
190
+ this.addHook('beforeCopy', function () {
191
+ return _this2.onBeforeCopy.apply(_this2, arguments);
192
+ });
235
193
  this.addHook('afterViewportColumnCalculatorOverride', function () {
236
194
  return _this2.onAfterViewportColumnCalculatorOverride.apply(_this2, arguments);
237
195
  });
238
-
239
196
  _get(_getPrototypeOf(NestedHeaders.prototype), "enablePlugin", this).call(this);
240
-
241
197
  this.updatePlugin(); // @TODO: Workaround for broken plugin initialization abstraction.
242
198
  }
199
+
243
200
  /**
244
201
  * Updates the plugin's state.
245
202
  *
246
203
  * This method is executed when [`updateSettings()`](@/api/core.md#updatesettings) is invoked with any of the following configuration options:
247
204
  * - [`nestedHeaders`](@/api/options.md#nestedheaders)
248
205
  */
249
-
250
206
  }, {
251
207
  key: "updatePlugin",
252
208
  value: function updatePlugin() {
253
209
  var _this3 = this;
254
-
255
210
  if (!this.hot.view) {
256
211
  // @TODO: Workaround for broken plugin initialization abstraction.
257
212
  return;
258
213
  }
259
-
260
214
  var _this$hot$getSettings2 = this.hot.getSettings(),
261
- nestedHeaders = _this$hot$getSettings2.nestedHeaders;
262
-
215
+ nestedHeaders = _this$hot$getSettings2.nestedHeaders;
263
216
  _classPrivateFieldGet(this, _stateManager).setColumnsLimit(this.hot.countCols());
264
-
265
217
  if (Array.isArray(nestedHeaders)) {
266
218
  this.detectedOverlappedHeaders = _classPrivateFieldGet(this, _stateManager).setState(nestedHeaders);
267
219
  }
268
-
269
220
  if (this.detectedOverlappedHeaders) {
270
221
  (0, _console.warn)((0, _templateLiteralTag.toSingleLine)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["Your Nested Headers plugin setup contains overlapping headers. This kind of configuration \n is currently not supported."], ["Your Nested Headers plugin setup contains overlapping headers. This kind of configuration\\x20\n is currently not supported."]))));
271
222
  }
272
-
273
223
  if (this.enabled) {
274
224
  // This line covers the case when a developer uses the external hiding maps to manipulate
275
225
  // the columns' visibility. The tree state built from the settings - which is always built
276
226
  // as if all the columns are visible, needs to be modified to be in sync with a dataset.
277
227
  this.hot.columnIndexMapper.hidingMapsCollection.getMergedValues().forEach(function (isColumnHidden, physicalColumnIndex) {
278
228
  var actionName = isColumnHidden === true ? 'hide-column' : 'show-column';
279
-
280
229
  _classPrivateFieldGet(_this3, _stateManager).triggerColumnModification(actionName, physicalColumnIndex);
281
230
  });
282
231
  }
283
-
284
232
  if (!_classPrivateFieldGet(this, _hidingIndexMapObserver) && this.enabled) {
285
233
  _classPrivateFieldSet(this, _hidingIndexMapObserver, this.hot.columnIndexMapper.createChangesObserver('hiding').subscribe(function (changes) {
286
234
  changes.forEach(function (_ref) {
287
235
  var op = _ref.op,
288
- columnIndex = _ref.index,
289
- newValue = _ref.newValue;
290
-
236
+ columnIndex = _ref.index,
237
+ newValue = _ref.newValue;
291
238
  if (op === 'replace') {
292
239
  var actionName = newValue === true ? 'hide-column' : 'show-column';
293
-
294
240
  _classPrivateFieldGet(_this3, _stateManager).triggerColumnModification(actionName, columnIndex);
295
241
  }
296
242
  });
297
-
298
243
  _this3.ghostTable.buildWidthsMap();
299
244
  }));
300
245
  }
301
-
302
246
  this.ghostTable.setLayersCount(this.getLayersCount()).buildWidthsMap();
303
-
304
247
  _get(_getPrototypeOf(NestedHeaders.prototype), "updatePlugin", this).call(this);
305
248
  }
249
+
306
250
  /**
307
251
  * Disables the plugin functionality for this Handsontable instance.
308
252
  */
309
-
310
253
  }, {
311
254
  key: "disablePlugin",
312
255
  value: function disablePlugin() {
313
256
  this.clearColspans();
314
-
315
257
  _classPrivateFieldGet(this, _stateManager).clear();
316
-
317
258
  _classPrivateFieldGet(this, _hidingIndexMapObserver).unsubscribe();
318
-
319
259
  _classPrivateFieldSet(this, _hidingIndexMapObserver, null);
320
-
321
260
  this.ghostTable.clear();
322
-
323
261
  _get(_getPrototypeOf(NestedHeaders.prototype), "disablePlugin", this).call(this);
324
262
  }
263
+
325
264
  /**
326
265
  * Returns an instance of the internal state manager of the plugin.
327
266
  *
328
267
  * @private
329
268
  * @returns {StateManager}
330
269
  */
331
-
332
270
  }, {
333
271
  key: "getStateManager",
334
272
  value: function getStateManager() {
335
273
  return _classPrivateFieldGet(this, _stateManager);
336
274
  }
275
+
337
276
  /**
338
277
  * Gets a total number of headers levels.
339
278
  *
340
279
  * @private
341
280
  * @returns {number}
342
281
  */
343
-
344
282
  }, {
345
283
  key: "getLayersCount",
346
284
  value: function getLayersCount() {
347
285
  return _classPrivateFieldGet(this, _stateManager).getLayersCount();
348
286
  }
287
+
349
288
  /**
350
289
  * Gets column settings for a specified header. The returned object contains
351
290
  * information about the header label, its colspan length, or if it is hidden
@@ -356,50 +295,42 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
356
295
  * @param {number} columnIndex A visual column index.
357
296
  * @returns {object}
358
297
  */
359
-
360
298
  }, {
361
299
  key: "getHeaderSettings",
362
300
  value: function getHeaderSettings(headerLevel, columnIndex) {
363
301
  return _classPrivateFieldGet(this, _stateManager).getHeaderSettings(headerLevel, columnIndex);
364
302
  }
303
+
365
304
  /**
366
305
  * Clear the colspans remaining after plugin usage.
367
306
  *
368
307
  * @private
369
308
  */
370
-
371
309
  }, {
372
310
  key: "clearColspans",
373
311
  value: function clearColspans() {
374
312
  if (!this.hot.view) {
375
313
  return;
376
314
  }
377
-
378
315
  var wt = this.hot.view._wt;
379
316
  var headerLevels = wt.getSetting('columnHeaders').length;
380
317
  var mainHeaders = wt.wtTable.THEAD;
381
318
  var topHeaders = wt.wtOverlays.topOverlay.clone.wtTable.THEAD;
382
319
  var topLeftCornerHeaders = wt.wtOverlays.topInlineStartCornerOverlay ? wt.wtOverlays.topInlineStartCornerOverlay.clone.wtTable.THEAD : null;
383
-
384
320
  for (var i = 0; i < headerLevels; i++) {
385
321
  var masterLevel = mainHeaders.childNodes[i];
386
-
387
322
  if (!masterLevel) {
388
323
  break;
389
324
  }
390
-
391
325
  var topLevel = topHeaders.childNodes[i];
392
326
  var topLeftCornerLevel = topLeftCornerHeaders ? topLeftCornerHeaders.childNodes[i] : null;
393
-
394
327
  for (var j = 0, masterNodes = masterLevel.childNodes.length; j < masterNodes; j++) {
395
328
  masterLevel.childNodes[j].removeAttribute('colspan');
396
329
  (0, _element.removeClass)(masterLevel.childNodes[j], 'hiddenHeader');
397
-
398
330
  if (topLevel && topLevel.childNodes[j]) {
399
331
  topLevel.childNodes[j].removeAttribute('colspan');
400
332
  (0, _element.removeClass)(topLevel.childNodes[j], 'hiddenHeader');
401
333
  }
402
-
403
334
  if (topLeftCornerHeaders && topLeftCornerLevel && topLeftCornerLevel.childNodes[j]) {
404
335
  topLeftCornerLevel.childNodes[j].removeAttribute('colspan');
405
336
  (0, _element.removeClass)(topLeftCornerLevel.childNodes[j], 'hiddenHeader');
@@ -407,6 +338,7 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
407
338
  }
408
339
  }
409
340
  }
341
+
410
342
  /**
411
343
  * Generates the appropriate header renderer for a header row.
412
344
  *
@@ -416,66 +348,72 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
416
348
  * @returns {Function}
417
349
  * @fires Hooks#afterGetColHeader
418
350
  */
419
-
420
351
  }, {
421
352
  key: "headerRendererFactory",
422
353
  value: function headerRendererFactory(headerLevel) {
423
354
  var _this4 = this;
424
-
425
355
  var fixedColumnsStart = this.hot.view._wt.getSetting('fixedColumnsStart');
426
-
427
356
  return function (renderedColumnIndex, TH) {
428
357
  var _classPrivateFieldGet2;
429
-
430
358
  var _this4$hot = _this4.hot,
431
- rootDocument = _this4$hot.rootDocument,
432
- columnIndexMapper = _this4$hot.columnIndexMapper,
433
- view = _this4$hot.view;
434
- var visualColumnsIndex = columnIndexMapper.getVisualFromRenderableIndex(renderedColumnIndex);
435
-
436
- if (visualColumnsIndex === null) {
437
- visualColumnsIndex = renderedColumnIndex;
359
+ columnIndexMapper = _this4$hot.columnIndexMapper,
360
+ view = _this4$hot.view;
361
+ var visualColumnIndex = columnIndexMapper.getVisualFromRenderableIndex(renderedColumnIndex);
362
+ if (visualColumnIndex === null) {
363
+ visualColumnIndex = renderedColumnIndex;
438
364
  }
439
-
440
365
  TH.removeAttribute('colspan');
441
366
  (0, _element.removeClass)(TH, 'hiddenHeader');
442
-
443
- var _ref2 = (_classPrivateFieldGet2 = _classPrivateFieldGet(_this4, _stateManager).getHeaderSettings(headerLevel, visualColumnsIndex)) !== null && _classPrivateFieldGet2 !== void 0 ? _classPrivateFieldGet2 : {
444
- label: ''
445
- },
446
- colspan = _ref2.colspan,
447
- label = _ref2.label,
448
- isHidden = _ref2.isHidden,
449
- isPlaceholder = _ref2.isPlaceholder;
450
-
367
+ var _ref2 = (_classPrivateFieldGet2 = _classPrivateFieldGet(_this4, _stateManager).getHeaderSettings(headerLevel, visualColumnIndex)) !== null && _classPrivateFieldGet2 !== void 0 ? _classPrivateFieldGet2 : {
368
+ label: ''
369
+ },
370
+ colspan = _ref2.colspan,
371
+ isHidden = _ref2.isHidden,
372
+ isPlaceholder = _ref2.isPlaceholder;
451
373
  if (isPlaceholder || isHidden) {
452
374
  (0, _element.addClass)(TH, 'hiddenHeader');
453
375
  } else if (colspan > 1) {
454
376
  var _wtOverlays$topInline, _wtOverlays$inlineSta;
455
-
456
377
  var wtOverlays = view._wt.wtOverlays;
457
378
  var isTopInlineStartOverlay = (_wtOverlays$topInline = wtOverlays.topInlineStartCornerOverlay) === null || _wtOverlays$topInline === void 0 ? void 0 : _wtOverlays$topInline.clone.wtTable.THEAD.contains(TH);
458
- var isInlineStartOverlay = (_wtOverlays$inlineSta = wtOverlays.inlineStartOverlay) === null || _wtOverlays$inlineSta === void 0 ? void 0 : _wtOverlays$inlineSta.clone.wtTable.THEAD.contains(TH); // Check if there is a fixed column enabled, if so then reduce colspan to fixed column width.
379
+ var isInlineStartOverlay = (_wtOverlays$inlineSta = wtOverlays.inlineStartOverlay) === null || _wtOverlays$inlineSta === void 0 ? void 0 : _wtOverlays$inlineSta.clone.wtTable.THEAD.contains(TH);
459
380
 
381
+ // Check if there is a fixed column enabled, if so then reduce colspan to fixed column width.
460
382
  var correctedColspan = isTopInlineStartOverlay || isInlineStartOverlay ? Math.min(colspan, fixedColumnsStart - renderedColumnIndex) : colspan;
461
-
462
383
  if (correctedColspan > 1) {
463
384
  TH.setAttribute('colspan', correctedColspan);
464
385
  }
465
386
  }
466
-
467
- var divEl = rootDocument.createElement('div');
468
- var spanEl = rootDocument.createElement('span');
469
- (0, _element.addClass)(divEl, 'relative');
470
- (0, _element.addClass)(spanEl, 'colHeader');
471
- (0, _element.fastInnerHTML)(spanEl, label);
472
- divEl.appendChild(spanEl);
473
- (0, _element.empty)(TH);
474
- TH.appendChild(divEl);
475
-
476
- _this4.hot.runHooks('afterGetColHeader', visualColumnsIndex, TH);
387
+ _this4.hot.view.appendColHeader(visualColumnIndex, TH, function () {
388
+ return _this4.getColumnHeaderValue.apply(_this4, arguments);
389
+ }, headerLevel);
477
390
  };
478
391
  }
392
+
393
+ /**
394
+ * Returns the column header value for specified column and header level index.
395
+ *
396
+ * @private
397
+ * @param {number} visualColumnIndex Visual column index.
398
+ * @param {number} headerLevel The index of header level. The header level accepts positive (0 to N)
399
+ * and negative (-1 to -N) values. For positive values, 0 points to the
400
+ * top most header, and for negative direction, -1 points to the most bottom
401
+ * header (the header closest to the cells).
402
+ * @returns {string} Returns the column header value to update.
403
+ */
404
+ }, {
405
+ key: "getColumnHeaderValue",
406
+ value: function getColumnHeaderValue(visualColumnIndex, headerLevel) {
407
+ var _classPrivateFieldGet3;
408
+ var _ref3 = (_classPrivateFieldGet3 = _classPrivateFieldGet(this, _stateManager).getHeaderSettings(headerLevel, visualColumnIndex)) !== null && _classPrivateFieldGet3 !== void 0 ? _classPrivateFieldGet3 : {},
409
+ isHidden = _ref3.isHidden,
410
+ isPlaceholder = _ref3.isPlaceholder;
411
+ if (isPlaceholder || isHidden) {
412
+ return '';
413
+ }
414
+ return this.hot.getColHeader(visualColumnIndex, headerLevel);
415
+ }
416
+
479
417
  /**
480
418
  * Allows to control which header DOM element will be used to highlight.
481
419
  *
@@ -485,25 +423,20 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
485
423
  * @param {object} highlightMeta An object with meta data that describes the highlight state.
486
424
  * @returns {number}
487
425
  */
488
-
489
426
  }, {
490
427
  key: "onBeforeHighlightingColumnHeader",
491
428
  value: function onBeforeHighlightingColumnHeader(visualColumn, headerLevel, highlightMeta) {
492
429
  var headerNodeData = _classPrivateFieldGet(this, _stateManager).getHeaderTreeNodeData(headerLevel, visualColumn);
493
-
494
430
  if (!headerNodeData) {
495
431
  return visualColumn;
496
432
  }
497
-
498
433
  var classNames = highlightMeta.classNames,
499
- columnCursor = highlightMeta.columnCursor,
500
- selectionType = highlightMeta.selectionType,
501
- selectionWidth = highlightMeta.selectionWidth;
502
-
503
- var _classPrivateFieldGet3 = _classPrivateFieldGet(this, _stateManager).getHeaderSettings(headerLevel, visualColumn),
504
- isRoot = _classPrivateFieldGet3.isRoot,
505
- colspan = _classPrivateFieldGet3.colspan;
506
-
434
+ columnCursor = highlightMeta.columnCursor,
435
+ selectionType = highlightMeta.selectionType,
436
+ selectionWidth = highlightMeta.selectionWidth;
437
+ var _classPrivateFieldGet4 = _classPrivateFieldGet(this, _stateManager).getHeaderSettings(headerLevel, visualColumn),
438
+ isRoot = _classPrivateFieldGet4.isRoot,
439
+ colspan = _classPrivateFieldGet4.colspan;
507
440
  if (selectionType === _selection.HEADER_TYPE) {
508
441
  if (!isRoot) {
509
442
  return headerNodeData.columnIndex;
@@ -514,11 +447,61 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
514
447
  classNames.length = 0;
515
448
  }
516
449
  }
517
-
518
450
  return visualColumn;
519
451
  }
452
+
453
+ /**
454
+ * Listens the `beforeCopy` hook that allows processing the copied column headers so that the
455
+ * merged column headers do not propagate the value for each column but only once at the beginning
456
+ * of the column.
457
+ *
458
+ * @private
459
+ * @param {Array[]} data An array of arrays which contains data to copied.
460
+ * @param {object[]} copyableRanges An array of objects with ranges of the visual indexes (`startRow`, `startCol`, `endRow`, `endCol`)
461
+ * which will copied.
462
+ * @param {{ columnHeadersCount: number }} copiedHeadersCount An object with keys that holds information with
463
+ * the number of copied headers.
464
+ */
465
+ }, {
466
+ key: "onBeforeCopy",
467
+ value: function onBeforeCopy(data, copyableRanges, _ref4) {
468
+ var columnHeadersCount = _ref4.columnHeadersCount;
469
+ if (columnHeadersCount === 0) {
470
+ return;
471
+ }
472
+ for (var rangeIndex = 0; rangeIndex < copyableRanges.length; rangeIndex++) {
473
+ var _copyableRanges$range = copyableRanges[rangeIndex],
474
+ startRow = _copyableRanges$range.startRow,
475
+ startCol = _copyableRanges$range.startCol,
476
+ endRow = _copyableRanges$range.endRow,
477
+ endCol = _copyableRanges$range.endCol;
478
+ var rowsCount = endRow - startRow + 1;
479
+ var columnsCount = startCol - endCol + 1;
480
+
481
+ // do not process dataset ranges and column headers where only one column is copied
482
+ if (startRow >= 0 || columnsCount === 1) {
483
+ break;
484
+ }
485
+ for (var column = startCol; column <= endCol; column++) {
486
+ for (var row = startRow; row <= endRow; row++) {
487
+ var _classPrivateFieldGet5;
488
+ var zeroBasedColumnHeaderLevel = rowsCount + row;
489
+ var zeroBasedColumnIndex = column - startCol;
490
+ if (zeroBasedColumnIndex === 0) {
491
+ continue; // eslint-disable-line no-continue
492
+ }
493
+
494
+ var isRoot = (_classPrivateFieldGet5 = _classPrivateFieldGet(this, _stateManager).getHeaderTreeNodeData(row, column)) === null || _classPrivateFieldGet5 === void 0 ? void 0 : _classPrivateFieldGet5.isRoot;
495
+ if (isRoot === false) {
496
+ data[zeroBasedColumnHeaderLevel][zeroBasedColumnIndex] = '';
497
+ }
498
+ }
499
+ }
500
+ }
501
+ }
502
+
520
503
  /**
521
- * Allows to block the column selection that is controlled by the core Selection module.
504
+ * Allows blocking the column selection that is controlled by the core Selection module.
522
505
  *
523
506
  * @private
524
507
  * @param {MouseEvent} event Mouse event.
@@ -527,18 +510,17 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
527
510
  * @param {object} controller An object with properties `row`, `column` and `cell`. Each property contains
528
511
  * a boolean value that allows or disallows changing the selection for that particular area.
529
512
  */
530
-
531
513
  }, {
532
514
  key: "onBeforeOnCellMouseDown",
533
515
  value: function onBeforeOnCellMouseDown(event, coords, TD, controller) {
534
516
  var headerNodeData = this._getHeaderTreeNodeDataByCoords(coords);
535
-
536
517
  if (headerNodeData) {
537
518
  // Block the Selection module in controlling how the columns are selected. Pass the
538
519
  // responsibility of the column selection to this plugin (see "onAfterOnCellMouseDown" hook).
539
520
  controller.column = true;
540
521
  }
541
522
  }
523
+
542
524
  /**
543
525
  * Allows to control how the column selection based on the coordinates and the nested headers is made.
544
526
  *
@@ -546,27 +528,24 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
546
528
  * @param {MouseEvent} event Mouse event.
547
529
  * @param {CellCoords} coords Cell coords object containing the visual coordinates of the clicked cell.
548
530
  */
549
-
550
531
  }, {
551
532
  key: "onAfterOnCellMouseDown",
552
533
  value: function onAfterOnCellMouseDown(event, coords) {
553
534
  var headerNodeData = this._getHeaderTreeNodeDataByCoords(coords);
554
-
555
535
  if (!headerNodeData) {
556
536
  return;
557
537
  }
558
-
559
538
  var selection = this.hot.selection;
560
539
  var currentSelection = selection.isSelected() ? selection.getSelectedRange().current() : null;
561
540
  var columnsToSelect = [];
562
541
  var columnIndex = headerNodeData.columnIndex,
563
- origColspan = headerNodeData.origColspan; // The Selection module doesn't allow it to extend its behavior easily. That's why here we need
542
+ origColspan = headerNodeData.origColspan;
543
+
544
+ // The Selection module doesn't allow it to extend its behavior easily. That's why here we need
564
545
  // to re-implement the "click" and "shift" behavior. As a workaround, the logic for the nested
565
546
  // headers must implement a similar logic as in the original Selection handler
566
547
  // (see src/selection/mouseEventHandler.js).
567
-
568
548
  var allowRightClickSelection = !selection.inInSelection(coords);
569
-
570
549
  if (event.shiftKey && currentSelection) {
571
550
  if (coords.col < currentSelection.from.col) {
572
551
  columnsToSelect.push(currentSelection.getTopEndCorner().col, columnIndex, coords.row);
@@ -577,11 +556,12 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
577
556
  }
578
557
  } else if ((0, _event.isLeftClick)(event) || (0, _event.isRightClick)(event) && allowRightClickSelection) {
579
558
  columnsToSelect.push(columnIndex, columnIndex + origColspan - 1, coords.row);
580
- } // The plugin takes control of the how the columns are selected.
581
-
559
+ }
582
560
 
561
+ // The plugin takes control of how the columns are selected.
583
562
  selection.selectColumns.apply(selection, columnsToSelect);
584
563
  }
564
+
585
565
  /**
586
566
  * Makes the header-selection properly select the nested headers.
587
567
  *
@@ -592,34 +572,29 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
592
572
  * @param {object} controller An object with properties `row`, `column` and `cell`. Each property contains
593
573
  * a boolean value that allows or disallows changing the selection for that particular area.
594
574
  */
595
-
596
575
  }, {
597
576
  key: "onBeforeOnCellMouseOver",
598
577
  value: function onBeforeOnCellMouseOver(event, coords, TD, controller) {
599
578
  var _this$hot;
600
-
601
579
  if (!this.hot.view.isMouseDown()) {
602
580
  return;
603
581
  }
604
-
605
582
  var headerNodeData = this._getHeaderTreeNodeDataByCoords(coords);
606
-
607
583
  if (!headerNodeData) {
608
584
  return;
609
585
  }
610
-
611
586
  var columnIndex = headerNodeData.columnIndex,
612
- origColspan = headerNodeData.origColspan;
587
+ origColspan = headerNodeData.origColspan;
613
588
  var selectedRange = this.hot.getSelectedRangeLast();
614
589
  var topStartCoords = selectedRange.getTopStartCorner();
615
590
  var bottomEndCoords = selectedRange.getBottomEndCorner();
616
- var from = selectedRange.from; // Block the Selection module in controlling how the columns and cells are selected.
617
- // From now on, the plugin is responsible for the selection.
591
+ var from = selectedRange.from;
618
592
 
593
+ // Block the Selection module in controlling how the columns and cells are selected.
594
+ // From now on, the plugin is responsible for the selection.
619
595
  controller.column = true;
620
596
  controller.cell = true;
621
597
  var columnsToSelect = [];
622
-
623
598
  if (coords.col < from.col) {
624
599
  columnsToSelect.push(bottomEndCoords.col, columnIndex);
625
600
  } else if (coords.col > from.col) {
@@ -627,64 +602,59 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
627
602
  } else {
628
603
  columnsToSelect.push(columnIndex, columnIndex + origColspan - 1);
629
604
  }
630
-
631
605
  (_this$hot = this.hot).selectColumns.apply(_this$hot, columnsToSelect);
632
606
  }
607
+
633
608
  /**
634
609
  * `afterGetColumnHeader` hook callback - prepares the header structure.
635
610
  *
636
611
  * @private
637
612
  * @param {Array} renderersArray Array of renderers.
638
613
  */
639
-
640
614
  }, {
641
615
  key: "onAfterGetColumnHeaderRenderers",
642
616
  value: function onAfterGetColumnHeaderRenderers(renderersArray) {
643
- if (renderersArray) {
644
- renderersArray.length = 0;
645
-
646
- for (var headerLayer = 0; headerLayer < _classPrivateFieldGet(this, _stateManager).getLayersCount(); headerLayer++) {
647
- renderersArray.push(this.headerRendererFactory(headerLayer));
648
- }
617
+ renderersArray.length = 0;
618
+ for (var headerLayer = 0; headerLayer < _classPrivateFieldGet(this, _stateManager).getLayersCount(); headerLayer++) {
619
+ renderersArray.push(this.headerRendererFactory(headerLayer));
649
620
  }
650
621
  }
622
+
651
623
  /**
652
624
  * Make the renderer render the first nested column in its entirety.
653
625
  *
654
626
  * @private
655
627
  * @param {object} calc Viewport column calculator.
656
628
  */
657
-
658
629
  }, {
659
630
  key: "onAfterViewportColumnCalculatorOverride",
660
631
  value: function onAfterViewportColumnCalculatorOverride(calc) {
661
632
  var headerLayersCount = _classPrivateFieldGet(this, _stateManager).getLayersCount();
662
-
663
633
  var newStartColumn = calc.startColumn;
664
634
  var nonRenderable = !!headerLayersCount;
665
-
666
635
  for (var headerLayer = 0; headerLayer < headerLayersCount; headerLayer++) {
667
636
  var startColumn = _classPrivateFieldGet(this, _stateManager).findLeftMostColumnIndex(headerLayer, calc.startColumn);
637
+ var renderedStartColumn = this.hot.columnIndexMapper.getRenderableFromVisualIndex(startColumn);
668
638
 
669
- var renderedStartColumn = this.hot.columnIndexMapper.getRenderableFromVisualIndex(startColumn); // If any of the headers for that column index is rendered, all of them should be rendered properly, see
639
+ // If any of the headers for that column index is rendered, all of them should be rendered properly, see
670
640
  // comment below.
671
-
672
641
  if (startColumn >= 0) {
673
642
  nonRenderable = false;
674
- } // `renderedStartColumn` can be `null` if the leftmost columns are hidden. In that case -> ignore that header
675
- // level, as it should be handled by the "parent" header
676
-
643
+ }
677
644
 
645
+ // `renderedStartColumn` can be `null` if the leftmost columns are hidden. In that case -> ignore that header
646
+ // level, as it should be handled by the "parent" header
678
647
  if ((0, _number.isNumeric)(renderedStartColumn) && renderedStartColumn < calc.startColumn) {
679
648
  newStartColumn = renderedStartColumn;
680
649
  break;
681
650
  }
682
- } // If no headers for the provided column index are renderable, start rendering from the beginning of the upmost
683
- // header for that position.
684
-
651
+ }
685
652
 
653
+ // If no headers for the provided column index are renderable, start rendering from the beginning of the upmost
654
+ // header for that position.
686
655
  calc.startColumn = nonRenderable ? _classPrivateFieldGet(this, _stateManager).getHeaderTreeNodeData(0, newStartColumn).columnIndex : newStartColumn;
687
656
  }
657
+
688
658
  /**
689
659
  * `modifyColWidth` hook callback - returns width from cache, when is greater than incoming from hook.
690
660
  *
@@ -693,25 +663,49 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
693
663
  * @param {number} column Visual index of an column.
694
664
  * @returns {number}
695
665
  */
696
-
697
666
  }, {
698
667
  key: "onModifyColWidth",
699
668
  value: function onModifyColWidth(width, column) {
700
669
  var cachedWidth = this.ghostTable.getWidth(column);
701
670
  return width > cachedWidth ? width : cachedWidth;
702
671
  }
672
+
703
673
  /**
704
- * Updates the plugin state after HoT initialization.
674
+ * Listens the `modifyColumnHeaderValue` hook that overwrites the column headers values based on
675
+ * the internal state and settings of the plugin.
705
676
  *
706
677
  * @private
678
+ * @param {string} value The column header value.
679
+ * @param {number} visualColumnIndex The visual column index.
680
+ * @param {number} headerLevel The index of header level. The header level accepts positive (0 to N)
681
+ * and negative (-1 to -N) values. For positive values, 0 points to the
682
+ * top most header, and for negative direction, -1 points to the most bottom
683
+ * header (the header closest to the cells).
684
+ * @returns {string} Returns the column header value to update.
707
685
  */
686
+ }, {
687
+ key: "onModifyColumnHeaderValue",
688
+ value: function onModifyColumnHeaderValue(value, visualColumnIndex, headerLevel) {
689
+ var _classPrivateFieldGet6;
690
+ var _ref5 = (_classPrivateFieldGet6 = _classPrivateFieldGet(this, _stateManager).getHeaderTreeNodeData(headerLevel, visualColumnIndex)) !== null && _classPrivateFieldGet6 !== void 0 ? _classPrivateFieldGet6 : {
691
+ label: ''
692
+ },
693
+ label = _ref5.label;
694
+ return label;
695
+ }
708
696
 
697
+ /**
698
+ * Updates the plugin state after HoT initialization.
699
+ *
700
+ * @private
701
+ */
709
702
  }, {
710
703
  key: "onInit",
711
704
  value: function onInit() {
712
705
  // @TODO: Workaround for broken plugin initialization abstraction.
713
706
  this.updatePlugin();
714
707
  }
708
+
715
709
  /**
716
710
  * Updates the plugin state after new dataset load.
717
711
  *
@@ -720,7 +714,6 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
720
714
  * @param {boolean} initialLoad Flag that determines whether the data has been loaded
721
715
  * during the initialization.
722
716
  */
723
-
724
717
  }, {
725
718
  key: "onAfterLoadData",
726
719
  value: function onAfterLoadData(sourceData, initialLoad) {
@@ -728,23 +721,21 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
728
721
  this.updatePlugin();
729
722
  }
730
723
  }
724
+
731
725
  /**
732
726
  * Destroys the plugin instance.
733
727
  */
734
-
735
728
  }, {
736
729
  key: "destroy",
737
730
  value: function destroy() {
738
731
  _classPrivateFieldSet(this, _stateManager, null);
739
-
740
732
  if (_classPrivateFieldGet(this, _hidingIndexMapObserver) !== null) {
741
733
  _classPrivateFieldGet(this, _hidingIndexMapObserver).unsubscribe();
742
-
743
734
  _classPrivateFieldSet(this, _hidingIndexMapObserver, null);
744
735
  }
745
-
746
736
  _get(_getPrototypeOf(NestedHeaders.prototype), "destroy", this).call(this);
747
737
  }
738
+
748
739
  /**
749
740
  * Gets the tree data that belongs to the column headers pointed by the passed coordinates.
750
741
  *
@@ -752,14 +743,12 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
752
743
  * @param {CellCoords} coords The CellCoords instance.
753
744
  * @returns {object|undefined}
754
745
  */
755
-
756
746
  }, {
757
747
  key: "_getHeaderTreeNodeDataByCoords",
758
748
  value: function _getHeaderTreeNodeDataByCoords(coords) {
759
749
  if (coords.row >= 0 || coords.col < 0) {
760
750
  return;
761
751
  }
762
-
763
752
  return _classPrivateFieldGet(this, _stateManager).getHeaderTreeNodeData(coords.row, coords.col);
764
753
  }
765
754
  }], [{
@@ -772,16 +761,14 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
772
761
  get: function get() {
773
762
  return PLUGIN_PRIORITY;
774
763
  }
764
+
775
765
  /**
776
766
  * The state manager for the nested headers.
777
767
  *
778
768
  * @private
779
769
  * @type {StateManager}
780
770
  */
781
-
782
771
  }]);
783
-
784
772
  return NestedHeaders;
785
773
  }(_base.BasePlugin);
786
-
787
774
  exports.NestedHeaders = NestedHeaders;