handsontable 12.0.1 → 12.1.0

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 (301) hide show
  1. package/3rdparty/walkontable/src/core/clone.js +2 -2
  2. package/3rdparty/walkontable/src/core/clone.mjs +2 -2
  3. package/3rdparty/walkontable/src/core/core.js +2 -2
  4. package/3rdparty/walkontable/src/core/core.mjs +2 -2
  5. package/3rdparty/walkontable/src/overlay/bottom.js +20 -14
  6. package/3rdparty/walkontable/src/overlay/bottom.mjs +20 -14
  7. package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.js +14 -8
  8. package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.mjs +14 -8
  9. package/3rdparty/walkontable/src/overlay/inlineStart.js +14 -5
  10. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +14 -5
  11. package/3rdparty/walkontable/src/overlay/top.js +12 -3
  12. package/3rdparty/walkontable/src/overlay/top.mjs +12 -3
  13. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +3 -3
  14. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +3 -3
  15. package/3rdparty/walkontable/src/overlays.js +2 -2
  16. package/3rdparty/walkontable/src/overlays.mjs +2 -2
  17. package/3rdparty/walkontable/src/renderer/cells.js +2 -2
  18. package/3rdparty/walkontable/src/renderer/cells.mjs +2 -2
  19. package/3rdparty/walkontable/src/renderer/colGroup.js +2 -2
  20. package/3rdparty/walkontable/src/renderer/colGroup.mjs +2 -2
  21. package/3rdparty/walkontable/src/renderer/columnHeaders.js +2 -2
  22. package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +2 -2
  23. package/3rdparty/walkontable/src/renderer/rowHeaders.js +2 -2
  24. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +2 -2
  25. package/3rdparty/walkontable/src/renderer/rows.js +2 -2
  26. package/3rdparty/walkontable/src/renderer/rows.mjs +2 -2
  27. package/3rdparty/walkontable/src/scroll.js +111 -63
  28. package/3rdparty/walkontable/src/scroll.mjs +110 -63
  29. package/3rdparty/walkontable/src/table/bottom.js +2 -2
  30. package/3rdparty/walkontable/src/table/bottom.mjs +2 -2
  31. package/3rdparty/walkontable/src/table/bottomInlineStartCorner.js +2 -2
  32. package/3rdparty/walkontable/src/table/bottomInlineStartCorner.mjs +2 -2
  33. package/3rdparty/walkontable/src/table/inlineStart.js +2 -2
  34. package/3rdparty/walkontable/src/table/inlineStart.mjs +2 -2
  35. package/3rdparty/walkontable/src/table/master.js +2 -2
  36. package/3rdparty/walkontable/src/table/master.mjs +2 -2
  37. package/3rdparty/walkontable/src/table/top.js +2 -2
  38. package/3rdparty/walkontable/src/table/top.mjs +2 -2
  39. package/3rdparty/walkontable/src/table/topInlineStartCorner.js +2 -2
  40. package/3rdparty/walkontable/src/table/topInlineStartCorner.mjs +2 -2
  41. package/3rdparty/walkontable/src/utils/orderView/sharedView.js +2 -2
  42. package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +2 -2
  43. package/3rdparty/walkontable/src/viewport.js +14 -22
  44. package/3rdparty/walkontable/src/viewport.mjs +14 -22
  45. package/CHANGELOG.md +32 -0
  46. package/LICENSE.txt +1 -1
  47. package/base.js +2 -2
  48. package/base.mjs +2 -2
  49. package/core.js +38 -30
  50. package/core.mjs +38 -30
  51. package/dataMap/metaManager/metaSchema.js +165 -168
  52. package/dataMap/metaManager/metaSchema.mjs +165 -168
  53. package/dist/handsontable.css +18 -18
  54. package/dist/handsontable.full.css +19 -29
  55. package/dist/handsontable.full.js +13389 -12669
  56. package/dist/handsontable.full.min.css +5 -5
  57. package/dist/handsontable.full.min.js +134 -135
  58. package/dist/handsontable.js +3961 -3794
  59. package/dist/handsontable.min.css +4 -4
  60. package/dist/handsontable.min.js +4 -4
  61. package/dist/languages/all.js +97 -33
  62. package/dist/languages/all.min.js +1 -1
  63. package/dist/languages/cs-CZ.js +167 -0
  64. package/dist/languages/cs-CZ.min.js +1 -0
  65. package/dist/languages/de-CH.js +3 -2
  66. package/dist/languages/de-CH.min.js +1 -1
  67. package/dist/languages/de-DE.js +3 -2
  68. package/dist/languages/de-DE.min.js +1 -1
  69. package/dist/languages/en-US.js +3 -2
  70. package/dist/languages/en-US.min.js +1 -1
  71. package/dist/languages/es-MX.js +3 -2
  72. package/dist/languages/es-MX.min.js +1 -1
  73. package/dist/languages/fr-FR.js +3 -2
  74. package/dist/languages/fr-FR.min.js +1 -1
  75. package/dist/languages/it-IT.js +3 -2
  76. package/dist/languages/it-IT.min.js +1 -1
  77. package/dist/languages/ja-JP.js +36 -39
  78. package/dist/languages/ja-JP.min.js +1 -1
  79. package/dist/languages/ko-KR.js +2 -2
  80. package/dist/languages/ko-KR.min.js +1 -1
  81. package/dist/languages/lv-LV.js +2 -2
  82. package/dist/languages/lv-LV.min.js +1 -1
  83. package/dist/languages/nb-NO.js +2 -2
  84. package/dist/languages/nb-NO.min.js +1 -1
  85. package/dist/languages/nl-NL.js +2 -2
  86. package/dist/languages/nl-NL.min.js +1 -1
  87. package/dist/languages/pl-PL.js +2 -2
  88. package/dist/languages/pl-PL.min.js +1 -1
  89. package/dist/languages/pt-BR.js +2 -2
  90. package/dist/languages/pt-BR.min.js +1 -1
  91. package/dist/languages/ru-RU.js +2 -2
  92. package/dist/languages/ru-RU.min.js +1 -1
  93. package/dist/languages/sr-SP.js +171 -0
  94. package/dist/languages/sr-SP.min.js +1 -0
  95. package/dist/languages/zh-CN.js +24 -24
  96. package/dist/languages/zh-CN.min.js +1 -1
  97. package/dist/languages/zh-TW.js +2 -2
  98. package/dist/languages/zh-TW.min.js +1 -1
  99. package/editors/autocompleteEditor/autocompleteEditor.js +13 -14
  100. package/editors/autocompleteEditor/autocompleteEditor.mjs +13 -14
  101. package/editors/baseEditor/baseEditor.js +2 -2
  102. package/editors/baseEditor/baseEditor.mjs +2 -2
  103. package/editors/checkboxEditor/checkboxEditor.js +2 -2
  104. package/editors/checkboxEditor/checkboxEditor.mjs +2 -2
  105. package/editors/dateEditor/dateEditor.js +3 -3
  106. package/editors/dateEditor/dateEditor.mjs +3 -3
  107. package/editors/dropdownEditor/dropdownEditor.js +3 -3
  108. package/editors/dropdownEditor/dropdownEditor.mjs +3 -3
  109. package/editors/handsontableEditor/handsontableEditor.js +3 -3
  110. package/editors/handsontableEditor/handsontableEditor.mjs +3 -3
  111. package/editors/numericEditor/numericEditor.js +2 -2
  112. package/editors/numericEditor/numericEditor.mjs +2 -2
  113. package/editors/passwordEditor/passwordEditor.js +3 -3
  114. package/editors/passwordEditor/passwordEditor.mjs +3 -3
  115. package/editors/selectEditor/selectEditor.js +3 -3
  116. package/editors/selectEditor/selectEditor.mjs +3 -3
  117. package/editors/textEditor/textEditor.js +3 -3
  118. package/editors/textEditor/textEditor.mjs +3 -3
  119. package/editors/timeEditor/timeEditor.js +3 -3
  120. package/editors/timeEditor/timeEditor.mjs +3 -3
  121. package/helpers/mixed.js +2 -2
  122. package/helpers/mixed.mjs +2 -2
  123. package/i18n/languages/cs-CZ.js +40 -0
  124. package/i18n/languages/cs-CZ.mjs +16 -0
  125. package/i18n/languages/index.js +8 -0
  126. package/i18n/languages/index.mjs +3 -1
  127. package/i18n/languages/sr-SP.js +40 -0
  128. package/i18n/languages/sr-SP.mjs +16 -0
  129. package/languages/all.js +97 -33
  130. package/languages/cs-CZ.js +167 -0
  131. package/languages/cs-CZ.mjs +18 -0
  132. package/languages/de-CH.js +3 -2
  133. package/languages/de-DE.js +3 -2
  134. package/languages/en-US.js +3 -2
  135. package/languages/es-MX.js +3 -2
  136. package/languages/fr-FR.js +3 -2
  137. package/languages/index.js +97 -33
  138. package/languages/index.mjs +3 -1
  139. package/languages/it-IT.js +3 -2
  140. package/languages/ja-JP.js +36 -39
  141. package/languages/ko-KR.js +2 -2
  142. package/languages/lv-LV.js +2 -2
  143. package/languages/nb-NO.js +2 -2
  144. package/languages/nl-NL.js +2 -2
  145. package/languages/pl-PL.js +2 -2
  146. package/languages/pt-BR.js +2 -2
  147. package/languages/ru-RU.js +2 -2
  148. package/languages/sr-SP.js +171 -0
  149. package/languages/sr-SP.mjs +18 -0
  150. package/languages/zh-CN.js +24 -24
  151. package/languages/zh-TW.js +2 -2
  152. package/package.json +22 -2
  153. package/pluginHooks.js +46 -8
  154. package/pluginHooks.mjs +46 -8
  155. package/plugins/autoColumnSize/autoColumnSize.js +3 -3
  156. package/plugins/autoColumnSize/autoColumnSize.mjs +3 -3
  157. package/plugins/autoRowSize/autoRowSize.js +3 -3
  158. package/plugins/autoRowSize/autoRowSize.mjs +3 -3
  159. package/plugins/autofill/autofill.js +3 -3
  160. package/plugins/autofill/autofill.mjs +3 -3
  161. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +3 -3
  162. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +3 -3
  163. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +3 -3
  164. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +3 -3
  165. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +3 -3
  166. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +3 -3
  167. package/plugins/collapsibleColumns/collapsibleColumns.js +3 -3
  168. package/plugins/collapsibleColumns/collapsibleColumns.mjs +3 -3
  169. package/plugins/columnSorting/columnSorting.js +3 -3
  170. package/plugins/columnSorting/columnSorting.mjs +3 -3
  171. package/plugins/columnSummary/columnSummary.js +3 -3
  172. package/plugins/columnSummary/columnSummary.mjs +3 -3
  173. package/plugins/comments/commentEditor.js +2 -2
  174. package/plugins/comments/commentEditor.mjs +2 -2
  175. package/plugins/comments/comments.js +39 -31
  176. package/plugins/comments/comments.mjs +40 -32
  177. package/plugins/contextMenu/contextMenu.js +3 -3
  178. package/plugins/contextMenu/contextMenu.mjs +3 -3
  179. package/plugins/copyPaste/copyPaste.js +6 -6
  180. package/plugins/copyPaste/copyPaste.mjs +6 -6
  181. package/plugins/customBorders/customBorders.js +3 -3
  182. package/plugins/customBorders/customBorders.mjs +3 -3
  183. package/plugins/dragToScroll/dragToScroll.js +3 -3
  184. package/plugins/dragToScroll/dragToScroll.mjs +3 -3
  185. package/plugins/dropdownMenu/dropdownMenu.js +5 -4
  186. package/plugins/dropdownMenu/dropdownMenu.mjs +5 -4
  187. package/plugins/exportFile/exportFile.js +2 -2
  188. package/plugins/exportFile/exportFile.mjs +2 -2
  189. package/plugins/exportFile/types/csv.js +2 -2
  190. package/plugins/exportFile/types/csv.mjs +2 -2
  191. package/plugins/filters/component/actionBar.js +2 -2
  192. package/plugins/filters/component/actionBar.mjs +2 -2
  193. package/plugins/filters/component/condition.js +3 -3
  194. package/plugins/filters/component/condition.mjs +3 -3
  195. package/plugins/filters/component/operators.js +2 -2
  196. package/plugins/filters/component/operators.mjs +2 -2
  197. package/plugins/filters/component/value.js +3 -3
  198. package/plugins/filters/component/value.mjs +3 -3
  199. package/plugins/filters/filters.js +3 -3
  200. package/plugins/filters/filters.mjs +3 -3
  201. package/plugins/filters/ui/input.js +3 -3
  202. package/plugins/filters/ui/input.mjs +3 -3
  203. package/plugins/filters/ui/link.js +3 -3
  204. package/plugins/filters/ui/link.mjs +3 -3
  205. package/plugins/filters/ui/multipleSelect.js +3 -3
  206. package/plugins/filters/ui/multipleSelect.mjs +3 -3
  207. package/plugins/filters/ui/radioInput.js +3 -3
  208. package/plugins/filters/ui/radioInput.mjs +3 -3
  209. package/plugins/filters/ui/select.js +3 -3
  210. package/plugins/filters/ui/select.mjs +3 -3
  211. package/plugins/formulas/formulas.js +3 -3
  212. package/plugins/formulas/formulas.mjs +3 -3
  213. package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +2 -4
  214. package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +2 -4
  215. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +3 -3
  216. package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +3 -3
  217. package/plugins/hiddenColumns/hiddenColumns.js +3 -3
  218. package/plugins/hiddenColumns/hiddenColumns.mjs +3 -3
  219. package/plugins/hiddenRows/contextMenuItem/hideRow.js +2 -4
  220. package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +2 -4
  221. package/plugins/hiddenRows/contextMenuItem/showRow.js +3 -3
  222. package/plugins/hiddenRows/contextMenuItem/showRow.mjs +3 -3
  223. package/plugins/hiddenRows/hiddenRows.js +3 -3
  224. package/plugins/hiddenRows/hiddenRows.mjs +3 -3
  225. package/plugins/manualColumnFreeze/manualColumnFreeze.js +46 -20
  226. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +41 -20
  227. package/plugins/manualColumnMove/manualColumnMove.js +7 -18
  228. package/plugins/manualColumnMove/manualColumnMove.mjs +7 -18
  229. package/plugins/manualColumnMove/ui/backlight.js +3 -3
  230. package/plugins/manualColumnMove/ui/backlight.mjs +3 -3
  231. package/plugins/manualColumnMove/ui/guideline.js +3 -3
  232. package/plugins/manualColumnMove/ui/guideline.mjs +3 -3
  233. package/plugins/manualColumnResize/manualColumnResize.js +3 -3
  234. package/plugins/manualColumnResize/manualColumnResize.mjs +3 -3
  235. package/plugins/manualRowMove/manualRowMove.js +11 -29
  236. package/plugins/manualRowMove/manualRowMove.mjs +11 -29
  237. package/plugins/manualRowMove/ui/backlight.js +3 -3
  238. package/plugins/manualRowMove/ui/backlight.mjs +3 -3
  239. package/plugins/manualRowMove/ui/guideline.js +3 -3
  240. package/plugins/manualRowMove/ui/guideline.mjs +3 -3
  241. package/plugins/manualRowResize/manualRowResize.js +3 -3
  242. package/plugins/manualRowResize/manualRowResize.mjs +3 -3
  243. package/plugins/mergeCells/cellsCollection.js +3 -3
  244. package/plugins/mergeCells/cellsCollection.mjs +3 -3
  245. package/plugins/mergeCells/mergeCells.js +15 -15
  246. package/plugins/mergeCells/mergeCells.mjs +15 -15
  247. package/plugins/multiColumnSorting/multiColumnSorting.js +3 -3
  248. package/plugins/multiColumnSorting/multiColumnSorting.mjs +3 -3
  249. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +3 -3
  250. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +3 -3
  251. package/plugins/nestedHeaders/nestedHeaders.js +10 -6
  252. package/plugins/nestedHeaders/nestedHeaders.mjs +10 -6
  253. package/plugins/nestedHeaders/stateManager/utils.js +3 -4
  254. package/plugins/nestedHeaders/stateManager/utils.mjs +3 -4
  255. package/plugins/nestedHeaders/utils/ghostTable.js +94 -56
  256. package/plugins/nestedHeaders/utils/ghostTable.mjs +94 -56
  257. package/plugins/nestedRows/nestedRows.js +3 -3
  258. package/plugins/nestedRows/nestedRows.mjs +3 -3
  259. package/plugins/nestedRows/ui/collapsing.js +2 -2
  260. package/plugins/nestedRows/ui/collapsing.mjs +2 -2
  261. package/plugins/nestedRows/ui/contextMenu.js +2 -2
  262. package/plugins/nestedRows/ui/contextMenu.mjs +2 -2
  263. package/plugins/nestedRows/ui/headers.js +2 -2
  264. package/plugins/nestedRows/ui/headers.mjs +2 -2
  265. package/plugins/persistentState/persistentState.js +3 -3
  266. package/plugins/persistentState/persistentState.mjs +3 -3
  267. package/plugins/search/search.js +3 -3
  268. package/plugins/search/search.mjs +3 -3
  269. package/plugins/touchScroll/touchScroll.js +3 -3
  270. package/plugins/touchScroll/touchScroll.mjs +3 -3
  271. package/plugins/trimRows/trimRows.js +3 -3
  272. package/plugins/trimRows/trimRows.mjs +3 -3
  273. package/plugins/undoRedo/undoRedo.js +2 -2
  274. package/plugins/undoRedo/undoRedo.mjs +2 -2
  275. package/selection/highlight/visualSelection.js +83 -210
  276. package/selection/highlight/visualSelection.mjs +79 -202
  277. package/selection/selection.js +9 -3
  278. package/selection/selection.mjs +9 -3
  279. package/shortcuts/context.js +1 -1
  280. package/shortcuts/context.mjs +1 -1
  281. package/shortcuts/manager.js +3 -1
  282. package/shortcuts/manager.mjs +3 -1
  283. package/shortcuts/recorder.js +11 -2
  284. package/shortcuts/recorder.mjs +11 -2
  285. package/tableView.js +27 -5
  286. package/tableView.mjs +27 -5
  287. package/translations/indexMapper.d.ts +3 -1
  288. package/translations/indexMapper.js +88 -10
  289. package/translations/indexMapper.mjs +90 -19
  290. package/translations/mapCollections/aggregatedCollection.js +2 -2
  291. package/translations/mapCollections/aggregatedCollection.mjs +2 -2
  292. package/translations/maps/hidingMap.js +2 -2
  293. package/translations/maps/hidingMap.mjs +2 -2
  294. package/translations/maps/indexesSequence.js +3 -3
  295. package/translations/maps/indexesSequence.mjs +3 -3
  296. package/translations/maps/linkedPhysicalIndexToValueMap.js +3 -3
  297. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +3 -3
  298. package/translations/maps/physicalIndexToValueMap.js +3 -3
  299. package/translations/maps/physicalIndexToValueMap.mjs +3 -3
  300. package/translations/maps/trimmingMap.js +2 -2
  301. package/translations/maps/trimmingMap.mjs +2 -2
