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,57 +1,56 @@
1
1
  "use strict";
2
2
 
3
+ require("core-js/modules/es.symbol.to-primitive.js");
4
+ require("core-js/modules/es.date.to-primitive.js");
5
+ require("core-js/modules/es.symbol.js");
6
+ require("core-js/modules/es.symbol.description.js");
7
+ require("core-js/modules/es.number.constructor.js");
8
+ require("core-js/modules/es.symbol.iterator.js");
9
+ 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); }
3
10
  exports.__esModule = true;
4
11
  exports.default = void 0;
5
-
6
12
  require("core-js/modules/es.array.includes.js");
7
-
8
13
  require("core-js/modules/es.string.includes.js");
9
-
10
14
  require("core-js/modules/es.array.index-of.js");
11
-
12
15
  require("core-js/modules/es.array.iterator.js");
13
-
14
16
  require("core-js/modules/es.object.to-string.js");
15
-
16
17
  require("core-js/modules/es.string.iterator.js");
17
-
18
18
  require("core-js/modules/es.weak-map.js");
19
-
20
19
  require("core-js/modules/web.dom-collections.iterator.js");
21
-
22
20
  var _coords = _interopRequireDefault(require("./../cell/coords"));
23
-
24
21
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
-
26
22
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
27
-
28
- 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); } }
29
-
23
+ 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); } }
30
24
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
31
-
32
25
  function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
33
-
34
26
  function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
35
-
36
- 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; }
37
-
27
+ 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; }
28
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
29
+ 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); }
38
30
  function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
39
-
40
31
  function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
41
-
42
32
  function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
43
-
44
33
  function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
45
-
46
34
  function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
47
-
48
35
  var _isRtl = /*#__PURE__*/new WeakMap();
49
-
36
+ /* eslint-disable jsdoc/require-description-complete-sentence */
50
37
  /**
51
- * CellRange holds cell coordinates as {@link CellCoords} instances. This object represent unit of the selection layer which
52
- * can contains multiple contiguous cells or single cell.
38
+ * @description
39
+ *
40
+ * The `CellRange` class holds a set of cell coordinates ([`CellCoords`](@/api/cellCoords.md) instances)
41
+ * that form a [selection range](@/guides/cell-features/selection.md#select-ranges).
42
+ *
43
+ * A single `CellRange` instance represents a single unit of selection
44
+ * that contains either a single cell or multiple adjacent cells.
45
+ *
46
+ * To import the `CellRange` class:
47
+ *
48
+ * ```js
49
+ * import Handsontable, { CellRange } from '/handsontable';
53
50
  *
54
- * @util
51
+ * // or, using modules
52
+ * import Handsontable, { CellRange } from '/handsontable/base';
53
+ * ```
55
54
  */
