handsontable 12.1.3 → 12.3.0-next-bb1a7c2-20221208

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