@@ -2,6 +2,10 @@
2
2
 
3
3
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
4
 
5
+ require("core-js/modules/es.object.set-prototype-of.js");
6
+
7
+ require("core-js/modules/es.object.get-prototype-of.js");
8
+
5
9
  require("core-js/modules/es.object.to-string.js");
6
10
 
7
11
  require("core-js/modules/es.reflect.construct.js");
@@ -22,48 +26,24 @@ require("core-js/modules/es.string.iterator.js");
22
26
 
23
27
  require("core-js/modules/web.dom-collections.iterator.js");
24
28
 
25
- require("core-js/modules/es.array.slice.js");
26
-
27
- require("core-js/modules/es.function.name.js");
28
-
29
- require("core-js/modules/es.array.from.js");
30
-
31
- require("core-js/modules/es.regexp.exec.js");
32
-
33
29
  exports.__esModule = true;
34
30
  exports.default = void 0;
35
31
 
36
- require("core-js/modules/es.object.set-prototype-of.js");
37
-
38
- require("core-js/modules/es.object.get-prototype-of.js");
39
-
40
32
  var _src = require("./../../3rdparty/walkontable/src");
41
33
 
42
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
43
-
44
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
45
-
46
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
47
-
48
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
49
-
50
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
51
-
52
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
53
-
54
34
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
55
35
 
