handsontable 0.0.0-next-08765b9-20230714 → 0.0.0-next-6b996e8-20230714

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of handsontable might be problematic. Click here for more details.

Files changed (296) hide show
  1. package/3rdparty/walkontable/src/{selection/border/border.js → border.js} +12 -7
  2. package/3rdparty/walkontable/src/{selection/border/border.mjs → border.mjs} +12 -7
  3. package/3rdparty/walkontable/src/cell/coords.d.ts +1 -6
  4. package/3rdparty/walkontable/src/cell/coords.js +11 -50
  5. package/3rdparty/walkontable/src/cell/coords.mjs +11 -50
  6. package/3rdparty/walkontable/src/cell/range.d.ts +2 -9
  7. package/3rdparty/walkontable/src/cell/range.js +7 -38
  8. package/3rdparty/walkontable/src/cell/range.mjs +7 -38
  9. package/3rdparty/walkontable/src/core/_base.js +3 -9
  10. package/3rdparty/walkontable/src/core/_base.mjs +3 -9
  11. package/3rdparty/walkontable/src/core/clone.js +2 -2
  12. package/3rdparty/walkontable/src/core/clone.mjs +2 -2
  13. package/3rdparty/walkontable/src/core/core.js +2 -3
  14. package/3rdparty/walkontable/src/core/core.mjs +2 -3
  15. package/3rdparty/walkontable/src/event.js +7 -7
  16. package/3rdparty/walkontable/src/event.mjs +7 -7
  17. package/3rdparty/walkontable/src/facade/core.js +2 -2
  18. package/3rdparty/walkontable/src/facade/core.mjs +2 -2
  19. package/3rdparty/walkontable/src/index.js +2 -10
  20. package/3rdparty/walkontable/src/index.mjs +2 -2
  21. package/3rdparty/walkontable/src/overlay/_base.js +1 -1
  22. package/3rdparty/walkontable/src/overlay/_base.mjs +1 -1
  23. package/3rdparty/walkontable/src/overlay/inlineStart.js +6 -2
  24. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +6 -2
  25. package/3rdparty/walkontable/src/overlay/top.js +6 -2
  26. package/3rdparty/walkontable/src/overlay/top.mjs +6 -2
  27. package/3rdparty/walkontable/src/selection.js +295 -0
  28. package/3rdparty/walkontable/src/selection.mjs +290 -0
  29. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +0 -9
  30. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +0 -9
  31. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +0 -9
  32. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +0 -9
  33. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +0 -9
  34. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +0 -9
  35. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +0 -9
  36. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +0 -9
  37. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +0 -9
  38. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +0 -9
  39. package/3rdparty/walkontable/src/table.js +78 -6
  40. package/3rdparty/walkontable/src/table.mjs +79 -7
  41. package/base.js +2 -2
  42. package/base.mjs +2 -2
  43. package/common.d.ts +1 -1
  44. package/core.d.ts +3 -6
  45. package/core.js +290 -173
  46. package/core.mjs +290 -173
  47. package/dataMap/metaManager/metaSchema.js +0 -41
  48. package/dataMap/metaManager/metaSchema.mjs +0 -41
  49. package/dist/handsontable.css +3 -19
  50. package/dist/handsontable.full.css +3 -19
  51. package/dist/handsontable.full.js +5369 -8671
  52. package/dist/handsontable.full.min.css +3 -3
  53. package/dist/handsontable.full.min.js +25 -25
  54. package/dist/handsontable.js +8117 -11419
  55. package/dist/handsontable.min.css +3 -3
  56. package/dist/handsontable.min.js +19 -19
  57. package/editorManager.js +75 -11
  58. package/editorManager.mjs +74 -11
  59. package/editors/textEditor/textEditor.js +11 -3
  60. package/editors/textEditor/textEditor.mjs +12 -4
  61. package/helpers/mixed.js +1 -1
  62. package/helpers/mixed.mjs +1 -1
  63. package/helpers/number.d.ts +0 -1
  64. package/helpers/number.js +0 -18
  65. package/helpers/number.mjs +0 -17
  66. package/package.json +1 -1
  67. package/pluginHooks.d.ts +1 -7
  68. package/pluginHooks.js +1 -106
  69. package/pluginHooks.mjs +1 -106
  70. package/plugins/collapsibleColumns/collapsibleColumns.js +4 -58
  71. package/plugins/collapsibleColumns/collapsibleColumns.mjs +4 -58
  72. package/plugins/columnSorting/columnSorting.js +0 -38
  73. package/plugins/columnSorting/columnSorting.mjs +2 -38
  74. package/plugins/columnSorting/index.js +1 -3
  75. package/plugins/columnSorting/index.mjs +1 -1
  76. package/plugins/comments/commentEditor.js +0 -1
  77. package/plugins/comments/commentEditor.mjs +0 -1
  78. package/plugins/comments/comments.js +189 -251
  79. package/plugins/comments/comments.mjs +190 -250
  80. package/plugins/contextMenu/contextMenu.d.ts +1 -1
  81. package/plugins/contextMenu/contextMenu.js +30 -72
  82. package/plugins/contextMenu/contextMenu.mjs +31 -73
  83. package/plugins/contextMenu/predefinedItems/alignment.js +0 -7
  84. package/plugins/contextMenu/predefinedItems/alignment.mjs +0 -7
  85. package/plugins/contextMenu/predefinedItems/clearColumn.js +3 -5
  86. package/plugins/contextMenu/predefinedItems/clearColumn.mjs +3 -5
  87. package/plugins/contextMenu/predefinedItems/columnLeft.js +3 -5
  88. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +3 -5
  89. package/plugins/contextMenu/predefinedItems/columnRight.js +3 -5
  90. package/plugins/contextMenu/predefinedItems/columnRight.mjs +3 -5
  91. package/plugins/contextMenu/predefinedItems/readOnly.js +0 -7
  92. package/plugins/contextMenu/predefinedItems/readOnly.mjs +0 -7
  93. package/plugins/contextMenu/predefinedItems/removeColumn.js +5 -7
  94. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +3 -5
  95. package/plugins/contextMenu/predefinedItems/removeRow.js +5 -7
  96. package/plugins/contextMenu/predefinedItems/removeRow.mjs +3 -5
  97. package/plugins/contextMenu/predefinedItems/rowAbove.js +3 -5
  98. package/plugins/contextMenu/predefinedItems/rowAbove.mjs +3 -5
  99. package/plugins/contextMenu/predefinedItems/rowBelow.js +3 -5
  100. package/plugins/contextMenu/predefinedItems/rowBelow.mjs +3 -5
  101. package/plugins/contextMenu/utils.js +16 -28
  102. package/plugins/contextMenu/utils.mjs +15 -27
  103. package/plugins/copyPaste/contextMenuItem/copy.js +0 -7
  104. package/plugins/copyPaste/contextMenuItem/copy.mjs +0 -7
  105. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +1 -9
  106. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +1 -9
  107. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +1 -9
  108. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +1 -9
  109. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +1 -9
  110. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +1 -9
  111. package/plugins/copyPaste/contextMenuItem/cut.js +0 -7
  112. package/plugins/copyPaste/contextMenuItem/cut.mjs +0 -7
  113. package/plugins/copyPaste/copyPaste.js +2 -6
  114. package/plugins/copyPaste/copyPaste.mjs +2 -6
  115. package/plugins/customBorders/customBorders.js +20 -23
  116. package/plugins/customBorders/customBorders.mjs +21 -24
  117. package/plugins/dropdownMenu/dropdownMenu.d.ts +1 -1
  118. package/plugins/dropdownMenu/dropdownMenu.js +32 -89
  119. package/plugins/dropdownMenu/dropdownMenu.mjs +32 -89
  120. package/plugins/filters/filters.js +14 -31
  121. package/plugins/filters/filters.mjs +13 -30
  122. package/plugins/mergeCells/mergeCells.js +16 -5
  123. package/plugins/mergeCells/mergeCells.mjs +16 -5
  124. package/plugins/multiColumnSorting/multiColumnSorting.js +2 -37
  125. package/plugins/multiColumnSorting/multiColumnSorting.mjs +2 -37
  126. package/plugins/nestedHeaders/nestedHeaders.js +8 -121
  127. package/plugins/nestedHeaders/nestedHeaders.mjs +8 -121
  128. package/plugins/nestedHeaders/stateManager/index.js +0 -37
  129. package/plugins/nestedHeaders/stateManager/index.mjs +0 -37
  130. package/plugins/nestedRows/nestedRows.js +0 -41
  131. package/plugins/nestedRows/nestedRows.mjs +0 -41
  132. package/renderers/checkboxRenderer/checkboxRenderer.js +2 -2
  133. package/renderers/checkboxRenderer/checkboxRenderer.mjs +1 -1
  134. package/selection/highlight/constants.js +15 -0
  135. package/selection/highlight/constants.mjs +6 -0
  136. package/selection/highlight/highlight.js +71 -256
  137. package/selection/highlight/highlight.mjs +71 -250
  138. package/selection/highlight/types/activeHeader.js +8 -10
  139. package/selection/highlight/types/activeHeader.mjs +8 -10
  140. package/selection/highlight/types/area.js +18 -6
  141. package/selection/highlight/types/area.mjs +18 -6
  142. package/selection/highlight/types/{focus.js → cell.js} +7 -5
  143. package/selection/highlight/types/{focus.mjs → cell.mjs} +7 -5
  144. package/selection/highlight/types/customSelection.js +9 -7
  145. package/selection/highlight/types/customSelection.mjs +9 -7
  146. package/selection/highlight/types/fill.js +7 -5
  147. package/selection/highlight/types/fill.mjs +7 -5
  148. package/selection/highlight/types/header.js +18 -9
  149. package/selection/highlight/types/header.mjs +18 -9
  150. package/selection/highlight/types/index.js +35 -0
  151. package/selection/highlight/types/index.mjs +31 -0
  152. package/selection/highlight/visualSelection.js +27 -31
  153. package/selection/highlight/visualSelection.mjs +27 -31
  154. package/selection/index.js +7 -4
  155. package/selection/index.mjs +3 -2
  156. package/selection/mouseEventHandler.js +1 -1
  157. package/selection/mouseEventHandler.mjs +1 -1
  158. package/selection/range.js +8 -8
  159. package/selection/range.mjs +8 -8
  160. package/selection/selection.js +154 -290
  161. package/selection/selection.mjs +153 -287
  162. package/selection/transformation.js +90 -232
  163. package/selection/transformation.mjs +90 -232
  164. package/selection/utils.js +21 -15
  165. package/selection/utils.mjs +21 -16
  166. package/settings.d.ts +0 -2
  167. package/shortcuts/manager.js +0 -2
  168. package/shortcuts/manager.mjs +0 -2
  169. package/shortcuts/recorder.js +2 -2
  170. package/shortcuts/recorder.mjs +2 -2
  171. package/shortcuts/utils.js +5 -19
  172. package/shortcuts/utils.mjs +4 -18
  173. package/tableView.js +13 -67
  174. package/tableView.mjs +13 -67
  175. package/3rdparty/walkontable/src/selection/border/constants.js +0 -16
  176. package/3rdparty/walkontable/src/selection/border/constants.mjs +0 -12
  177. package/3rdparty/walkontable/src/selection/constants.js +0 -62
  178. package/3rdparty/walkontable/src/selection/constants.mjs +0 -51
  179. package/3rdparty/walkontable/src/selection/index.js +0 -26
  180. package/3rdparty/walkontable/src/selection/index.mjs +0 -5
  181. package/3rdparty/walkontable/src/selection/manager.js +0 -259
  182. package/3rdparty/walkontable/src/selection/manager.mjs +0 -254
  183. package/3rdparty/walkontable/src/selection/scanner.js +0 -270
  184. package/3rdparty/walkontable/src/selection/scanner.mjs +0 -267
  185. package/3rdparty/walkontable/src/selection/selection.js +0 -101
  186. package/3rdparty/walkontable/src/selection/selection.mjs +0 -96
  187. package/core/focusCatcher/focusDetector.js +0 -58
  188. package/core/focusCatcher/focusDetector.mjs +0 -54
  189. package/core/focusCatcher/index.js +0 -142
  190. package/core/focusCatcher/index.mjs +0 -138
  191. package/core/index.js +0 -9
  192. package/core/index.mjs +0 -1
  193. package/plugins/comments/contextMenuItem/addEditComment.js +0 -41
  194. package/plugins/comments/contextMenuItem/addEditComment.mjs +0 -35
  195. package/plugins/comments/contextMenuItem/readOnlyComment.js +0 -49
  196. package/plugins/comments/contextMenuItem/readOnlyComment.mjs +0 -43
  197. package/plugins/comments/contextMenuItem/removeComment.js +0 -38
  198. package/plugins/comments/contextMenuItem/removeComment.mjs +0 -32
  199. package/selection/highlight/types/areaLayered.js +0 -31
  200. package/selection/highlight/types/areaLayered.mjs +0 -26
  201. package/selection/highlight/types/column.js +0 -27
  202. package/selection/highlight/types/column.mjs +0 -22
  203. package/selection/highlight/types/row.js +0 -27
  204. package/selection/highlight/types/row.mjs +0 -22
  205. package/shortcutContexts/commands/editor/closeAndSave.js +0 -12
  206. package/shortcutContexts/commands/editor/closeAndSave.mjs +0 -8
  207. package/shortcutContexts/commands/editor/closeWithoutSaving.js +0 -12
  208. package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +0 -8
  209. package/shortcutContexts/commands/editor/fastOpen.js +0 -16
  210. package/shortcutContexts/commands/editor/fastOpen.mjs +0 -12
  211. package/shortcutContexts/commands/editor/index.js +0 -16
  212. package/shortcutContexts/commands/editor/index.mjs +0 -12
  213. package/shortcutContexts/commands/editor/open.js +0 -27
  214. package/shortcutContexts/commands/editor/open.mjs +0 -23
  215. package/shortcutContexts/commands/emptySelectedCells.js +0 -11
  216. package/shortcutContexts/commands/emptySelectedCells.mjs +0 -7
  217. package/shortcutContexts/commands/extendCellsSelection/down.js +0 -15
  218. package/shortcutContexts/commands/extendCellsSelection/down.mjs +0 -11
  219. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +0 -21
  220. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +0 -17
  221. package/shortcutContexts/commands/extendCellsSelection/index.js +0 -26
  222. package/shortcutContexts/commands/extendCellsSelection/index.mjs +0 -22
  223. package/shortcutContexts/commands/extendCellsSelection/left.js +0 -15
  224. package/shortcutContexts/commands/extendCellsSelection/left.mjs +0 -11
  225. package/shortcutContexts/commands/extendCellsSelection/right.js +0 -15
  226. package/shortcutContexts/commands/extendCellsSelection/right.mjs +0 -11
  227. package/shortcutContexts/commands/extendCellsSelection/toColumns.js +0 -19
  228. package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +0 -15
  229. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +0 -29
  230. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +0 -25
  231. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +0 -19
  232. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +0 -15
  233. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +0 -19
  234. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +0 -15
  235. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +0 -29
  236. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +0 -25
  237. package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +0 -29
  238. package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +0 -25
  239. package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +0 -29
  240. package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +0 -25
  241. package/shortcutContexts/commands/extendCellsSelection/toRows.js +0 -19
  242. package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +0 -15
  243. package/shortcutContexts/commands/extendCellsSelection/up.js +0 -15
  244. package/shortcutContexts/commands/extendCellsSelection/up.mjs +0 -11
  245. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +0 -21
  246. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +0 -17
  247. package/shortcutContexts/commands/index.js +0 -35
  248. package/shortcutContexts/commands/index.mjs +0 -31
  249. package/shortcutContexts/commands/moveCellSelection/down.js +0 -13
  250. package/shortcutContexts/commands/moveCellSelection/down.mjs +0 -9
  251. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +0 -31
  252. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +0 -27
  253. package/shortcutContexts/commands/moveCellSelection/index.js +0 -28
  254. package/shortcutContexts/commands/moveCellSelection/index.mjs +0 -24
  255. package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +0 -12
  256. package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +0 -8
  257. package/shortcutContexts/commands/moveCellSelection/inlineStart.js +0 -12
  258. package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +0 -8
  259. package/shortcutContexts/commands/moveCellSelection/left.js +0 -10
  260. package/shortcutContexts/commands/moveCellSelection/left.mjs +0 -6
  261. package/shortcutContexts/commands/moveCellSelection/right.js +0 -10
  262. package/shortcutContexts/commands/moveCellSelection/right.mjs +0 -6
  263. package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +0 -17
  264. package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +0 -13
  265. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +0 -18
  266. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +0 -14
  267. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +0 -14
  268. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +0 -10
  269. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +0 -17
  270. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +0 -13
  271. package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +0 -19
  272. package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +0 -15
  273. package/shortcutContexts/commands/moveCellSelection/toMostRight.js +0 -21
  274. package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +0 -17
  275. package/shortcutContexts/commands/moveCellSelection/toMostTop.js +0 -17
  276. package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +0 -13
  277. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +0 -19
  278. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +0 -15
  279. package/shortcutContexts/commands/moveCellSelection/up.js +0 -13
  280. package/shortcutContexts/commands/moveCellSelection/up.mjs +0 -9
  281. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +0 -31
  282. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +0 -27
  283. package/shortcutContexts/commands/populateSelectedCellsData.js +0 -29
  284. package/shortcutContexts/commands/populateSelectedCellsData.mjs +0 -25
  285. package/shortcutContexts/commands/scrollToFocusedCell.js +0 -36
  286. package/shortcutContexts/commands/scrollToFocusedCell.mjs +0 -32
  287. package/shortcutContexts/commands/selectAll.js +0 -10
  288. package/shortcutContexts/commands/selectAll.mjs +0 -6
  289. package/shortcutContexts/constants.js +0 -13
  290. package/shortcutContexts/constants.mjs +0 -8
  291. package/shortcutContexts/editor.js +0 -25
  292. package/shortcutContexts/editor.mjs +0 -21
  293. package/shortcutContexts/grid.js +0 -163
  294. package/shortcutContexts/grid.mjs +0 -159
  295. package/shortcutContexts/index.js +0 -24
  296. package/shortcutContexts/index.mjs +0 -11