56
55
  var CellRange = /*#__PURE__*/function () {
57
56
  /**
@@ -59,6 +58,7 @@ var CellRange = /*#__PURE__*/function () {
59
58
  * when you press Enter. The highlight cannot point to headers (negative values) so its
60
59
  * coordinates object is normalized while assigning.
61
60
  *
61
+ * @private
62
62
  * @type {CellCoords}
63
63
  */
64
64
 
@@ -66,302 +66,313 @@ var CellRange = /*#__PURE__*/function () {
66
66
  * Usually the same as highlight, but in Excel there is distinction - one can change
67
67
  * highlight within a selection.
68
68
  *
69
+ * @private
69
70
  * @type {CellCoords}
70
71
  */
71
72
 
72
73
  /**
73
74
  * End selection.
74
75
  *
76
+ * @private
75
77
  * @type {CellCoords}
76
78
  */
77
79
 
78
80
  /**
79
81
  * @type {boolean}
80
82
  */
83
+
81
84
  function CellRange(highlight) {
82
85
  var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : highlight;
83
86
  var to = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : highlight;
84
87
  var isRtl = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
85
-
86
88
  _classCallCheck(this, CellRange);
87
-
88
89
  _defineProperty(this, "highlight", null);
89
-
90
90
  _defineProperty(this, "from", null);
91
-
92
91
  _defineProperty(this, "to", null);
93
-
94
92
  _classPrivateFieldInitSpec(this, _isRtl, {
95
93
  writable: true,
96
94
  value: false
97
95
  });
98
-
99
96
  this.highlight = highlight.clone().normalize();
100
97
  this.from = from.clone();
101
98
  this.to = to.clone();
102
-
103
99
  _classPrivateFieldSet(this, _isRtl, isRtl);
104
100
  }
101
+
105
102
  /**
106
- * Set the new coordinates for highlighting selection.
103
+ * Highlights cell selection at the `coords` coordinates.
107
104
  *
108
105
  * @param {CellCoords} coords Coordinates to use.
109
106
  * @returns {CellRange}
110
107
  */
111
-
112
-
113
108
  _createClass(CellRange, [{
114
109
  key: "setHighlight",
115
110
  value: function setHighlight(coords) {
116
111
  this.highlight = coords.clone().normalize();
117
112
  return this;
118
113
  }
114
+
119
115
  /**
120
- * Set the new coordinates where selection starts from.
116
+ * Sets the `coords` coordinates as the start of your range.
121
117
  *
122
118
  * @param {CellCoords} coords Coordinates to use.
123
119
  * @returns {CellRange}
124
120
  */
125
-
126
121
  }, {
127
122
  key: "setFrom",
128
123
  value: function setFrom(coords) {
129
124
  this.from = coords.clone();
130
125
  return this;
131
126
  }
127
+
132
128
  /**
133
- * Set new coordinates where selection ends from.
129
+ * Sets the `coords` coordinates as the end of your range.
134
130
  *
135
131
  * @param {CellCoords} coords Coordinates to use.
136
132
  * @returns {CellRange}
137
133
  */
138
-
139
134
  }, {
140
135
  key: "setTo",
141
136
  value: function setTo(coords) {
142
137
  this.to = coords.clone();
143
138
  return this;
144
139
  }
140
+
145
141
  /**
146
- * Checks if given coordinates are valid in context of a given Walkontable instance.
142
+ * Checks if the coordinates in your `CellRange` instance are valid
143
+ * in the context of a given Walkontable instance.
144
+ *
145
+ * See the [`isValid()`](@/api/cellCoords.md#isvalid) method of the [`CellCoords`](@/api/cellCoords.md) class.
147
146
  *
148
- * @param {Walkontable} wot The Walkontable instance.
147
+ * @param {Walkontable} wot A Walkontable instance.
149
148
  * @returns {boolean}
150
149
  */
151
-
152
150
  }, {
153
151
  key: "isValid",
154
152
  value: function isValid(wot) {
155
153
  return this.from.isValid(wot) && this.to.isValid(wot);
156
154
  }
155
+
157
156
  /**
158
- * Checks if this cell range is restricted to one cell.
157
+ * Checks if your range is just a single cell.
159
158
  *
160
159
  * @returns {boolean}
161
160
  */
162
-
163
161
  }, {
164
162
  key: "isSingle",
165
163
  value: function isSingle() {
166
164
  return this.from.row >= 0 && this.from.row === this.to.row && this.from.col >= 0 && this.from.col === this.to.col;
167
165
  }
166
+
168
167
  /**
169
- * Returns selected range height (in number of rows including rows' headers).
168
+ * Returns the height of your range (as a number of rows, including row headers).
170
169
  *
171
170
  * @returns {number}
172
171
  */
173
-
174
172
  }, {
175
173
  key: "getOuterHeight",
176
174
  value: function getOuterHeight() {
177
175
  return Math.max(this.from.row, this.to.row) - Math.min(this.from.row, this.to.row) + 1;
178
176
  }
177
+
179
178
  /**
180
- * Returns selected range width (in number of columns including columns' headers).
179
+ * Returns the width of your range (as a number of columns, including column headers).
181
180
  *
182
181
  * @returns {number}
183
182
  */
184
-
185
183
  }, {
186
184
  key: "getOuterWidth",
187
185
  value: function getOuterWidth() {
188
186
  return Math.max(this.from.col, this.to.col) - Math.min(this.from.col, this.to.col) + 1;
189
187
  }
188
+
190
189
  /**
191
- * Returns selected range height (in number of rows excluding rows' headers).
190
+ * Returns the height of your range (as a number of rows, excluding row headers).
192
191
  *
193
192
  * @returns {number}
194
193
  */
195
-
196
194
  }, {
197
195
  key: "getHeight",
198
196
  value: function getHeight() {
197
+ // if the selection contains only row headers, return 0
198
+ if (this.from.row < 0 && this.to.row < 0) {
199
+ return 0;
200
+ }
199
201
  var fromRow = Math.max(this.from.row, 0);
200
202
  var toRow = Math.max(this.to.row, 0);
201
203
  return Math.max(fromRow, toRow) - Math.min(fromRow, toRow) + 1;
202
204
  }
205
+
203
206
  /**
204
- * Returns selected range width (in number of columns excluding columns' headers).
207
+ * Returns the width of your range (as a number of columns, excluding column headers).
205
208
  *
206
209
  * @returns {number}
207
210
  */
208
-
209
211
  }, {
210
212
  key: "getWidth",
211
213
  value: function getWidth() {
214
+ // if the selection contains only column headers, return 0
215
+ if (this.from.col < 0 && this.to.col < 0) {
216
+ return 0;
217
+ }
212
218
  var fromCol = Math.max(this.from.col, 0);
213
219
  var toCol = Math.max(this.to.col, 0);
214
220
  return Math.max(fromCol, toCol) - Math.min(fromCol, toCol) + 1;
215
221
  }
222
+
216
223
  /**
217
- * Returns the number of cells within the range (excluding the column and row headers, if selected).
224
+ * Returns the number of cells within your range (excluding column and row headers).
218
225
  *
219
226
  * @returns {number}
220
227
  */
221
-
222
228
  }, {
223
229
  key: "getCellsCount",
224
230
  value: function getCellsCount() {
225
231
  return this.getWidth() * this.getHeight();
226
232
  }
233
+
227
234
  /**
228
- * Checks if given cell coordinates are within `from` and `to` cell coordinates of this range.
235
+ * Checks if another set of coordinates (`cellCoords`)
236
+ * is within the `from` and `to` coordinates of your range.
229
237
  *
230
- * @param {CellCoords} cellCoords The cell coordinates to check.
238
+ * @param {CellCoords} cellCoords Coordinates to check.
231
239
  * @returns {boolean}
232
240
  */
233
-
234
241
  }, {
235
242
  key: "includes",
236
243
  value: function includes(cellCoords) {
237
244
  var row = cellCoords.row,
238
- col = cellCoords.col;
245
+ col = cellCoords.col;
239
246
  var topStart = this.getOuterTopStartCorner();
240
247
  var bottomEnd = this.getOuterBottomEndCorner();
241
248
  return topStart.row <= row && bottomEnd.row >= row && topStart.col <= col && bottomEnd.col >= col;
242
249
  }
250
+
243
251
  /**
244
- * Checks if given range is within of this range.
252
+ * Checks if another range (`cellRange`) is within your range.
245
253
  *
246
- * @param {CellRange} cellRange The cells range to check.
254
+ * @param {CellRange} cellRange A range to check.
247
255
  * @returns {boolean}
248
256
  */
249
-
250
257
  }, {
251
258
  key: "includesRange",
252
259
  value: function includesRange(cellRange) {
253
260
  return this.includes(cellRange.getOuterTopStartCorner()) && this.includes(cellRange.getOuterBottomEndCorner());
254
261
  }
262
+
255
263
  /**
256
- * Checks if given range is equal to this range.
264
+ * Checks if another range (`cellRange`) is equal to your range.
257
265
  *
258
- * @param {CellRange} cellRange The cells range to check.
266
+ * @param {CellRange} cellRange A range to check.
259
267
  * @returns {boolean}
260
268
  */
261
-
262
269
  }, {
263
270
  key: "isEqual",
264
271
  value: function isEqual(cellRange) {
265
272
  return Math.min(this.from.row, this.to.row) === Math.min(cellRange.from.row, cellRange.to.row) && Math.max(this.from.row, this.to.row) === Math.max(cellRange.from.row, cellRange.to.row) && Math.min(this.from.col, this.to.col) === Math.min(cellRange.from.col, cellRange.to.col) && Math.max(this.from.col, this.to.col) === Math.max(cellRange.from.col, cellRange.to.col);
266
273
  }
274
+
267
275
  /**
268
- * Checks if tested range overlaps with the range. Range A is considered to to be overlapping with range B
269
- * if intersection of A and B or B and A is not empty.
276
+ * Checks if another range (`cellRange`) overlaps your range.
270
277
  *
271
- * @param {CellRange} cellRange The cells range to check.
278
+ * Range A overlaps range B if the intersection of A and B (or B and A) is not empty.
279
+ *
280
+ * @param {CellRange} cellRange A range to check.
272
281
  * @returns {boolean}
273
282
  */
274
-
275
283
  }, {
276
284
  key: "overlaps",
277
285
  value: function overlaps(cellRange) {
278
286
  return cellRange.isSouthEastOf(this.getOuterTopLeftCorner()) && cellRange.isNorthWestOf(this.getOuterBottomRightCorner());
279
287
  }
288
+
280
289
  /**
281
- * Checks if tested coordinates are positioned in south-east from this cell range.
290
+ * Checks if another range (`cellRange`) is south-east of your range.
282
291
  *
283
- * @param {CellRange} cellRange The cells range to check.
292
+ * @param {CellRange} cellRange A range to check.
284
293
  * @returns {boolean}
285
294
  */
286
-
287
295
  }, {
288
296
  key: "isSouthEastOf",
289
297
  value: function isSouthEastOf(cellRange) {
290
298
  return this.getOuterTopLeftCorner().isSouthEastOf(cellRange) || this.getOuterBottomRightCorner().isSouthEastOf(cellRange);
291
299
  }
300
+
292
301
  /**
293
- * Checks if tested coordinates are positioned in north-west from this cell range.
302
+ * Checks if another range (`cellRange`) is north-west of your range.
294
303
  *
295
- * @param {CellRange} cellRange The cells range to check.
304
+ * @param {CellRange} cellRange A range to check.
296
305
  * @returns {boolean}
297
306
  */
298
-
299
307
  }, {
300
308
  key: "isNorthWestOf",
301
309
  value: function isNorthWestOf(cellRange) {
302
310
  return this.getOuterTopLeftCorner().isNorthWestOf(cellRange) || this.getOuterBottomRightCorner().isNorthWestOf(cellRange);
303
311
  }
312
+
304
313
  /**
305
- * Returns `true` if the provided range is overlapping the current range horizontally (e.g. The current range's last
306
- * column is 5 and the provided range's first column is 3).
314
+ * Checks if another range (`cellRange`) overlaps your range horizontally.
307
315
  *
308
- * @param {CellRange} cellRange The cells range to check.
316
+ * For example: returns `true` if the last column of your range is `5`
317
+ * and the first column of the `cellRange` range is `3`.
318
+ *
319
+ * @param {CellRange} cellRange A range to check.
309
320
  * @returns {boolean}
310
321
  */
311
-
312
322
  }, {
313
323
  key: "isOverlappingHorizontally",
314
324
  value: function isOverlappingHorizontally(cellRange) {
315
325
  return this.getOuterTopRightCorner().col >= cellRange.getOuterTopLeftCorner().col && this.getOuterTopRightCorner().col <= cellRange.getOuterTopRightCorner().col || this.getOuterTopLeftCorner().col <= cellRange.getOuterTopRightCorner().col && this.getOuterTopLeftCorner().col >= cellRange.getOuterTopLeftCorner().col;
316
326
  }
327
+
317
328
  /**
318
- * Returns `true` if the provided range is overlapping the current range vertically (e.g. The current range's last
319
- * row is 5 and the provided range's first row is 3).
329
+ * Checks if another range (`cellRange`) overlaps your range vertically.
320
330
  *
321
- * @param {CellRange} cellRange The cells range to check.
331
+ * For example: returns `true` if the last row of your range is `5`
332
+ * and the first row of the `cellRange` range is `3`.
333
+ *
334
+ * @param {CellRange} cellRange A range to check.
322
335
  * @returns {boolean}
323
336
  */
324
-
325
337
  }, {
326
338
  key: "isOverlappingVertically",
327
339
  value: function isOverlappingVertically(cellRange) {
328
340
  return this.getOuterBottomRightCorner().row >= cellRange.getOuterTopRightCorner().row && this.getOuterBottomRightCorner().row <= cellRange.getOuterBottomRightCorner().row || this.getOuterTopRightCorner().row <= cellRange.getOuterBottomRightCorner().row && this.getOuterTopRightCorner().row >= cellRange.getOuterTopRightCorner().row;
329
341
  }
342
+
330
343
  /**
331
- * Adds a cell to a range (only if exceeds corners of the range). Returns information if range was expanded.
344
+ * Adds a cell to your range, at `cellCoords` coordinates.
332
345
  *
333
- * @param {CellCoords} cellCoords The cell coordinates.
346
+ * The `cellCoords` coordinates must exceed a corner of your range.
347
+ *
348
+ * @param {CellCoords} cellCoords A new cell's coordinates.
334
349
  * @returns {boolean}
335
350
  */
336
-
337
351
  }, {
338
352
  key: "expand",
339
353
  value: function expand(cellCoords) {
340
354
  var topStart = this.getOuterTopStartCorner();
341
355
  var bottomEnd = this.getOuterBottomEndCorner();
342
-
343
356
  if (cellCoords.row < topStart.row || cellCoords.col < topStart.col || cellCoords.row > bottomEnd.row || cellCoords.col > bottomEnd.col) {
344
357
  this.from = this._createCellCoords(Math.min(topStart.row, cellCoords.row), Math.min(topStart.col, cellCoords.col));
345
358
  this.to = this._createCellCoords(Math.max(bottomEnd.row, cellCoords.row), Math.max(bottomEnd.col, cellCoords.col));
346
359
  return true;
347
360
  }
348
-
349
361
  return false;
350
362
  }
363
+
351
364
  /**
352
- * Expand the current object by the range passed in the first argument.
365
+ * Expand your range with another range (`expandingRange`).
353
366
  *
354
- * @param {CellRange} expandingRange Object extending the range.
367
+ * @param {CellRange} expandingRange A new range.
355
368
  * @returns {boolean}
356
369
  */
357
-
358
370
  }, {
359
371
  key: "expandByRange",
360
372
  value: function expandByRange(expandingRange) {
361
373
  if (this.includesRange(expandingRange) || !this.overlaps(expandingRange)) {
362
374
  return false;
363
375
  }
364
-
365
376
  var topStart = this.getOuterTopStartCorner();
366
377
  var bottomEnd = this.getOuterBottomEndCorner();
367
378
  var initialDirection = this.getDirection();
@@ -371,31 +382,25 @@ var CellRange = /*#__PURE__*/function () {
371
382
  var resultTopCol = Math.min(topStart.col, expandingTopStart.col);
372
383
  var resultBottomRow = Math.max(bottomEnd.row, expandingBottomEnd.row);
373
384
  var resultBottomCol = Math.max(bottomEnd.col, expandingBottomEnd.col);
374
-
375
385
  var finalFrom = this._createCellCoords(resultTopRow, resultTopCol);
376
-
377
386
  var finalTo = this._createCellCoords(resultBottomRow, resultBottomCol);
378
-
379
387
  this.from = finalFrom;
380
388
  this.to = finalTo;
381
389
  this.setDirection(initialDirection);
382
-
383
390
  if (this.highlight.row === this.getOuterBottomRightCorner().row && this.getVerticalDirection() === 'N-S') {
384
391
  this.flipDirectionVertically();
385
392
  }
386
-
387
393
  if (this.highlight.col === this.getOuterTopRightCorner().col && this.getHorizontalDirection() === 'W-E') {
388
394
  this.flipDirectionHorizontally();
389
395
  }
390
-
391
396
  return true;
392
397
  }
398
+
393
399
  /**
394
400
  * Gets the direction of the selection.
395
401
  *
396
402
  * @returns {string} Returns one of the values: `'NW-SE'`, `'NE-SW'`, `'SE-NW'`, `'SW-NE'`.
397
403
  */
398
-
399
404
  }, {
400
405
  key: "getDirection",
401
406
  value: function getDirection() {
@@ -413,12 +418,12 @@ var CellRange = /*#__PURE__*/function () {
413
418
  return 'SW-NE';
414
419
  }
415
420
  }
421
+
416
422
  /**
417
423
  * Sets the direction of the selection.
418
424
  *
419
425
  * @param {string} direction One of the values: `'NW-SE'`, `'NE-SW'`, `'SE-NW'`, `'SW-NE'`.
420
426
  */
421
-
422
427
  }, {
423
428
  key: "setDirection",
424
429
  value: function setDirection(direction) {
@@ -428,363 +433,380 @@ var CellRange = /*#__PURE__*/function () {
428
433
  this.from = _ref[0];
429
434
  this.to = _ref[1];
430
435
  break;
431
-
432
436
  case 'NE-SW':
433
437
  var _ref2 = [this.getOuterTopRightCorner(), this.getOuterBottomLeftCorner()];
434
438
  this.from = _ref2[0];
435
439
  this.to = _ref2[1];
436
440
  break;
437
-
438
441
  case 'SE-NW':
439
442
  var _ref3 = [this.getOuterBottomRightCorner(), this.getOuterTopLeftCorner()];
440
443
  this.from = _ref3[0];
441
444
  this.to = _ref3[1];
442
445
  break;
443
-
444
446
  case 'SW-NE':
445
447
  var _ref4 = [this.getOuterBottomLeftCorner(), this.getOuterTopRightCorner()];
446
448
  this.from = _ref4[0];
447
449
  this.to = _ref4[1];
448
450
  break;
449
-
450
451
  default:
451
452
  break;
452
453
  }
453
454
  }
455
+
454
456
  /**
455
- * Gets the vertical direction of the range.
457
+ * Gets the vertical direction of the selection.
456
458
  *
457
459
  * @returns {string} Returns one of the values: `N-S` (north->south), `S-N` (south->north).
458
460
  */
459
-
460
461
  }, {
461
462
  key: "getVerticalDirection",
462
463
  value: function getVerticalDirection() {
463
464
  return ['NE-SW', 'NW-SE'].indexOf(this.getDirection()) > -1 ? 'N-S' : 'S-N';
464
465
  }
466
+
465
467
  /**
466
- * Gets the horizontal direction of the range.
468
+ * Gets the horizontal direction of the selection.
467
469
  *
468
470
  * @returns {string} Returns one of the values: `W-E` (west->east), `E-W` (east->west).
469
471
  */
470
-
471
472
  }, {
472
473
  key: "getHorizontalDirection",
473
474
  value: function getHorizontalDirection() {
474
475
  return ['NW-SE', 'SW-NE'].indexOf(this.getDirection()) > -1 ? 'W-E' : 'E-W';
475
476
  }
477
+
476
478
  /**
477
- * Flip the direction vertically. (e.g. `NW-SE` changes to `SW-NE`).
479
+ * Flips the direction of your range vertically (e.g., `NW-SE` changes to `SW-NE`).
478
480
  */
479
-
480
481
  }, {
481
482
  key: "flipDirectionVertically",
482
483
  value: function flipDirectionVertically() {
483
484
  var direction = this.getDirection();
484
-
485
485
  switch (direction) {
486
486
  case 'NW-SE':
487
487
  this.setDirection('SW-NE');
488
488
  break;
489
-
490
489
  case 'NE-SW':
491
490
  this.setDirection('SE-NW');
492
491
  break;
493
-
494
492
  case 'SE-NW':
495
493
  this.setDirection('NE-SW');
496
494
  break;
497
-
498
495
  case 'SW-NE':
499
496
  this.setDirection('NW-SE');
500
497
  break;
501
-
502
498
  default:
503
499
  break;
504
500
  }
505
501
  }
502
+
506
503
  /**
507
- * Flip the direction horizontally. (e.g. `NW-SE` changes to `NE-SW`).
504
+ * Flips the direction of your range horizontally (e.g., `NW-SE` changes to `NE-SW`).
508
505
  */
509
-
510
506
  }, {
511
507
  key: "flipDirectionHorizontally",
512
508
  value: function flipDirectionHorizontally() {
513
509
  var direction = this.getDirection();
514
-
515
510
  switch (direction) {
516
511
  case 'NW-SE':
517
512
  this.setDirection('NE-SW');
518
513
  break;
519
-
520
514
  case 'NE-SW':
521
515
  this.setDirection('NW-SE');
522
516
  break;
523
-
524
517
  case 'SE-NW':
525
518
  this.setDirection('SW-NE');
526
519
  break;
527
-
528
520
  case 'SW-NE':
529
521
  this.setDirection('SE-NW');
530
522
  break;
531
-
532
523
  default:
533
524
  break;
534
525
  }
535
526
  }
527
+
536
528
  /**
537
- * Gets the top left (in LTR) or top right (in RTL) corner coordinates of this range. If the corner contains
538
- * header coordinates (negative values), the corner coordinates will be normalized to 0.
529
+ * Gets the top-left (in LTR) or top-right (in RTL) corner coordinates of your range.
530
+ *
531
+ * If the corner contains header coordinates (negative values),
532
+ * the corner coordinates are normalized to `0`.
539
533
  *
540
534
  * @returns {CellCoords}
541
535
  */
542
-
543
536
  }, {
544
537
  key: "getTopStartCorner",
545
538
  value: function getTopStartCorner() {
546
539
  return this._createCellCoords(Math.min(this.from.row, this.to.row), Math.min(this.from.col, this.to.col)).normalize();
547
540
  }
541
+
548
542
  /**
549
- * Gets the top left corner coordinates of this range, no matter if the code runs in LTR or RTL document mode.
550
- * If the corner contains header coordinates (negative values), the corner coordinates will be normalized to 0.
543
+ * Gets the top-left corner coordinates of your range,
544
+ * both in the LTR and RTL layout direction.
545
+ *
546
+ * If the corner contains header coordinates (negative values),
547
+ * the corner coordinates are normalized to `0`.
551
548
  *
552
549
  * @returns {CellCoords}
553
550
  */
554
-
555
551
  }, {
556
552
  key: "getTopLeftCorner",
557
553
  value: function getTopLeftCorner() {
558
554
  return _classPrivateFieldGet(this, _isRtl) ? this.getTopEndCorner() : this.getTopStartCorner();
559
555
  }
556
+
560
557
  /**
561
- * Gets the bottom right (in LTR) or bottom left (in RTL) corner coordinates of this range. If the corner contains
562
- * header coordinates (negative values), the corner coordinates will be normalized to 0.
558
+ * Gets the bottom right (in LTR) or bottom left (in RTL) corner coordinates of your range.
559
+ *
560
+ * If the corner contains header coordinates (negative values),
561
+ * the corner coordinates are normalized to `0`.
563
562
  *
564
563
  * @returns {CellCoords}
565
564
  */
566
-
567
565
  }, {
568
566
  key: "getBottomEndCorner",
569
567
  value: function getBottomEndCorner() {
570
568
  return this._createCellCoords(Math.max(this.from.row, this.to.row), Math.max(this.from.col, this.to.col)).normalize();
571
569
  }
570
+
572
571
  /**
573
- * Gets the bottom right corner coordinates of this range, no matter if the code runs in LTR or RTL document mode.
574
- * If the corner contains header coordinates (negative values), the corner coordinates will be normalized to 0.
572
+ * Gets the bottom right corner coordinates of your range,
573
+ * both in the LTR and RTL layout direction.
574
+ *
575
+ * If the corner contains header coordinates (negative values),
576
+ * the corner coordinates are normalized to `0`.
575
577
  *
576
578
  * @returns {CellCoords}
577
579
  */
578
-
579
580
  }, {
580
581
  key: "getBottomRightCorner",
581
582
  value: function getBottomRightCorner() {
582
583
  return _classPrivateFieldGet(this, _isRtl) ? this.getBottomStartCorner() : this.getBottomEndCorner();
583
584
  }
585
+
584
586
  /**
585
- * Gets the top right (in LTR) or top left (in RTL) corner coordinates of this range. If the corner contains
586
- * header coordinates (negative values), the corner coordinates will be normalized to 0.
587
+ * Gets the top right (in LTR) or top left (in RTL) corner coordinates of your range.
588
+ *
589
+ * If the corner contains header coordinates (negative values),
590
+ * the corner coordinates are normalized to `0`.
587
591
  *
588
592
  * @returns {CellCoords}
589
593
  */
590
-
591
594
  }, {
592
595
  key: "getTopEndCorner",
593
596
  value: function getTopEndCorner() {
594
597
  return this._createCellCoords(Math.min(this.from.row, this.to.row), Math.max(this.from.col, this.to.col)).normalize();
595
598
  }
599
+
596
600
  /**
597
- * Gets the top right corner coordinates of this range, no matter if the code runs in LTR or RTL document mode.
598
- * If the corner contains header coordinates (negative values), the corner coordinates will be normalized to 0.
601
+ * Gets the top right corner coordinates of your range,
602
+ * both in the LTR and RTL layout direction.
603
+ *
604
+ * If the corner contains header coordinates (negative values),
605
+ * the corner coordinates are normalized to `0`.
599
606
  *
600
607
  * @returns {CellCoords}
601
608
  */
602
-
603
609
  }, {
604
610
  key: "getTopRightCorner",
605
611
  value: function getTopRightCorner() {
606
612
  return _classPrivateFieldGet(this, _isRtl) ? this.getTopStartCorner() : this.getTopEndCorner();
607
613
  }
614
+
608
615
  /**
609
- * Gets the bottom left (in LTR) or bottom right (in RTL) corner coordinates of this range. If the corner
610
- * contains header coordinates (negative values), the corner coordinates will be normalized to 0.
616
+ * Gets the bottom left (in LTR) or bottom right (in RTL) corner coordinates of your range.
617
+ *
618
+ * If the corner contains header coordinates (negative values),
619
+ * the corner coordinates are normalized to `0`.
611
620
  *
612
621
  * @returns {CellCoords}
613
622
  */
614
-
615
623
  }, {
616
624
  key: "getBottomStartCorner",
617
625
  value: function getBottomStartCorner() {
618
626
  return this._createCellCoords(Math.max(this.from.row, this.to.row), Math.min(this.from.col, this.to.col)).normalize();
619
627
  }
628
+
620
629
  /**
621
- * Gets the bottom left corner coordinates of this range, no matter if the code runs in LTR or RTL document mode.
622
- * If the corner contains header coordinates (negative values), the corner coordinates will be normalized to 0.
630
+ * Gets the bottom left corner coordinates of your range,
631
+ * both in the LTR and RTL layout direction.
632
+ *
633
+ * If the corner contains header coordinates (negative values),
634
+ * the corner coordinates are normalized to `0`.
623
635
  *
624
636
  * @returns {CellCoords}
625
637
  */
626
-
627
638
  }, {
628
639
  key: "getBottomLeftCorner",
629
640
  value: function getBottomLeftCorner() {
630
641
  return _classPrivateFieldGet(this, _isRtl) ? this.getBottomEndCorner() : this.getBottomStartCorner();
631
642
  }
643
+
632
644
  /**
633
- * Gets the top left (in LTR) or top right (in RTL) corner coordinates of this range. If the corner
634
- * contains header coordinates (negative values), then the top and start coordinates will be pointed to that header.
645
+ * Gets the top left (in LTR) or top right (in RTL) corner coordinates of your range.
646
+ *
647
+ * If the corner contains header coordinates (negative values),
648
+ * the top and start coordinates are pointed to that header.
635
649
  *
636
650
  * @returns {CellCoords}
637
651
  */
638
-
639
652
  }, {
640
653
  key: "getOuterTopStartCorner",
641
654
  value: function getOuterTopStartCorner() {
642
655
  return this._createCellCoords(Math.min(this.from.row, this.to.row), Math.min(this.from.col, this.to.col));
643
656
  }
657
+
644
658
  /**
645
- * Gets the top left corner coordinates of this range, no matter if the code runs in LTR or RTL document mode.
646
- * If the corner contains header coordinates (negative values), then the top and left coordinates will be
647
- * pointed to that header.
659
+ * Gets the top left corner coordinates of your range,
660
+ * both in the LTR and RTL layout direction.
661
+ *
662
+ * If the corner contains header coordinates (negative values),
663
+ * the top and left coordinates are pointed to that header.
648
664
  *
649
665
  * @returns {CellCoords}
650
666
  */
651
-
652
667
  }, {
653
668
  key: "getOuterTopLeftCorner",
654
669
  value: function getOuterTopLeftCorner() {
655
670
  return _classPrivateFieldGet(this, _isRtl) ? this.getOuterTopEndCorner() : this.getOuterTopStartCorner();
656
671
  }
672
+
657
673
  /**
658
- * Gets the bottom right (in LTR) or bottom left (in RTL) corner coordinates of this range. If the corner
659
- * contains header coordinates (negative values), then the top and start coordinates will be pointed to that header.
674
+ * Gets the bottom right (in LTR) or bottom left (in RTL) corner coordinates of your range.
675
+ *
676
+ * If the corner contains header coordinates (negative values),
677
+ * the top and start coordinates are pointed to that header.
660
678
  *
661
679
  * @returns {CellCoords}
662
680
  */
663
-
664
681
  }, {
665
682
  key: "getOuterBottomEndCorner",
666
683
  value: function getOuterBottomEndCorner() {
667
684
  return this._createCellCoords(Math.max(this.from.row, this.to.row), Math.max(this.from.col, this.to.col));
668
685
  }
686
+
669
687
  /**
670
- * Gets the bottom right corner coordinates of this range, no matter if the code runs in LTR or RTL document mode.
671
- * If the corner contains header coordinates (negative values), then the top and left coordinates will be
672
- * pointed to that header.
688
+ * Gets the bottom right corner coordinates of your range,
689
+ * both in the LTR and RTL layout direction.
690
+ *
691
+ * If the corner contains header coordinates (negative values),
692
+ * the top and left coordinates are pointed to that header.
673
693
  *
674
694
  * @returns {CellCoords}
675
695
  */
676
-
677
696
  }, {
678
697
  key: "getOuterBottomRightCorner",
679
698
  value: function getOuterBottomRightCorner() {
680
699
  return _classPrivateFieldGet(this, _isRtl) ? this.getOuterBottomStartCorner() : this.getOuterBottomEndCorner();
681
700
  }
701
+
682
702
  /**
683
- * Gets the top right (in LTR) or top left (in RTL) corner coordinates of this range. If the corner
684
- * contains header coordinates (negative values), then the top and start coordinates will be pointed to that header.
703
+ * Gets the top right (in LTR) or top left (in RTL) corner coordinates of your range.
704
+ *
705
+ * If the corner contains header coordinates (negative values),
706
+ * the top and start coordinates are pointed to that header.
685
707
  *
686
708
  * @returns {CellCoords}
687
709
  */
688
-
689
710
  }, {
690
711
  key: "getOuterTopEndCorner",
691
712
  value: function getOuterTopEndCorner() {
692
713
  return this._createCellCoords(Math.min(this.from.row, this.to.row), Math.max(this.from.col, this.to.col));
693
714
  }
715
+
694
716
  /**
695
- * Gets the top right corner coordinates of this range, no matter if the code runs in LTR or RTL document mode.
696
- * If the corner contains header coordinates (negative values), then the top and left coordinates will be
697
- * pointed to that header.
717
+ * Gets the top right corner coordinates of your range,
718
+ * both in the LTR and RTL layout direction.
719
+ *
720
+ * If the corner contains header coordinates (negative values),
721
+ * the top and left coordinates are pointed to that header.
698
722
  *
699
723
  * @returns {CellCoords}
700
724
  */
701
-
702
725
  }, {
703
726
  key: "getOuterTopRightCorner",
704
727
  value: function getOuterTopRightCorner() {
705
728
  return _classPrivateFieldGet(this, _isRtl) ? this.getOuterTopStartCorner() : this.getOuterTopEndCorner();
706
729
  }
730
+
707
731
  /**
708
- * Gets the bottom left (in LTR) or bottom right (in RTL) corner coordinates of this range. If the corner
709
- * contains header coordinates (negative values), then the top and start coordinates will be pointed to that header.
732
+ * Gets the bottom left (in LTR) or bottom right (in RTL) corner coordinates of your range.
733
+ *
734
+ * If the corner contains header coordinates (negative values),
735
+ * the top and start coordinates are pointed to that header.
710
736
  *
711
737
  * @returns {CellCoords}
712
738
  */
713
-
714
739
  }, {
715
740
  key: "getOuterBottomStartCorner",
716
741
  value: function getOuterBottomStartCorner() {
717
742
  return this._createCellCoords(Math.max(this.from.row, this.to.row), Math.min(this.from.col, this.to.col));
718
743
  }
744
+
719
745
  /**
720
- * Gets the bottom left corner coordinates of this range, no matter if the code runs in LTR or RTL document mode.
721
- * If the corner contains header coordinates (negative values), then the top and left coordinates will be
722
- * pointed to that header.
746
+ * Gets the bottom left corner coordinates of your range,
747
+ * both in the LTR and RTL layout direction.
748
+ *
749
+ * If the corner contains header coordinates (negative values),
750
+ * the top and left coordinates are pointed to that header.
723
751
  *
724
752
  * @returns {CellCoords}
725
753
  */
726
-
727
754
  }, {
728
755
  key: "getOuterBottomLeftCorner",
729
756
  value: function getOuterBottomLeftCorner() {
730
757
  return _classPrivateFieldGet(this, _isRtl) ? this.getOuterBottomEndCorner() : this.getOuterBottomStartCorner();
731
758
  }
759
+
732
760
  /**
733
- * Checks if coordinates match to one of the 4th corners of this range.
761
+ * Checks if a set of coordinates (`coords`) matches one of the 4 corners of your range.
734
762
  *
735
- * @param {CellCoords} coords Cell coordinates to check.
736
- * @param {CellRange} [expandedRange] The cells range to compare with.
763
+ * @param {CellCoords} coords Coordinates to check.
764
+ * @param {CellRange} [expandedRange] A range to compare with.
737
765
  * @returns {boolean}
738
766
  */
739
-
740
767
  }, {
741
768
  key: "isCorner",
742
769
  value: function isCorner(coords, expandedRange) {
743
770
  if (expandedRange && expandedRange.includes(coords) && (this.getOuterTopLeftCorner().isEqual(this._createCellCoords(expandedRange.from.row, expandedRange.from.col)) || this.getOuterTopRightCorner().isEqual(this._createCellCoords(expandedRange.from.row, expandedRange.to.col)) || this.getOuterBottomLeftCorner().isEqual(this._createCellCoords(expandedRange.to.row, expandedRange.from.col)) || this.getOuterBottomRightCorner().isEqual(this._createCellCoords(expandedRange.to.row, expandedRange.to.col)))) {
744
771
  return true;
745
772
  }
746
-
747
773
  return coords.isEqual(this.getOuterTopLeftCorner()) || coords.isEqual(this.getOuterTopRightCorner()) || coords.isEqual(this.getOuterBottomLeftCorner()) || coords.isEqual(this.getOuterBottomRightCorner());
748
774
  }
775
+
749
776
  /**
750
- * Gets coordinates of the corner which is opposite to the matched. When the passed coordinates matched to the
751
- * bottom-right corner of this range then the coordinates for top-left will be returned.
777
+ * Gets the coordinates of a range corner opposite to the provided `coords`.
778
+ *
779
+ * For example: if the `coords` coordinates match the bottom-right corner of your range,
780
+ * the coordinates of the top-left corner of your range are returned.
752
781
  *
753
- * @param {CellCoords} coords Cell coordinates to check.
754
- * @param {CellRange} [expandedRange] The cells range to compare with.
782
+ * @param {CellCoords} coords Coordinates to check.
783
+ * @param {CellRange} [expandedRange] A range to compare with.
755
784
  * @returns {CellCoords}
756
785
  */
757
-
758
786
  }, {
759
787
  key: "getOppositeCorner",
760
788
  value: function getOppositeCorner(coords, expandedRange) {
761
789
  if (!(coords instanceof _coords.default)) {
762
790
  return false;
763
791
  }
764
-
765
792
  if (expandedRange) {
766
793
  var from = expandedRange.from,
767
- to = expandedRange.to;
768
-
794
+ to = expandedRange.to;
769
795
  if (expandedRange.includes(coords)) {
770
796
  if (this.getOuterTopStartCorner().isEqual(this._createCellCoords(from.row, from.col))) {
771
797
  return this.getOuterBottomEndCorner();
772
798
  }
773
-
774
799
  if (this.getOuterTopEndCorner().isEqual(this._createCellCoords(from.row, to.col))) {
775
800
  return this.getOuterBottomStartCorner();
776
801
  }
777
-
778
802
  if (this.getOuterBottomStartCorner().isEqual(this._createCellCoords(to.row, from.col))) {
779
803
  return this.getOuterTopEndCorner();
780
804
  }
781
-
782
805
  if (this.getOuterBottomEndCorner().isEqual(this._createCellCoords(to.row, to.col))) {
783
806
  return this.getOuterTopStartCorner();
784
807
  }
785
808
  }
786
809
  }
787
-
788
810
  if (coords.isEqual(this.getOuterBottomEndCorner())) {
789
811
  return this.getOuterTopStartCorner();
790
812
  } else if (coords.isEqual(this.getOuterTopStartCorner())) {
@@ -795,18 +817,20 @@ var CellRange = /*#__PURE__*/function () {
795
817
  return this.getOuterTopEndCorner();
796
818
  }
797
819
  }
820
+
798
821
  /**
799
- * @param {CellRange} range The cells range to compare with.
800
- * @returns {Array}
822
+ * Indicates which borders (top, right, bottom, left) are shared between
823
+ * your `CellRange`instance and another `range` that's within your range.
824
+ *
825
+ * @param {CellRange} range A range to compare with.
826
+ * @returns {Array<'top' | 'right' | 'bottom' | 'left'>}
801
827
  */
802
-
803
828
  }, {
804
829
  key: "getBordersSharedWith",
805
830
  value: function getBordersSharedWith(range) {
806
831
  if (!this.includesRange(range)) {
807
832
  return [];
808
833
  }
809
-
810
834
  var thisBorders = {
811
835
  top: Math.min(this.from.row, this.to.row),
812
836
  bottom: Math.max(this.from.row, this.to.row),
@@ -820,38 +844,32 @@ var CellRange = /*#__PURE__*/function () {
820
844
  right: Math.max(range.from.col, range.to.col)
821
845
  };
822
846
  var result = [];
823
-
824
847
  if (thisBorders.top === rangeBorders.top) {
825
848
  result.push('top');
826
849
  }
827
-
828
850
  if (thisBorders.right === rangeBorders.right) {
829
851
  result.push('right');
830
852
  }
831
-
832
853
  if (thisBorders.bottom === rangeBorders.bottom) {
833
854
  result.push('bottom');
834
855
  }
835
-
836
856
  if (thisBorders.left === rangeBorders.left) {
837
857
  result.push('left');
838
858
  }
839
-
840
859
  return result;
841
860
  }
861
+
842
862
  /**
843
- * Get inner selected cell coords defined by this range.
863
+ * Gets the coordinates of the inner cells of your range.
844
864
  *
845
- * @returns {Array}
865
+ * @returns {CellCoords[]}
846
866
  */
847
-
848
867
  }, {
849
868
  key: "getInner",
850
869
  value: function getInner() {
851
870
  var topStart = this.getOuterTopStartCorner();
852
871
  var bottomEnd = this.getOuterBottomEndCorner();
853
872
  var out = [];
854
-
855
873
  for (var r = topStart.row; r <= bottomEnd.row; r++) {
856
874
  for (var c = topStart.col; c <= bottomEnd.col; c++) {
857
875
  if (!(this.from.row === r && this.from.col === c) && !(this.to.row === r && this.to.col === c)) {
@@ -859,22 +877,20 @@ var CellRange = /*#__PURE__*/function () {
859
877
  }
860
878
  }
861
879
  }
862
-
863
880
  return out;
864
881
  }
882
+
865
883
  /**
866
- * Get all selected cell coords defined by this range.
884
+ * Gets the coordinates of all cells of your range.
867
885
  *
868
- * @returns {Array}
886
+ * @returns {CellCoords[]}
869
887
  */
870
-
871
888
  }, {
872
889
  key: "getAll",
873
890
  value: function getAll() {
874
891
  var topStart = this.getOuterTopStartCorner();
875
892
  var bottomEnd = this.getOuterBottomEndCorner();
876
893
  var out = [];
877
-
878
894
  for (var r = topStart.row; r <= bottomEnd.row; r++) {
879
895
  for (var c = topStart.col; c <= bottomEnd.col; c++) {
880
896
  if (topStart.row === r && topStart.col === c) {
@@ -886,50 +902,54 @@ var CellRange = /*#__PURE__*/function () {
886
902
  }
887
903
  }
888
904
  }
889
-
890
905
  return out;
891
906
  }
907
+
892
908
  /**
893
- * Runs a callback function against all cells in the range. You can break the iteration by returning
894
- * `false` in the callback function.
909
+ * Runs a callback function on all cells within your range.
910
+ *
911
+ * You can break the iteration by returning `false` in the callback function.
895
912
  *
896
- * @param {Function} callback The callback function.
913
+ * @param {function(number, number): boolean} callback A callback function.
897
914
  */
898
-
899
915
  }, {
900
916
  key: "forAll",
901
917
  value: function forAll(callback) {
902
918
  var topStart = this.getOuterTopStartCorner();
903
919
  var bottomEnd = this.getOuterBottomEndCorner();
904
-
905
920
  for (var r = topStart.row; r <= bottomEnd.row; r++) {
906
921
  for (var c = topStart.col; c <= bottomEnd.col; c++) {
907
922
  var breakIteration = callback(r, c);
908
-
909
923
  if (breakIteration === false) {
910
924
  return;
911
925
  }
912
926
  }
913
927
  }
914
928
  }
929
+
915
930
  /**
916
- * Clones the range coordinates.
931
+ * Clones your `CellRange` instance.
917
932
  *
918
933
  * @returns {CellRange}
919
934
  */
920
-
921
935
  }, {
922
936
  key: "clone",
923
937
  value: function clone() {
924
938
  return new CellRange(this.highlight, this.from, this.to, _classPrivateFieldGet(this, _isRtl));
925
939
  }
940
+
926
941
  /**
927
- * Convert CellRange to literal object.
942
+ * Converts your `CellRange` instance into an object literal with the following properties:
943
+ *
944
+ * - `from`
945
+ * - `row`
946
+ * - `col`
947
+ * - `to`
948
+ * - `row`
949
+ * - `col`
928
950
  *
929
- * @returns {object} Returns a literal object with `from` and `to` properties which each of that object
930
- * contains `row` and `col` keys.
951
+ * @returns {{from: {row: number, col: number}, to: {row: number, col: number}}} An object literal with `from` and `to` properties.
931
952
  */
932
-
933
953
  }, {
934
954
  key: "toObject",
935
955
  value: function toObject() {
@@ -938,25 +958,25 @@ var CellRange = /*#__PURE__*/function () {
938
958
  to: this.to.toObject()
939
959
  };
940
960
  }
961
+
941
962
  /**
942
- * Creates and returns a new instance of the CellCoords object. The object automatically inherits
943
- * the LTR/RTL flag from this CellRange instance.
963
+ * Creates and returns a new instance of the `CellCoords` class.
964
+ *
965
+ * The new `CellCoords` instance automatically inherits the LTR/RTL flag
966
+ * from your `CellRange` instance.
944
967
  *
945
968
  * @private
946
- * @param {number} row The row index.
947
- * @param {number} column The column index.
969
+ * @param {number} row A row index.
970
+ * @param {number} column A column index.
948
971
  * @returns {CellCoords}
949
972
  */
950
-
951
973
  }, {
952
974
  key: "_createCellCoords",
953
975
  value: function _createCellCoords(row, column) {
954
976
  return new _coords.default(row, column, _classPrivateFieldGet(this, _isRtl));
955
977
  }
956
978
  }]);
957
-
958
979
  return CellRange;
959
980
  }();
960
-
961
981
  var _default = CellRange;
962
982
  exports.default = _default;