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,31 +1,19 @@
1
1
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
-
3
- 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; }
4
-
2
+ 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; }
5
3
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
6
-
7
- 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); } }
8
-
4
+ 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); } }
9
5
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
10
-
6
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
+ 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); }
11
8
  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); }
12
-
13
9
  function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
14
-
15
10
  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); }
16
-
17
11
  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
18
-
19
12
  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); }; }
20
-
21
13
  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); }
22
-
23
14
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
24
-
25
15
  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; } }
26
-
27
16
  function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
28
-
29
17
  import "core-js/modules/es.array.iterator.js";
30
18
  import "core-js/modules/es.object.to-string.js";
31
19
  import "core-js/modules/es.string.iterator.js";
@@ -36,8 +24,11 @@ import "core-js/modules/es.object.get-prototype-of.js";
36
24
  import "core-js/modules/es.reflect.construct.js";
37
25
  import "core-js/modules/es.reflect.get.js";
38
26
  import "core-js/modules/es.object.get-own-property-descriptor.js";
27
+ import "core-js/modules/es.symbol.to-primitive.js";
28
+ import "core-js/modules/es.date.to-primitive.js";
39
29
  import "core-js/modules/es.symbol.js";
40
30
  import "core-js/modules/es.symbol.description.js";
31
+ import "core-js/modules/es.number.constructor.js";
41
32
  import "core-js/modules/es.symbol.iterator.js";
42
33
  import { addClass, closest, isChildOf, hasClass, outerWidth, outerHeight } from "../../helpers/dom/element.mjs";
43
34
  import { deepClone, deepExtend, isObject } from "../../helpers/object.mjs";
@@ -54,8 +45,8 @@ var META_COMMENT = 'comment';
54
45
  var META_COMMENT_VALUE = 'value';
55
46
  var META_STYLE = 'style';
56
47
  var META_READONLY = 'readOnly';
57
- /* eslint-disable jsdoc/require-description-complete-sentence */
58
48
 
49
+ /* eslint-disable jsdoc/require-description-complete-sentence */
59
50
  /**
60
51
  * @plugin Comments
61
52
  * @class Comments
@@ -85,7 +76,7 @@ var META_READONLY = 'readOnly';
85
76
  * To add comments at the table initialization, define the `comment` property in the `cell` config array as in an example below.
86
77
  *
87
78
  * @example
88
- *
79
+ * ::: only-for javascript
89
80
  * ```js
90
81
  * const hot = new Handsontable(document.getElementById('example'), {
91
82
  * data: getData(),
@@ -110,18 +101,47 @@ var META_READONLY = 'readOnly';
110
101
  * commentsPlugin.show();
111
102
  * commentsPlugin.removeComment();
112
103
  * ```
104
+ * :::
105
+ *
106
+ * ::: only-for react
107
+ * ```jsx
108
+ * const hotRef = useRef(null);
109
+ *
110
+ * ...
111
+ *
112
+ * <HotTable
113
+ * ref={hotRef}
114
+ * data={getData()}
115
+ * comments={true}
116
+ * cell={[
117
+ * {row: 1, col: 1, comment: {value: 'Foo'}},
118
+ * {row: 2, col: 2, comment: {value: 'Bar'}}
119
+ * ]}
120
+ * />
121
+ *
122
+ * // Access to the Comments plugin instance:
123
+ * const hot = hotRef.current.hotInstance;
124
+ * const commentsPlugin = hot.getPlugin('comments');
125
+ *
126
+ * // Manage comments programmatically:
127
+ * commentsPlugin.setCommentAtCell(1, 6, 'Comment contents');
128
+ * commentsPlugin.showAtCell(1, 6);
129
+ * commentsPlugin.removeCommentAtCell(1, 6);
130
+ *
131
+ * // You can also set range once and use proper methods:
132
+ * commentsPlugin.setRange({from: {row: 1, col: 6}});
133
+ * commentsPlugin.setComment('Comment contents');
134
+ * commentsPlugin.show();
135
+ * commentsPlugin.removeComment();
136
+ * ```
137
+ * :::
113
138
  */