@@ -1,13 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.createHighlight = createHighlight;
5
- var _src = require("../../../3rdparty/walkontable/src");
4
+ var _constants = require("../constants");
6
5
  var _visualSelection = _interopRequireDefault(require("../visualSelection"));
7
6
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8
7
  /**
9
- * Creates the new instance of Selection responsible for highlighting currently selected cell.
10
- * This type of selection can present on the table only one at the time.
8
+ * Creates the new instance of Selection responsible for highlighting currently selected cell. This type of selection
9
+ * can present on the table only one at the time.
11
10
  *
12
11
  * @param {object} highlightParams A configuration object to create a highlight.
13
12
  * @param {object} highlightParams.border Border configuration.
@@ -20,9 +19,12 @@ function createHighlight(_ref) {
20
19
  visualCellRange,
21
20
  ...restOptions
22
21
  } = _ref;
23
- return new _visualSelection.default({
22
+ const s = new _visualSelection.default({
24
23
  ...border,
25
24
  ...restOptions,
26
- selectionType: _src.HIGHLIGHT_CUSTOM_SELECTION_TYPE
25
+ selectionType: _constants.CUSTOM_SELECTION_TYPE
27
26
  }, visualCellRange);
28
- }
27
+ return s;
28
+ }
29
+ var _default = createHighlight;
30
+ exports.default = _default;
@@ -1,23 +1,25 @@
1
- import { HIGHLIGHT_CUSTOM_SELECTION_TYPE } from "../../../3rdparty/walkontable/src/index.mjs";
1
+ import { CUSTOM_SELECTION_TYPE } from "../constants.mjs";
2
2
  import VisualSelection from "../visualSelection.mjs";
3
3
  /**
4
- * Creates the new instance of Selection responsible for highlighting currently selected cell.
5
- * This type of selection can present on the table only one at the time.
4
+ * Creates the new instance of Selection responsible for highlighting currently selected cell. This type of selection
5
+ * can present on the table only one at the time.
6
6
  *
7
7
  * @param {object} highlightParams A configuration object to create a highlight.
8
8
  * @param {object} highlightParams.border Border configuration.
9
9
  * @param {object} highlightParams.visualCellRange Function to translate visual to renderable coords.
10
10
  * @returns {Selection}
11
11
  */
