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