114
-
115
139
  export var Comments = /*#__PURE__*/function (_BasePlugin) {
116
140
  _inherits(Comments, _BasePlugin);
117
-
118
141
  var _super = _createSuper(Comments);
119
-
120
142
  function Comments(hotInstance) {
121
143
  var _this;
122
-
123
144
  _classCallCheck(this, Comments);
124
-
125
145
  _this = _super.call(this, hotInstance);
126
146
  /**
127
147
  * Instance of {@link CommentEditor}.
@@ -129,7 +149,6 @@ export var Comments = /*#__PURE__*/function (_BasePlugin) {
129
149
  * @private
130
150
  * @type {CommentEditor}
131
151
  */
132
-
133
152
  _this.editor = null;
134
153
  /**
135
154
  * Instance of {@link DisplaySwitch}.
@@ -137,7 +156,6 @@ export var Comments = /*#__PURE__*/function (_BasePlugin) {
137
156
  * @private
138
157
  * @type {DisplaySwitch}
139
158
  */
140
-
141
159
  _this.displaySwitch = null;
142
160
  /**
143
161
  * Instance of {@link EventManager}.
@@ -145,14 +163,12 @@ export var Comments = /*#__PURE__*/function (_BasePlugin) {
145
163
  * @private
146
164
  * @type {EventManager}
147
165
  */
148
-
149
166
  _this.eventManager = null;
150
167
  /**
151
168
  * Current cell range, an object with `from` property, with `row` and `col` properties (e.q. `{from: {row: 1, col: 6}}`).
152
169
  *
153
170
  * @type {object}
154
171
  */
155
-
156
172
  _this.range = {};
157
173
  /**
158
174
  * Prevents showing/hiding editor that reacts on the logic triggered by the "mouseover" events.
@@ -160,7 +176,6 @@ export var Comments = /*#__PURE__*/function (_BasePlugin) {
160
176
  * @private
161
177
  * @type {boolean}
162
178
  */
163
-
164
179
  _this.preventEditorAutoSwitch = false;
165
180
  privatePool.set(_assertThisInitialized(_this), {
166
181
  tempEditorDimensions: {},
@@ -168,44 +183,38 @@ export var Comments = /*#__PURE__*/function (_BasePlugin) {
168
183
  });
169
184
  return _this;
170
185
  }
186
+
171
187
  /**
172
188
  * Checks if the plugin is enabled in the handsontable settings. This method is executed in {@link Hooks#beforeInit}
173
- * hook and if it returns `true` than the {@link Comments#enablePlugin} method is called.
189
+ * hook and if it returns `true` then the {@link Comments#enablePlugin} method is called.
174
190
  *
175
191
  * @returns {boolean}
176
192
  */
177
-
178
-
179
193
  _createClass(Comments, [{
180
194
  key: "isEnabled",
181
195
  value: function isEnabled() {
182
196
  return !!this.hot.getSettings()[PLUGIN_KEY];
183
197
  }
198
+
184
199
  /**
185
200
  * Enables the plugin functionality for this Handsontable instance.
186
201
  */
187
-
188
202
  }, {
189
203
  key: "enablePlugin",
190
204
  value: function enablePlugin() {
191
205
  var _this2 = this;
192
-
193
206
  if (this.enabled) {
194
207
  return;
195
208
  }
196
-
197
209
  if (!this.editor) {
198
210
  this.editor = new CommentEditor(this.hot.rootDocument, this.hot.isRtl());
199
211
  }
200
-
201
212
  if (!this.eventManager) {
202
213
  this.eventManager = new EventManager(this);
203
214
  }
204
-
205
215
  if (!this.displaySwitch) {
206
216
  this.displaySwitch = new DisplaySwitch(this.getDisplayDelaySetting());
207
217
  }
208
-
209
218
  this.addHook('afterContextMenuDefaultOptions', function (options) {
210
219
  return _this2.addToContextMenu(options);
211
220
  });
@@ -228,46 +237,42 @@ export var Comments = /*#__PURE__*/function (_BasePlugin) {
228
237
  return _this2.showAtCell(row, col);
229
238
  });
230
239
  this.registerListeners();
231
-
232
240
  _get(_getPrototypeOf(Comments.prototype), "enablePlugin", this).call(this);
233
241
  }
242
+
234
243
  /**
235
244
  * Updates the plugin's state.
236
245
  *
237
246
  * This method is executed when [`updateSettings()`](@/api/core.md#updatesettings) is invoked with any of the following configuration options:
238
247
  * - [`comments`](@/api/options.md#comments)
239
248
  */
240
-
241
249
  }, {
242
250
  key: "updatePlugin",
243
251
  value: function updatePlugin() {
244
252
  this.disablePlugin();
245
253
  this.enablePlugin();
246
-
247
254
  _get(_getPrototypeOf(Comments.prototype), "updatePlugin", this).call(this);
248
-
249
255
  this.displaySwitch.updateDelay(this.getDisplayDelaySetting());
250
256
  }
257
+
251
258
  /**
252
259
  * Disables the plugin functionality for this Handsontable instance.
253
260
  */
254
-
255
261
  }, {
256
262
  key: "disablePlugin",
257
263
  value: function disablePlugin() {
258
264
  _get(_getPrototypeOf(Comments.prototype), "disablePlugin", this).call(this);
259
265
  }
266
+
260
267
  /**
261
268
  * Registers all necessary DOM listeners.
262
269
  *
263
270
  * @private
264
271
  */
265
-
266
272
  }, {
267
273
  key: "registerListeners",
268
274
  value: function registerListeners() {
269
275
  var _this3 = this;
270
-
271
276
  var rootDocument = this.hot.rootDocument;
272
277
  this.eventManager.addEventListener(rootDocument, 'mouseover', function (event) {
273
278
  return _this3.onMouseOver(event);
@@ -288,26 +293,27 @@ export var Comments = /*#__PURE__*/function (_BasePlugin) {
288
293
  return _this3.onEditorMouseUp(event);
289
294
  });
290
295
  }
296
+
291
297
  /**
292
298
  * Sets the current cell range to be able to use general methods like {@link Comments#setComment}, {@link Comments#removeComment}, {@link Comments#show}.
293
299
  *
294
300
  * @param {object} range Object with `from` property, each with `row` and `col` properties.
295
301
  */
296
-
297
302
  }, {
298
303
  key: "setRange",
299
304
  value: function setRange(range) {
300
305
  this.range = range;
301
306
  }
307
+
302
308
  /**
303
309
  * Clears the currently selected cell.
304
310
  */
305
-
306
311
  }, {
307
312
  key: "clearRange",
308
313
  value: function clearRange() {
309
314
  this.range = {};
310
315
  }
316
+
311
317
  /**
312
318
  * Checks if the event target is a cell containing a comment.
313
319
  *
@@ -315,13 +321,13 @@ export var Comments = /*#__PURE__*/function (_BasePlugin) {
315
321
  * @param {Event} event DOM event.
316
322
  * @returns {boolean}
317
323
  */
318
-
319
324
  }, {
320
325
  key: "targetIsCellWithComment",
321
326
  value: function targetIsCellWithComment(event) {
322
327
  var closestCell = closest(event.target, 'TD', 'TBODY');
323
328
  return !!(closestCell && hasClass(closestCell, 'htCommentCell') && closest(closestCell, [this.hot.rootElement]));
324
329
  }
330
+
325
331
  /**
326
332
  * Checks if the event target is a comment textarea.
327
333
  *
@@ -329,39 +335,36 @@ export var Comments = /*#__PURE__*/function (_BasePlugin) {
329
335
  * @param {Event} event DOM event.
330
336
  * @returns {boolean}
331
337
  */
332
-
333
338
  }, {
334
339
  key: "targetIsCommentTextArea",
335
340
  value: function targetIsCommentTextArea(event) {
336
341
  return this.editor.getInputElement() === event.target;
337
342
  }
343
+
338
344
  /**
339
345
  * Sets a comment for a cell according to the previously set range (see {@link Comments#setRange}).
340
346
  *
341
347
  * @param {string} value Comment contents.
342
348
  */
343
-
344
349
  }, {
345
350
  key: "setComment",
346
351
  value: function setComment(value) {
347
352
  if (!this.range.from) {
348
353
  throw new Error('Before using this method, first set cell range (hot.getPlugin("comment").setRange())');
349
354
  }
350
-
351
355
  var editorValue = this.editor.getValue();
352
356
  var comment = '';
353
-
354
357
  if (value !== null && value !== void 0) {
355
358
  comment = value;
356
359
  } else if (editorValue !== null && editorValue !== void 0) {
357
360
  comment = editorValue;
358
361
  }
359
-
360
362
  var row = this.range.from.row;
361
363
  var col = this.range.from.col;
362
364
  this.updateCommentMeta(row, col, _defineProperty({}, META_COMMENT_VALUE, comment));
363
365
  this.hot.render();
364
366
  }
367
+
365
368
  /**
366
369
  * Sets a comment for a specified cell.
367
370
  *
@@ -369,7 +372,6 @@ export var Comments = /*#__PURE__*/function (_BasePlugin) {
369
372
  * @param {number} column Visual column index.
370
373
  * @param {string} value Comment contents.
371
374
  */
372
-
373
375
  }, {
374
376
  key: "setCommentAtCell",
375
377
  value: function setCommentAtCell(row, column, value) {
@@ -378,29 +380,26 @@ export var Comments = /*#__PURE__*/function (_BasePlugin) {
378
380
  });
379
381
  this.setComment(value);
380
382
  }
383
+
381
384
  /**
382
385
  * Removes a comment from a cell according to previously set range (see {@link Comments#setRange}).
383
386
  *
384
387
  * @param {boolean} [forceRender=true] If set to `true`, the table will be re-rendered at the end of the operation.
385
388
  */
386
-
387
389
  }, {
388
390
  key: "removeComment",
389
391
  value: function removeComment() {
390
392
  var forceRender = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
391
-
392
393
  if (!this.range.from) {
393
394
  throw new Error('Before using this method, first set cell range (hot.getPlugin("comment").setRange())');
394
395
  }
395
-
396
396
  this.hot.setCellMeta(this.range.from.row, this.range.from.col, META_COMMENT);
397
-
398
397
  if (forceRender) {
399
398
  this.hot.render();
400
399
  }
401
-
402
400
  this.hide();
403
401
  }
402
+
404
403
  /**
405
404
  * Removes a comment from a specified cell.
406
405
  *
@@ -408,7 +407,6 @@ export var Comments = /*#__PURE__*/function (_BasePlugin) {
408
407
  * @param {number} column Visual column index.
409
408
  * @param {boolean} [forceRender=true] If `true`, the table will be re-rendered at the end of the operation.
410
409
  */
411
-
412
410
  }, {
413
411
  key: "removeCommentAtCell",
414
412
  value: function removeCommentAtCell(row, column) {
@@ -418,12 +416,12 @@ export var Comments = /*#__PURE__*/function (_BasePlugin) {
418
416
  });
419
417
  this.removeComment(forceRender);
420
418
  }
419
+
421
420
  /**
422
421
  * Gets comment from a cell according to previously set range (see {@link Comments#setRange}).
423
422
  *
424
423
  * @returns {string|undefined} Returns a content of the comment.
425
424
  */
426
-
427
425
  }, {
428
426
  key: "getComment",
429
427
  value: function getComment() {
@@ -431,6 +429,7 @@ export var Comments = /*#__PURE__*/function (_BasePlugin) {
431
429
  var column = this.range.from.col;
432
430
  return this.getCommentMeta(row, column, META_COMMENT_VALUE);
433
431
  }
432
+
434
433
  /**
435
434
  * Gets comment from a cell at the provided coordinates.
436
435
  *
@@ -438,39 +437,36 @@ export var Comments = /*#__PURE__*/function (_BasePlugin) {
438
437
  * @param {number} column Visual column index.
439
438
  * @returns {string|undefined} Returns a content of the comment.
440
439
  */
441
-
442
440
  }, {
443
441
  key: "getCommentAtCell",
444
442
  value: function getCommentAtCell(row, column) {
445
443
  return this.getCommentMeta(row, column, META_COMMENT_VALUE);
446
444
  }
445
+
447
446
  /**
448
447
  * Shows the comment editor accordingly to the previously set range (see {@link Comments#setRange}).
449
448
  *
450
449
  * @returns {boolean} Returns `true` if comment editor was shown.
451
450
  */
452
-
453
451
  }, {
454
452
  key: "show",
455
453
  value: function show() {
456
454
  if (!this.range.from) {
457
455
  throw new Error('Before using this method, first set cell range (hot.getPlugin("comment").setRange())');
458
456
  }
459
-
460
457
  var _this$range$from = this.range.from,
461
- row = _this$range$from.row,
462
- col = _this$range$from.col;
463
-
458
+ row = _this$range$from.row,
459
+ col = _this$range$from.col;
464
460
  if (row < 0 || row > this.hot.countSourceRows() - 1 || col < 0 || col > this.hot.countSourceCols() - 1) {
465
461
  return false;
466
462
  }
467
-
468
463
  var meta = this.hot.getCellMeta(this.range.from.row, this.range.from.col);
469
464
  this.editor.setValue(meta[META_COMMENT] ? meta[META_COMMENT][META_COMMENT_VALUE] : null || '');
470
465
  this.editor.show();
471
466
  this.refreshEditor(true);
472
467
  return true;
473
468
  }
469
+
474
470
  /**
475
471
  * Shows comment editor according to cell coordinates.
476
472
  *
@@ -478,7 +474,6 @@ export var Comments = /*#__PURE__*/function (_BasePlugin) {
478
474
  * @param {number} column Visual column index.
479
475
  * @returns {boolean} Returns `true` if comment editor was shown.
480
476
  */
481
-
482
477
  }, {
483
478
  key: "showAtCell",
484
479
  value: function showAtCell(row, column) {
@@ -487,134 +482,124 @@ export var Comments = /*#__PURE__*/function (_BasePlugin) {
487
482
  });
488
483
  return this.show();
489
484
  }
485
+
490
486
  /**
491
487
  * Hides the comment editor.
492
488
  */
493
-
494
489
  }, {
495
490
  key: "hide",
496
491
  value: function hide() {
497
492
  this.editor.hide();
498
493
  }
494
+
499
495
  /**
500
496
  * Refreshes comment editor position and styling.
501
497
  *
502
498
  * @param {boolean} [force=false] If `true` then recalculation will be forced.
503
499
  */
504
-
505
500
  }, {
506
501
  key: "refreshEditor",
507
502
  value: function refreshEditor() {
508
503
  var _renderableRow, _renderableColumn;
509
-
510
504
  var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
511
-
512
505
  if (!force && (!this.range.from || !this.editor.isVisible())) {
513
506
  return;
514
507
  }
515
-
516
508
  var _this$hot = this.hot,
517
- rowIndexMapper = _this$hot.rowIndexMapper,
518
- columnIndexMapper = _this$hot.columnIndexMapper;
509
+ rowIndexMapper = _this$hot.rowIndexMapper,
510
+ columnIndexMapper = _this$hot.columnIndexMapper;
519
511
  var _this$range$from2 = this.range.from,
520
- visualRow = _this$range$from2.row,
521
- visualColumn = _this$range$from2.col;
512
+ visualRow = _this$range$from2.row,
513
+ visualColumn = _this$range$from2.col;
522
514
  var renderableRow = rowIndexMapper.getRenderableFromVisualIndex(visualRow);
523
- var renderableColumn = columnIndexMapper.getRenderableFromVisualIndex(visualColumn); // Used when the requested row is hidden, and the editor needs to be positioned on the previous row's coords.
524
-
515
+ var renderableColumn = columnIndexMapper.getRenderableFromVisualIndex(visualColumn);
516
+ // Used when the requested row is hidden, and the editor needs to be positioned on the previous row's coords.
525
517
  var targetingPreviousRow = renderableRow === null;
526
518
 
519
+ // Reset the editor position to (0, 0) so the opening direction calculation wouldn't be influenced by its
520
+ // previous position
521
+ this.editor.setPosition(0, 0);
527
522
  if (renderableRow === null) {
528
523
  renderableRow = rowIndexMapper.getRenderableFromVisualIndex(rowIndexMapper.getNearestNotHiddenIndex(visualRow, -1));
529
524
  }
530
-
531
525
  if (renderableColumn === null) {
532
526
  renderableColumn = columnIndexMapper.getRenderableFromVisualIndex(columnIndexMapper.getNearestNotHiddenIndex(visualColumn, -1));
533
527
  }
534
-
535
528
  var isBeforeRenderedRows = renderableRow === null;
536
529
  var isBeforeRenderedColumns = renderableColumn === null;
537
530
  renderableRow = (_renderableRow = renderableRow) !== null && _renderableRow !== void 0 ? _renderableRow : 0;
538
531
  renderableColumn = (_renderableColumn = renderableColumn) !== null && _renderableColumn !== void 0 ? _renderableColumn : 0;
539
532
  var _this$hot2 = this.hot,
540
- rootWindow = _this$hot2.rootWindow,
541
- wt = _this$hot2.view._wt;
533
+ rootWindow = _this$hot2.rootWindow,
534
+ wt = _this$hot2.view._wt;
542
535
  var wtTable = wt.wtTable;
543
- var TD = wtTable.getCell({
536
+ // TODO: Probably using `hot.getCell` would be the best. However, case for showing comment editor for hidden cell
537
+ // potentially should be removed with that change (currently a test for it is passing).
538
+ var TD = wt.getCell({
544
539
  row: renderableRow,
545
540
  col: renderableColumn
546
- });
541
+ }, true);
547
542
  var commentStyle = this.getCommentMeta(visualRow, visualColumn, META_STYLE);
548
-
549
543
  if (commentStyle) {
550
544
  this.editor.setSize(commentStyle.width, commentStyle.height);
551
545
  } else {
552
546
  this.editor.resetSize();
553
547
  }
554
-
555
548
  var lastColWidth = isBeforeRenderedColumns ? 0 : wtTable.getStretchedColumnWidth(renderableColumn);
556
549
  var lastRowHeight = targetingPreviousRow && !isBeforeRenderedRows ? outerHeight(TD) : 0;
557
-
558
550
  var _TD$getBoundingClient = TD.getBoundingClientRect(),
559
- left = _TD$getBoundingClient.left,
560
- top = _TD$getBoundingClient.top,
561
- cellWidth = _TD$getBoundingClient.width,
562
- cellHeight = _TD$getBoundingClient.height;
563
-
551
+ left = _TD$getBoundingClient.left,
552
+ top = _TD$getBoundingClient.top,
553
+ cellWidth = _TD$getBoundingClient.width,
554
+ cellHeight = _TD$getBoundingClient.height;
564
555
  var _this$editor$getSize = this.editor.getSize(),
565
- editorWidth = _this$editor$getSize.width,
566
- editorHeight = _this$editor$getSize.height;
567
-
556
+ editorWidth = _this$editor$getSize.width,
557
+ editorHeight = _this$editor$getSize.height;
568
558
  var _this$hot$rootWindow = this.hot.rootWindow,
569
- innerWidth = _this$hot$rootWindow.innerWidth,
570
- innerHeight = _this$hot$rootWindow.innerHeight;
559
+ innerWidth = _this$hot$rootWindow.innerWidth,
560
+ innerHeight = _this$hot$rootWindow.innerHeight;
571
561
  var documentElement = this.hot.rootDocument.documentElement;
572
562
  var x = left + rootWindow.scrollX + lastColWidth;
573
563
  var y = top + rootWindow.scrollY + lastRowHeight;
574
-
575
564
  if (this.hot.isRtl()) {
576
565
  x -= editorWidth + lastColWidth;
577
- } // flip to the right or left the comments editor position when it goes out of browser viewport
578
-
566
+ }
579
567
 
568
+ // flip to the right or left the comments editor position when it goes out of browser viewport
580
569
  if (this.hot.isLtr() && left + cellWidth + editorWidth > innerWidth) {
581
570
  x = left + rootWindow.scrollX - editorWidth - 1;
582
571
  } else if (this.hot.isRtl() && x < -(documentElement.scrollWidth - documentElement.clientWidth)) {
583
572
  x = left + rootWindow.scrollX + lastColWidth + 1;
584
573
  }
585
-
586
574
  if (top + editorHeight > innerHeight) {
587
575
  y -= editorHeight - cellHeight + 1;
588
576
  }
589
-
590
577
  this.editor.setPosition(x, y);
591
578
  this.editor.setReadOnlyState(this.getCommentMeta(visualRow, visualColumn, META_READONLY));
592
579
  }
580
+
593
581
  /**
594
582
  * Checks if there is a comment for selected range.
595
583
  *
596
584
  * @private
597
585
  * @returns {boolean}
598
586
  */
599
-
600
587
  }, {
601
588
  key: "checkSelectionCommentsConsistency",
602
589
  value: function checkSelectionCommentsConsistency() {
603
590
  var selected = this.hot.getSelectedRangeLast();
604
-
605
591
  if (!selected) {
606
592
  return false;
607
593
  }
608
-
609
594
  var hasComment = false;
610
595
  var cell = selected.getTopStartCorner(); // IN EXCEL THERE IS COMMENT ONLY FOR TOP LEFT CELL IN SELECTION
611
596
 
612
597
  if (this.getCommentMeta(cell.row, cell.col, META_COMMENT_VALUE)) {
613
598
  hasComment = true;
614
599
  }
615
-
616
600
  return hasComment;
617
601
  }
602
+
618
603
  /**
619
604
  * Sets or update the comment-related cell meta.
620
605
  *
@@ -622,22 +607,20 @@ export var Comments = /*#__PURE__*/function (_BasePlugin) {
622
607
  * @param {number} column Visual column index.
623
608
  * @param {object} metaObject Object defining all the comment-related meta information.
624
609
  */
625
-
626
610
  }, {
627
611
  key: "updateCommentMeta",
628
612
  value: function updateCommentMeta(row, column, metaObject) {
629
613
  var oldComment = this.hot.getCellMeta(row, column)[META_COMMENT];
630
614
  var newComment;
631
-
632
615
  if (oldComment) {
633
616
  newComment = deepClone(oldComment);
634
617
  deepExtend(newComment, metaObject);
635
618
  } else {
636
619
  newComment = metaObject;
637
620
  }
638
-
639
621
  this.hot.setCellMeta(row, column, META_COMMENT, newComment);
640
622
  }
623
+
641
624
  /**
642
625
  * Gets the comment related meta information.
643
626
  *
@@ -646,83 +629,74 @@ export var Comments = /*#__PURE__*/function (_BasePlugin) {
646
629
  * @param {string} property Cell meta property.
647
630
  * @returns {Mixed}
648
631
  */
649
-
650
632
  }, {
651
633
  key: "getCommentMeta",
652
634
  value: function getCommentMeta(row, column, property) {
653
635
  var cellMeta = this.hot.getCellMeta(row, column);
654
-
655
636
  if (!cellMeta[META_COMMENT]) {
656
637
  return void 0;
657
638
  }
658
-
659
639
  return cellMeta[META_COMMENT][property];
660
640
  }
641
+
661
642
  /**
662
643
  * `mousedown` event callback.
663
644
  *
664
645
  * @private
665
646
  * @param {MouseEvent} event The `mousedown` event.
666
647
  */
667
-
668
648
  }, {
669
649
  key: "onMouseDown",
670
650
  value: function onMouseDown(event) {
671
651
  if (!this.hot.view || !this.hot.view._wt) {
672
652
  return;
673
653
  }
674
-
675
654
  if (!this.preventEditorAutoSwitch && !this.targetIsCommentTextArea(event)) {
676
655
  var eventCell = closest(event.target, 'TD', 'TBODY');
677
656
  var coordinates = null;
678
-
679
657
  if (eventCell) {
680
658
  coordinates = this.hot.getCoords(eventCell);
681
659
  }
682
-
683
660
  if (!eventCell || this.range.from && coordinates && (this.range.from.row !== coordinates.row || this.range.from.col !== coordinates.col)) {
684
661
  this.hide();
685
662
  }
686
663
  }
687
664
  }
665
+
688
666
  /**
689
667
  * `mouseover` event callback.
690
668
  *
691
669
  * @private
692
670
  * @param {MouseEvent} event The `mouseover` event.
693
671
  */
694
-
695
672
  }, {
696
673
  key: "onMouseOver",
697
674
  value: function onMouseOver(event) {
698
675
  var priv = privatePool.get(this);
699
676
  var rootDocument = this.hot.rootDocument;
700
-
701
677
  if (this.preventEditorAutoSwitch || this.editor.isFocused() || hasClass(event.target, 'wtBorder') || priv.cellBelowCursor === event.target || !this.editor) {
702
678
  return;
703
679
  }
704
-
705
680
  priv.cellBelowCursor = rootDocument.elementFromPoint(event.clientX, event.clientY);
706
-
707
681
  if (this.targetIsCellWithComment(event)) {
708
682
  var range = this.hot._createCellRange(this.hot.getCoords(event.target));
709
-
710
683
  this.displaySwitch.show(range);
711
684
  } else if (isChildOf(event.target, rootDocument) && !this.targetIsCommentTextArea(event)) {
712
685
  this.displaySwitch.hide();
713
686
  }
714
687
  }
688
+
715
689
  /**
716
690
  * `mouseup` event callback.
717
691
  *
718
692
  * @private
719
693
  */
720
-
721
694
  }, {
722
695
  key: "onMouseUp",
723
696
  value: function onMouseUp() {
724
697
  this.preventEditorAutoSwitch = false;
725
698
  }
699
+
726
700
  /**
727
701
  * The `afterRenderer` hook callback.
728
702
  *
@@ -730,7 +704,6 @@ export var Comments = /*#__PURE__*/function (_BasePlugin) {
730
704
  * @param {HTMLTableCellElement} TD The rendered `TD` element.
731
705
  * @param {object} cellProperties The rendered cell's property object.
732
706
  */
733
-
734
707
  }, {
735
708
  key: "onAfterRenderer",
736
709
  value: function onAfterRenderer(TD, cellProperties) {
@@ -738,24 +711,24 @@ export var Comments = /*#__PURE__*/function (_BasePlugin) {
738
711
  addClass(TD, cellProperties.commentedCellClassName);
739
712
  }
740
713
  }
714
+
741
715
  /**
742
716
  * `blur` event callback for the comment editor.
743
717
  *
744
718
  * @private
745
719
  */
746
-
747
720
  }, {
748
721
  key: "onEditorBlur",
749
722
  value: function onEditorBlur() {
750
723
  this.setComment();
751
724
  }
725
+
752
726
  /**
753
727
  * `mousedown` hook. Along with `onEditorMouseUp` used to simulate the textarea resizing event.
754
728
  *
755
729
  * @private
756
730
  * @param {MouseEvent} event The `mousedown` event.
757
731
  */
758
-
759
732
  }, {
760
733
  key: "onEditorMouseDown",
761
734
  value: function onEditorMouseDown(event) {
@@ -765,20 +738,19 @@ export var Comments = /*#__PURE__*/function (_BasePlugin) {
765
738
  height: outerHeight(event.target)
766
739
  };
767
740
  }
741
+
768
742
  /**
769
743
  * `mouseup` hook. Along with `onEditorMouseDown` used to simulate the textarea resizing event.
770
744
  *
771
745
  * @private
772
746
  * @param {MouseEvent} event The `mouseup` event.
773
747
  */
774
-
775
748
  }, {
776
749
  key: "onEditorMouseUp",
777
750
  value: function onEditorMouseUp(event) {
778
751
  var priv = privatePool.get(this);
779
752
  var currentWidth = outerWidth(event.target);
780
753
  var currentHeight = outerHeight(event.target);
781
-
782
754
  if (currentWidth !== priv.tempEditorDimensions.width + 1 || currentHeight !== priv.tempEditorDimensions.height + 2) {
783
755
  this.updateCommentMeta(this.range.from.row, this.range.from.col, _defineProperty({}, META_STYLE, {
784
756
  width: currentWidth,
@@ -786,12 +758,12 @@ export var Comments = /*#__PURE__*/function (_BasePlugin) {
786
758
  }));
787
759
  }
788
760
  }
761
+
789
762
  /**
790
763
  * Context Menu's "Add comment" callback. Results in showing the comment editor.
791
764
  *
792
765
  * @private
793
766
  */
794
-
795
767
  }, {
796
768
  key: "onContextMenuAddComment",
797
769
  value: function onContextMenuAddComment() {
@@ -805,17 +777,16 @@ export var Comments = /*#__PURE__*/function (_BasePlugin) {
805
777
  this.hot.deselectCell();
806
778
  this.editor.focus();
807
779
  }
780
+
808
781
  /**
809
782
  * Context Menu's "remove comment" callback.
810
783
  *
811
784
  * @private
812
785
  */
813
-
814
786
  }, {
815
787
  key: "onContextMenuRemoveComment",
816
788
  value: function onContextMenuRemoveComment() {
817
789
  var _this4 = this;
818
-
819
790
  var coords = this.hot.getSelectedRangeLast();
820
791
  this.preventEditorAutoSwitch = true;
821
792
  coords.forAll(function (row, column) {
@@ -825,43 +796,39 @@ export var Comments = /*#__PURE__*/function (_BasePlugin) {
825
796
  });
826
797
  this.hot.render();
827
798
  }
799
+
828
800
  /**
829
801
  * Context Menu's "make comment read-only" callback.
830
802
  *
831
803
  * @private
832
804
  */
833
-
834
805
  }, {
835
806
  key: "onContextMenuMakeReadOnly",
836
807
  value: function onContextMenuMakeReadOnly() {
837
808
  var _this5 = this;
838
-
839
809
  var coords = this.hot.getSelectedRangeLast();
840
810
  this.preventEditorAutoSwitch = true;
841
811
  coords.forAll(function (row, column) {
842
812
  if (row >= 0 && column >= 0) {
843
813
  var currentState = !!_this5.getCommentMeta(row, column, META_READONLY);
844
-
845
814
  _this5.updateCommentMeta(row, column, _defineProperty({}, META_READONLY, !currentState));
846
815
  }
847
816
  });
848
817
  }
818
+
849
819
  /**
850
820
  * Add Comments plugin options to the Context Menu.
851
821
  *
852
822
  * @private
853
823
  * @param {object} defaultOptions The menu options.
854
824
  */
855
-
856
825
  }, {
857
826
  key: "addToContextMenu",
858
827
  value: function addToContextMenu(defaultOptions) {
859
828
  var _this6 = this;
860
-
861
829
  var isThereAnyCellRendered = function isThereAnyCellRendered() {
862
830
  return _this6.hot.rowIndexMapper.getRenderableIndexesLength() > 0 && _this6.hot.columnIndexMapper.getRenderableIndexesLength() > 0;
863
831
  };
864
-
865
832
  defaultOptions.items.push({
866
833
  name: '---------'
867
834
  }, {
@@ -870,7 +837,6 @@ export var Comments = /*#__PURE__*/function (_BasePlugin) {
870
837
  if (_this6.checkSelectionCommentsConsistency()) {
871
838
  return _this6.hot.getTranslatedPhrase(C.CONTEXTMENU_ITEMS_EDIT_COMMENT);
872
839
  }
873
-
874
840
  return _this6.hot.getTranslatedPhrase(C.CONTEXTMENU_ITEMS_ADD_COMMENT);
875
841
  },
876
842
  callback: function callback() {
@@ -880,7 +846,6 @@ export var Comments = /*#__PURE__*/function (_BasePlugin) {
880
846
  if (!isThereAnyCellRendered()) {
881
847
  return true;
882
848
  }
883
-
884
849
  return !(_this6.hot.getSelectedLast() && !_this6.hot.selection.isSelectedByCorner());
885
850
  }
886
851
  }, {
@@ -895,31 +860,25 @@ export var Comments = /*#__PURE__*/function (_BasePlugin) {
895
860
  if (!isThereAnyCellRendered()) {
896
861
  return true;
897
862
  }
898
-
899
863
  return !(_this6.hot.getSelectedLast() && !_this6.hot.selection.isSelectedByCorner());
900
864
  }
901
865
  }, {
902
866
  key: 'commentsReadOnly',
903
867
  name: function name() {
904
868
  var _this7 = this;
905
-
906
869
  var label = this.getTranslatedPhrase(C.CONTEXTMENU_ITEMS_READ_ONLY_COMMENT);
907
870
  var hasProperty = checkSelectionConsistency(this.getSelectedRangeLast(), function (row, col) {
908
871
  var readOnlyProperty = _this7.getCellMeta(row, col)[META_COMMENT];
909
-
910
872
  if (readOnlyProperty) {
911
873
  readOnlyProperty = readOnlyProperty[META_READONLY];
912
874
  }
913
-
914
875
  if (readOnlyProperty) {
915
876
  return true;
916
877
  }
917
878
  });
918
-
919
879
  if (hasProperty) {
920
880
  label = markLabelAsSelected(label);
921
881
  }
922
-
923
882
  return label;
924
883
  },
925
884
  callback: function callback() {
@@ -929,42 +888,38 @@ export var Comments = /*#__PURE__*/function (_BasePlugin) {
929
888
  if (!isThereAnyCellRendered()) {
930
889
  return true;
931
890
  }
932
-
933
891
  return !(_this6.hot.getSelectedLast() && !_this6.hot.selection.isSelectedByCorner()) || !_this6.checkSelectionCommentsConsistency();
934
892
  }
935
893
  });
936
894
  }
895
+
937
896
  /**
938
897
  * Get `displayDelay` setting of comment plugin.
939
898
  *
940
899
  * @private
941
900
  * @returns {number|undefined}
942
901
  */
943
-
944
902
  }, {
945
903
  key: "getDisplayDelaySetting",
946
904
  value: function getDisplayDelaySetting() {
947
905
  var commentSetting = this.hot.getSettings()[PLUGIN_KEY];
948
-
949
906
  if (isObject(commentSetting)) {
950
907
  return commentSetting.displayDelay;
951
908
  }
952
909
  }
910
+
953
911
  /**
954
912
  * Destroys the plugin instance.
955
913
  */
956
-
957
914
  }, {
958
915
  key: "destroy",
959
916
  value: function destroy() {
960
917
  if (this.editor) {
961
918
  this.editor.destroy();
962
919
  }
963
-
964
920
  if (this.displaySwitch) {
965
921
  this.displaySwitch.destroy();
966
922
  }
967
-
968
923
  _get(_getPrototypeOf(Comments.prototype), "destroy", this).call(this);
969
924
  }
970
925
  }], [{
@@ -978,6 +933,5 @@ export var Comments = /*#__PURE__*/function (_BasePlugin) {
978
933
  return PLUGIN_PRIORITY;
979
934
  }
980
935
  }]);
981
-
982
936
  return Comments;
983
937
  }(BasePlugin);