56
36
  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); } }
57
37
 
58
38
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
59
39
 
60
- function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }
40
+ function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }
61
41
 
62
42
  function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
63
43
 
64
44
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
65
45
 
66
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
46
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
67
47
 
68
48
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
69
49
 
@@ -73,24 +53,28 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
73
53
 
74
54
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
75
55
 
76
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
56
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
57
+
58
+ 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; }
77
59
 
78
60
  var VisualSelection = /*#__PURE__*/function (_Selection) {
79
61
  _inherits(VisualSelection, _Selection);
80
62
 
81
63
  var _super = _createSuper(VisualSelection);
82
64
 
65
+ /**
66
+ * Range of selection visually. Visual representation may have representation in a rendered selection.
67
+ *
68
+ * @type {null|CellRange}
69
+ */
83
70
  function VisualSelection(settings, visualCellRange) {
84
71
  var _this;
85
72
 
86
73
  _classCallCheck(this, VisualSelection);
87
74
 
88
75
  _this = _super.call(this, settings, null);
89
- /**
90
- * Range of selection visually. Visual representation may have representation in a rendered selection.
91
- *
92
- * @type {null|CellRange}
93
- */
76
+
77
+ _defineProperty(_assertThisInitialized(_this), "visualCellRange", null);
94
78
 
95
79
  _this.visualCellRange = visualCellRange || null;
96
80
 
@@ -130,146 +114,95 @@ var VisualSelection = /*#__PURE__*/function (_Selection) {
130
114
  return _get(_getPrototypeOf(VisualSelection.prototype), "clear", this).call(this);
131
115
  }
132
116
  /**
133
- * Search for the first visible coordinates in the range as range may start and/or end with the hidden index.
117
+ * Trims the passed cell range object by removing all coordinates that points to the hidden rows
118
+ * or columns. The result is a new cell range object that points only to the visible indexes or `null`.
134
119
  *
135
120
  * @private
136
- * @param {CellCoords} startCoords Visual start coordinates for the range. Starting point for finding destination coordinates
137
- * with visible coordinates (we are going from the starting coordinates to the end coordinates until the criteria are met).
138
- * @param {CellCoords} endCoords Visual end coordinates for the range.
139
- * @param {number} incrementByRow We are searching for a next visible rows by increasing (to be precise, or decreasing) indexes.
140
- * This variable represent indexes shift. We are looking for an index:
141
- * - for rows: from the left to the right (increasing indexes, then variable should have value 1) or
142
- * other way around (decreasing indexes, then variable should have the value -1)
143
- * - for columns: from the top to the bottom (increasing indexes, then variable should have value 1)
144
- * or other way around (decreasing indexes, then variable should have the value -1).
145
- * @param {number} incrementByColumn As above, just indexes shift for columns.
146
- * @returns {null|CellCoords} Visual cell coordinates.
121
+ * @param {CellRange} cellRange Cells range object to be trimmed.
122
+ * @returns {CellRange} Visual non-hidden cells range coordinates.
147
123
  */
148
124
 
149
125
  }, {
150
- key: "findVisibleCoordsInRange",
151
- value: function findVisibleCoordsInRange(startCoords, endCoords, incrementByRow) {
152
- var incrementByColumn = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : incrementByRow;
153
- var nextVisibleRow = this.findVisibleCoordsInRowsRange(startCoords.row, endCoords.row, incrementByRow); // There are no more visual rows in the range.
154
-
155
- if (nextVisibleRow === null) {
126
+ key: "trimToVisibleCellsRangeOnly",
127
+ value: function trimToVisibleCellsRangeOnly(_ref) {
128
+ var from = _ref.from,
129
+ to = _ref.to;
130
+ var visibleFromCoords = this.getNearestNotHiddenCoords(from, 1);
131
+ var visibleToCoords = this.getNearestNotHiddenCoords(to, -1);
132
+
133
+ if (visibleFromCoords === null || visibleToCoords === null) {
156
134
  return null;
157
135
  }
158
136
 
159
- var nextVisibleColumn = this.findVisibleCoordsInColumnsRange(startCoords.col, endCoords.col, incrementByColumn); // There are no more visual columns in the range.
137
+ if (visibleFromCoords.row > visibleToCoords.row || visibleFromCoords.col > visibleToCoords.col) {
138
+ var isHeaderTypeSelection = this.settings.type === 'header' || this.settings.type === 'active-header';
160
139
 
161
- if (nextVisibleColumn === null) {
162
- return null;
140
+ if (!isHeaderTypeSelection) {
141
+ return null;
142
+ }
143
+
144
+ visibleFromCoords = from;
145
+ visibleToCoords = to;
163
146
  }
164
147
 
165
- return this.settings.createCellCoords(nextVisibleRow, nextVisibleColumn);
148
+ return this.settings.createCellRange(visibleFromCoords, visibleFromCoords, visibleToCoords);
166
149
  }
167
150
  /**
168
- * Searches the nearest visible row index, which is not hidden (is renderable).
151
+ * Gets nearest coordinates that points to the visible row and column indexes. If there are no visible
152
+ * rows and/or columns the `null` value is returned.
169
153
  *
170
154
  * @private
171
- * @param {CellCoords} startVisibleRow Visual row index which starts the range. Starting point for finding
172
- * destination coordinates with visible coordinates (we are going from the starting coordinates to the end
173
- * coordinates until the criteria are met).
174
- * @param {CellCoords} endVisibleRow Visual row index which ends the range.
175
- * @param {number} incrementBy We are searching for a next visible rows by increasing (to be precise, or decreasing)
176
- * indexes. This variable represent indexes shift. From the left to the right (increasing indexes, then variable
177
- * should have value 1) or other way around (decreasing indexes, then variable should have the value -1).
178
- * @returns {number|null} The visual row index.
155
+ * @param {CellCoords} coords The coords object as starting point for finding the nearest visible coordinates.
156
+ * @param {1|-1} rowSearchDirection The search direction. For value 1, it means searching from top to bottom for
157
+ * rows and from left to right for columns. For -1, it is the other way around.
158
+ * @param {1|-1} columnSearchDirection The same as above but for rows.
159
+ * @returns {CellCoords|null} Visual cell coordinates.
179
160
  */
180
161
 
181
162
  }, {
182
- key: "findVisibleCoordsInRowsRange",
183
- value: function findVisibleCoordsInRowsRange(startVisibleRow, endVisibleRow, incrementBy) {
184
- var _this$settings$visual = this.settings.visualToRenderableCoords({
185
- row: startVisibleRow,
186
- col: -1
187
- }),
188
- startRowRenderable = _this$settings$visual.row; // There are no more visual rows in the range.
163
+ key: "getNearestNotHiddenCoords",
164
+ value: function getNearestNotHiddenCoords(coords, rowSearchDirection) {
165
+ var columnSearchDirection = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : rowSearchDirection;
166
+ var nextVisibleRow = this.getNearestNotHiddenIndex(this.settings.rowIndexMapper(), coords.row, rowSearchDirection); // There are no more visual rows in the range.
189
167
 
190
-
191
- if (endVisibleRow === startVisibleRow && startRowRenderable === null) {
168
+ if (nextVisibleRow === null) {
192
169
  return null;
193
- } // We are looking for a next visible row in the range.
194
-
170
+ }
195
171
 
196
- if (startRowRenderable === null) {
197
- return this.findVisibleCoordsInRowsRange(startVisibleRow + incrementBy, endVisibleRow, incrementBy);
198
- } // We found visible row index in the range.
172
+ var nextVisibleColumn = this.getNearestNotHiddenIndex(this.settings.columnIndexMapper(), coords.col, columnSearchDirection); // There are no more visual columns in the range.
199
173
 
174
+ if (nextVisibleColumn === null) {
175
+ return null;
176
+ }
200
177
 
201
- return startVisibleRow;
178
+ return this.settings.createCellCoords(nextVisibleRow, nextVisibleColumn);
202
179
  }
203
180
  /**
204
- * Searches the nearest visible column index, which is not hidden (is renderable).
181
+ * Gets nearest visual index. If there are no visible rows or columns the `null` value is returned.
205
182
  *
206
183
  * @private
207
- * @param {CellCoords} startVisibleColumn Visual column index which starts the range. Starting point for finding
208
- * destination coordinates with visible coordinates (we are going from the starting coordinates to the end
209
- * coordinates until the criteria are met).
210
- * @param {CellCoords} endVisibleColumn Visual column index which ends the range.
211
- * @param {number} incrementBy We are searching for a next visible columns by increasing (to be precise, or decreasing)
212
- * indexes. This variable represent indexes shift. From the top to the bottom (increasing indexes, then variable
213
- * should have value 1) or other way around (decreasing indexes, then variable should have the value -1).
214
- * @returns {number|null} The visual column index.
184
+ * @param {IndexMapper} indexMapper The IndexMapper instance for specific axis.
185
+ * @param {number} visualIndex The index as starting point for finding the nearest visible index.
186
+ * @param {1|-1} searchDirection The search direction. For value 1, it means searching from top to bottom for
187
+ * rows and from left to right for columns. For -1, it is the other way around.
188
+ * @returns {number|null} Visual row/column index.
215
189
  */
216
190
 
217
191
  }, {
218
- key: "findVisibleCoordsInColumnsRange",
219
- value: function findVisibleCoordsInColumnsRange(startVisibleColumn, endVisibleColumn, incrementBy) {
220
- var _this$settings$visual2 = this.settings.visualToRenderableCoords({
221
- row: -1,
222
- col: startVisibleColumn
223
- }),
224
- startColumnRenderable = _this$settings$visual2.col; // There are no more visual columns in the range.
225
-
226
-
227
- if (endVisibleColumn === startVisibleColumn && startColumnRenderable === null) {
228
- return null;
229
- } // We are looking for a next visible column in the range.
230
-
231
-
232
- if (startColumnRenderable === null) {
233
- return this.findVisibleCoordsInColumnsRange(startVisibleColumn + incrementBy, endVisibleColumn, incrementBy);
234
- } // We found visible column index in the range.
235
-
192
+ key: "getNearestNotHiddenIndex",
193
+ value: function getNearestNotHiddenIndex(indexMapper, visualIndex, searchDirection) {
194
+ if (visualIndex < 0) {
195
+ return visualIndex;
196
+ }
236
197
 
237
- return startVisibleColumn;
238
- }
239
- /**
240
- * Searches the nearest visible column and row index, which is not hidden (is renderable). If one
241
- * of the axes' range is entirely hidden, then created CellCoords object will hold the `null` value
242
- * under a specific axis. For example, when we select the hidden column, then the calculated `col`
243
- * prop will be `null`. In that case, rows are calculated further (regardless of the column result)
244
- * to make rows header highlightable.
245
- *
246
- * @private
247
- * @param {CellCoords} visualFromCoords Visual start coordinates for the range. Starting point for finding destination coordinates
248
- * with visible coordinates (we are going from the starting coordinates to the end coordinates until the criteria are met).
249
- * @param {CellCoords} visualToCoords Visual end coordinates for the range.
250
- * @param {number} incrementByRow We are searching for a next visible rows by increasing (to be precise, or decreasing) indexes.
251
- * This variable represent indexes shift. We are looking for an index:
252
- * - for rows: from the left to the right (increasing indexes, then variable should have value 1) or
253
- * other way around (decreasing indexes, then variable should have the value -1)
254
- * - for columns: from the top to the bottom (increasing indexes, then variable should have value 1)
255
- * or other way around (decreasing indexes, then variable should have the value -1).
256
- * @param {number} incrementByColumn As above, just indexes shift for columns.
257
- * @returns {CellCoords[]|null} Visual cell coordinates.
258
- */
198
+ var nearestVisualIndex = indexMapper.getNearestNotHiddenIndex(visualIndex, searchDirection);
199
+ var isHeaderSelectionType = this.settings.type === 'header' || this.settings.type === 'active-header';
259
200
 
260
- }, {
261
- key: "findVisibleHeaderRange",
262
- value: function findVisibleHeaderRange(visualFromCoords, visualToCoords, incrementByRow, incrementByColumn) {
263
- var fromRangeVisualRow = this.findVisibleCoordsInRowsRange(visualFromCoords.row, visualToCoords.row, incrementByRow);
264
- var toRangeVisualRow = this.findVisibleCoordsInRowsRange(visualToCoords.row, visualFromCoords.row, -incrementByRow);
265
- var fromRangeVisualColumn = this.findVisibleCoordsInColumnsRange(visualFromCoords.col, visualToCoords.col, incrementByColumn);
266
- var toRangeVisualColumn = this.findVisibleCoordsInColumnsRange(visualToCoords.col, visualFromCoords.col, -incrementByColumn); // All rows and columns ranges are hidden.
267
-
268
- if (fromRangeVisualRow === null && toRangeVisualRow === null && fromRangeVisualColumn === null && toRangeVisualColumn === null) {
269
- return null;
201
+ if (isHeaderSelectionType && nearestVisualIndex === null) {
202
+ return -1;
270
203
  }
271
204
 
272
- return [this.settings.createCellCoords(fromRangeVisualRow, fromRangeVisualColumn), this.settings.createCellCoords(toRangeVisualRow, toRangeVisualColumn)];
205
+ return nearestVisualIndex;
273
206
  }
274
207
  /**
275
208
  * Override internally stored visual indexes added by the Selection's `add` function. It should be executed
@@ -286,39 +219,18 @@ var VisualSelection = /*#__PURE__*/function (_Selection) {
286
219
  return this;
287
220
  }
288
221
 
289
- var _this$visualCellRange = this.visualCellRange,
290
- visualFromCoords = _this$visualCellRange.from,
291
- visualToCoords = _this$visualCellRange.to; // We may move in two different directions while searching for visible rows and visible columns.
292
-
293
- var incrementByRow = this.getRowSearchDirection(this.visualCellRange);
294
- var incrementByColumn = this.getColumnSearchDirection(this.visualCellRange);
295
- var fromRangeVisual = this.findVisibleCoordsInRange(visualFromCoords, visualToCoords, incrementByRow, incrementByColumn);
296
- var toRangeVisual = this.findVisibleCoordsInRange(visualToCoords, visualFromCoords, -incrementByRow, -incrementByColumn); // There is no visual start point (and also visual end point) in the range.
297
- // We are looking for the first visible cell in a broader range.
298
-
299
- if (fromRangeVisual === null || toRangeVisual === null) {
300
- var isHeaderSelectionType = this.settings.type === 'header';
301
- var cellRange = null; // For the "header" selection type, find rows and column indexes, which should be
302
- // highlighted, although one of the axes is completely hidden.
303
-
304
- if (isHeaderSelectionType) {
305
- var _this$findVisibleHead = this.findVisibleHeaderRange(visualFromCoords, visualToCoords, incrementByRow, incrementByColumn),
306
- _this$findVisibleHead2 = _slicedToArray(_this$findVisibleHead, 2),
307
- fromRangeVisualHeader = _this$findVisibleHead2[0],
308
- toRangeVisualHeader = _this$findVisibleHead2[1];
309
-
310
- cellRange = this.createRenderableCellRange(fromRangeVisualHeader, toRangeVisualHeader);
311
- }
222
+ var trimmedCellRange = this.trimToVisibleCellsRangeOnly(this.visualCellRange); // There is no visual start point (and also visual end point) in the range.
312
223
 
313
- this.cellRange = cellRange;
224
+ if (trimmedCellRange === null) {
225
+ this.cellRange = null;
314
226
  } else {
315
- this.cellRange = this.createRenderableCellRange(fromRangeVisual, toRangeVisual);
227
+ this.cellRange = this.createRenderableCellRange(trimmedCellRange.from, trimmedCellRange.to);
316
228
  }
317
229
 
318
230
  return this;
319
231
  }
320
232
  /**
321
- * Some selection may be a part of broader cell range. This function adjusting coordinates of current selection
233
+ * Some selection may be a part of broader cell range. This function sync coordinates of current selection
322
234
  * and the broader cell range when needed (current selection can't be presented visually).
323
235
  *
324
236
  * @param {CellRange} broaderCellRange Visual range. Actual cell range may be contained in the broader cell range.
@@ -330,16 +242,13 @@ var VisualSelection = /*#__PURE__*/function (_Selection) {
330
242
  */
331
243
 
332
244
  }, {
333
- key: "adjustCoordinates",
334
- value: function adjustCoordinates(broaderCellRange) {
335
- // We may move in two different directions while searching for visible rows and visible columns.
336
- var incrementByRow = this.getRowSearchDirection(broaderCellRange);
337
- var incrementByColumn = this.getColumnSearchDirection(broaderCellRange);
338
- var normFromCoords = broaderCellRange.from.clone().normalize();
339
- var normToCoords = broaderCellRange.to.clone().normalize();
340
- var singleCellRangeVisual = this.findVisibleCoordsInRange(normFromCoords, normToCoords, incrementByRow, incrementByColumn);
341
-
342
- if (singleCellRangeVisual !== null) {
245
+ key: "syncWith",
246
+ value: function syncWith(broaderCellRange) {
247
+ var rowDirection = broaderCellRange.getVerticalDirection() === 'N-S' ? 1 : -1;
248
+ var columnDirection = broaderCellRange.getHorizontalDirection() === 'W-E' ? 1 : -1;
249
+ var singleCellRangeVisual = this.getNearestNotHiddenCoords(broaderCellRange.from.clone().normalize(), rowDirection, columnDirection);
250
+
251
+ if (singleCellRangeVisual !== null && broaderCellRange.overlaps(singleCellRangeVisual)) {
343
252
  // We can't show selection visually now, but we found fist visible range in the broader cell range.
344
253
  if (this.cellRange === null) {
345
254
  var singleCellRangeRenderable = this.settings.visualToRenderableCoords(singleCellRangeVisual);
@@ -409,42 +318,6 @@ var VisualSelection = /*#__PURE__*/function (_Selection) {
409
318
  var renderableToCoords = this.settings.visualToRenderableCoords(visualToCoords);
410
319
  return this.settings.createCellRange(renderableFromCoords, renderableFromCoords, renderableToCoords);
411
320
  }
412
- /**
413
- * It returns rows shift needed for searching visual row.
414
- *
415
- * @private
416
- * @param {CellRange} cellRange Selection range.
417
- * @returns {number} Rows shift. It return 1 when we should increase indexes (moving from the top to the bottom) or
418
- * -1 when we should decrease indexes (moving other way around).
419
- */
420
-
421
- }, {
422
- key: "getRowSearchDirection",
423
- value: function getRowSearchDirection(cellRange) {
424
- if (cellRange.from.row < cellRange.to.row) {
425
- return 1; // Increasing row indexes.
426
- }
427
-
428
- return -1; // Decreasing row indexes.
429
- }
430
- /**
431
- * It returns columns shift needed for searching visual column.
432
- *
433
- * @private
434
- * @param {CellRange} cellRange Selection range.
435
- * @returns {number} Columns shift. It return 1 when we should increase indexes (moving from the left to the right) or
436
- * -1 when we should decrease indexes (moving other way around).
437
- */
438
-
439
- }, {
440
- key: "getColumnSearchDirection",
441
- value: function getColumnSearchDirection(cellRange) {
442
- if (cellRange.from.col < cellRange.to.col) {
443
- return 1; // Increasing column indexes.
444
- }
445
-
446
- return -1; // Decreasing column indexes.
447
- }
448
321
  }]);
449
322
 
450
323
  return VisualSelection;