handsontable 12.1.3 → 12.3.0-next-bb1a7c2-20221208

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (948) hide show
  1. package/3rdparty/SheetClip/SheetClip.js +3 -32
  2. package/3rdparty/SheetClip/SheetClip.mjs +3 -23
  3. package/3rdparty/SheetClip/index.js +0 -2
  4. package/3rdparty/autoResize/autoResize.js +119 -145
  5. package/3rdparty/autoResize/autoResize.mjs +119 -143
  6. package/3rdparty/autoResize/index.js +0 -2
  7. package/3rdparty/walkontable/src/border.js +44 -154
  8. package/3rdparty/walkontable/src/border.mjs +41 -136
  9. package/3rdparty/walkontable/src/calculator/constants.js +0 -3
  10. package/3rdparty/walkontable/src/calculator/constants.mjs +0 -2
  11. package/3rdparty/walkontable/src/calculator/index.js +0 -10
  12. package/3rdparty/walkontable/src/calculator/viewportColumns.js +36 -77
  13. package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +36 -70
  14. package/3rdparty/walkontable/src/calculator/viewportRows.js +30 -49
  15. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +30 -42
  16. package/3rdparty/walkontable/src/cell/coords.d.ts +1 -1
  17. package/3rdparty/walkontable/src/cell/coords.js +73 -65
  18. package/3rdparty/walkontable/src/cell/coords.mjs +73 -60
  19. package/3rdparty/walkontable/src/cell/range.d.ts +19 -16
  20. package/3rdparty/walkontable/src/cell/range.js +251 -231
  21. package/3rdparty/walkontable/src/cell/range.mjs +251 -222
  22. package/3rdparty/walkontable/src/core/_base.js +30 -74
  23. package/3rdparty/walkontable/src/core/_base.mjs +30 -67
  24. package/3rdparty/walkontable/src/core/clone.js +11 -44
  25. package/3rdparty/walkontable/src/core/clone.mjs +11 -32
  26. package/3rdparty/walkontable/src/core/core.js +8 -56
  27. package/3rdparty/walkontable/src/core/core.mjs +8 -38
  28. package/3rdparty/walkontable/src/event.js +41 -79
  29. package/3rdparty/walkontable/src/event.mjs +41 -66
  30. package/3rdparty/walkontable/src/facade/core.js +14 -16
  31. package/3rdparty/walkontable/src/facade/core.mjs +14 -13
  32. package/3rdparty/walkontable/src/filter/column.js +22 -17
  33. package/3rdparty/walkontable/src/filter/column.mjs +22 -16
  34. package/3rdparty/walkontable/src/filter/row.js +22 -17
  35. package/3rdparty/walkontable/src/filter/row.mjs +22 -16
  36. package/3rdparty/walkontable/src/index.js +0 -31
  37. package/3rdparty/walkontable/src/overlay/_base.js +38 -69
  38. package/3rdparty/walkontable/src/overlay/_base.mjs +38 -61
  39. package/3rdparty/walkontable/src/overlay/bottom.js +38 -103
  40. package/3rdparty/walkontable/src/overlay/bottom.mjs +38 -88
  41. package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.js +12 -52
  42. package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.mjs +12 -37
  43. package/3rdparty/walkontable/src/overlay/constants.js +0 -6
  44. package/3rdparty/walkontable/src/overlay/constants.mjs +0 -1
  45. package/3rdparty/walkontable/src/overlay/index.js +0 -17
  46. package/3rdparty/walkontable/src/overlay/inlineStart.js +26 -90
  47. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +26 -75
  48. package/3rdparty/walkontable/src/overlay/top.js +37 -104
  49. package/3rdparty/walkontable/src/overlay/top.mjs +37 -89
  50. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +14 -55
  51. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +14 -40
  52. package/3rdparty/walkontable/src/overlays.js +124 -145
  53. package/3rdparty/walkontable/src/overlays.mjs +124 -135
  54. package/3rdparty/walkontable/src/renderer/_base.js +17 -19
  55. package/3rdparty/walkontable/src/renderer/_base.mjs +17 -17
  56. package/3rdparty/walkontable/src/renderer/cells.js +15 -53
  57. package/3rdparty/walkontable/src/renderer/cells.mjs +15 -39
  58. package/3rdparty/walkontable/src/renderer/colGroup.js +15 -46
  59. package/3rdparty/walkontable/src/renderer/colGroup.mjs +15 -34
  60. package/3rdparty/walkontable/src/renderer/columnHeaders.js +13 -49
  61. package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +13 -37
  62. package/3rdparty/walkontable/src/renderer/index.js +26 -35
  63. package/3rdparty/walkontable/src/renderer/index.mjs +26 -22
  64. package/3rdparty/walkontable/src/renderer/rowHeaders.js +13 -49
  65. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +13 -36
  66. package/3rdparty/walkontable/src/renderer/rows.js +11 -49
  67. package/3rdparty/walkontable/src/renderer/rows.mjs +11 -32
  68. package/3rdparty/walkontable/src/renderer/table.js +35 -48
  69. package/3rdparty/walkontable/src/renderer/table.mjs +35 -47
  70. package/3rdparty/walkontable/src/scroll.js +69 -86
  71. package/3rdparty/walkontable/src/scroll.mjs +69 -84
  72. package/3rdparty/walkontable/src/selection.js +28 -103
  73. package/3rdparty/walkontable/src/selection.mjs +26 -83
  74. package/3rdparty/walkontable/src/settings.js +25 -31
  75. package/3rdparty/walkontable/src/settings.mjs +25 -29
  76. package/3rdparty/walkontable/src/table/bottom.js +6 -34
  77. package/3rdparty/walkontable/src/table/bottom.mjs +6 -19
  78. package/3rdparty/walkontable/src/table/bottomInlineStartCorner.js +6 -34
  79. package/3rdparty/walkontable/src/table/bottomInlineStartCorner.mjs +6 -19
  80. package/3rdparty/walkontable/src/table/inlineStart.js +6 -34
  81. package/3rdparty/walkontable/src/table/inlineStart.mjs +6 -19
  82. package/3rdparty/walkontable/src/table/master.js +15 -54
  83. package/3rdparty/walkontable/src/table/master.mjs +15 -38
  84. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +1 -16
  85. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +1 -14
  86. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +1 -16
  87. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +1 -14
  88. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +1 -10
  89. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +1 -8
  90. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +1 -11
  91. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +1 -9
  92. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +1 -10
  93. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +1 -8
  94. package/3rdparty/walkontable/src/table/top.js +6 -34
  95. package/3rdparty/walkontable/src/table/top.mjs +6 -19
  96. package/3rdparty/walkontable/src/table/topInlineStartCorner.js +6 -34
  97. package/3rdparty/walkontable/src/table/topInlineStartCorner.mjs +6 -19
  98. package/3rdparty/walkontable/src/table.js +73 -233
  99. package/3rdparty/walkontable/src/table.mjs +71 -210
  100. package/3rdparty/walkontable/src/types.js +0 -5
  101. package/3rdparty/walkontable/src/types.mjs +0 -5
  102. package/3rdparty/walkontable/src/utils/column.js +18 -30
  103. package/3rdparty/walkontable/src/utils/column.mjs +18 -25
  104. package/3rdparty/walkontable/src/utils/nodesPool.js +16 -11
  105. package/3rdparty/walkontable/src/utils/nodesPool.mjs +16 -10
  106. package/3rdparty/walkontable/src/utils/orderView/constants.js +0 -3
  107. package/3rdparty/walkontable/src/utils/orderView/constants.mjs +0 -2
  108. package/3rdparty/walkontable/src/utils/orderView/index.js +0 -5
  109. package/3rdparty/walkontable/src/utils/orderView/sharedView.js +7 -32
  110. package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +7 -21
  111. package/3rdparty/walkontable/src/utils/orderView/view.js +27 -45
  112. package/3rdparty/walkontable/src/utils/orderView/view.mjs +27 -42
  113. package/3rdparty/walkontable/src/utils/orderView/viewSize.js +16 -14
  114. package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +16 -13
  115. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +21 -21
  116. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +21 -18
  117. package/3rdparty/walkontable/src/utils/row.js +15 -12
  118. package/3rdparty/walkontable/src/utils/row.mjs +15 -11
  119. package/3rdparty/walkontable/src/viewport.js +51 -99
  120. package/3rdparty/walkontable/src/viewport.mjs +51 -96
  121. package/CHANGELOG.md +99 -1
  122. package/base.d.ts +1 -0
  123. package/base.js +11 -17
  124. package/base.mjs +10 -11
  125. package/cellTypes/autocompleteType/autocompleteType.js +0 -4
  126. package/cellTypes/autocompleteType/index.js +0 -2
  127. package/cellTypes/checkboxType/checkboxType.js +0 -3
  128. package/cellTypes/checkboxType/index.js +0 -2
  129. package/cellTypes/dateType/dateType.js +0 -4
  130. package/cellTypes/dateType/index.js +0 -2
  131. package/cellTypes/dropdownType/dropdownType.js +0 -4
  132. package/cellTypes/dropdownType/index.js +0 -2
  133. package/cellTypes/handsontableType/handsontableType.js +0 -3
  134. package/cellTypes/handsontableType/index.js +0 -2
  135. package/cellTypes/index.js +0 -21
  136. package/cellTypes/index.mjs +0 -1
  137. package/cellTypes/numericType/index.js +0 -2
  138. package/cellTypes/numericType/numericType.js +0 -4
  139. package/cellTypes/passwordType/index.js +0 -2
  140. package/cellTypes/passwordType/passwordType.js +0 -3
  141. package/cellTypes/registry.js +10 -25
  142. package/cellTypes/registry.mjs +10 -20
  143. package/cellTypes/textType/index.js +0 -2
  144. package/cellTypes/textType/textType.js +0 -3
  145. package/cellTypes/timeType/index.js +0 -2
  146. package/cellTypes/timeType/timeType.js +0 -4
  147. package/core.d.ts +6 -2
  148. package/core.js +714 -1070
  149. package/core.mjs +717 -1015
  150. package/dataMap/dataMap.js +202 -236
  151. package/dataMap/dataMap.mjs +201 -209
  152. package/{dataSource.js → dataMap/dataSource.js} +29 -65
  153. package/{dataSource.mjs → dataMap/dataSource.mjs} +29 -57
  154. package/dataMap/index.js +0 -13
  155. package/dataMap/metaManager/index.js +33 -45
  156. package/dataMap/metaManager/index.mjs +33 -37
  157. package/dataMap/metaManager/lazyFactoryMap.js +17 -62
  158. package/dataMap/metaManager/lazyFactoryMap.mjs +17 -46
  159. package/dataMap/metaManager/metaLayers/cellMeta.js +26 -57
  160. package/dataMap/metaManager/metaLayers/cellMeta.mjs +25 -41
  161. package/dataMap/metaManager/metaLayers/columnMeta.js +23 -24
  162. package/dataMap/metaManager/metaLayers/columnMeta.mjs +24 -21
  163. package/dataMap/metaManager/metaLayers/globalMeta.js +30 -21
  164. package/dataMap/metaManager/metaLayers/globalMeta.mjs +31 -18
  165. package/dataMap/metaManager/metaLayers/tableMeta.js +18 -15
  166. package/dataMap/metaManager/metaLayers/tableMeta.mjs +19 -14
  167. package/dataMap/metaManager/metaSchema.js +173 -213
  168. package/dataMap/metaManager/metaSchema.mjs +173 -204
  169. package/dataMap/metaManager/mods/dynamicCellMeta.js +15 -35
  170. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +15 -24
  171. package/dataMap/metaManager/mods/extendMetaProperties.js +14 -27
  172. package/dataMap/metaManager/mods/extendMetaProperties.mjs +14 -19
  173. package/dataMap/metaManager/utils.js +49 -28
  174. package/dataMap/metaManager/utils.mjs +50 -21
  175. package/dataMap/replaceData.js +15 -35
  176. package/dataMap/replaceData.mjs +15 -23
  177. package/dist/handsontable.css +9 -9
  178. package/dist/handsontable.full.css +9 -9
  179. package/dist/handsontable.full.js +13065 -28165
  180. package/dist/handsontable.full.min.css +2 -2
  181. package/dist/handsontable.full.min.js +108 -114
  182. package/dist/handsontable.js +11528 -21792
  183. package/dist/handsontable.min.css +2 -2
  184. package/dist/handsontable.min.js +3 -3
  185. package/dist/languages/all.js +111 -240
  186. package/dist/languages/all.min.js +1 -1
  187. package/dist/languages/ar-AR.js +50 -14
  188. package/dist/languages/ar-AR.min.js +1 -1
  189. package/dist/languages/cs-CZ.js +52 -16
  190. package/dist/languages/cs-CZ.min.js +1 -1
  191. package/dist/languages/de-CH.js +52 -16
  192. package/dist/languages/de-CH.min.js +1 -1
  193. package/dist/languages/de-DE.js +53 -17
  194. package/dist/languages/de-DE.min.js +1 -1
  195. package/dist/languages/en-US.js +56 -20
  196. package/dist/languages/en-US.min.js +1 -1
  197. package/dist/languages/es-MX.js +56 -20
  198. package/dist/languages/es-MX.min.js +1 -1
  199. package/dist/languages/fr-FR.js +55 -19
  200. package/dist/languages/fr-FR.min.js +1 -1
  201. package/dist/languages/it-IT.js +55 -19
  202. package/dist/languages/it-IT.min.js +1 -1
  203. package/dist/languages/ja-JP.js +83 -43
  204. package/dist/languages/ja-JP.min.js +1 -1
  205. package/dist/languages/ko-KR.js +84 -43
  206. package/dist/languages/ko-KR.min.js +1 -1
  207. package/dist/languages/lv-LV.js +85 -43
  208. package/dist/languages/lv-LV.min.js +1 -1
  209. package/dist/languages/nb-NO.js +86 -43
  210. package/dist/languages/nb-NO.min.js +1 -1
  211. package/dist/languages/nl-NL.js +87 -43
  212. package/dist/languages/nl-NL.min.js +1 -1
  213. package/dist/languages/pl-PL.js +88 -43
  214. package/dist/languages/pl-PL.min.js +1 -1
  215. package/dist/languages/pt-BR.js +67 -28
  216. package/dist/languages/pt-BR.min.js +1 -1
  217. package/dist/languages/ru-RU.js +67 -28
  218. package/dist/languages/ru-RU.min.js +1 -1
  219. package/dist/languages/sr-SP.js +55 -16
  220. package/dist/languages/sr-SP.min.js +1 -1
  221. package/dist/languages/zh-CN.js +55 -16
  222. package/dist/languages/zh-CN.min.js +1 -1
  223. package/dist/languages/zh-TW.js +55 -16
  224. package/dist/languages/zh-TW.min.js +1 -1
  225. package/editorManager.js +53 -113
  226. package/editorManager.mjs +50 -90
  227. package/editors/autocompleteEditor/autocompleteEditor.js +36 -138
  228. package/editors/autocompleteEditor/autocompleteEditor.mjs +35 -108
  229. package/editors/autocompleteEditor/index.js +0 -2
  230. package/editors/baseEditor/baseEditor.js +55 -160
  231. package/editors/baseEditor/baseEditor.mjs +54 -133
  232. package/editors/baseEditor/index.js +0 -2
  233. package/editors/checkboxEditor/checkboxEditor.js +8 -34
  234. package/editors/checkboxEditor/checkboxEditor.mjs +8 -20
  235. package/editors/checkboxEditor/index.js +0 -2
  236. package/editors/dateEditor/dateEditor.js +26 -97
  237. package/editors/dateEditor/dateEditor.mjs +26 -76
  238. package/editors/dateEditor/index.js +0 -2
  239. package/editors/dropdownEditor/dropdownEditor.js +7 -42
  240. package/editors/dropdownEditor/dropdownEditor.mjs +7 -23
  241. package/editors/dropdownEditor/index.js +0 -2
  242. package/editors/handsontableEditor/handsontableEditor.js +19 -86
  243. package/editors/handsontableEditor/handsontableEditor.mjs +19 -67
  244. package/editors/handsontableEditor/index.js +0 -2
  245. package/editors/index.js +0 -25
  246. package/editors/index.mjs +0 -1
  247. package/editors/numericEditor/index.js +0 -2
  248. package/editors/numericEditor/numericEditor.js +7 -32
  249. package/editors/numericEditor/numericEditor.mjs +7 -19
  250. package/editors/passwordEditor/index.js +0 -2
  251. package/editors/passwordEditor/passwordEditor.js +7 -39
  252. package/editors/passwordEditor/passwordEditor.mjs +7 -23
  253. package/editors/registry.js +13 -36
  254. package/editors/registry.mjs +12 -26
  255. package/editors/selectEditor/index.js +0 -2
  256. package/editors/selectEditor/selectEditor.js +27 -74
  257. package/editors/selectEditor/selectEditor.mjs +27 -57
  258. package/editors/textEditor/caretPositioner.js +0 -8
  259. package/editors/textEditor/caretPositioner.mjs +0 -7
  260. package/editors/textEditor/index.js +0 -2
  261. package/editors/textEditor/textEditor.js +45 -139
  262. package/editors/textEditor/textEditor.mjs +45 -108
  263. package/editors/timeEditor/index.js +0 -2
  264. package/editors/timeEditor/timeEditor.js +7 -37
  265. package/editors/timeEditor/timeEditor.mjs +7 -22
  266. package/eventManager.js +26 -47
  267. package/eventManager.mjs +27 -45
  268. package/helpers/array.js +22 -88
  269. package/helpers/array.mjs +22 -58
  270. package/helpers/browser.js +25 -51
  271. package/helpers/browser.mjs +25 -32
  272. package/helpers/console.js +3 -13
  273. package/helpers/console.mjs +3 -10
  274. package/helpers/data.d.ts +0 -2
  275. package/helpers/data.js +8 -102
  276. package/helpers/data.mjs +9 -80
  277. package/helpers/date.js +2 -3
  278. package/helpers/date.mjs +2 -2
  279. package/helpers/dom/element.js +89 -256
  280. package/helpers/dom/element.mjs +88 -184
  281. package/helpers/dom/event.js +3 -7
  282. package/helpers/dom/event.mjs +3 -3
  283. package/helpers/feature.js +21 -82
  284. package/helpers/feature.mjs +15 -60
  285. package/helpers/function.js +14 -59
  286. package/helpers/function.mjs +14 -45
  287. package/helpers/mixed.js +9 -64
  288. package/helpers/mixed.mjs +9 -43
  289. package/helpers/number.js +4 -46
  290. package/helpers/number.mjs +4 -23
  291. package/helpers/object.js +30 -77
  292. package/helpers/object.mjs +25 -47
  293. package/helpers/string.js +6 -28
  294. package/helpers/string.mjs +6 -14
  295. package/helpers/templateLiteralTag.js +0 -6
  296. package/helpers/templateLiteralTag.mjs +0 -2
  297. package/helpers/unicode.js +17 -22
  298. package/helpers/unicode.mjs +17 -13
  299. package/helpers/wrappers/jquery.js +4 -14
  300. package/helpers/wrappers/jquery.mjs +4 -13
  301. package/i18n/constants.js +50 -45
  302. package/i18n/constants.mjs +46 -42
  303. package/i18n/index.js +0 -7
  304. package/i18n/languages/ar-AR.js +12 -23
  305. package/i18n/languages/ar-AR.mjs +14 -3
  306. package/i18n/languages/cs-CZ.js +12 -23
  307. package/i18n/languages/cs-CZ.mjs +14 -3
  308. package/i18n/languages/de-CH.js +12 -23
  309. package/i18n/languages/de-CH.mjs +14 -3
  310. package/i18n/languages/de-DE.js +12 -23
  311. package/i18n/languages/de-DE.mjs +14 -3
  312. package/i18n/languages/en-US.js +13 -24
  313. package/i18n/languages/en-US.mjs +15 -4
  314. package/i18n/languages/es-MX.js +13 -24
  315. package/i18n/languages/es-MX.mjs +17 -5
  316. package/i18n/languages/fr-FR.js +12 -23
  317. package/i18n/languages/fr-FR.mjs +14 -3
  318. package/i18n/languages/index.js +0 -39
  319. package/i18n/languages/it-IT.js +12 -23
  320. package/i18n/languages/it-IT.mjs +14 -3
  321. package/i18n/languages/ja-JP.js +12 -23
  322. package/i18n/languages/ja-JP.mjs +14 -3
  323. package/i18n/languages/ko-KR.js +12 -23
  324. package/i18n/languages/ko-KR.mjs +14 -3
  325. package/i18n/languages/lv-LV.js +13 -24
  326. package/i18n/languages/lv-LV.mjs +17 -6
  327. package/i18n/languages/nb-NO.js +12 -23
  328. package/i18n/languages/nb-NO.mjs +14 -3
  329. package/i18n/languages/nl-NL.js +13 -24
  330. package/i18n/languages/nl-NL.mjs +17 -6
  331. package/i18n/languages/pl-PL.js +13 -24
  332. package/i18n/languages/pl-PL.mjs +16 -5
  333. package/i18n/languages/pt-BR.js +12 -23
  334. package/i18n/languages/pt-BR.mjs +14 -3
  335. package/i18n/languages/ru-RU.js +12 -23
  336. package/i18n/languages/ru-RU.mjs +14 -3
  337. package/i18n/languages/sr-SP.js +12 -23
  338. package/i18n/languages/sr-SP.mjs +14 -3
  339. package/i18n/languages/zh-CN.js +12 -23
  340. package/i18n/languages/zh-CN.mjs +14 -3
  341. package/i18n/languages/zh-TW.js +12 -23
  342. package/i18n/languages/zh-TW.mjs +14 -3
  343. package/i18n/phraseFormatters/index.js +4 -11
  344. package/i18n/phraseFormatters/index.mjs +4 -6
  345. package/i18n/phraseFormatters/pluralize.js +0 -5
  346. package/i18n/phraseFormatters/pluralize.mjs +0 -3
  347. package/i18n/phraseFormatters/substituteVariables.js +0 -4
  348. package/i18n/phraseFormatters/substituteVariables.mjs +0 -2
  349. package/i18n/registry.js +18 -59
  350. package/i18n/registry.mjs +18 -30
  351. package/i18n/utils.js +4 -22
  352. package/i18n/utils.mjs +4 -11
  353. package/index.d.ts +9 -0
  354. package/index.js +23 -58
  355. package/index.mjs +21 -16
  356. package/languages/all.js +111 -240
  357. package/languages/ar-AR.js +50 -14
  358. package/languages/ar-AR.mjs +14 -3
  359. package/languages/cs-CZ.js +52 -16
  360. package/languages/cs-CZ.mjs +14 -3
  361. package/languages/de-CH.js +52 -16
  362. package/languages/de-CH.mjs +14 -3
  363. package/languages/de-DE.js +53 -17
  364. package/languages/de-DE.mjs +14 -3
  365. package/languages/en-US.js +56 -20
  366. package/languages/en-US.mjs +15 -4
  367. package/languages/es-MX.js +56 -20
  368. package/languages/es-MX.mjs +17 -5
  369. package/languages/fr-FR.js +55 -19
  370. package/languages/fr-FR.mjs +14 -3
  371. package/languages/index.js +111 -240
  372. package/languages/it-IT.js +55 -19
  373. package/languages/it-IT.mjs +14 -3
  374. package/languages/ja-JP.js +83 -43
  375. package/languages/ja-JP.mjs +14 -3
  376. package/languages/ko-KR.js +84 -43
  377. package/languages/ko-KR.mjs +14 -3
  378. package/languages/lv-LV.js +85 -43
  379. package/languages/lv-LV.mjs +17 -6
  380. package/languages/nb-NO.js +86 -43
  381. package/languages/nb-NO.mjs +14 -3
  382. package/languages/nl-NL.js +87 -43
  383. package/languages/nl-NL.mjs +17 -6
  384. package/languages/pl-PL.js +88 -43
  385. package/languages/pl-PL.mjs +16 -5
  386. package/languages/pt-BR.js +67 -28
  387. package/languages/pt-BR.mjs +14 -3
  388. package/languages/ru-RU.js +67 -28
  389. package/languages/ru-RU.mjs +14 -3
  390. package/languages/sr-SP.js +55 -16
  391. package/languages/sr-SP.mjs +14 -3
  392. package/languages/zh-CN.js +55 -16
  393. package/languages/zh-CN.mjs +14 -3
  394. package/languages/zh-TW.js +55 -16
  395. package/languages/zh-TW.mjs +14 -3
  396. package/mixins/hooksRefRegisterer.js +1 -12
  397. package/mixins/hooksRefRegisterer.mjs +1 -9
  398. package/mixins/localHooks.js +4 -11
  399. package/mixins/localHooks.mjs +4 -8
  400. package/package.json +2 -2
  401. package/pluginHooks.d.ts +10 -5
  402. package/pluginHooks.js +376 -116
  403. package/pluginHooks.mjs +375 -103
  404. package/plugins/autoColumnSize/autoColumnSize.js +81 -174
  405. package/plugins/autoColumnSize/autoColumnSize.mjs +81 -139
  406. package/plugins/autoColumnSize/index.js +0 -2
  407. package/plugins/autoRowSize/autoRowSize.js +89 -160
  408. package/plugins/autoRowSize/autoRowSize.mjs +89 -131
  409. package/plugins/autoRowSize/index.js +0 -2
  410. package/plugins/autofill/autofill.js +53 -165
  411. package/plugins/autofill/autofill.mjs +53 -133
  412. package/plugins/autofill/index.js +0 -2
  413. package/plugins/autofill/utils.js +4 -26
  414. package/plugins/autofill/utils.mjs +4 -18
  415. package/plugins/base/base.js +28 -91
  416. package/plugins/base/base.mjs +28 -63
  417. package/plugins/base/index.js +0 -2
  418. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +25 -53
  419. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +25 -34
  420. package/plugins/bindRowsWithHeaders/index.js +0 -2
  421. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +11 -42
  422. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +11 -30
  423. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +12 -54
  424. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +12 -38
  425. package/plugins/collapsibleColumns/collapsibleColumns.js +106 -193
  426. package/plugins/collapsibleColumns/collapsibleColumns.mjs +106 -162
  427. package/plugins/collapsibleColumns/index.js +0 -2
  428. package/plugins/columnSorting/columnSorting.js +58 -192
  429. package/plugins/columnSorting/columnSorting.mjs +58 -147
  430. package/plugins/columnSorting/columnStatesManager.js +27 -77
  431. package/plugins/columnSorting/columnStatesManager.mjs +24 -51
  432. package/plugins/columnSorting/domHelpers.js +2 -18
  433. package/plugins/columnSorting/domHelpers.mjs +2 -7
  434. package/plugins/columnSorting/index.js +0 -2
  435. package/plugins/columnSorting/rootComparator.js +5 -24
  436. package/plugins/columnSorting/rootComparator.mjs +5 -13
  437. package/plugins/columnSorting/sortFunction/checkbox.js +8 -16
  438. package/plugins/columnSorting/sortFunction/checkbox.mjs +8 -12
  439. package/plugins/columnSorting/sortFunction/date.js +2 -19
  440. package/plugins/columnSorting/sortFunction/date.mjs +2 -14
  441. package/plugins/columnSorting/sortFunction/default.js +2 -17
  442. package/plugins/columnSorting/sortFunction/default.mjs +2 -14
  443. package/plugins/columnSorting/sortFunction/numeric.js +2 -11
  444. package/plugins/columnSorting/sortFunction/numeric.mjs +2 -8
  445. package/plugins/columnSorting/sortService/engine.js +1 -7
  446. package/plugins/columnSorting/sortService/engine.mjs +1 -3
  447. package/plugins/columnSorting/sortService/index.js +0 -5
  448. package/plugins/columnSorting/sortService/registry.js +6 -18
  449. package/plugins/columnSorting/sortService/registry.mjs +6 -10
  450. package/plugins/columnSorting/utils.js +9 -34
  451. package/plugins/columnSorting/utils.mjs +9 -15
  452. package/plugins/columnSummary/columnSummary.js +65 -126
  453. package/plugins/columnSummary/columnSummary.mjs +65 -101
  454. package/plugins/columnSummary/endpoints.js +33 -109
  455. package/plugins/columnSummary/endpoints.mjs +33 -105
  456. package/plugins/columnSummary/index.js +0 -2
  457. package/plugins/columnSummary/utils.js +0 -1
  458. package/plugins/comments/commentEditor.js +29 -27
  459. package/plugins/comments/commentEditor.mjs +29 -26
  460. package/plugins/comments/comments.js +106 -178
  461. package/plugins/comments/comments.mjs +106 -152
  462. package/plugins/comments/displaySwitch.js +20 -24
  463. package/plugins/comments/displaySwitch.mjs +20 -19
  464. package/plugins/comments/index.js +0 -2
  465. package/plugins/contextMenu/commandExecutor.js +17 -29
  466. package/plugins/contextMenu/commandExecutor.mjs +17 -27
  467. package/plugins/contextMenu/contextMenu.d.ts +4 -3
  468. package/plugins/contextMenu/contextMenu.js +28 -121
  469. package/plugins/contextMenu/contextMenu.mjs +28 -91
  470. package/plugins/contextMenu/cursor.js +19 -19
  471. package/plugins/contextMenu/cursor.mjs +19 -18
  472. package/plugins/contextMenu/index.js +0 -2
  473. package/plugins/contextMenu/itemsFactory.js +21 -35
  474. package/plugins/contextMenu/itemsFactory.mjs +21 -31
  475. package/plugins/contextMenu/menu.js +71 -180
  476. package/plugins/contextMenu/menu.mjs +70 -151
  477. package/plugins/contextMenu/predefinedItems/alignment.js +1 -55
  478. package/plugins/contextMenu/predefinedItems/alignment.mjs +1 -37
  479. package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -20
  480. package/plugins/contextMenu/predefinedItems/clearColumn.mjs +1 -4
  481. package/plugins/contextMenu/predefinedItems/columnLeft.js +6 -43
  482. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +6 -26
  483. package/plugins/contextMenu/predefinedItems/columnRight.js +4 -42
  484. package/plugins/contextMenu/predefinedItems/columnRight.mjs +4 -25
  485. package/plugins/contextMenu/predefinedItems/noItems.js +1 -4
  486. package/plugins/contextMenu/predefinedItems/noItems.mjs +1 -1
  487. package/plugins/contextMenu/predefinedItems/readOnly.js +1 -25
  488. package/plugins/contextMenu/predefinedItems/readOnly.mjs +1 -8
  489. package/plugins/contextMenu/predefinedItems/redo.js +1 -16
  490. package/plugins/contextMenu/predefinedItems/redo.mjs +1 -1
  491. package/plugins/contextMenu/predefinedItems/removeColumn.js +4 -39
  492. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +4 -19
  493. package/plugins/contextMenu/predefinedItems/removeRow.js +4 -38
  494. package/plugins/contextMenu/predefinedItems/removeRow.mjs +4 -18
  495. package/plugins/contextMenu/predefinedItems/rowAbove.js +6 -35
  496. package/plugins/contextMenu/predefinedItems/rowAbove.mjs +6 -19
  497. package/plugins/contextMenu/predefinedItems/rowBelow.js +4 -42
  498. package/plugins/contextMenu/predefinedItems/rowBelow.mjs +4 -25
  499. package/plugins/contextMenu/predefinedItems/separator.js +1 -2
  500. package/plugins/contextMenu/predefinedItems/separator.mjs +1 -1
  501. package/plugins/contextMenu/predefinedItems/undo.js +1 -16
  502. package/plugins/contextMenu/predefinedItems/undo.mjs +1 -1
  503. package/plugins/contextMenu/predefinedItems.js +14 -55
  504. package/plugins/contextMenu/predefinedItems.mjs +16 -8
  505. package/plugins/contextMenu/utils.js +17 -57
  506. package/plugins/contextMenu/utils.mjs +17 -34
  507. package/plugins/copyPaste/clipboardData.js +14 -9
  508. package/plugins/copyPaste/clipboardData.mjs +14 -8
  509. package/plugins/copyPaste/contextMenuItem/copy.js +5 -32
  510. package/plugins/copyPaste/contextMenuItem/copy.mjs +5 -7
  511. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +35 -0
  512. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +31 -0
  513. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +35 -0
  514. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +31 -0
  515. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +35 -0
  516. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +31 -0
  517. package/plugins/copyPaste/contextMenuItem/cut.js +2 -17
  518. package/plugins/copyPaste/contextMenuItem/cut.mjs +2 -4
  519. package/plugins/copyPaste/copyPaste.d.ts +10 -2
  520. package/plugins/copyPaste/copyPaste.js +339 -372
  521. package/plugins/copyPaste/copyPaste.mjs +339 -331
  522. package/plugins/copyPaste/copyableRanges.js +269 -0
  523. package/plugins/copyPaste/copyableRanges.mjs +264 -0
  524. package/plugins/copyPaste/focusableElement.js +21 -55
  525. package/plugins/copyPaste/focusableElement.mjs +21 -45
  526. package/plugins/copyPaste/index.js +0 -2
  527. package/plugins/copyPaste/pasteEvent.js +14 -9
  528. package/plugins/copyPaste/pasteEvent.mjs +14 -7
  529. package/plugins/customBorders/contextMenuItem/bottom.js +0 -17
  530. package/plugins/customBorders/contextMenuItem/bottom.mjs +0 -3
  531. package/plugins/customBorders/contextMenuItem/index.js +0 -11
  532. package/plugins/customBorders/contextMenuItem/left.js +0 -17
  533. package/plugins/customBorders/contextMenuItem/left.mjs +0 -3
  534. package/plugins/customBorders/contextMenuItem/noBorders.js +0 -15
  535. package/plugins/customBorders/contextMenuItem/noBorders.mjs +0 -1
  536. package/plugins/customBorders/contextMenuItem/right.js +0 -17
  537. package/plugins/customBorders/contextMenuItem/right.mjs +0 -3
  538. package/plugins/customBorders/contextMenuItem/top.js +0 -17
  539. package/plugins/customBorders/contextMenuItem/top.mjs +0 -3
  540. package/plugins/customBorders/customBorders.js +64 -188
  541. package/plugins/customBorders/customBorders.mjs +63 -153
  542. package/plugins/customBorders/index.js +0 -2
  543. package/plugins/customBorders/utils.js +13 -52
  544. package/plugins/customBorders/utils.mjs +13 -31
  545. package/plugins/dragToScroll/dragToScroll.js +23 -75
  546. package/plugins/dragToScroll/dragToScroll.mjs +23 -56
  547. package/plugins/dragToScroll/index.js +0 -2
  548. package/plugins/dropdownMenu/dropdownMenu.js +49 -127
  549. package/plugins/dropdownMenu/dropdownMenu.mjs +49 -96
  550. package/plugins/dropdownMenu/index.js +0 -2
  551. package/plugins/exportFile/dataProvider.js +34 -72
  552. package/plugins/exportFile/dataProvider.mjs +31 -58
  553. package/plugins/exportFile/exportFile.js +56 -61
  554. package/plugins/exportFile/exportFile.mjs +54 -37
  555. package/plugins/exportFile/index.js +0 -2
  556. package/plugins/exportFile/typeFactory.js +15 -12
  557. package/plugins/exportFile/typeFactory.mjs +15 -5
  558. package/plugins/exportFile/types/_base.js +15 -15
  559. package/plugins/exportFile/types/_base.mjs +15 -13
  560. package/plugins/exportFile/types/csv.js +8 -51
  561. package/plugins/exportFile/types/csv.mjs +8 -30
  562. package/plugins/filters/component/_base.js +25 -31
  563. package/plugins/filters/component/_base.mjs +25 -26
  564. package/plugins/filters/component/actionBar.js +13 -56
  565. package/plugins/filters/component/actionBar.mjs +11 -34
  566. package/plugins/filters/component/condition.js +22 -95
  567. package/plugins/filters/component/condition.mjs +20 -63
  568. package/plugins/filters/component/operators.js +18 -71
  569. package/plugins/filters/component/operators.mjs +18 -48
  570. package/plugins/filters/component/value.js +22 -97
  571. package/plugins/filters/component/value.mjs +22 -67
  572. package/plugins/filters/condition/beginsWith.js +3 -33
  573. package/plugins/filters/condition/beginsWith.mjs +3 -11
  574. package/plugins/filters/condition/between.js +4 -38
  575. package/plugins/filters/condition/between.mjs +4 -16
  576. package/plugins/filters/condition/byValue.js +4 -28
  577. package/plugins/filters/condition/byValue.mjs +4 -13
  578. package/plugins/filters/condition/contains.js +3 -33
  579. package/plugins/filters/condition/contains.mjs +3 -11
  580. package/plugins/filters/condition/date/after.js +3 -35
  581. package/plugins/filters/condition/date/after.mjs +3 -13
  582. package/plugins/filters/condition/date/before.js +3 -35
  583. package/plugins/filters/condition/date/before.mjs +3 -13
  584. package/plugins/filters/condition/date/today.js +1 -22
  585. package/plugins/filters/condition/date/today.mjs +1 -3
  586. package/plugins/filters/condition/date/tomorrow.js +1 -22
  587. package/plugins/filters/condition/date/tomorrow.mjs +1 -3
  588. package/plugins/filters/condition/date/yesterday.js +1 -22
  589. package/plugins/filters/condition/date/yesterday.mjs +1 -3
  590. package/plugins/filters/condition/empty.js +1 -19
  591. package/plugins/filters/condition/empty.mjs +1 -1
  592. package/plugins/filters/condition/endsWith.js +3 -33
  593. package/plugins/filters/condition/endsWith.mjs +3 -11
  594. package/plugins/filters/condition/equal.js +3 -32
  595. package/plugins/filters/condition/equal.mjs +3 -11
  596. package/plugins/filters/condition/false.js +1 -5
  597. package/plugins/filters/condition/false.mjs +1 -1
  598. package/plugins/filters/condition/greaterThan.js +3 -33
  599. package/plugins/filters/condition/greaterThan.mjs +3 -13
  600. package/plugins/filters/condition/greaterThanOrEqual.js +3 -33
  601. package/plugins/filters/condition/greaterThanOrEqual.mjs +3 -13
  602. package/plugins/filters/condition/lessThan.js +3 -33
  603. package/plugins/filters/condition/lessThan.mjs +3 -13
  604. package/plugins/filters/condition/lessThanOrEqual.js +3 -33
  605. package/plugins/filters/condition/lessThanOrEqual.mjs +3 -13
  606. package/plugins/filters/condition/none.js +1 -18
  607. package/plugins/filters/condition/none.mjs +1 -1
  608. package/plugins/filters/condition/notBetween.js +1 -19
  609. package/plugins/filters/condition/notBetween.mjs +1 -1
  610. package/plugins/filters/condition/notContains.js +1 -19
  611. package/plugins/filters/condition/notContains.mjs +1 -1
  612. package/plugins/filters/condition/notEmpty.js +1 -19
  613. package/plugins/filters/condition/notEmpty.mjs +1 -1
  614. package/plugins/filters/condition/notEqual.js +1 -19
  615. package/plugins/filters/condition/notEqual.mjs +1 -1
  616. package/plugins/filters/condition/true.js +1 -5
  617. package/plugins/filters/condition/true.mjs +1 -1
  618. package/plugins/filters/conditionCollection.js +31 -84
  619. package/plugins/filters/conditionCollection.mjs +39 -69
  620. package/plugins/filters/conditionRegisterer.js +5 -14
  621. package/plugins/filters/conditionRegisterer.mjs +5 -9
  622. package/plugins/filters/conditionUpdateObserver.js +29 -56
  623. package/plugins/filters/conditionUpdateObserver.mjs +29 -44
  624. package/plugins/filters/constants.js +15 -67
  625. package/plugins/filters/constants.mjs +15 -9
  626. package/plugins/filters/dataFilter.js +17 -20
  627. package/plugins/filters/dataFilter.mjs +17 -19
  628. package/plugins/filters/filters.js +110 -210
  629. package/plugins/filters/filters.mjs +110 -165
  630. package/plugins/filters/index.js +0 -2
  631. package/plugins/filters/logicalOperationRegisterer.js +3 -9
  632. package/plugins/filters/logicalOperationRegisterer.mjs +3 -4
  633. package/plugins/filters/logicalOperations/conjunction.js +2 -19
  634. package/plugins/filters/logicalOperations/conjunction.mjs +2 -2
  635. package/plugins/filters/logicalOperations/disjunction.js +2 -19
  636. package/plugins/filters/logicalOperations/disjunction.mjs +2 -2
  637. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +2 -21
  638. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +2 -3
  639. package/plugins/filters/ui/_base.js +24 -62
  640. package/plugins/filters/ui/_base.mjs +26 -36
  641. package/plugins/filters/ui/input.js +13 -53
  642. package/plugins/filters/ui/input.mjs +13 -35
  643. package/plugins/filters/ui/link.js +9 -44
  644. package/plugins/filters/ui/link.mjs +9 -26
  645. package/plugins/filters/ui/multipleSelect.js +25 -113
  646. package/plugins/filters/ui/multipleSelect.mjs +26 -77
  647. package/plugins/filters/ui/radioInput.js +12 -48
  648. package/plugins/filters/ui/radioInput.mjs +12 -31
  649. package/plugins/filters/ui/select.js +20 -77
  650. package/plugins/filters/ui/select.mjs +20 -53
  651. package/plugins/filters/utils.js +6 -39
  652. package/plugins/filters/utils.mjs +6 -23
  653. package/plugins/formulas/engine/register.js +24 -74
  654. package/plugins/formulas/engine/register.mjs +24 -45
  655. package/plugins/formulas/engine/settings.js +16 -25
  656. package/plugins/formulas/engine/settings.mjs +16 -13
  657. package/plugins/formulas/formulas.js +127 -306
  658. package/plugins/formulas/formulas.mjs +128 -259
  659. package/plugins/formulas/index.js +0 -2
  660. package/plugins/formulas/utils.js +1 -3
  661. package/plugins/formulas/utils.mjs +1 -1
  662. package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +5 -39
  663. package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +5 -21
  664. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +17 -45
  665. package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +17 -24
  666. package/plugins/hiddenColumns/hiddenColumns.js +77 -150
  667. package/plugins/hiddenColumns/hiddenColumns.mjs +77 -109
  668. package/plugins/hiddenColumns/index.js +0 -2
  669. package/plugins/hiddenRows/contextMenuItem/hideRow.js +5 -39
  670. package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +5 -21
  671. package/plugins/hiddenRows/contextMenuItem/showRow.js +17 -45
  672. package/plugins/hiddenRows/contextMenuItem/showRow.mjs +17 -24
  673. package/plugins/hiddenRows/hiddenRows.js +75 -149
  674. package/plugins/hiddenRows/hiddenRows.mjs +75 -108
  675. package/plugins/hiddenRows/index.js +0 -2
  676. package/plugins/index.js +0 -71
  677. package/plugins/index.mjs +0 -1
  678. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +2 -29
  679. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +2 -13
  680. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +2 -29
  681. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +2 -13
  682. package/plugins/manualColumnFreeze/index.js +0 -2
  683. package/plugins/manualColumnFreeze/manualColumnFreeze.js +27 -79
  684. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +27 -55
  685. package/plugins/manualColumnMove/index.js +0 -2
  686. package/plugins/manualColumnMove/manualColumnMove.js +51 -135
  687. package/plugins/manualColumnMove/manualColumnMove.mjs +51 -107
  688. package/plugins/manualColumnMove/ui/_base.js +26 -31
  689. package/plugins/manualColumnMove/ui/_base.mjs +26 -28
  690. package/plugins/manualColumnMove/ui/backlight.js +7 -38
  691. package/plugins/manualColumnMove/ui/backlight.mjs +7 -23
  692. package/plugins/manualColumnMove/ui/guideline.js +7 -38
  693. package/plugins/manualColumnMove/ui/guideline.mjs +7 -23
  694. package/plugins/manualColumnResize/index.js +0 -2
  695. package/plugins/manualColumnResize/manualColumnResize.js +50 -144
  696. package/plugins/manualColumnResize/manualColumnResize.mjs +49 -119
  697. package/plugins/manualRowMove/index.js +0 -2
  698. package/plugins/manualRowMove/manualRowMove.js +51 -138
  699. package/plugins/manualRowMove/manualRowMove.mjs +51 -110
  700. package/plugins/manualRowMove/ui/_base.js +26 -28
  701. package/plugins/manualRowMove/ui/_base.mjs +26 -27
  702. package/plugins/manualRowMove/ui/backlight.js +7 -38
  703. package/plugins/manualRowMove/ui/backlight.mjs +7 -23
  704. package/plugins/manualRowMove/ui/guideline.js +7 -38
  705. package/plugins/manualRowMove/ui/guideline.mjs +7 -23
  706. package/plugins/manualRowResize/index.js +0 -2
  707. package/plugins/manualRowResize/manualRowResize.js +48 -139
  708. package/plugins/manualRowResize/manualRowResize.mjs +47 -113
  709. package/plugins/mergeCells/calculations/autofill.js +49 -133
  710. package/plugins/mergeCells/calculations/autofill.mjs +46 -117
  711. package/plugins/mergeCells/calculations/selection.js +22 -39
  712. package/plugins/mergeCells/calculations/selection.mjs +22 -36
  713. package/plugins/mergeCells/cellCoords.js +43 -50
  714. package/plugins/mergeCells/cellCoords.mjs +43 -48
  715. package/plugins/mergeCells/cellsCollection.js +22 -86
  716. package/plugins/mergeCells/cellsCollection.mjs +19 -63
  717. package/plugins/mergeCells/contextMenuItem/toggleMerge.js +0 -22
  718. package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +0 -6
  719. package/plugins/mergeCells/index.js +0 -2
  720. package/plugins/mergeCells/mergeCells.js +136 -334
  721. package/plugins/mergeCells/mergeCells.mjs +136 -293
  722. package/plugins/mergeCells/utils.js +0 -3
  723. package/plugins/mergeCells/utils.mjs +0 -1
  724. package/plugins/multiColumnSorting/domHelpers.js +2 -12
  725. package/plugins/multiColumnSorting/domHelpers.mjs +2 -5
  726. package/plugins/multiColumnSorting/index.js +0 -2
  727. package/plugins/multiColumnSorting/multiColumnSorting.js +20 -67
  728. package/plugins/multiColumnSorting/multiColumnSorting.mjs +20 -45
  729. package/plugins/multiColumnSorting/rootComparator.js +2 -26
  730. package/plugins/multiColumnSorting/rootComparator.mjs +2 -15
  731. package/plugins/multiColumnSorting/utils.js +0 -7
  732. package/plugins/multiColumnSorting/utils.mjs +0 -4
  733. package/plugins/multipleSelectionHandles/index.js +0 -2
  734. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +12 -110
  735. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +12 -88
  736. package/plugins/nestedHeaders/index.js +0 -2
  737. package/plugins/nestedHeaders/nestedHeaders.js +198 -211
  738. package/plugins/nestedHeaders/nestedHeaders.mjs +206 -191
  739. package/plugins/nestedHeaders/stateManager/headersTree.js +26 -96
  740. package/plugins/nestedHeaders/stateManager/headersTree.mjs +26 -76
  741. package/plugins/nestedHeaders/stateManager/index.js +55 -118
  742. package/plugins/nestedHeaders/stateManager/index.mjs +61 -105
  743. package/plugins/nestedHeaders/stateManager/matrixGenerator.js +7 -25
  744. package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +7 -18
  745. package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.js +12 -27
  746. package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.mjs +12 -17
  747. package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.js +10 -25
  748. package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.mjs +10 -15
  749. package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.js +3 -19
  750. package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.mjs +3 -13
  751. package/plugins/nestedHeaders/stateManager/nodeModifiers/index.js +2 -12
  752. package/plugins/nestedHeaders/stateManager/nodeModifiers/index.mjs +1 -3
  753. package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.js +3 -22
  754. package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.mjs +3 -14
  755. package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.js +3 -10
  756. package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.mjs +3 -7
  757. package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +5 -36
  758. package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +5 -20
  759. package/plugins/nestedHeaders/stateManager/sourceSettings.js +27 -81
  760. package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +33 -71
  761. package/plugins/nestedHeaders/stateManager/utils.js +19 -22
  762. package/plugins/nestedHeaders/stateManager/utils.mjs +19 -20
  763. package/plugins/nestedHeaders/utils/ghostTable.js +23 -37
  764. package/plugins/nestedHeaders/utils/ghostTable.mjs +23 -36
  765. package/plugins/nestedRows/data/dataManager.js +47 -162
  766. package/plugins/nestedRows/data/dataManager.mjs +45 -143
  767. package/plugins/nestedRows/index.js +0 -2
  768. package/plugins/nestedRows/nestedRows.js +46 -119
  769. package/plugins/nestedRows/nestedRows.mjs +46 -86
  770. package/plugins/nestedRows/ui/_base.js +14 -8
  771. package/plugins/nestedRows/ui/_base.mjs +14 -7
  772. package/plugins/nestedRows/ui/collapsing.js +33 -133
  773. package/plugins/nestedRows/ui/collapsing.mjs +33 -111
  774. package/plugins/nestedRows/ui/contextMenu.js +9 -55
  775. package/plugins/nestedRows/ui/contextMenu.mjs +8 -33
  776. package/plugins/nestedRows/ui/headers.js +10 -49
  777. package/plugins/nestedRows/ui/headers.mjs +10 -34
  778. package/plugins/nestedRows/utils/rowMoveController.js +36 -79
  779. package/plugins/nestedRows/utils/rowMoveController.mjs +45 -71
  780. package/plugins/persistentState/index.js +0 -2
  781. package/plugins/persistentState/persistentState.js +16 -59
  782. package/plugins/persistentState/persistentState.mjs +16 -38
  783. package/plugins/persistentState/storage.js +22 -24
  784. package/plugins/persistentState/storage.mjs +22 -22
  785. package/plugins/registry.js +8 -52
  786. package/plugins/registry.mjs +8 -33
  787. package/plugins/search/index.js +0 -2
  788. package/plugins/search/search.js +22 -97
  789. package/plugins/search/search.mjs +22 -68
  790. package/plugins/touchScroll/index.js +0 -2
  791. package/plugins/touchScroll/touchScroll.js +21 -77
  792. package/plugins/touchScroll/touchScroll.mjs +21 -59
  793. package/plugins/trimRows/index.js +0 -2
  794. package/plugins/trimRows/trimRows.js +64 -86
  795. package/plugins/trimRows/trimRows.mjs +64 -63
  796. package/plugins/undoRedo/index.js +0 -14
  797. package/plugins/undoRedo/undoRedo.js +98 -250
  798. package/plugins/undoRedo/undoRedo.mjs +98 -220
  799. package/registry.js +0 -11
  800. package/registry.mjs +1 -2
  801. package/renderers/autocompleteRenderer/autocompleteRenderer.js +5 -14
  802. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +5 -6
  803. package/renderers/autocompleteRenderer/index.js +0 -2
  804. package/renderers/baseRenderer/baseRenderer.js +2 -11
  805. package/renderers/baseRenderer/baseRenderer.mjs +1 -7
  806. package/renderers/baseRenderer/index.js +0 -2
  807. package/renderers/checkboxRenderer/checkboxRenderer.js +22 -103
  808. package/renderers/checkboxRenderer/checkboxRenderer.mjs +22 -81
  809. package/renderers/checkboxRenderer/index.js +0 -2
  810. package/renderers/htmlRenderer/htmlRenderer.js +1 -7
  811. package/renderers/htmlRenderer/htmlRenderer.mjs +1 -1
  812. package/renderers/htmlRenderer/index.js +0 -2
  813. package/renderers/index.js +0 -19
  814. package/renderers/index.mjs +0 -1
  815. package/renderers/numericRenderer/index.js +0 -2
  816. package/renderers/numericRenderer/numericRenderer.js +1 -21
  817. package/renderers/numericRenderer/numericRenderer.mjs +1 -9
  818. package/renderers/passwordRenderer/index.js +0 -2
  819. package/renderers/passwordRenderer/passwordRenderer.js +1 -8
  820. package/renderers/passwordRenderer/passwordRenderer.mjs +1 -1
  821. package/renderers/registry.js +7 -16
  822. package/renderers/registry.mjs +7 -14
  823. package/renderers/textRenderer/index.js +0 -2
  824. package/renderers/textRenderer/textRenderer.js +1 -13
  825. package/renderers/textRenderer/textRenderer.mjs +1 -5
  826. package/renderers/timeRenderer/index.js +0 -2
  827. package/renderers/timeRenderer/timeRenderer.js +1 -6
  828. package/renderers/timeRenderer/timeRenderer.mjs +1 -1
  829. package/selection/highlight/highlight.js +24 -73
  830. package/selection/highlight/highlight.mjs +24 -50
  831. package/selection/highlight/types/activeHeader.js +14 -23
  832. package/selection/highlight/types/activeHeader.mjs +14 -12
  833. package/selection/highlight/types/area.js +15 -24
  834. package/selection/highlight/types/area.mjs +15 -13
  835. package/selection/highlight/types/cell.js +14 -23
  836. package/selection/highlight/types/cell.mjs +14 -12
  837. package/selection/highlight/types/customSelection.js +15 -24
  838. package/selection/highlight/types/customSelection.mjs +15 -13
  839. package/selection/highlight/types/fill.js +16 -20
  840. package/selection/highlight/types/fill.mjs +16 -9
  841. package/selection/highlight/types/header.js +16 -25
  842. package/selection/highlight/types/header.mjs +16 -14
  843. package/selection/highlight/types/index.js +17 -27
  844. package/selection/highlight/types/index.mjs +17 -13
  845. package/selection/highlight/visualSelection.js +35 -80
  846. package/selection/highlight/visualSelection.mjs +35 -68
  847. package/selection/index.js +0 -14
  848. package/selection/mouseEventHandler.js +19 -30
  849. package/selection/mouseEventHandler.mjs +19 -22
  850. package/selection/range.js +17 -30
  851. package/selection/range.mjs +17 -21
  852. package/selection/selection.js +72 -160
  853. package/selection/selection.mjs +77 -137
  854. package/selection/transformation.js +23 -39
  855. package/selection/transformation.mjs +23 -36
  856. package/selection/utils.js +23 -71
  857. package/selection/utils.mjs +23 -48
  858. package/shortcuts/context.js +24 -79
  859. package/shortcuts/context.mjs +24 -56
  860. package/shortcuts/index.js +0 -2
  861. package/shortcuts/keyObserver.js +0 -9
  862. package/shortcuts/keyObserver.mjs +0 -4
  863. package/shortcuts/manager.js +17 -37
  864. package/shortcuts/manager.mjs +17 -34
  865. package/shortcuts/recorder.js +9 -40
  866. package/shortcuts/recorder.mjs +9 -31
  867. package/shortcuts/utils.js +5 -20
  868. package/shortcuts/utils.mjs +5 -6
  869. package/tableView.js +239 -330
  870. package/tableView.mjs +239 -308
  871. package/translations/changesObservable/observable.js +14 -53
  872. package/translations/changesObservable/observable.mjs +14 -43
  873. package/translations/changesObservable/observer.js +13 -31
  874. package/translations/changesObservable/observer.mjs +13 -23
  875. package/translations/changesObservable/utils.js +1 -5
  876. package/translations/changesObservable/utils.mjs +1 -4
  877. package/translations/index.js +0 -11
  878. package/translations/indexMapper.js +80 -162
  879. package/translations/indexMapper.mjs +85 -134
  880. package/translations/mapCollections/aggregatedCollection.js +14 -50
  881. package/translations/mapCollections/aggregatedCollection.mjs +14 -37
  882. package/translations/mapCollections/index.js +0 -7
  883. package/translations/mapCollections/mapCollection.js +20 -34
  884. package/translations/mapCollections/mapCollection.mjs +20 -23
  885. package/translations/maps/hidingMap.js +7 -34
  886. package/translations/maps/hidingMap.mjs +7 -22
  887. package/translations/maps/index.js +1 -24
  888. package/translations/maps/index.mjs +1 -3
  889. package/translations/maps/indexMap.js +25 -33
  890. package/translations/maps/indexMap.mjs +25 -27
  891. package/translations/maps/indexesSequence.js +8 -40
  892. package/translations/maps/indexesSequence.mjs +8 -25
  893. package/translations/maps/linkedPhysicalIndexToValueMap.js +18 -81
  894. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +17 -54
  895. package/translations/maps/physicalIndexToValueMap.js +7 -38
  896. package/translations/maps/physicalIndexToValueMap.mjs +7 -24
  897. package/translations/maps/trimmingMap.js +7 -34
  898. package/translations/maps/trimmingMap.mjs +7 -22
  899. package/translations/maps/utils/actionsOnIndexes.js +1 -7
  900. package/translations/maps/utils/actionsOnIndexes.mjs +1 -3
  901. package/translations/maps/utils/index.js +0 -13
  902. package/translations/maps/utils/index.mjs +0 -3
  903. package/translations/maps/utils/indexesSequence.js +1 -24
  904. package/translations/maps/utils/indexesSequence.mjs +1 -9
  905. package/translations/maps/utils/physicallyIndexed.js +1 -27
  906. package/translations/maps/utils/physicallyIndexed.mjs +1 -10
  907. package/utils/dataStructures/linkedList.js +23 -50
  908. package/utils/dataStructures/linkedList.mjs +23 -48
  909. package/utils/dataStructures/priorityMap.js +9 -47
  910. package/utils/dataStructures/priorityMap.mjs +9 -30
  911. package/utils/dataStructures/queue.js +19 -16
  912. package/utils/dataStructures/queue.mjs +19 -15
  913. package/utils/dataStructures/stack.js +19 -16
  914. package/utils/dataStructures/stack.mjs +19 -15
  915. package/utils/dataStructures/tree.js +19 -77
  916. package/utils/dataStructures/tree.mjs +19 -56
  917. package/utils/dataStructures/uniqueMap.js +18 -57
  918. package/utils/dataStructures/uniqueMap.mjs +18 -43
  919. package/utils/dataStructures/uniqueSet.js +5 -32
  920. package/utils/dataStructures/uniqueSet.mjs +5 -19
  921. package/utils/ghostTable.js +42 -106
  922. package/utils/ghostTable.mjs +40 -90
  923. package/utils/interval.js +17 -29
  924. package/utils/interval.mjs +18 -26
  925. package/utils/parseTable.js +11 -92
  926. package/utils/parseTable.mjs +11 -62
  927. package/utils/rootInstance.js +3 -14
  928. package/utils/rootInstance.mjs +3 -3
  929. package/utils/samplesGenerator.js +25 -51
  930. package/utils/samplesGenerator.mjs +25 -42
  931. package/utils/staticRegister.js +6 -33
  932. package/utils/staticRegister.mjs +6 -19
  933. package/validators/autocompleteValidator/autocompleteValidator.js +2 -10
  934. package/validators/autocompleteValidator/autocompleteValidator.mjs +2 -8
  935. package/validators/autocompleteValidator/index.js +0 -2
  936. package/validators/dateValidator/dateValidator.js +2 -21
  937. package/validators/dateValidator/dateValidator.mjs +2 -11
  938. package/validators/dateValidator/index.js +0 -2
  939. package/validators/index.js +0 -11
  940. package/validators/index.mjs +0 -1
  941. package/validators/numericValidator/index.js +0 -2
  942. package/validators/numericValidator/numericValidator.js +1 -7
  943. package/validators/numericValidator/numericValidator.mjs +1 -3
  944. package/validators/registry.js +7 -16
  945. package/validators/registry.mjs +7 -14
  946. package/validators/timeValidator/index.js +0 -2
  947. package/validators/timeValidator/timeValidator.js +6 -18
  948. package/validators/timeValidator/timeValidator.mjs +8 -13
@@ -1,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;