12
- export function createHighlight(_ref) {
12
+ function createHighlight(_ref) {
13
13
  let {
14
14
  border,
15
15
  visualCellRange,
16
16
  ...restOptions
17
17
  } = _ref;
18
- return new VisualSelection({
18
+ const s = new VisualSelection({
19
19
  ...border,
20
20
  ...restOptions,
21
- selectionType: HIGHLIGHT_CUSTOM_SELECTION_TYPE
21
+ selectionType: CUSTOM_SELECTION_TYPE
22
22
  }, visualCellRange);
23
- }
23
+ return s;
24
+ }
25
+ export default createHighlight;
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.createHighlight = createHighlight;
5
- var _src = require("../../../3rdparty/walkontable/src");
4
+ var _constants = require("../constants");
6
5
  var _visualSelection = _interopRequireDefault(require("../visualSelection"));
7
6
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8
7
  /**
@@ -16,13 +15,16 @@ function createHighlight(_ref) {
16
15
  let {
17
16
  ...restOptions
18
17
  } = _ref;
19
- return new _visualSelection.default({
18
+ const s = new _visualSelection.default({
20
19
  className: 'fill',
21
20
  border: {
22
21
  width: 1,
23
22
  color: '#ff0000'
24
23
  },
25
24
  ...restOptions,
26
- selectionType: _src.HIGHLIGHT_FILL_TYPE
25
+ selectionType: _constants.FILL_TYPE
27
26
  });
28
- }
27
+ return s;
28
+ }
29
+ var _default = createHighlight;
30
+ exports.default = _default;
@@ -1,4 +1,4 @@
1
- import { HIGHLIGHT_FILL_TYPE } from "../../../3rdparty/walkontable/src/index.mjs";
1
+ import { FILL_TYPE } from "../constants.mjs";
2
2
  import VisualSelection from "../visualSelection.mjs";
3
3
  /**
4
4
  * Creates the new instance of Selection, responsible for highlighting cells which are covered by fill handle
@@ -7,17 +7,19 @@ import VisualSelection from "../visualSelection.mjs";
7
7
  * @param {object} highlightParams A configuration object to create a highlight.
8
8
  * @returns {Selection}
9
9
  */
10
- export function createHighlight(_ref) {
10
+ function createHighlight(_ref) {
11
11
  let {
12
12
  ...restOptions
13
13
  } = _ref;
14
- return new VisualSelection({
14
+ const s = new VisualSelection({
15
15
  className: 'fill',
16
16
  border: {
17
17
  width: 1,
18
18
  color: '#ff0000'
19
19
  },
20
20
  ...restOptions,
21
- selectionType: HIGHLIGHT_FILL_TYPE
21
+ selectionType: FILL_TYPE
22
22
  });
23
- }
23
+ return s;
24
+ }
25
+ export default createHighlight;
@@ -1,27 +1,36 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.createHighlight = createHighlight;
5
- var _src = require("../../../3rdparty/walkontable/src");
4
+ var _constants = require("../constants");
6
5
  var _visualSelection = _interopRequireDefault(require("../visualSelection"));
7
6
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8
7
  /**
9
- * Creates the new instance of Selection, responsible for highlighting column or row headers when
10
- * any cell is selected.
11
- * This type of selection can occur multiple times.
8
+ * Creates the new instance of Selection, responsible for highlighting row and column headers. This type of selection
9
+ * can occur multiple times.
12
10
  *
13
11
  * @param {object} highlightParams A configuration object to create a highlight.
14
12
  * @param {string} highlightParams.headerClassName Highlighted headers' class name.
13
+ * @param {string} highlightParams.rowClassName Highlighted row' class name.
14
+ * @param {string} highlightParams.columnClassName Highlighted column' class name.
15
15
  * @returns {Selection}
16
16
  */
17
17
  function createHighlight(_ref) {
18
18
  let {
19
19
  headerClassName,
20
+ rowClassName,
21
+ columnClassName,
20
22
  ...restOptions
21
23
  } = _ref;
22
- return new _visualSelection.default({
23
- className: headerClassName,
24
+ const s = new _visualSelection.default({
25
+ className: 'highlight',
26
+ highlightHeaderClassName: headerClassName,
27
+ highlightRowClassName: rowClassName,
28
+ highlightColumnClassName: columnClassName,
24
29
  ...restOptions,
25
- selectionType: _src.HIGHLIGHT_HEADER_TYPE
30
+ highlightOnlyClosestHeader: true,
31
+ selectionType: _constants.HEADER_TYPE
26
32
  });
27
- }
33
+ return s;
34
+ }
35
+ var _default = createHighlight;
36
+ exports.default = _default;
@@ -1,22 +1,31 @@
1
- import { HIGHLIGHT_HEADER_TYPE } from "../../../3rdparty/walkontable/src/index.mjs";
1
+ import { HEADER_TYPE } from "../constants.mjs";
2
2
  import VisualSelection from "../visualSelection.mjs";
3
3
  /**
4
- * Creates the new instance of Selection, responsible for highlighting column or row headers when
5
- * any cell is selected.
6
- * This type of selection can occur multiple times.
4
+ * Creates the new instance of Selection, responsible for highlighting row and column headers. This type of selection
5
+ * can occur multiple times.
7
6
  *
8
7
  * @param {object} highlightParams A configuration object to create a highlight.
9
8
  * @param {string} highlightParams.headerClassName Highlighted headers' class name.
9
+ * @param {string} highlightParams.rowClassName Highlighted row' class name.
10
+ * @param {string} highlightParams.columnClassName Highlighted column' class name.
10
11
  * @returns {Selection}
11
12
  */
12
- export function createHighlight(_ref) {
13
+ function createHighlight(_ref) {
13
14
  let {
14
15
  headerClassName,
16
+ rowClassName,
17
+ columnClassName,
15
18
  ...restOptions
16
19
  } = _ref;
17
- return new VisualSelection({
18
- className: headerClassName,
20
+ const s = new VisualSelection({
21
+ className: 'highlight',
22
+ highlightHeaderClassName: headerClassName,
23
+ highlightRowClassName: rowClassName,
24
+ highlightColumnClassName: columnClassName,
19
25
  ...restOptions,
20
- selectionType: HIGHLIGHT_HEADER_TYPE
26
+ highlightOnlyClosestHeader: true,
27
+ selectionType: HEADER_TYPE
21
28
  });
22
- }
29
+ return s;
30
+ }
31
+ export default createHighlight;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.createHighlight = createHighlight;
5
+ var _staticRegister = _interopRequireDefault(require("./../../../utils/staticRegister"));
6
+ var _constants = require("../constants");
7
+ var _activeHeader = _interopRequireDefault(require("./activeHeader"));
8
+ var _area = _interopRequireDefault(require("./area"));
9
+ var _cell = _interopRequireDefault(require("./cell"));
10
+ var _customSelection = _interopRequireDefault(require("./customSelection"));
11
+ var _fill = _interopRequireDefault(require("./fill"));
12
+ var _header = _interopRequireDefault(require("./header"));
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+ const {
15
+ register,
16
+ getItem
17
+ } = (0, _staticRegister.default)('highlight/types');
18
+ register(_constants.ACTIVE_HEADER_TYPE, _activeHeader.default);
19
+ register(_constants.AREA_TYPE, _area.default);
20
+ register(_constants.CELL_TYPE, _cell.default);
21
+ register(_constants.CUSTOM_SELECTION_TYPE, _customSelection.default);
22
+ register(_constants.FILL_TYPE, _fill.default);
23
+ register(_constants.HEADER_TYPE, _header.default);
24
+
25
+ /**
26
+ * @param {string} highlightType The selection type.
27
+ * @param {object} options The selection options.
28
+ * @returns {Selection}
29
+ */
30
+ function createHighlight(highlightType, options) {
31
+ return getItem(highlightType)({
32
+ type: highlightType,
33
+ ...options
34
+ });
35
+ }
@@ -0,0 +1,31 @@
1
+ import staticRegister from "./../../../utils/staticRegister.mjs";
2
+ import { ACTIVE_HEADER_TYPE, AREA_TYPE, CELL_TYPE, CUSTOM_SELECTION_TYPE, FILL_TYPE, HEADER_TYPE } from "../constants.mjs";
3
+ import activeHeaderHighlight from "./activeHeader.mjs";
4
+ import areaHighlight from "./area.mjs";
5
+ import cellHighlight from "./cell.mjs";
6
+ import customSelection from "./customSelection.mjs";
7
+ import fillHighlight from "./fill.mjs";
8
+ import headerHighlight from "./header.mjs";
9
+ const {
10
+ register,
11
+ getItem
12
+ } = staticRegister('highlight/types');
13
+ register(ACTIVE_HEADER_TYPE, activeHeaderHighlight);
14
+ register(AREA_TYPE, areaHighlight);
15
+ register(CELL_TYPE, cellHighlight);
16
+ register(CUSTOM_SELECTION_TYPE, customSelection);
17
+ register(FILL_TYPE, fillHighlight);
18
+ register(HEADER_TYPE, headerHighlight);
19
+
20
+ /**
21
+ * @param {string} highlightType The selection type.
22
+ * @param {object} options The selection options.
23
+ * @returns {Selection}
24
+ */
25
+ function createHighlight(highlightType, options) {
26
+ return getItem(highlightType)({
27
+ type: highlightType,
28
+ ...options
29
+ });
30
+ }
31
+ export { createHighlight };
@@ -62,6 +62,10 @@ class VisualSelection extends _src.Selection {
62
62
  return null;
63
63
  }
64
64
  if (visibleFromCoords.row > visibleToCoords.row || visibleFromCoords.col > visibleToCoords.col) {
65
+ const isHeaderTypeSelection = this.settings.type === 'header' || this.settings.type === 'active-header';
66
+ if (!isHeaderTypeSelection) {
67
+ return null;
68
+ }
65
69
  visibleFromCoords = from;
66
70
  visibleToCoords = to;
67
71
  }
@@ -81,13 +85,13 @@ class VisualSelection extends _src.Selection {
81
85
  */
82
86
  getNearestNotHiddenCoords(coords, rowSearchDirection) {
83
87
  let columnSearchDirection = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : rowSearchDirection;
84
- const nextVisibleRow = this.getNearestNotHiddenIndex(this.settings.rowIndexMapper, coords.row, rowSearchDirection);
88
+ const nextVisibleRow = this.getNearestNotHiddenIndex(this.settings.rowIndexMapper(), coords.row, rowSearchDirection);
85
89
 
86
90
  // There are no more visual rows in the range.
87
91
  if (nextVisibleRow === null) {
88
92
  return null;
89
93
  }
90
- const nextVisibleColumn = this.getNearestNotHiddenIndex(this.settings.columnIndexMapper, coords.col, columnSearchDirection);
94
+ const nextVisibleColumn = this.getNearestNotHiddenIndex(this.settings.columnIndexMapper(), coords.col, columnSearchDirection);
91
95
 
92
96
  // There are no more visual columns in the range.
93
97
  if (nextVisibleColumn === null) {
@@ -110,7 +114,12 @@ class VisualSelection extends _src.Selection {
110
114
  if (visualIndex < 0) {
111
115
  return visualIndex;
112
116
  }
113
- return indexMapper.getNearestNotHiddenIndex(visualIndex, searchDirection);
117
+ const nearestVisualIndex = indexMapper.getNearestNotHiddenIndex(visualIndex, searchDirection);
118
+ const isHeaderSelectionType = this.settings.type === 'header' || this.settings.type === 'active-header';
119
+ if (isHeaderSelectionType && nearestVisualIndex === null) {
120
+ return -1;
121
+ }
122
+ return nearestVisualIndex;
114
123
  }
115
124
 
116
125
  /**
@@ -147,38 +156,24 @@ class VisualSelection extends _src.Selection {
147
156
  * @returns {VisualSelection}
148
157
  */
149
158
  syncWith(broaderCellRange) {
150
- const coordsFrom = broaderCellRange.from.clone().normalize();
151
159
  const rowDirection = broaderCellRange.getVerticalDirection() === 'N-S' ? 1 : -1;
152
160
  const columnDirection = broaderCellRange.getHorizontalDirection() === 'W-E' ? 1 : -1;
153
- const renderableHighlight = this.settings.visualToRenderableCoords(this.visualCellRange.highlight);
154
- let cellCoordsVisual = null;
155
- if (renderableHighlight === null || renderableHighlight.col === null || renderableHighlight.row === null) {
156
- cellCoordsVisual = this.getNearestNotHiddenCoords(coordsFrom, rowDirection, columnDirection);
157
- }
158
- if (cellCoordsVisual !== null && broaderCellRange.overlaps(cellCoordsVisual)) {
159
- const currentHighlight = broaderCellRange.highlight.clone();
160
- if (currentHighlight.row >= 0) {
161
- currentHighlight.row = cellCoordsVisual.row;
162
- }
163
- if (currentHighlight.col >= 0) {
164
- currentHighlight.col = cellCoordsVisual.col;
165
- }
166
-
167
- // We can't show selection visually now, but we found first visible range in the broader cell range.
161
+ const singleCellRangeVisual = this.getNearestNotHiddenCoords(broaderCellRange.from.clone().normalize(), rowDirection, columnDirection);
162
+ if (singleCellRangeVisual !== null && broaderCellRange.overlaps(singleCellRangeVisual)) {
163
+ // We can't show selection visually now, but we found fist visible range in the broader cell range.
168
164
  if (this.cellRange === null) {
169
- const cellCoordsRenderable = this.settings.visualToRenderableCoords(currentHighlight);
170
- this.cellRange = this.settings.createCellRange(cellCoordsRenderable);
165
+ const singleCellRangeRenderable = this.settings.visualToRenderableCoords(singleCellRangeVisual);
166
+ this.cellRange = this.settings.createCellRange(singleCellRangeRenderable);
171
167
  }
172
168
 
173
169
  // We set new highlight as it might change (for example, when showing/hiding some cells from the broader selection range)
174
170
  // TODO: It is also handled by the `MergeCells` plugin while adjusting already modified coordinates. Should it?
175
- broaderCellRange.setHighlight(currentHighlight);
171
+ broaderCellRange.setHighlight(singleCellRangeVisual);
172
+ return this;
176
173
  }
177
174
 
178
- // Sync the highlight coords from the visual selection layer with logical coords.
179
- if (this.settings.selectionType === 'focus' && renderableHighlight !== null && cellCoordsVisual === null) {
180
- broaderCellRange.setHighlight(this.visualCellRange.highlight);
181
- }
175
+ // Fallback to the start of the range. It resets the previous highlight (for example, when all columns have been hidden).
176
+ broaderCellRange.setHighlight(broaderCellRange.from);
182
177
  return this;
183
178
  }
184
179
 
@@ -195,7 +190,11 @@ class VisualSelection extends _src.Selection {
195
190
  from,
196
191
  to
197
192
  } = this.cellRange;
198
- return [Math.min(from.row, to.row), Math.min(from.col, to.col), Math.max(from.row, to.row), Math.max(from.col, to.col)];
193
+ const isRowUndefined = from.row === null || to.row === null;
194
+ const isColumnUndefined = from.col === null || to.col === null;
195
+ const topLeftCorner = this.settings.createCellCoords(isRowUndefined ? null : Math.min(from.row, to.row), isColumnUndefined ? null : Math.min(from.col, to.col));
196
+ const bottomRightCorner = this.settings.createCellCoords(isRowUndefined ? null : Math.max(from.row, to.row), isColumnUndefined ? null : Math.max(from.col, to.col));
197
+ return [topLeftCorner.row, topLeftCorner.col, bottomRightCorner.row, bottomRightCorner.col];
199
198
  }
200
199
 
201
200
  /**
@@ -218,14 +217,11 @@ class VisualSelection extends _src.Selection {
218
217
  * points to the beginning of the selection.
219
218
  * @param {CellCoords} visualToCoords The CellCoords object which contains coordinates that
220
219
  * points to the end of the selection.
221
- * @returns {CellRange|null}
220
+ * @returns {CellRange}
222
221
  */
223
222
  createRenderableCellRange(visualFromCoords, visualToCoords) {
224
223
  const renderableFromCoords = this.settings.visualToRenderableCoords(visualFromCoords);
225
224
  const renderableToCoords = this.settings.visualToRenderableCoords(visualToCoords);
226
- if (renderableFromCoords.row === null || renderableFromCoords.col === null || renderableToCoords.row === null || renderableToCoords.col === null) {
227
- return null;
228
- }
229
225
  return this.settings.createCellRange(renderableFromCoords, renderableFromCoords, renderableToCoords);
230
226
  }
231
227
  }
@@ -59,6 +59,10 @@ class VisualSelection extends Selection {
59
59
  return null;
60
60
  }
61
61
  if (visibleFromCoords.row > visibleToCoords.row || visibleFromCoords.col > visibleToCoords.col) {
62
+ const isHeaderTypeSelection = this.settings.type === 'header' || this.settings.type === 'active-header';
63
+ if (!isHeaderTypeSelection) {
64
+ return null;
65
+ }
62
66
  visibleFromCoords = from;
63
67
  visibleToCoords = to;
64
68
  }
@@ -78,13 +82,13 @@ class VisualSelection extends Selection {
78
82
  */
79
83
  getNearestNotHiddenCoords(coords, rowSearchDirection) {
80
84
  let columnSearchDirection = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : rowSearchDirection;
81
- const nextVisibleRow = this.getNearestNotHiddenIndex(this.settings.rowIndexMapper, coords.row, rowSearchDirection);
85
+ const nextVisibleRow = this.getNearestNotHiddenIndex(this.settings.rowIndexMapper(), coords.row, rowSearchDirection);
82
86
 
83
87
  // There are no more visual rows in the range.
84
88
  if (nextVisibleRow === null) {
85
89
  return null;
86
90
  }
87
- const nextVisibleColumn = this.getNearestNotHiddenIndex(this.settings.columnIndexMapper, coords.col, columnSearchDirection);
91
+ const nextVisibleColumn = this.getNearestNotHiddenIndex(this.settings.columnIndexMapper(), coords.col, columnSearchDirection);
88
92
 
89
93
  // There are no more visual columns in the range.
90
94
  if (nextVisibleColumn === null) {
@@ -107,7 +111,12 @@ class VisualSelection extends Selection {
107
111
  if (visualIndex < 0) {
108
112
  return visualIndex;
109
113
  }
110
- return indexMapper.getNearestNotHiddenIndex(visualIndex, searchDirection);
114
+ const nearestVisualIndex = indexMapper.getNearestNotHiddenIndex(visualIndex, searchDirection);
115
+ const isHeaderSelectionType = this.settings.type === 'header' || this.settings.type === 'active-header';
116
+ if (isHeaderSelectionType && nearestVisualIndex === null) {
117
+ return -1;
118
+ }
119
+ return nearestVisualIndex;
111
120
  }
112
121
 
113
122
  /**
@@ -144,38 +153,24 @@ class VisualSelection extends Selection {
144
153
  * @returns {VisualSelection}
145
154
  */
146
155
  syncWith(broaderCellRange) {
147
- const coordsFrom = broaderCellRange.from.clone().normalize();
148
156
  const rowDirection = broaderCellRange.getVerticalDirection() === 'N-S' ? 1 : -1;
149
157
  const columnDirection = broaderCellRange.getHorizontalDirection() === 'W-E' ? 1 : -1;
150
- const renderableHighlight = this.settings.visualToRenderableCoords(this.visualCellRange.highlight);
151
- let cellCoordsVisual = null;
152
- if (renderableHighlight === null || renderableHighlight.col === null || renderableHighlight.row === null) {
153
- cellCoordsVisual = this.getNearestNotHiddenCoords(coordsFrom, rowDirection, columnDirection);
154
- }
155
- if (cellCoordsVisual !== null && broaderCellRange.overlaps(cellCoordsVisual)) {
156
- const currentHighlight = broaderCellRange.highlight.clone();
157
- if (currentHighlight.row >= 0) {
158
- currentHighlight.row = cellCoordsVisual.row;
159
- }
160
- if (currentHighlight.col >= 0) {
161
- currentHighlight.col = cellCoordsVisual.col;
162
- }
163
-
164
- // We can't show selection visually now, but we found first visible range in the broader cell range.
158
+ const singleCellRangeVisual = this.getNearestNotHiddenCoords(broaderCellRange.from.clone().normalize(), rowDirection, columnDirection);
159
+ if (singleCellRangeVisual !== null && broaderCellRange.overlaps(singleCellRangeVisual)) {
160
+ // We can't show selection visually now, but we found fist visible range in the broader cell range.
165
161
  if (this.cellRange === null) {
166
- const cellCoordsRenderable = this.settings.visualToRenderableCoords(currentHighlight);
167
- this.cellRange = this.settings.createCellRange(cellCoordsRenderable);
162
+ const singleCellRangeRenderable = this.settings.visualToRenderableCoords(singleCellRangeVisual);
163
+ this.cellRange = this.settings.createCellRange(singleCellRangeRenderable);
168
164
  }
169
165
 
170
166
  // We set new highlight as it might change (for example, when showing/hiding some cells from the broader selection range)
171
167
  // TODO: It is also handled by the `MergeCells` plugin while adjusting already modified coordinates. Should it?
172
- broaderCellRange.setHighlight(currentHighlight);
168
+ broaderCellRange.setHighlight(singleCellRangeVisual);
169
+ return this;
173
170
  }
174
171
 
175
- // Sync the highlight coords from the visual selection layer with logical coords.
176
- if (this.settings.selectionType === 'focus' && renderableHighlight !== null && cellCoordsVisual === null) {
177
- broaderCellRange.setHighlight(this.visualCellRange.highlight);
178
- }
172
+ // Fallback to the start of the range. It resets the previous highlight (for example, when all columns have been hidden).
173
+ broaderCellRange.setHighlight(broaderCellRange.from);
179
174
  return this;
180
175
  }
181
176
 
@@ -192,7 +187,11 @@ class VisualSelection extends Selection {
192
187
  from,
193
188
  to
194
189
  } = this.cellRange;
195
- return [Math.min(from.row, to.row), Math.min(from.col, to.col), Math.max(from.row, to.row), Math.max(from.col, to.col)];
190
+ const isRowUndefined = from.row === null || to.row === null;
191
+ const isColumnUndefined = from.col === null || to.col === null;
192
+ const topLeftCorner = this.settings.createCellCoords(isRowUndefined ? null : Math.min(from.row, to.row), isColumnUndefined ? null : Math.min(from.col, to.col));
193
+ const bottomRightCorner = this.settings.createCellCoords(isRowUndefined ? null : Math.max(from.row, to.row), isColumnUndefined ? null : Math.max(from.col, to.col));
194
+ return [topLeftCorner.row, topLeftCorner.col, bottomRightCorner.row, bottomRightCorner.col];
196
195
  }
197
196
 
198
197
  /**
@@ -215,14 +214,11 @@ class VisualSelection extends Selection {
215
214
  * points to the beginning of the selection.
216
215
  * @param {CellCoords} visualToCoords The CellCoords object which contains coordinates that
217
216
  * points to the end of the selection.
218
- * @returns {CellRange|null}
217
+ * @returns {CellRange}
219
218
  */
220
219
  createRenderableCellRange(visualFromCoords, visualToCoords) {
221
220
  const renderableFromCoords = this.settings.visualToRenderableCoords(visualFromCoords);
222
221
  const renderableToCoords = this.settings.visualToRenderableCoords(visualToCoords);
223
- if (renderableFromCoords.row === null || renderableFromCoords.col === null || renderableToCoords.row === null || renderableToCoords.col === null) {
224
- return null;
225
- }
226
222
  return this.settings.createCellRange(renderableFromCoords, renderableFromCoords, renderableToCoords);
227
223
  }
228
224
  }
@@ -2,11 +2,14 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  var _exportNames = {
5
+ Highlight: true,
5
6
  Selection: true,
6
7
  handleMouseEvent: true,
7
8
  detectSelectionType: true,
8
9
  normalizeSelectionFactory: true
9
10
  };
11
+ var _highlight = _interopRequireDefault(require("./highlight/highlight"));
12
+ exports.Highlight = _highlight.default;
10
13
  var _selection = _interopRequireDefault(require("./selection"));
11
14
  exports.Selection = _selection.default;
12
15
  var _mouseEventHandler = require("./mouseEventHandler");
@@ -14,11 +17,11 @@ exports.handleMouseEvent = _mouseEventHandler.handleMouseEvent;
14
17
  var _utils = require("./utils");
15
18
  exports.detectSelectionType = _utils.detectSelectionType;
16
19
  exports.normalizeSelectionFactory = _utils.normalizeSelectionFactory;
17
- var _highlight = require("./highlight/highlight");
18
- Object.keys(_highlight).forEach(function (key) {
20
+ var _constants = require("./highlight/constants");
21
+ Object.keys(_constants).forEach(function (key) {
19
22
  if (key === "default" || key === "__esModule") return;
20
23
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
21
- if (key in exports && exports[key] === _highlight[key]) return;
22
- exports[key] = _highlight[key];
24
+ if (key in exports && exports[key] === _constants[key]) return;
25
+ exports[key] = _constants[key];
23
26
  });
24
27
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -1,5 +1,6 @@
1
+ import Highlight from "./highlight/highlight.mjs";
1
2
  import Selection from "./selection.mjs";
2
3
  import { handleMouseEvent } from "./mouseEventHandler.mjs";
3
4
  import { detectSelectionType, normalizeSelectionFactory } from "./utils.mjs";
4
- export * from "./highlight/highlight.mjs";
5
- export { handleMouseEvent, Selection, detectSelectionType, normalizeSelectionFactory };
5
+ export * from "./highlight/constants.mjs";
6
+ export { handleMouseEvent, Highlight, Selection, detectSelectionType, normalizeSelectionFactory };
@@ -65,7 +65,7 @@ function mouseDown(_ref) {
65
65
  selection.setRangeStart(coords);
66
66
  }
67
67
  } else if (coords.col < 0 && coords.row < 0) {
68
- selection.selectAll(true, true, coords);
68
+ selection.selectAll(true, true);
69
69
  }
70
70
  }
71
71
  }
@@ -59,7 +59,7 @@ export function mouseDown(_ref) {
59
59
  selection.setRangeStart(coords);
60
60
  }
61
61
  } else if (coords.col < 0 && coords.row < 0) {
62
- selection.selectAll(true, true, coords);
62
+ selection.selectAll(true, true);
63
63
  }
64
64
  }
65
65
  }
@@ -69,7 +69,7 @@ class SelectionRange {
69
69
  * @returns {CellRange|undefined}
70
70
  */
71
71
  current() {
72
- return this.peekByIndex(this.size() - 1);
72
+ return this.peekByIndex(0);
73
73
  }
74
74
 
75
75
  /**
@@ -78,7 +78,7 @@ class SelectionRange {
78
78
  * @returns {CellRange|undefined}
79
79
  */
80
80
  previous() {
81
- return this.peekByIndex(this.size() - 2);
81
+ return this.peekByIndex(-1);
82
82
  }
83
83
 
84
84
  /**
@@ -112,17 +112,17 @@ class SelectionRange {
112
112
  }
113
113
 
114
114
  /**
115
- * Peek the coordinates based on the index where that coordinate resides in the collection.
115
+ * Peek the coordinates based on the offset where that coordinate resides in the collection.
116
116
  *
117
- * @param {number} [index=0] An index where the coordinate will be retrieved from. The index '0' gets the
118
- * latest range.
117
+ * @param {number} [offset=0] An offset where the coordinate will be retrieved from.
119
118
  * @returns {CellRange|undefined}
120
119
  */
121
120
  peekByIndex() {
122
- let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
121
+ let offset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
122
+ const rangeIndex = this.size() + offset - 1;
123
123
  let cellRange;
124
- if (index >= 0 && index < this.size()) {
125
- cellRange = this.ranges[index];
124
+ if (rangeIndex >= 0) {
125
+ cellRange = this.ranges[rangeIndex];
126
126
  }
127
127
  return cellRange;
128
128
  }